ATmega16開發板教程(1)——LED點燈
阿新 • • 發佈:2021-01-27
技術標籤:ATmega16開發板模擬教程AVR微控制器模擬例程ATmega16
2、LED點燈
作為通用數字IO使用時,AVR微控制器的IO具備讀、寫、修改功能。每個埠具有3個暫存器:DDRx、PORTx、PINx。
DDRx:1-輸出,0-輸入。當配置為輸入時,PORTx=1,上拉使能,PORTx=0,高組態;配置為輸出時,PORTx=1,輸出高電平,PORTx=0,輸出低電平。
圖2- 1IO暫存器配置圖
程式碼說明:
ØLED引腳巨集定義
#define MCU_LED DDRC
#define MCU_LED_Port PORTC
(如果只需單獨定義某一位IO,則可通過_下劃線來指定,如DDRC_DDC0,同理PORTC_PORTC0 = 1)
ØLED引腳初始化
ØLED_ON點亮LED,選擇8位中的1位
其它說明見原工程,採用面向物件的結構體函式思維進行程式設計,提高C語言水平,與時代接軌。
/** ****************************************************************************** * @file main.c * @author Alex——小白 * @version V1.0 * @date 2021.1.20 * @brief LED 點燈 * @store Proteus模擬店子 * @Link https://shop484534014.taobao.com/ * @Email
[email protected] ****************************************************************************** * @attention All Rights Reserved **/ #include <main.h> void main( void ) { LED.LED_Init(0xFF); //ALL I/O OUTPUT while(1) { LED.LED_ON(0); //LED0亮 Delay.DelayMs(500); //Delay 500ms LED.LED_OFF(0); //LED0滅 Delay.DelayMs(500); //Delay 500ms LED.LED_Reverse(1); //LED1取反 } }
如需Proteus和IAR安裝包以及AVR程式設計參考手冊,請關注公眾號:
Proteus模擬店子
檢視歷史記錄,第一篇LED點燈
(若需Proteus和IAR安裝包以及AVR程式設計參考手冊,後臺回覆:AVR;若需其它設計,後臺回覆:AVR設計)