序:      

       以前一直用的是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               输出高电平 ( 拉电流)

 

跨入AVR

跨入AVR

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

相关文章:

  • 2021-05-18
  • 2021-08-07
  • 2021-09-07
  • 2022-12-23
  • 2021-07-15
  • 2022-01-18
  • 2021-07-18
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-09
  • 2021-10-09
  • 2021-12-23
  • 2021-08-08
相关资源
相似解决方案