单片机交流
直播中

刘满贵

7年用户 1460经验值
私信 关注
[问答]

怎样去使用AVR单片机的IO寄存器

AVR单片机有哪些优点?
AVR单片机可分为哪几种?
怎样去使用AVR单片机的IO寄存器?

回帖(1)

冯敬宇

2021-9-22 15:15:58
  1. 速度快,性价比高,片上资源丰富,IO口驱动能力强,可选型号种类多,保密性好(程序不易被破译),学习容易开发简单。
  2. AVR单片机的种类
  (1)ATtiny系列:如tiny13、tiny15、tiny26,功能较简单,属于低档,适合功能相对单一的系统;
  (2)AT90S系列:AT90S8515等,属中档,适合一般系统开发,现在在慢慢的淘汰,向ATmega系列转型。
  (3)ATmega系列:Mega8、Mega16、Mega128等,功能较强,属高档,适合各种具有较高要求的系统。
  3. AVR的IO与51单片机的区别
  (1)51IO口大部分为准双向口,复位时全部输出高电平,对端口的输入和输出操作也直接通过IO端口的地址进行。
  (2)AVR的IO口是标准的双向口,复位时所有端口处于高阻态,AVR的每个端口对应3个寄存器,机DDRx,PORTx,PINx。
  (3)在使用AVR之前,一定要根据引脚功能对相应的端口初始化,否则,端口很可能不能正常工作。
  4. AVR单片机的IO寄存器操作:
  
  如上图:xn可用A、B、C、D代替,代表各不同的端口。DDRxn——输入(=0)或输出(=1);当DDRxn设为输出时,PORTxn保存要输出的值(即0为输出高电平,1为输出低电平);当DDRxn设为输入时,可从PINxn中获得值。
  操作步骤:
  (1)通过方向寄存器DDRx设置相应的端口为输入或者输出。
  (2)如果设置为输出的话,把需要输出的数据送往数据寄存器PORTx。
  (3)如果设置为输入的话,从输入寄存器PINx中读取外部的输入值,同时可以通过设置PORTx来设置相应的引脚是否需要上拉电阻。
  5. 开发环境(如何新建工程):ICC AVR-》Project-》new-》File-》new-》保存-》右击右窗口中工程名-》Add File(s)。。。-》Project-》Compiler option-》选择芯片类型-》编译。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分