版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章数字输入/输出端口3.1STC12C5410AD单片机的I/O口及工作模式STC12C5410AD单片机共有4个I/O端口,27根I/O口线:P0(4根):P0.0、P0.1、P0.2、P0.3。P1(8根):P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7。P2(8根):P2.0、P2.1、P2.2、P2.3、P2.4、P2.5、P2.6、P2.7。P3口(7根):P3.0、P3.1、P3.2、P3.3、P3.4、P3.5、P3.7。1.I/O口概述2.复用功能1)P1口复用为ADC转换输入或者SPI通信线,如表3-1所示。表3-1P1口的复用功能端口引脚复用功能P1.0ADC0(ADC转换输入通道0)P1.1ADC1(ADC转换输入通道1)P1.2ADC2(ADC转换输入通道2)P1.3ADC3(ADC转换输入通道3)P1.4ADC4(ADC转换输入通道4)/SS(SPI从器件选择)P1.5ADC5(ADC转换输入通道5)/MOSI(SPI主输出从输入)P1.6ADC6(ADC转换输入通道6)/MISO(SPI主输入从输出)P1.7ADC7(ADC转换输入通道7)/SCLK(SPI时钟)2)P2口和P3口的某些I/O口线可用于PCA输入或者PWM输出,P3口的某些口线可用于外部中断输入、计数器输入和UART。表3-2P2口和P3口的复用功能端口引脚复用功能P3.0RXD(串行通信输入)P3.1TXD(串行通信输出)P3.2INT0(外部中断0输入)P3.3INT1(外部中断1输入)P3.4ECI(可编程计数器阵列定时器的外部时钟输入)/T0(定时器0外部输入)P3.5PWM1(脉宽调制输出通道1)/PCA1(可编程计数器阵列通道1)/CEX1(外部脉冲捕获输入1)/T1(定时器1外部输入)P3.7PWM0(脉宽调制输出通道0)/PCA0(可编程计数器阵列通道0)/CEX0(外部脉冲捕获输入0)P2.0PWM2(脉宽调制输出通道2)/PCA2(可编程计数器阵列通道2)/CEX2(外部脉冲捕获输入2)P2.4PWM3(脉宽调制输出通道3)/PCA3(可编程计数器阵列通道3)/CEX3(外部脉冲捕获输入3)3.工作方式STC12C5410AD单片机的所有I/O口均可由软件配置成4种工作模式之一:准双向口(标准8051单片机输出模式)推挽输入输出仅为输入(高阻)或开漏输出功能。每个口的工作模式由2个控制寄存器中的相应位控制(PnM0和PnM1,n=0,1,2,3)。表3-3I/O口工作模式设置PnM0[7:0]PnM1[7:0]I/O口模式00准双向口(传统8051单片机I/O口模式),灌电流可达20mA,拉电流为230μA,由于制造误差,实际为250uA~150uA01推挽输入输出(强上拉输出,可达20mA,要加限流电阻,尽量少用)10仅为输入(高阻)11开漏(OpenDrain),内部上拉电阻断开,要外加上拉电阻例如,若设置P1.7为开漏,P1.6为高阻输入,P1.5为强推挽输出,P1.4、P1.3、P1.2、P1.1和P1.0为弱上拉,则可以使用下面的代码进行设置:MOVP1M0,#11000000BMOVP1M1,#10100000B虽然STC12C5410AD单片机的每个I/O口在弱上拉时都能承受20mA的灌电流(还是要加限流电阻,如1KΩ,560Ω等),在强推挽输出时都能输出20mA的拉电流(也要加限流电阻),但整个芯片的工作电流推荐不要超过55mA。3.2STC12C5410AD单片机I/O口的结构
1.准双向口工作模式的结构
准双向口工作模式下,I/O口可用作输出和输入功能而不需重新配置口线输出状态。2.推挽输入输出工作模式的结构
一个I/O位工作于推挽输入输出工作模式时,若输出高电平,拉电流最大可达20mA;若输出低电平,灌电流也可达20mA。3.仅为输入(高阻)工作模式的结构输入口带有一个施密特触发输入以及一个干扰抑制电路。注意,仅为输入(高阻)工作模式下,I/O口不提供20mA灌电流的能力。4.开漏输出工作模式的结构当口线锁存器为“0”时,开漏输出关断所有上拉场效应管。当作为一个逻辑输出时,这种配置方式必须有外部上拉电阻,一般通过电阻外接到Vcc。这种方式的下拉结构与准双向口模式的下拉结构相同。开漏端口带有一个施密特触发输入以及一个干扰抑制电路。这种工作模式下,输出低电平时,灌电流也可达20mA。3.3STC12C5410AD单片机I/O口的使用
1.I/O外部状态的输入
单片机速度很快,如果通过指令执行由低变高指令后立即读外部状态,此时由于实际输出还没有变高,有可能读入的状态不对。这种问题的解决方法是在软件设置由低变高后加1到2个空操作指令延时,然后再读I/O口的状态。2.上拉电阻的连接3.拉电流方式和灌电流方式
在实际使用时,应尽量采用灌电流方式,而不要采用拉电流方式,这样可以提高系统的负载能力和可靠性。4.典型的三极管控制电路
STC12C5410AD单片机的典型工作电压为5V,当它与3V器件连接时,为了防止3V器件承受不了5V电压,可将相应的I/O口设置成开漏配置,断开内部上拉电阻,相应的I/O口外部加10K上拉电阻到3V器件的Vcc。5.与3V器件的连接6.如何让I/O口上电复位时控制输出为低电平有两种解决方法:(1)通过硬件实现高低电平的逻辑取反功能。例如,图3-7中,单片机上电复位后三极管Q1的集电极输出OUT就是低电平。(2)由于STC12C5410AD单片机既有弱上拉输出模式又有强推挽输出模式,可在单片机I/O口上加一个下拉电阻(1K、2K或3K),这样上电复位时,虽然单片机内部I/O口是弱上拉/高电平输出,但由于内部上拉能力有限,而外部下拉电阻又较小,无法将其拉高,所以该I/O口上电复位时外部输出为低电平。思考题简述STC12C5410AD单片机I/O口的作用。简述STC12C5410AD单片机的各个数字输入/输出端口的工作模式及结构。如何设置STC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论