单片机
返回首页

AVR单片机寄存器 DDRx PORTx PINx 与对应IO端口之间的关系

2016-10-19 来源:eefocus

AVR单片机寄存器 DDRx PORTx PINx 与对应IO端口之间的关系(x代表某个端口,如A端口、B端口等) 
下表以端口B的第2位PB2为例子加以说明,并且假设PB2为悬空状态 
  
DDRB.2 PORTB.2 读取PINB.2的结果 引脚PB2的状态  
1 1 1 PB2推挽输出 1  
1 0 0 PB2推挽输出 0  
0 1 1 PB2弱上拉,可作输入  
0 0 × PB2高阻抗,可作输入  

  
读取PINB.2时,就是读取PB2引脚的实际电平, 
如果PB2直接接VCC,那么任何时候读取PINB.2的结果都是1 
如果PB2直接接GND,那么任何时候读取PINB.2的结果都是0 
  
下面是一个标准C语言例子: 
  
#include       
unsigned char abc;       //定义一个变量 
void main(void)          //主函数 
{   
  DDRB  = 0b11110000; 
  PORTB = 0b11001100;       
  while (1)              //主循环 
  {      
    abc   = PINB;        //读取B端口的实际电平 
  }   

  
如果整个B端口都是悬空的话, 
那么abc的结果就是:0b110011** 
如果B端口第7位接GND 、第0位接VCC 、其它位悬空, 
那么abc的结果就是:0b010011*1 (PB7工作在“短路”状态) 
其中“*”表示不确定,理想状态下可以看作0 
进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 开关电源的基本组成及工作原理

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何构建一个触摸传感器电路

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章