历史上的今天
今天是:2025年02月24日(星期一)
2020年02月24日 | AVR单片机通用I/O设计注意事项
2020-02-24 来源:eefocus
简介:AVR单片机通用I/O设计注意事项
一、数据寄存器PORTx和数据方向寄存器DDRx为读/写寄存器,而端口输入引脚PINx为只读寄存器。但是需要注意的是,对PINx寄存器某一位写入逻辑“1”将造成数据寄存器相应位的数据发生“0”与“1”的交替变化。
当寄存器MCUCR的上拉电阻禁止位PUD置位时所有端口引脚的上拉电阻都被禁止。不论如何配置DDxn,都可以通过读取PINxn寄存器来获得引脚电平。PINxn寄存器的各个位与前面的锁存器组成了一个同步器。这样就可以避免在内部时钟状态发生改变的短时间范围内由于引脚电平变化而造成的信号不稳定。其缺点是引入了延迟。
二、AVR I/O具备多种I/O模式:
1.高阻态,多用于高阻态模拟信号输入,例如ADC数模转换器输入,模拟比较器输入。
2.弱上拉状态(Rup=20K~50K)输入用。为低电平信号输入作了优化,省去外部上拉电阻,例如按键输入,低电平中断触发信号输入。
3.推免强输出状态,驱动能力特强(>20mA),可直接推动LED,而且高低驱动能力对称。
三、写用PORTx,读取用PINx。
实验时,尽量不要把管脚直接接到GND/VCC,当设定不当,IO口将会输出/灌入80mA(Vcc=5V)的大电流,导致器件损坏。
做输入时:
1.通常要使能内部上拉电阻,悬空(高阻态)将会很容易受干扰。
2.尽量不要让输入悬空或模拟输入电平接近VCC/2,将会消耗太多的电流。
3.如果先前I/O口为输出状态,设置为输入状态后,必须等待1个时钟周期后才能正确的读到外部引脚PINx的值。
4.功能模块(中断,定时器)的输入可以是低电平触发,也可以是上升沿或下降沿触发。
5.用于高阻模拟输入信号输入,切记不要使能内部上拉电阻,影响精确度。
上一篇:AVR复习笔记—SPI多机通信
史海拾趣
|
现在遇到的情况是这样的:基于vxworks 操作系统 过程描述:应用层(相对驱动来说)发送命令(write 到一个输出文件描述符)--》在哪里被接受不清楚--》终端打印一些信息--》这些信息在用户按下 回车键后 被应用程序 接收(read文件描述符),然后解析 ...… 查看全部问答> |
|
请要去中嵌学院学习嵌入式的朋友们注意了,你们千万不要受骗了,那个老板叶贵明是骗子啊! 我就是中嵌远程教学的学员,中嵌真的是骗人的,一开始什么都说好,老师态度也好,可是到后面这个远程学习平台根本就用不了,于是我就申请退学费,他们那个什么叶总(叶贵明)说得好听得很,说说什么这件事情完全是他们的问题,学费一定退,只是现在 ...… 查看全部问答> |
|
物理基地址如何映射到应用程序可访问的空间? 我要访问研华PCM3724的PC104 I/O卡输入输出,其基地址为0x300. BYTE* PCMMem=(BYTE*)LocalAlloc(LPTR,10*sizeof(BYTE)); DWORD dwRegBase=0x0300; PHYSICAL_ADDRESS PhyAddr={dwRegBase,0}; DWORD ...… 查看全部问答> |
|
》》》调查:如果STM32具有外部存储器接口,您打算怎么用? 请分几个问题回答:一、存放程序代码 1) 存储器介质是什么? RAM、NOR Flash或其它 2) 存储器容量?最大及最小要求 3) 存储器速度? 100ns、40ns等二、存放数据 &nbs ...… 查看全部问答> |
|
ST32F101的PC13口能输出校准时钟却不能输出秒脉冲是怎么回事? /* Enable PWR and BKP clocks */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); /* Allow access to ...… 查看全部问答> |
|
使用STM32F103VC控制器,使用串口2,9600波特率,使用2.03库,程序很简单,用串口把一个数组顺序发出去, //和上位机通信 void uart2_send_byte(u8 ch) { USART_SendData(USART2, ch); /* Loop until the end of ...… 查看全部问答> |
|
歡迎大家來討論:MCU 的 IO 口封裝為什麼不按順序排列? 以前 89C51 的 IO 口在封裝上都是都是從 0 到 7 的順序來排列,但是現在很多 MCU 的 IO 口都不是這樣排列的了,感覺一個字\"亂\".. 這其中有什麼奧秘嗎? 希望大家來討論討論.… 查看全部问答> |
|
Sitara 有强大的HMI,HMI设备包括硬件与软件。这里的软件也就是组态软件,硬件我更关心的是他的串口和以太网接口。 在有些的情况下可能要使用的串口会非常的多,可能会达到七八个之多,这是就很少有CPU可以达到这个程度,这时 ...… 查看全部问答> |
|
Boosterpack共有3种: 分别为 20pin(左1)如MSP430的launchpad的风火轮和MP3扩展板 40pin(左2)如C2000的launchpad扩展板 80pin(右1)目前还没有见过 即使管脚数目不同,但是相同位置处的管脚功能是一致的,所以可以保证通用性 不 ...… 查看全部问答> |




