跨入AVR

本文分享了作者从使用STC51和飞思卡尔xs128转向AVR微控制器的经历,详细介绍了ATmega8的优势及端口操作特点,包括真正的双向端口、内部上拉电阻等功能。
序:      

       以前一直用的是STC51 + 飞思卡尔xs128组合,简单的就用51写,复杂的用xs128,对于AVR、PIC、STM系列是只闻其声,不见其人。 最近因为要做飞思卡尔电磁磁场发生器而开始第一次接触AVR,顿有相见恨晚之感。

       简单点说,有内部上拉电阻,引脚30ma的拉电流和灌电流,内部硬件PWM和ADC等,而且价格也不贵,我正式决定用atmege8代替51。

  

  对端口操作:

   AVR端口是真正的双向端口,不像51伪双向。这也是AVR的一项优势,只是操作时大家注意DDRn就可以了。真正双向端口在模拟时序方面不如伪双向的方便。
   DDRn PORTn PINn 解释:n为端口号:ABCDE
   DDRn:控制端口是输入还是输出,0为输入,1为输出。个人记忆方法:一比零大所以往外挤,即1为输出,0为输入。
   PORTn:从引脚输出信号,当DDRn为1时,可以通过PORTn=x等端口操作语句给引脚输出赋值。
   PINn:从引脚读输入信号,无论DDRn为何值,都可以通过x=PINn获得端口n的外部电平。
  

   DDxn   PORTxn   PUD (in SFIOR)   I/O        上拉电阻     说明
  0             0               X                            输入      No               高阻态 (Hi-Z)
  0             1               0                            输入      Yes             被外部电路拉低时将输出电流
  0             1               1                            输入      No               高阻态(Hi-Z)
  1             0               X                            输出      No               输出低电平 ( 漏电流)
  1             1               X                            输出      No               输出高电平 ( 拉电流)

 

转载于:https://www.cnblogs.com/pang123hui/archive/2012/01/04/2312386.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值