1. 程式人生 > 其它 >ATmega16開發板教程(1)——LED點燈

ATmega16開發板教程(1)——LED點燈

技術標籤: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設計