数字输入输出端口精品文稿.ppt
数字输入输出端口数字输入输出端口第1页,本讲稿共50页3.1STC12C5A60S2单片机的I/O口及工作模式STC12C5A60S2单片机共有单片机共有6个个I/O端口,端口,44根根I/O口线:口线:P0口(口(8根):根):P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7。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口(口(8根):根):P3.0、P3.1、P3.2、P3.3、P3.4、P3.5、P3.6、P3.7。P4口(口(8根):根):P4.0、P4.1、P4.2、P4.3、P4.4、P4.5、P4.6、P4.7。P5口(口(4根):根):P5.0、P5.1、P5.2、P5.3。3.1.1 STC12C5A60S2单片机的单片机的I/O口口第2页,本讲稿共50页1、P0口口 P0口的作用有口的作用有2个:个:(1)用作数据总线或者地址总线低)用作数据总线或者地址总线低8位。位。(2)用作)用作I/O。2、P2口口 P2口的作用有口的作用有2个:个:(1)作为高)作为高8位地址指针(位地址指针(DPH)输出。)输出。(2)作为通用)作为通用I/O口使用。口使用。复用功能复用功能第3页,本讲稿共50页 3、P1口复用为口复用为ADC转换输入、捕获转换输入、捕获/比较比较/脉宽调制、脉宽调制、SPI通信线、第二串通信线、第二串口或者第二时钟输出,如表口或者第二时钟输出,如表3-1所示。所示。端口引脚复用功能P1.0ADC0(ADC转换输入通道0)/CLKOUT2(第二时钟输出)P1.1ADC1(ADC转换输入通道1)P1.2ADC2(ADC转换输入通道2)/ECI(可编程计数器阵列定时器的外部时钟输入)/RxD2(第二串口输入)P1.3ADC3(ADC转换输入通道3)/CCP0(捕捉/比较/脉宽调制通道0)/TxD2(第二串口输出)P1.4ADC4(ADC转换输入通道4)/CCP1(捕捉/比较/脉宽调制通道1)/SS(SPI从器件选择)P1.5ADC5(ADC转换输入通道5)/MOSI(SPI主机输出从机输入)P1.6ADC6(ADC转换输入通道6)/MISO(SPI主机输入从机输出)P1.7ADC7(ADC转换输入通道7)/SCLK(SPI时钟)表表3-1 P1口的复用功能口的复用功能第4页,本讲稿共50页4、P3口口 P3口的口口的口线线可复用可复用为为外部中断外部中断输输入、入、计计数器数器输输入、入、时钟输时钟输出、第一串口和外部出、第一串口和外部总线总线的的读读/写控制,如表写控制,如表3-2所示。所示。端口引脚复用功能P3.0RXD(串行通信输入)P3.1TXD(串行通信输出)P3.2INT0(外部中断0输入)P3.3INT1(外部中断1输入)P3.4T0(定时器0外部输入)/CLKOUT0(时钟输出0)P3.5T1(定时器1外部输入)/CLKOUT1(时钟输出1)P3.6WR(外部总线写控制信号)P3.7RD(外部总线读控制信号)表表3-2 P3口的复用功能口的复用功能第5页,本讲稿共50页5、P4口口 P4口的某些口线具有复用功能,可配置为口的某些口线具有复用功能,可配置为SPI通信线、捕捉通信线、捕捉/比较比较/脉宽调制、脉宽调制、第二串口线等,如表第二串口线等,如表3-3所示。所示。表表3-3 P4口的复用功能口的复用功能端口引脚复用功能P4.0SS(SPI从器件选择)P4.1ECI(可编程计数器阵列定时器的外部时钟输入)/MOSI(SPI主输出从输入)P4.2CCP0(捕捉/比较/脉宽调制通道0)/RxD2(第二串口输入)/MISO(SPI主输入从输出)P4.3CCP1(捕捉/比较/脉宽调制通道1)/TxD2(第二串口输出)/SCLK(SPI时钟)P4.4NA(空引脚)P4.5ALE(地址锁存控制信号,主要用于外部总线扩展)P4.6EX_LVD(外部低电压检测)/RST2(第二复位信号输入)P4.7RST(复位引脚)第6页,本讲稿共50页 P4.4、P4.5和和P4.6的第二功能由特殊功能寄存器的第二功能由特殊功能寄存器P4SW(地址为(地址为BBH,复位,复位值为值为X000XXXXB)设置)设置,P4SW的各位定义如下:的各位定义如下:位号D7D6D5D4D3D2D1D0位名称LVD_P4.6ALE_P4.5NA_P4.4(1)NA/P4.4引脚控制位。引脚控制位。0:NA/P4.4脚是弱上拉,无任何功能。脚是弱上拉,无任何功能。1:将:将NA/P4.4脚设置成脚设置成I/O口(口(P4.4)。)。(2)ALE_P4.5:ALE/P4.5引脚控制位。引脚控制位。0:ALE/P4.5脚是脚是ALE信号。信号。CPU用用MOVX指令访问片外存储器时,指令访问片外存储器时,ALE输出输出信号的下降沿作为信号的下降沿作为16位地址信号低位地址信号低8位的锁存信号。位的锁存信号。1:将:将ALE/P4.5脚设置成脚设置成I/O口(口(P4.5)。)。(3)LVD_P4.6:EX_LVD/P4.6引脚控制位。引脚控制位。0:EX_LVD/P4.6是外部低压检测脚,可使用查询方式或设置成中断来检测。是外部低压检测脚,可使用查询方式或设置成中断来检测。1:将:将EX_LVD/P4.6脚设置成脚设置成I/O口(口(P4.6)。)。RST/P4.7引脚在引脚在ISP下载程序时选择是复位脚还是下载程序时选择是复位脚还是P4.7口,如设置成口,如设置成P4.7口,必须口,必须使用外部时钟。使用外部时钟。第7页,本讲稿共50页由由AUXR1寄存器寄存器设设置置PCA/PWM、SPI和和UART2功能是在功能是在P1口口还还是在是在P4口。口。AUXR1寄存器(地址寄存器(地址为为A2H,复位,复位值值为为X00000X0B)的各位定)的各位定义义如下:如下:位号D7D6D5D4D3D2D1D0位名称-PCA_P4SPI_P4S2_P4GF2ADRJ-DPSPCA_P4:PCA/PWM控制位。控制位。0:PCA/PWM在在P1口。口。1:将:将PCA/PWM从从P1口切换到口切换到P4口。口。SPI_P4:SPI控制位。控制位。0:SPI在在P1口。口。1:将:将SPI从从P1口切换到口切换到P4口。口。S2_P4:UART2控制位。控制位。0:UART2/串口串口2在在P1口。口。1:将:将UART2/串口串口2从从P1口切换到口切换到P4口。口。GF2:通用标志位。该位是由用户定义的一个状态标志。:通用标志位。该位是由用户定义的一个状态标志。ADRJ:用于设置:用于设置ADC转换结果的存储格式(详见第十章)。转换结果的存储格式(详见第十章)。DPS:数据指针选择位。:数据指针选择位。STC12C5A60S2单片机具有两个单片机具有两个16位的数据指针:位的数据指针:DPTR0和和DPTR1。当。当DPS=0时,选择时,选择DPTR0;DPS=1时,选择时,选择DPTR1。第8页,本讲稿共50页3.1.2 STC12C5A60S2单片机I/O口的工作模式四种工作模式第9页,本讲稿共50页软件配置成4种工作模式之一nSTC12C5A60S2单片机的所有I/O 口均可由软件配置成4种工作模式之一:准双向口(标准8051单片机输出模式)推挽输入输出仅为输入(高阻)或开漏输出功能。n每个口的工作模式由2个控制寄存器中的相应位控制(PnM0和PnM1,n=0,1,2,3)。第10页,本讲稿共50页表3-4 I/O口工作模式设置PnM07:0PnM17:0I/O口模式00准双向口(传统8051单片机I/O口模式),灌电流可达20mA,拉电流为230A,由于制造误差,实际为250uA150uA01推挽输入输出(强上拉输出,可达20mA,要加限流电阻,尽量少用)10仅为输入(高阻)11开漏(Open Drain),内部上拉电阻断开,要外加上拉电阻参见课本P39寄存寄存器参器参见课见课本本P27表表2-2第12页,本讲稿共50页1、例如,若设置例如,若设置P1.7为开漏,为开漏,P1.6为强推挽输入输出,为强推挽输入输出,P1.5为高阻输入,为高阻输入,P1.4、P1.3、P1.2、P1.1和和P1.0为弱上拉,则可以使用下面的代码进行设置:为弱上拉,则可以使用下面的代码进行设置:MOV P1M1,#10100000B MOV P1M0,#11000000B 2、虽然、虽然STC12C5A60S2单片机的每个单片机的每个I/O口在弱上拉时都能承受口在弱上拉时都能承受20mA的灌电流(还是要加限流电阻,如的灌电流(还是要加限流电阻,如1K),在强推挽输出时都能输),在强推挽输出时都能输出出20mA的拉电流(也要加限流电阻),但整个芯片的工作电流推荐不要的拉电流(也要加限流电阻),但整个芯片的工作电流推荐不要超过超过120mA。工作模式设置常例P1M1=0XA0HP1M0=0XC0H第13页,本讲稿共50页3.2 STC12C5A60S2单片机I/O口的结构四种结构四种结构第14页,本讲稿共50页1 1 1 1准双向口工作模式的结构准双向口工作模式的结构准双向口工作模式的结构准双向口工作模式的结构准双向口工作模式下,准双向口工作模式下,I/O口可用作输出和输入功能而不需重新配置口线输出状态。口可用作输出和输入功能而不需重新配置口线输出状态。第15页,本讲稿共50页准双向口的主要特点准双向口的主要特点n输入数据时,应先向口写输入数据时,应先向口写1,使,使T4截止,截止,然后方可作高阻抗输入。然后方可作高阻抗输入。n双向口的特点:输入时有三种状态(双向口的特点:输入时有三种状态(0、1、高阻)。、高阻)。n可以读锁存器的操作。可以读锁存器的操作。第16页,本讲稿共50页P0口的工作原理口的工作原理是双向口 1:输入 这时 V1截止 V2 截止 呈现高阻态 可以读取管脚上的数据2:输出1 这时 V1导通 V2 截止 输出1 3:输出0 这时 V1截止 V2导通 输出0 第17页,本讲稿共50页端口与端口寄存器的关系端口与端口寄存器的关系n为了便于叙述,以后将为了便于叙述,以后将6个端口及其锁存个端口及其锁存器都表示为器都表示为P0-P5第18页,本讲稿共50页2 2推挽输入输出工作模式的结构推挽输入输出工作模式的结构 一个一个I/O位工作于推挽输入输出工作模式时,若输出高电平,拉电流最大位工作于推挽输入输出工作模式时,若输出高电平,拉电流最大可达可达20mA;若输出低电平,灌电流也可达;若输出低电平,灌电流也可达20mA。第19页,本讲稿共50页3仅为输入(高阻)工作模式的结构仅为输入(高阻)工作模式的结构 输入口带有一个施密特触发输入以及一个输入口带有一个施密特触发输入以及一个干扰抑制电路。干扰抑制电路。注意,仅为输入(高阻)工作模式下,注意,仅为输入(高阻)工作模式下,I/O口口不提供不提供20mA灌电流的能力。灌电流的能力。第20页,本讲稿共50页 当口线锁存器为当口线锁存器为“0”时,开漏输出关断所有上拉场效应管。当作为一个逻辑输时,开漏输出关断所有上拉场效应管。当作为一个逻辑输出时,这种配置方式必须有外部上拉电阻,一般通过电阻外接到出时,这种配置方式必须有外部上拉电阻,一般通过电阻外接到Vcc。这种方式的下拉结。这种方式的下拉结构与准双向口模式的下拉结构相同。构与准双向口模式的下拉结构相同。开漏端口带有一个施密特触发输入以及一个干扰抑制电路。开漏端口带有一个施密特触发输入以及一个干扰抑制电路。这种工作模式下,输出低电平时,灌电流也可达这种工作模式下,输出低电平时,灌电流也可达20mA。4开漏输出工作模式的结构开漏输出工作模式的结构 第21页,本讲稿共50页外部上拉电阻第22页,本讲稿共50页3.3 STC12C5A60S2单片机单片机I/O口的使用口的使用8个小问题个小问题第23页,本讲稿共50页 对对STC12C5A60S2单片机单片机P4口和口和P5口的口的访问,如同访问常规的访问,如同访问常规的P0/P1/P2/P3口一样,并且均可按位寻址,口一样,并且均可按位寻址,P4的地址的地址C0H,P5口的地址在口的地址在C8H。1P4口和口和P5口的使用口的使用第24页,本讲稿共50页2上拉电阻的连接 n准双向口应用时,准双向口应用时,虽然集成了上拉场虽然集成了上拉场效应管,最好外接效应管,最好外接上拉电阻。上拉电阻。n典型值为典型值为5.1k ,10k第25页,本讲稿共50页 在实际使用时,应尽量采用灌电流方式,而不要采用拉电流方式,这样可以在实际使用时,应尽量采用灌电流方式,而不要采用拉电流方式,这样可以提高系统的负载能力和可靠性。提高系统的负载能力和可靠性。3拉电流方式和灌电流方式拉电流方式和灌电流方式 第26页,本讲稿共50页 4典型的三极管控制电路典型的三极管控制电路 第27页,本讲稿共50页5I/O外部状态的输入外部状态的输入当I/O口工作于准双向口时,由于STC12C5A60S2单片机是1个时钟周期(1T)的8051单片机,速度很快,如果通过指令执行由低变高指令后立即读外部状态,此时由于实际输出还没有变高,有时可能读入的状态不对。这种问题的解决方法是在软件设置由低变高后加1到2个空操作指令延时,然后再读I/O口的状态。第28页,本讲稿共50页nSTC12C5A60S2单片机的典型工作电压单片机的典型工作电压为为5V,与,与3V器件连接时,为了防止器件连接时,为了防止3V器件承受不了器件承受不了5V电压,可将相应的电压,可将相应的I/O口设置成开漏工作模式,断开内部上拉口设置成开漏工作模式,断开内部上拉电阻,相应的电阻,相应的I/O口外部加口外部加10K上拉电上拉电阻到阻到3V器件的器件的Vcc。这样,高电平是。这样,高电平是3V,低电平是,低电平是0V,可以保证正常的输入输,可以保证正常的输入输出出6与与3V器件的连接器件的连接 第29页,本讲稿共50页。共阴极共阴极共阳极共阳极7I/O口驱动口驱动LED数码管数码管第30页,本讲稿共50页8如何让如何让I/O口上电复位时控制输口上电复位时控制输出为低电平出为低电平 n 有两种解决方法:有两种解决方法:n (1)通过硬件实现高低电平的逻辑取反功能。)通过硬件实现高低电平的逻辑取反功能。n (2)由于)由于STC12C5A60S2单片机既有弱上拉输出单片机既有弱上拉输出模式又有强推挽输出模式,可在单片机模式又有强推挽输出模式,可在单片机I/O口上加一口上加一个下拉电阻(个下拉电阻(1K、2K 或或3K),这样上电复位),这样上电复位时,虽然单片机内部时,虽然单片机内部I/O口是弱上拉口是弱上拉/高电平输出,高电平输出,但由于内部上拉能力有限,而外部下拉电阻又较但由于内部上拉能力有限,而外部下拉电阻又较小,无法将其拉高,所以该小,无法将其拉高,所以该I/O口上电复位时外部口上电复位时外部输出为低电平。输出为低电平。第31页,本讲稿共50页第32页,本讲稿共50页单片机最小系统第33页,本讲稿共50页单片机的时钟与时序n时钟电路n单片机的各项工作都是在时钟信号的控制下协调工作的,单片机的时钟电路可为单片机提供一个时钟信号,根据连接方式的不同,时钟电路可分为内部时钟方式和外部时钟方式。第34页,本讲稿共50页时钟的连接nXTAL1和XTAL2之间跨接晶体振荡器和两个微调电容,和芯片内部的振荡器电路构成一个稳定的自激振荡器,第35页,本讲稿共50页单片机的单片机的CPUCPU时序时序 qMCS-51包包括括4个个定定时时单单位位,它它们们分分别别是是:振振荡荡周周期期(节节拍拍)、时时钟钟周周期期(状状态态周周期期)、机机器器周周期期和和指指令令周周期期。单片机两种常用晶振的单片机两种常用晶振的4个周期信号的对比见表个周期信号的对比见表2-7所示。所示。第36页,本讲稿共50页q1.振荡周期振荡周期q振振荡荡周周期期也也叫叫节节拍拍,用用P表表示示,振振荡荡周周期期是是指指为为单单片片机机提提供供定定时时信信号号的的振振荡荡源源的的周周期期。是是时时序序中中最最小小的的时时间间单单位位。例例如如:若若某某单单片片机机时时钟钟频频率率为为2MHz,则则它它的的振振荡荡周周期应为期应为0.5s。q2.时钟周期时钟周期q时时钟钟周周期期又又叫叫做做状状态态周周期期,用用S表表示示。是是振振荡荡周周期期的的二二倍倍,其其前前半半周周期期对对应应的的节节拍拍叫叫P1拍拍,后后半半周周期期对对应应的的节节拍拍叫叫P2。P1节节拍拍通通常常完完成成算算术术、逻逻辑辑运运算算,P2节节拍拍通通常常完完成成传传送送指指令。令。第37页,本讲稿共50页q3.机器周期机器周期q机机器器周周期期是是实实现现特特定定功功能能所所需需的的时时间间周周期期,通通常常有有若若干干时时钟钟周周期期构构成成。MCS-51的的一一个个机机器器周周期期是是固固定定不不变变的的,宽宽度度均均由由6个个状状态态周周期期(12个个振振荡荡周周期期)组组成成,并并依依次次表表示示为为S1S6,分别记作,分别记作S1P1、S1P2S6P1、S6P2。q4.指令周期指令周期q指指令令周周期期是是最最大大的的时时序序定定时时单单位位,指指令令周周期期是是指指执执行行一一条条指指令令需需要要的的时时间间。通通常常MCS-51的的指指令令周周期期可可以以包包含含有有14个个机机器器周周期期。MCS-51的的几几种种典典型型的的指指令令时时序序如如图图2-15所所示示,每每个个机机器器周周期期内内地地址址锁锁存存信信号号(ALE)产产生生两两次次有有效效信信号号,分别出现在分别出现在S1P2、S2P1期间与期间与S4P2、S5P1期间。期间。第38页,本讲稿共50页指令时序指令时序第39页,本讲稿共50页2.6.2 2.6.2 节电工作方式节电工作方式 MCS-51MCS-51单片机中有单片机中有HMOSHMOS和和CHMOSCHMOS两种工艺芯片,它们的节电两种工艺芯片,它们的节电运行方式不同,运行方式不同,HMOSHMOS单片机的节电方式只有掉电方式,单片机的节电方式只有掉电方式,CHMOSCHMOS单片机的节电工作方式有掉电方式和空闲方式两种。单片机的节电工作方式有掉电方式和空闲方式两种。单片机的工作方式单片机的工作方式 q2.6.1 程序执行方式程序执行方式 q1连续执行方式连续执行方式 q2单步运行方式单步运行方式 q3.复位方式复位方式 第40页,本讲稿共50页1HMOS的掉电工作方式的掉电工作方式 n掉电工作方式是指由于电源的故障使电源电压丢失或工作电压低于正常值,使单片机系统不能正常运行,若不采取保护措施,将丢失RAM和寄存器中的全部数据,后果严重。为此MCS-51系列单片机设置有掉电保护措施,进行掉电保护处理。具体做法是:n检测电路一旦发现掉电,通过外部中断源向CPU发出中断请求,CPU响应此中断请求,调用中断服务子程序,由中断服务子程序将重要数据送内部RAM转存,立即先把程序运行过程中有用信息转存到RAM,然后启用备用电源维持RAM供电。第41页,本讲稿共50页2CHMOS的节电工作方式的节电工作方式 n单片机还设计有待机和掉电两种节电工作方式,特别适宜于低功耗场合。内部控制电路内部控制电路内部控制电路内部控制电路 nPCON控制寄存器的格控制寄存器的格式如下:式如下:第42页,本讲稿共50页PCON各位的说明如下:nSMOD:串行口波特率加倍控制位。SMOD=1,波特率加倍。nGF1、GF0:通用标志位,由用户置位或复位。nPD:掉电方式位,若PD=1,进入掉电工作方式。nIDL:待机方式位,若IDL=1,进入待机工作方式。n若PD和IDL同时为1,则进入掉电工作方式。第43页,本讲稿共50页n(1)待机工作方式 n 是将PCON寄存器的IDL位置“1”,即进入待机工作方式。n退出待机方式的方法有两种,一种是激活中断,另一种是硬件复位。第44页,本讲稿共50页(2)掉电保护方式)掉电保护方式n是将PCON中的PD位置“1”使单片机进入掉电保护方式。80C51单片机一旦检测到电源掉电,即将有用信息转存到片内数据存储器RAM中的低128字节内,并使PCON.1的PD位置“1”,单片机进入掉电方式。掉电方式下送入时钟电路的振荡信号被封锁,不产生时钟信号,片内的一切工作都停止,只有片内RAM的数据保留。n只要电源恢复正常值,单片机就可以退出掉电方式,进入正常工作方式,但硬件复位须维持10ms时间。第45页,本讲稿共50页复位复位 n1复位方式n(1)复位条件 n为了实现单片机的复位,在时钟电路工作后,必须在单片机的RESET端(9)至少维持2个机器周期以上的高电平,单片机进入复位状态(即程序从0000H地址开始执行)。n时钟频率为12MHZ,机器周期为1s,则在单片机的RESET端只需持续2s以上时间的高电就能进入复位状态。第46页,本讲稿共50页n(2)复位后的状态n单片机复位后,片内RAM中低128B的内容不会改变,但特殊功能寄存器(SFR)的值被初始化。复位期间单片机的ALE和端输出高电平。第47页,本讲稿共50页第48页,本讲稿共50页2复位电路复位电路 第49页,本讲稿共50页思考题1.简述简述STC12C5A60S2单片机单片机I/O口的作用。口的作用。2.简述简述STC12C5A60S2单片机的各个数字输入单片机的各个数字输入/输输出端口的工作模式及结构。出端口的工作模式及结构。3.如何设置如何设置STC12C5A60S2单片机单片机I/O口的工作口的工作模式?若设置模式?若设置P1.7为强推挽输出,为强推挽输出,P1.6为开漏,为开漏,P1.5为弱上拉,为弱上拉,P1.4、P1.3、P1.2、P1.1和和P1.0为高阻输入,应如何设置相关寄存器?为高阻输入,应如何设置相关寄存器?4.使用使用STC12C5A60S2单片机的单片机的I/O口应注意哪些口应注意哪些问题?问题?第50页,本讲稿共50页