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

刚开始对开发软件环境和仿真器的使用还不算很熟,先点亮一只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成功点亮。 电子芯片

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值