广州市群智电子有限公司
咨询热线:
020-87370785
刚开始对开发软件环境和仿真器的使用还不算很熟,先点亮一只LED看一下软硬件的操作有没有问题。电子芯片
在点亮LED之前,要弄懂二个寄存器的工作原理:
1.TRISA方向寄存器。
2.PORTA控制寄存器
TRISA方向寄存器
每一个端口在使用前要明确是作为输入还是输出,这个就要通过软件来控制TRISA寄存器来实现,置0为输出方向,置1为输入方向。PA3只能做输入,这里默认配置为1。辉芒芯片
输入输出方向的结果是被锁存的,一旦确定了一个状态,就会一直保持,直到软件改方设置值为止。但在应用过程中,一个IO口不能做输入又做输出。只能做一种状态设置。
PORTA数据寄存器
FT60F01X单片机的PA口只有6个IO可以用,而且PA3,只能做输入功能,不能做相应的数据配置。PORTA在进行读动作时, PORTA 内容会是反映输入端口的状态。在 PORTA 上进行写动作时, PORTA 内容会被写入输出寄存器 。所有的写操作都是 读-- 更改-- 写, 这样一个微流程,即数据被读,然后更改,再写入 输出寄存器 的过程。所以一般初始化IO时都会让PORTA寄存器读写一个与输出相反的状态。
例程代码:
#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) ; //循环
}
写完以后点击下载仿真按钮
在弹出的对话框中设置系统时钟源为INTOSCIO
然后点击确定,编译下载程序到仿真板。
下载成功,点击全速执行
LED成功点亮。 电子芯片
文章内容如有侵权,请联系站长删除。