ATmega16开发板教程(1)——LED点灯

​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设计

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值