AVR IO输出之LED显示程序
使用AVR控制8位LED,做到想闪就闪,不想闪就不闪,左闪右闪,拚命闪,演示AVR单片机之“点灯术”。
硬件设计:
关于AVR的I/O结构及相关介绍详见Datasheet,这里仅对作部分简单介绍,下面是AVR的I/O引脚配置表:
AVR I/O 口引脚配置表 | |||||
DDRXn | PORTXn | PUD | I/O 方式 | 内部上拉电阻 | 引脚状态说明 |
0 | 0 | X | 输入 | 无效 | 三态(高阻) |
0 | 1 | 0 | 输入 | 有效 | 外部引脚拉低时输出电流 (uA) |
0 | 1 | 1 | 输入 | 无效 | 三态(高阻) |
1 | 0 | X | 输出 | 无效 | 推挽 0 输出,吸收电流 (20mA) |
1 | 1 | X | 输出 | 无效 | 推挽 1 输出,输出电流 (20mA) |
虽然AVR的I/O口单独输出“1”时,可输出较大电流足已点亮一盏灯,但AVR总的I/O输出毕竟是有限的,所以,有经验的点灯者考虑到除了点灯外可能还有其它费劲的活儿要干,会将AVR的I/O口设计为输出“0”时点灯,输出“1”时熄灯。这种接法亦叫“灌电流接法”。
AVR主控电路原理图
LED控制电路原理图
软件设计:
下面部分从TXT拷出,拷到网页,代码部分缺省了很多空格,比较凌乱,请谅解!
//目标系统: 基于AVR单片机
//应用软件: ICC AVR
#include
#include "D:ICC_HCmmICC.H"
#define LED_DDR
#define LED_PORT PORTD
void main(void)
{
}
AVRIO输出LED显示程 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)