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 844545015@qq.com
******************************************************************************
* @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设计)