图片展示

广州市群智电子有限公司

 咨询热线:

020-87370785

图片展示

辉芒微单片机笔记004:IO寄存器配置,点亮一只LED

浏览:268 发表时间:2020-04-03 16:19:28

刚开始对开发软件环境和仿真器的使用还不算很熟,先点亮一只LED看一下软硬件的操作有没有问题。电子芯片

在点亮LED之前,要弄懂二个寄存器的工作原理:

1.TRISA方向寄存器。

2.PORTA控制寄存器

TRISA方向寄存器

每一个端口在使用前要明确是作为输入还是输出,这个就要通过软件来控制TRISA寄存器来实现,置0为输出方向,置1为输入方向。PA3只能做输入,这里默认配置为1。辉芒芯片

输入输出方向的结果是被锁存的,一旦确定了一个状态,就会一直保持,直到软件改方设置值为止。但在应用过程中,一个IO口不能做输入又做输出。只能做一种状态设置。

辉芒微单片机笔记004:IO寄存器配置,点亮一只LED

PORTA数据寄存器

FT60F01X单片机的PA口只有6个IO可以用,而且PA3,只能做输入功能,不能做相应的数据配置。PORTA在进行读动作时, PORTA 内容会是反映输入端口的状态。在 PORTA 上进行写动作时, PORTA 内容会被写入输出寄存器 。所有的写操作都是 读-- 更改-- 写, 这样一个微流程,即数据被读,然后更改,再写入 输出寄存器 的过程。所以一般初始化IO时都会让PORTA寄存器读写一个与输出相反的状态。

辉芒微单片机笔记004:IO寄存器配置,点亮一只LED

例程代码:

#include"SYSCFG.h"; //包含头文件,注意后面带分号

//#include "FT60F11X.h";//软件新建工程自动包含的,这里把它注释掉。

#define LED2 RA4 //宏定义,声明RA4为LED2

#define OSC_16M 0X70 //宏定义时钟定义

#define WDT_32K 0X00

void INITIAL (void) //初始化函数

{

OSCCON= WDT_32K|OSC_16M|OSC_16M|0x01; //系统时钟配置,后面讲解。

TRISA=0B11101111; //设置PA4为输出

PORTA=0B11111111; //读IO初始状态为1

}

//主函数

main()

{

INITIAL(); //初始化

LED2=0; //点亮LED2

while(1) ; //循环

}

写完以后点击下载仿真按钮

辉芒微单片机笔记004:IO寄存器配置,点亮一只LED

在弹出的对话框中设置系统时钟源为INTOSCIO

辉芒微单片机笔记004:IO寄存器配置,点亮一只LED

然后点击确定,编译下载程序到仿真板。

辉芒微单片机笔记004:IO寄存器配置,点亮一只LED

下载成功,点击全速执行

辉芒微单片机笔记004:IO寄存器配置,点亮一只LED

辉芒微单片机笔记004:IO寄存器配置,点亮一只LED

LED成功点亮。 电子芯片

文章内容如有侵权,请联系站长删除。

LINNS友情链接:     友情链接       友情链接       友情链接       友情链接       友情链接       友情链接       友情链接       友情链接       友情链接       友情链接       

 

广州市群智电子有限公司

地址:广州市越秀区寺右新马路5号之5号华友大厦2305-2306室

Tel:020-37579466

Fax:020-37596220

 

深圳市龙启电子有限公司

地址:深圳市福田区彩田路福彩街橄榄鹏苑B座2715

TEL:0755-83215331

 


扫一扫,免费送服务

版权所有:广州市群智电子有限公司       备案号:粤ICP备15045344号

<
  • 取消