1.教学内容:并行I/O口P0、P1、P2、P3、的结构原理与功能,读引脚操作、读锁存器操作,定时器/计数器T0、T1的结构原理,相关的特殊功能寄存器、工作方式,T2的结构原理、功能选择,监视定时器T3的工作原理,T0、T1的应用编程。串行口的功能特点:相关的专用寄存器,工作方式,波特率与波特率发生器、串行口简单应用编程。80C51单片机的中断系统、中断源、中断标志、中断矢量,中断允许控制、中断优先级控制,外部中断的两种触发方式,中断响应的条件,响应的过程。2.教学重点:并行I/O的结构原理、接口功能,读引脚和读锁存器操作,定时器T0,T1的工作方式、相关的专用寄存器、应用编程。串行口的功能特点、相关的专用寄存器、工作方式,初始化编程、中断系统、中断源与标志及中断矢量、外部中断的两种触发方式、中断允许和优先级控制,中断响应的条件、响应的过程式、简单应用编程。3.教学要求:80C51单片机是通过专用寄存器对各功能单元进行管理的,要求学生掌握这些功能单元的基本应用方法。掌握并行接口(P0、P1、P2、P3)的内部结构及其特点;掌握定时器/计数器T0、T1的结构原理和特点、以及T0、T1的应用编程;掌握80C51单片机的中断系统的结构原理和特点以及应用编程;掌握串行口的功能特点及应用编程。第四章80C51单片机的功能单元表4—180C51并行I/O接口的比较I/O口P0口P1口P2口P3口位数8888性质真正双向口准双向口准双向口准双向口功能I/O口替代功能I/O口替代功能I/O口替代功能I/O口替代功能SFR字节地址80H90HA0HB0H地址范围80H~87H90H~97HA0H~A7HB0H~B7H驱动能力8个TTL负载4个TTL负载4个TTL负载4个TTL负载4.1并行I/O接口80C51共有4个并行的双向口,计有32根I/O口线,各口的每一位都由锁存器、输出驱动器和输入缓冲器所组成。但它们在结构上有一些差异,因此各口的性质和功能也有一些差异。详见P77表4-1:I/O口P0口P1口P2口P3口替代功能程序存储器、片外数据存储器低8位地址及8位数据CTC2T2、T2EX(CTC2仅80C52中有)串行口程序存储器、片外数据存储器高8位地址串行口:RXDTXD中断:INT0INT1CTC0、1:T0、T1片外数据存储器:WRRD4.1.1P1口P1口是一个8位的准双向口,可字节访问及位访问,其字节地址是90H,位地址是90H~97H。1。位结构与工作过程分析P1口的位结构如P78图4-1所示,它包含输出锁存器、输入缓冲器BUF1(读引脚)和BUF2(读锁存器)以及由场效应晶体管(FET)Q0与上拉电阻组成的输出/输入驱动器.P1口的工作过程如下:(参见P78图4-1)①P1.i位作输出口用:CPU输出0时,D=0,Q=0,/Q=1,晶体管Q0导通,A点被下拉为低电平,即输出0;CPU输出1时,D=1,Q=1,/Q=0,晶体管Q0截止,A点被上拉为高电平,即输出1。(即输出锁存,输出时没有条件。)②P1.i位作输入口用:先向P1.i位输出高电平,使A点提升为高电平,此操作称为设置P1.i位作为输入线。若外设输入为1时,A点为高电平,由BUF1读入总线后,B点也是高电平;若外设输入为0时,A点为低电平,由BUF1读入总线后,B点也是低电平。(即输入缓冲,输入时有条件,需先将该口置1,再输入。)单片机的引脚(P1口)P1口:输出锁存器、输入缓冲器BUF1(读引脚)和BUF2(读锁存器)以及由场效应晶体管(FET)Q0与上拉电阻组成的输出/输入驱动器。21DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻P1口某位结构AQ021DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据=1时110截止=1单片机的引脚(P1口)作输出口用:CPU输出1时,D=1,Q=1,/Q=0,晶体管Q0截止,A点被上拉为高电平,即输出1。AQ021DQCK/Q读引脚读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输出数据=0时001=0导通单片机的引脚(P1口)作输出口用:CPU输出0时,D=0,Q=0,/Q=1,晶体管Q0导通,A点被下拉为低电平,即输出0;AQ021DQCK/Q读引脚=1读锁存器写锁存器内部总线Vcc引脚P1.X内部上拉电阻输入数据时,要先对其写“1”110截止单片机的引脚(P1口)•P1口为准双向I/O口(内置了上拉电阻),仅在作输入口用时:要先对其(锁存器)写“1”。AQ02P1口的特点①输出锁存,输出时没有条件;②输入缓冲,输入时有条件,即需要先将该口设为输入状态,先输出1;③工作过程中无高阻悬浮状态,也就是该口不是输入态就是输出态。具有这种特性的口不属于“真正”的双向口,而被称为“准”双向口。需要注意是:若在输入操作之前,不将A点设置为高电平(即置1),如A点为低电平,则外设输入的任何信号均被A点拉为低电平。此时如外设为高电平,因被Q0强拉为低电平,将可能因大电流使晶体管烧坏。P1口能驱动4个TTL负载。简单测控实例原理图P1.3作输入端口光路通畅,R亮2K光路阻断,R暗400KR亮2.2KR暗250KJOB3:CLRP1.1;亮绿灯REDO:SETBP1.3;P1.3作输入口必先置1CHECK:JNBP1.3,CHECK;检测通道是否被阻断?LOOP:…………;有入侵者,报警!AJMPREDO;再跳回去检测任务:红外防盗报警P1.3口用于输入状态检测的语句:R亮2.2K,红外线光路通畅时,P1.3端=低电平R暗250K,红外线光路阻断时,P1.3端=高电平3。P1口的操作(1)字节操作和位操作:前面已述,P1口不仅可以作为一个8位字节来操作,也可以按位来操作。如:MOVP1,A,MOVP1,#data等,为字节操作。MOVP1.i,C,SETBP1.i等,为位操作。(2)读引脚操作和读锁存器操作①读引脚信号时要先置1,后输入;MOVA,P1(P1为源操作数)②读锁存器时,锁存器的值是经缓冲器BUF2读入内部总线,修改后再写回锁存器。如前所述,它可避免误解。MOVP1,A;ANLP1,#10HCLRP1.1(P1为目的操作数)4。关于口操作的时序在执行改变口锁存器内容的指令时,新的内容在指令执行的最后一个周期的S6P2时传送到口锁存器内,然而口锁存器仅在任何周期的P1才被其锁存器/缓冲器采样到,在P2时输出此值并保持。因此,S6P2时写入端口的新数值只有到下一周期的S1P1才能出现在输出引脚上。5。P1口的多功能线:在80C52中,P1.0和P1.1是多功能的,即除作一般的双向口外,它们还具有如下功能:P1.0—定时器2/计数器2的外部输入端T2;P1.1—定时器2/计数器2的外部控制端T2EX。此时,该两位的结构与P3口的位结构相当,详情后述。4.1.2P3口:它是一个多功能的8位口,可字节访问也可位访问,其字节地址为B0H,位地址为B0H~B7H。1。位结构与工作过程分析(1)位结构:P3口的位结构如P81图4-2所示。从图中可见:①P3口中增加了一个与非门。其输入端C接Q,另一端B接替代输出功能。②输出锁存器不是从/Q端而是从Q端引出。③有两个输入缓冲器,替代输入功能取自第一个缓冲器的输出端;I/O口的通用输入信号取自第二个缓冲器的输出端。(2)输出工作过程分析:①当替代输出功能B点置1时,输出锁存器的输出可以顺利地通到引脚P3.i。此时,其工作状态与P1口类似,为一准双向的I/O口(作读引脚输入时应先置1)。②当输出锁存器的输出置1时,替代输出功能可以顺利通到引脚P3.i:若替代输出为0,因与非门的C点已置1,现B=0,∴其输出为1,使Q0导通,A为低电平;反之,B=1,C=1,Q0截止,A为高电平。此时,P3口处于替代输出功能状态。③当P3口的某位作为替代输入功能时,此时B=1,C=1,FET截止,该引脚为高阻输入。由于端口不执行MOVA,P3,∴”读引脚”无效,第二缓冲器不通,此时某引脚的第二功能信号(如RXD)经第一缓冲器送入替代输入功能端。2。P3口的功能和特点:P3口是个多功能口,可驱动4个TTL负载。(1)可作为普通的I/O口,为准双向口(这点与P1口一样)。(2)可作为替代功能的输入、输出(这点与P1口不同):P3.0—RXD,串行输入;P3.1—TXD,串行输出。P3.2—INT0,外部中断0;P3.3—INT1,外部中断1。P3.4—T0,定时器/计数器0的外部计数脉冲输入。P3.5—T1,定时器/计数器1的外部计数脉冲输入。P3.6—/WR,外部RAM写选通,输出,低电平有效。P3.7—/RD,外部RAM读选通,输出,低电平有效。因此,P3口不论是作为替代功能输入和替代功能输出,还是作为一般I/O口的输入功能时,都要向该口位的锁存器先输出1,即让图4-2的C=1(Q=1),只是作为替代功能时由内部自动置C=1;而作为一般I/O口的输入功能时,应由程序先置1,这一点应引起注意。单片机的引脚(P3口)•P3口的口线逻辑电路如图4-2所示(P81)•P3.0—P3.7:双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。21DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出(WR,RD,TxD)引脚P3.X3内部上拉电阻Vcc第二功能输入(RxD,T0,T1,INT0,INT1)4P3口某位结构BC21DQCK/Q读引脚读锁存器写锁存器内部总线第二功能输出(WR,RD,TxD)引脚P3.X3内部上拉电阻Vcc4第二功能输出时,内部自动D=1111反相器单片机的引脚(P3口)•P3.0—P3.7:双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。BC21DQCK/Q读引脚读锁存器写锁存器内部总线此端自动=1引脚P3.X3内部上拉电阻Vcc第二功能输入(RxD,T0,T1,INT0,INT1)4第二功能输入时,信号经缓冲器4直接进入内总线1110截止单片机的引脚(P3口)•P3.0—P3.7:双功能口(内置了上拉电阻)它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。BC2。P3口的功能和特点:P3口是个多功能口,可驱动4个TTL负载。(1)可作为普通的I/O口,为准双向口(这点与P1口一样)。(2)可作为替代功能的输入、输出(这点与P1口不同):P3.0—RXD,串行输入;P3.1—TXD,串行输出。P3.2—INT0,外部中断0;P3.3—INT1,外部中断1。P3.4—T0,定时器/计数器0的外部计数脉冲输入。P3.5—T1,定时器/计数器1的外部计数脉冲输入。P3.6—/WR,外部RAM写选通,输出,低电平有效。P3.7—/RD,外部RAM读选通,输出,低电平有效。因此,P3口不论是作为替代功能输入和替代功能输出,还是作为一般I/O口的输入功能时,都要向该口位的锁存器先输出1,即让图4-2的C=1(Q=1),只是作为替代功能时由内部自动置C=1;而作为一般I/O口的输入功能时,应由程序先置1,这一点应引起注意。4.1.3P2口:P2口是个多功能8位口,可字节访问也可位访问,其字节地址为A0H,位地址为A0H~A7H。1.位结构与工作过程分析:P2口的位结构如P82图4-3所示。(1)位结构:它与P1口位结构的区别在于:①P2口位结构中增加了一个多路开关。其切换由内部控制信号控制,可分别接输出锁存器的Q端或地址寄存器的高8位。②输出锁存器的输出端是Q而不是/Q,因此开关后面接非门。(2)工作过程分析:(参见P82图4-3)①当内部控制信号使多路开关接锁存器的Q端(C点)时,若内部总线输出0,则Q=0,经开关和反相器后输出1,Q0导通,A为0,即输出低电平;反之,当内部总线输出1时,A为1,输出高电平。②当内部控制信号使多路开关接地址输出侧(B点)时,这时多路开关接地址输出寄存器