AVR IO輸出之LED顯示程序
使用AVR控制8位LED,做到想閃就閃,不想閃就不閃,左閃右閃,拚命閃,演示AVR單片機之“點(diǎn)燈術(shù)”。
硬件設計:
關(guān)于A(yíng)VR的I/O結構及相關(guān)介紹詳見(jiàn)Datasheet,這里僅對作部分簡(jiǎn)單介紹,下面是AVR的I/O引腳配置表:
AVR I/O 口引腳配置表 | |||||
DDRXn | PORTXn | PUD | I/O 方式 | 內部上拉電阻 | 引腳狀態(tài)說(shuō)明 |
0 | 0 | X | 輸入 | 無(wú)效 | 三態(tài)(高阻) |
0 | 1 | 0 | 輸入 | 有效 | 外部引腳拉低時(shí)輸出電流 (uA) |
0 | 1 | 1 | 輸入 | 無(wú)效 | 三態(tài)(高阻) |
1 | 0 | X | 輸出 | 無(wú)效 | 推挽 0 輸出,吸收電流 (20mA) |
1 | 1 | X | 輸出 | 無(wú)效 | 推挽 1 輸出,輸出電流 (20mA) |
雖然AVR的I/O口單獨輸出“1”時(shí),可輸出較大電流足已點(diǎn)亮一盞燈,但AVR總的I/O輸出畢竟是有限的,所以,有經(jīng)驗的點(diǎn)燈者考慮到除了點(diǎn)燈外可能還有其它費勁的活兒要干,會(huì )將AVR的I/O口設計為輸出“0”時(shí)點(diǎn)燈,輸出“1”時(shí)熄燈。這種接法亦叫“灌電流接法”。
AVR主控電路原理圖
LED控制電路原理圖
下面部分從TXT拷出,拷到網(wǎng)頁(yè),代碼部分缺省了很多空格,比較凌亂,請諒解!
//目標系統: 基于A(yíng)VR單片機
//應用軟件: ICC AVR
#include
#include "D:ICC_HCmmICC.H"
#define LED_DDR
#define LED_PORT PORTD
void main(void)
{
}
評論