zoukankan      html  css  js  c++  java
  • 跨入AVR

    序:      

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

  • 相关阅读:
    性能测试培训:性能瓶颈分析思路
    (国内)完美下载Android源码Ubuntu版
    (国内)完美下载android源代码(文章已经丢失)
    【翻译】Ext JS最新技巧——2015-10-21
    ubuntu 中 eclipse 的菜单栏 显示问题
    谷歌代码库已超过 20 亿行代码,他们是如何管理的?
    架构方面的资料集锦
    Android Studio 使用 Gradle 打包 Jar
    【翻译】Ext JS最新技巧——2015-8-11
    【翻译】在Ext JS 6通用应用程序中使用既共享又特定于视图的代码
  • 原文地址:https://www.cnblogs.com/pang123hui/p/2312386.html
Copyright © 2011-2022 走看看