并行I/O口的工作原理
此处的工作原理指:电路如何把逻辑上的0和1表示为引脚上的低电位和高电位,及如何把引脚上的高低电位转化为电路内部的高低电位来表示0和1
P1口
P1.0~P1.7的八个锁存器组成特殊功能寄存器P1(90H)
P1口既可输出用,又可输入用
输出
内部总线输出0时,即D为0时,非Q为1,V1处为1,则场效应管导通,电位等于其等压降约等于零,则引脚P1.x为接近于地的0V电平
内部总线输出1时,即D为1时,非Q为0,V1栅极为0V,则场效应管V1断开,场效应管输出端的电平由Vcc和上拉电阻决定,Vcc5V经过上拉电阻,引脚P1.x出输出5V高电平
输入
信号走向如图示经锁存器到D触发器,则需要保证场效应管V1断开,即栅极处为0V,则非Q为0V,Q为1,D为1
同样也可读锁存器
结论:某引脚读入电平之前,须向该I/O口输出高电平
P3
P3.0~P3.7的八个锁存器组成特殊功能寄存器P3(B0H)
作为普通I/O口工作时,原理同P1口
当使用第二功能时,上图第二功能区发挥作用
输出部分,使用第二功能时,锁存器Q端始终输出1,若第二功能区输入1,经过与非运算V1为0,P3.x处电位由Vcc5V与上拉电阻决定;若第二功能区输入0,与非后未1,场效应管V1栅极处为0V,P3.x处电位为0V
输入部分,使用第二功能时,单片机控制使信号由第二功能区的第二功能输入引脚传递
P3口的第二功能
P2
八个锁存器组成特殊功能寄存器P2(A0H)
MUX数据选择器,类似单刀双掷开关
注意反相器的位置
当控制端输出为0,MUX选择锁存器端,Q输出1时,经过3为0,P2.x电位由Vcc5V和上拉电阻决定 反之亦类似P1
当控制端输出为1,MUX选择地址线,若地址总线产生数据为0,则经过反相器3为1,场效应管使P2.x与地等电位为0V;若地址总线产生数据为1则为5V
P0
八个锁存器组成特殊功能寄存器P0(80H)
如图,控制端决定MUX选择总线端还是锁存器端,即选择地址/数据复用功能还是通用I/O口
蓝色电阻表示不属于单片机,即外接一个上拉电阻,每一位都要接
若控制端为0,则作为通用I/O口使用,Q端输出0时,V1为1,V2为0,V2始终断开Vcc不会短路到P0.x,此时P0.x为0;Q端输出为1时,同理
若控制端为1,则MUX选择总线端,若总线端输出为0,V2断开,V1导通,P0.x为0;若总线端输出为1,V2导通,V1断开,P0.x与Vcc等电位
注意
没数电基础,最后这两句不太好懂
关键字:单片机 并行 I O口
引用地址:
单片机基础(二):单片机并行I/O口工作原理
推荐阅读最新更新时间:2024-11-11 10:20
在51单片机编程中,编译出现Target not created情况
1.像往常一样新建工程选择的是51型号系列的单片机,插入的头文件是reg51,但是在编译的时候出现了以下问题 代码中的P2不能被定义,且出现Target not created 2.在了解之后,可以将单片机型号改为AT89C52,也就是52型号的,相应的插入的头文件也就是reg52 这样编译结果就不会出错了 3.出现上述问题的主要原因是头文件的不同会导致其中有些引脚的表示方式不同,导致编译器不能识别
[单片机]
电动自行车在线防盗装置
随着电动自行车的普及,电动自行车被盗现象屡屡发生。电动自行车所使用的电池是36V或48V的铅酸蓄电池,十分笨重,很难搬动。因此市民一般都将自己的电动自行车停放在自家楼下,从家里引出两根电线对电动自行车上的蓄电池进行充电,无人看守。而电动自行车自带的报警器大多是用振动传感器来实现报警,在室外容易被破坏,导致电动自行车频频被盗。为此,我们开发了一种新的室内在线防盗装置,利用给电动自行车蓄电池充电用的那两根电线,通过在线检测蓄电池的电压和电流信号,送入AT89C2051单片机进行逻辑判断。 它具有防盗、防短路、防长时间充电、充电完成自动切断电源等功能,并且本身用电量极小,一对5号电池可使用一年以上。 电动自行车蓄电池的充电形式电
[单片机]
怎么才能知道单片机程序占了多少字节
对于单片机程序占了多少字节?单片机还剩多少存储空间?想必你看到这篇文章时对这两个问题也很迷糊吧,接下来我就把自己所了解到的关于单片机程序占用空间大小的问题做一个整理,方便自己也方便他人。 1、STM32类单片机在程序编译后会出现下面图片中所示内容 上图中分别有Code、RO-data、RW-data、ZI-data,Code:表示所要执行的代码,程序中所有的函数都位于此处。RO-data:表示只读数据,程序中所定义的全局常量数据和字符串都位于此处。RW-data:表示已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。ZI-data:表示未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处
[单片机]
英飞凌第三代AURIX™微控制器助力TASKING为客户更优质的方案
TASKING, Altium(ASX:ALU)的嵌入式软件部门日前宣布将推出针对英飞凌第三代AURIX™微控制器的多核开发环境。该开发环境将使TASKING和英飞凌的汽车客户能够为安全关键应用的多核架构进行更好的性能优化,扩大了双方合作范围。 英飞凌微控制器产品营销总监Ralf Ködel表示:“英飞凌与TASKING在扩充Tricore™/ AURIX™软件开发工具方面有着长期的合作关系,“在这个新的开发环境下,TASKING为我们顾客的产品创新提供了一站式创新解决方案。” 即将推出的AURIX™系列微控制器将用于需要大量数据的汽车应用,例如未来的网关,域和域控制器,引擎管理,电动汽车和高级驾驶员辅助系统。 同时,这些
[汽车电子]
行业云平台推动中国企业进行本地I&O服务战略变革
Gartner研究报告2023重要战略技术趋势:行业云平台介绍了行业云平台(ICP)推动实现行业相关业务成果的方式:将软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)与现有以及新型解决方案的组装式模块相结合(见图1)。 组装式功能允许客户对ICP以“即服务”形式交付的行业定制功能进行重新组合。 图1:行业云平台演进 中国的“十四五”规划强调云采用,推动了一些云服务提供商或关键行业参与者为同行企业机构创建共享基础设施池(也称为社区云)。然而,一些社区云仍然采用与企业数据中心相同的方式运行应用,并且几乎不利用SaaS,因此缺乏灵活性和创新性,引发了用户的不满。灵活性和创新性的缺乏,也导致其他供应商将
[网络通信]
PIC单片机学习7 TMR1
TMR1是16位宽度的TMR1由2个8位的可读写的寄存器TMR1H和TMR1L组成。 TMR1有专门的启停控制位TMR1ON,通过软件可以任意启动或暂停TMR1计数功能。 T1CON:TIMER1 CONTROL REGISTER bit7-6 unimplemented :Read as ‘0’ bit5-4 T1CKPS1:T1CKPS0:Timer1 input Clock Prescale Select bits 11=1:8 prescale value 10=1:4 prescale value 01=1:2 prescale value 00=1:1 prescale va
[单片机]
单片机编程里软件定时器使用技巧
#ifndef __SIMPLE_SOFT_TIME_H_ #define __SIMPLE_SOFT_TIME_H_ #define MIAO 1000ul #define MIN 60*MIAO #define UPLOAD_SENSOR_ITV 10*MIN //传感器数据上报间隔 #define OFFLINE_WAIT_TIME 8*MIN typedef enum { ST_General_Ov=0, ST_HEAT_Ov, //1 ST_M35_HEAT_O
[单片机]
指定支持Wi-Fi®的MCU时的注意事项
Microchip Technology 无线解决方案产品部 资深市场营销工程师 Alex Li 工业物联网的发展趋势是在一个SoC而非多个离散器件中执行更多功能,以精简物料清单、降低设计风险、减少占用空间。Wi-Fi®MCU即是一个典型,它将Wi-Fi连接与处理器及所需GPIO集成在一起,以满足多种应用的需求。在指定其中一个器件时,需要考虑多个因素,并需审慎进行选择,因此务必对这些器件有所了解。 当今市场上存在低成本的Wi-Fi连接方案,但通常会以外设数量和整体性能为代价。这意味着选择最佳Wi-Fi MCU充满挑战和风险,因为Wi-Fi MCU必须兼具稳健的Wi-Fi连接和高性能MCU功能,二者缺一不可,否则会导致整
[物联网]