AVR 学习笔记------AVR的I/O端口及其使用

本文介绍了AVR微控制器的I/O端口特性,包括PORTx, PINx和DDRx寄存器的使用,并提供了一系列示例代码,如配置端口输入输出、毫秒延时函数的实现以及LED灯闪烁和数码管显示的控制。通过这些实例,深入理解AVR的I/O端口操作。" 107005202,9824685,CentOS上安装Trafodion/ESGYN详细步骤,"['数据库', 'CentOS', 'JDK1.8', '软件安装', 'Linux系统']
AI助手已提取文章相关产品:

        AVR的I/O端口是作为同用的数字输入输出端口使用,所有端口均具有读,修改和写的功能,端口引脚有与电压无关的上拉电阻,可

以通过I/O端口寄存器进行配置。

       每个端口有三个寄存器,分别为PORTx,PINx和DDRx,即数据寄存器,端口输入引脚和数据方向寄存器。PORTx和DDRx为读写寄存器,PINx为只读寄存器。

        各个寄存器的配置例子如下:

        DDRA = 0xF0;    //此语句将PORTA的PA0~PB3设置为输入,PA4~PA7设置为输出

 

        DDRA = 0xFF;    //设置PA口为输出

        PORTA = 0xF2;    //初始输出为11110010

 

        DDRB = 0x00;    //将PB0~PB7设置为输入

        PORTB = 0xF0;    //PB0~PB3位不设上拉电阻,无信号输入时候为高阻态,PB4~PB7位设上拉电阻,无信号输入时候为高电平

 

        DDRB = 0x00;

        PORTB = 0xFF;

        temp = PINB;    //将PB引脚信号读入到变量temp中

 

毫秒延时函数的编写:

                         

 

    其中参数570要根据芯片的时钟源计算得到。计算方式为:实际延时时间=570*(1/f)*k     参数570 根据上公式计算

    LED灯闪烁控制部分程序

                         

   

    数码管显示实例:

    按键S1连接到PD4,S2连接到PD5,PA0~PA7连接段码LED的a~g,PC0~PC7连接各个LED的位选,S1按下数码管个位,十位输出以加法模式输出00~99,按S2以减法模式输出。

 

                          

 

    LED动态显示时钟例子:

     

                 

                                                                                                                                     2011-03-2217:14:26

您可能感兴趣的与本文相关内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值