【教学课件】专题七计算机硬件技术基础内部IO第六章.ppt
《【教学课件】专题七计算机硬件技术基础内部IO第六章.ppt》由会员分享,可在线阅读,更多相关《【教学课件】专题七计算机硬件技术基础内部IO第六章.ppt(71页珍藏版)》请在三一办公上搜索。
1、计算机硬件技术基础,专题七 MCS-51内部的I/O口 定时器及其应用,第六章,主讲教师王建勋,计算机科学与软件学院计算机基础教学部,本章重点内容和要求,本章重点讨论MCS-51单片机内部的资源的原理及其应用 并行I/O口 定时器/计数器 串行I/O 口,基本要求:掌握 P0P3的特性及其应用 掌握T/C的原理、工作方式、程序设计方法及应用 学会综合运用 了解串行口的原理、制式,63 MCS-51串行I/O口及串行通信,第六章 MCS-51内部的I/O口、定时器及其应用,6.1 MCS-51内部的并行I/O口及应用,62 MCS-51的定时器/计数器,611 P0口 612 P1口 613 P
2、2口 614 P3口 615 MCS-51内部并行I/O口的应用,6.1 MCS-51内部的并行I/O口及应用,621 定时器/计数器的组成622 定时器/计数器的控制6.2.3 定时器的四种工作方式624 T/C的初始化625 定时器/计数器的溢出校准和实时读取626 应用举例,62 MCS-51的定时器/计数器,63 MCS-51串行I/O口及串行通信,631 串行通信基础知识,一、并行通信与串行通信,二、异步通信和同步通信,三、串行通信的制式,8051单片机内部有四个8位并行I/O口:P0、P1、P2和P3 P0P3这4个并行I/O口都可以作准双向通用I/O口 P0、P2和P3口还有复用
3、的第二功能 每个口都包含:一个(8位)锁存器(即特殊功能寄存器P0P3)一个输出驱动器 和两个三态缓冲器,6.1 MCS-51内部的并行I/O口及应用,6.1.1 P0口,功能:控制=0:P0口可作通用I/O口,是漏级开路的。因此必须外接上拉电阻,以保证“1”信号正常输出。控制=1:P0口分时作为地址/数据总线使用。内部结构:如图所示,当外部扩展存储器或I/O口时,由EA、PC指针从外部程序存储器取指令码、执行指令MOVC、MOVX时,控制信号=1,使MUX与反向器3连通,作分时地址/数据总线。,6.1.2 P1口,功能:P1口作通用I/O口 P1口也是一个“准双向”口,作输入口时要先将输出驱
4、动管截止。即先执行一条指令 MOV P1,#0FFH内部结构:如图所示,6.1.3 P2口,功能:控制=0:P2口用作通用I/O口 与P1口类似 控制=1:P2口用作高8位地址总线 内部结构:如图所示,6.1.4 P3口,615 MCS-51内部并行I/O口的应用,“读锁存器”和“读引脚”的指令,P0、P2、P3口复用作片外扩展系统的系统总线,直接输入/输出,一、“读锁存器”和“读引脚”的指令 1“读锁存器”的指令 P0P3作目的操作数的指令,能实现“读修改写”口锁存器的操作,这类指令有:(1)字节操作指令(2)位操作指令 ANL Px,JBC PX.Y,rel ORL Px,CPL PX.Y
5、 XRL Px,CLR PX.Y DEC Px SETB PX.Y DJNZ Px,rel MOV PX.Y,C INC Px 其中:X是口的序号03,Y是位的序号07,P0P3编程和使用的方法,2“读引脚”的指令“读引脚”指令的特点是:P0P3 作为源操作数出现在指令中,但在读引脚数据之前,必须对所读的口或口位的D锁存器写入“1”.要正确读引脚数据,必须先写一条MOV PX,#0FFH指令或能对所读的口或口位的D锁存器写入“1”的指令,而后紧接着写下面的指令:(1)字节操作指令 MOVA,Px ANL A,PX MOVdirect,Px ORL A,PX XCHA,PX XRL A,PX P
6、USH PX ANL direct,PX ADDA,PX ORL direct,PX ADDCA,PX XRL direct,PX SUBBA,PX,引脚信号,(2)位操作指令 同理,必须先写一条SETB PX.Y或能对所读口位的D锁存器写入“1”的指令,在其后再紧跟如下指令。MOV C,PX.Y ANL C,PX.Y ORL C,PX.Y JNB PX.Y,rel JB PX.Y,rel,P0、P2、P3口复用作片外扩展系统的系统总线,无条件输入/输出程序 查询输入/输出程序 中断输入/输出程序,三、直接输入/输出,例6-1 简单开关量的输入/输出,1)P1.7P1.4并行输出程序通过驱动P
7、1.7P1.4输出,使LED3LED0巡回显示,程序如下:ORG 0000H MAIN1:MOV SP,#6FH MOV A,#0FFH MOV P1,A ANL A,#0EFH LOOP:MOV P1,A;P1.4=0 ACALL DLY RL A JB ACC.0,LOOP MOV A,#0EFH SJMP LOOP,;延时子程序 DLY:MOV R6,#0FH DLY1:MOV R5,#0FFH DLY2:MOV R4,#0FFH DLY3:DJNZ R4,DLY3 DJNZ R5,DLY2 DJNZ R6,DLY1 RET END,LED“0”亮“1”灭,2)读入P1.3P1.0引脚上
8、的开关K3K0的预置状态,再经P1.7P1.4输出去驱动LED3LED0发光二极管,使发光二极管显示开关状态。对应参考程序:ORG 0100H MAIN2:MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A HERE:SJMP HERE END,(2)查询输入/输出程序 读入P3.0引脚上的开关K4的预置状态,若P3.0=1,则驱动P1.7输出使LED3闪亮一段时间;否则,查询等待。参考程序如下:ORG 0200H MAIN3:MOV SP,#60H SETB P1.7 WAIT:JNB P3.0,WAIT MOV R7,#0FH LOOP:CPL P1
9、.7 ACALL DLY DJNZ R7,LOOP SJMP WAIT END,62 MCS-51的定时器/计数器,在单片机实时应用系统中,定时和对外部事件计数的功能。定时:对周期已知的脉冲信号计数计数:对外部事件计数,对周期未知的外来脉冲信号计数定时方法:采用软件占用CPU的时间,降低了CPU的使用效率;定时或计数方法:采用专门的硬件电路,参数调节不便;采用可编程的定时器/计数器是最好的方法。可以方便灵活地修改定时或计数的参数或方式 与CPU并行工作,大大提高了CPU的工作效,6.2.1 定时器/计数器的组成 Timer/Counter,MCS-51单片机内部有二个16位的可编程的定时器/计
10、数器:定时器/计数器0(T/C0)定时器/计数器1(T/C1)它们都有定时和对外部事件计数的功能,可用于定时控制、延时、对外部事件检测和计数等场合.,T/C0和T/C1的结构及与CPU的关系如图6-4所示。,结构组成:T/C0由两个8位的TH0(8CH)和TL0(8AH)组成 T/C1由TH1(8DH)和TL1(8BH)组成软件设置:计数初值:对TH1、TL1、TH0、和TL0的初始化编程 工作方式:通过TMOD和 TCON对每个T/C设置定时或计数特殊功能寄存器 TMOD(Timer Mode Register)TCON(Timer Control Register)THx 存放计数初值的高
11、8位 TLx 存放计数初值的低8位,定时器/计数器(T/C0和T/C1)的组成,T/C0和T/C1都是16位的加1计数器,方式0,方式1,方式2,方式3,TH0,TL0,T/C1,TH1,TL1,T/C0,方式3 串行口波特率发生器,共同点:都是通过计数器计脉冲的个数来实现的,定时方式与计数方式的主要区别,1、定时方式 T/C计数8051内部机器周期信号的个数,由计数个数可以计算出定时时间。每个机器周期使T/C的计数器增加1,直至计满回零后自动产生溢出中断请求,表示定时时间到。f=12MHz,一个机器周期是1 s,2、计数方式 T/C计数来自引脚T0(P3.4)和T1(P3.5)的外部脉冲信号
12、的个数。输入脉冲由1变0的下降沿时,计数器的值增加1直到回零产生溢出中断,表示计数已达预期个数。最高计数频率为振荡频率的1/24。即计数周期=2机器周期。,不同点:,6.2.1 定时器/计数器的控制,定时器/计数器的工作由TCON和TMOD控制 由软件把控制字写入TCON和TMOD,用来设置T/C0和T/C1的工作方式和控制功能。当8051系统复位时,TCON和TMOD所有位都被清0。一、工作模式寄存器TMOD(89H)TMOD用于控制T/C0和T/C1的工作模式,其各位的定义格式如下:,其中,低4位用于T/C0,高4位用于T/C1。各位功能如下:,1,0,3GATE 门控位(控制启动方式)G
13、ATE0时,T/C的启动只要用软件使TR0(或TR1)置1即可,而不管/INT0(或/INT1)的电平是高还是低。GATE1时,只有/INT0(或/INT1)引脚为高电平且由软件使TR0(或TR1)置1时,才启动T/C工作。也就是T/C的启动受双重控制。注意:TMOD不能位寻址,只能由字节设置T/C的工作方式,低半字节设定T/C0,高半字节设定T/C1。,二、控制寄存器 TCON(88H)控制寄存器 TCON除可字节寻址外,各位还可位寻址。各位定义及格式如下:,1)TF1(TCON.7)T/C1的溢出标志位。当T/C1被允许计数后,T/C1从初值开始加1计数,回零时由高位产生溢出,由硬件自动置
14、TF1为“1”,并向CPU请求中断,当CPU响应并进入中断服务程序后,TF1又被硬件自动清0。TF1也可以由程序查询和清0。2)TF0(TCON.5)T/C0溢出标志位。其功能同TF1。,3)TR1(TCON.6)T/C1运行控制位。由软件置位或复位。当GATE(TMOD.7)为0时,TR1 为1时,启动T/C1计数;TR1为0时,停止T/C1计数。4)TR0(TCON.4)T/C0运行控制位。其功能同TR1,只是GATE 为TMOD.3。5)IE1、IT1、IE0、IT0(TCON.3TCON.0)外部中断INT1、INT0的中断标志位和申请信号的触发方式控制位。,6.2.3 定时器的四种工
15、作方式,TMOD中控制位C/T设置定时或计数功能 M1、M0位的设置选择四种工作方式,即方式0、方式1、方式2和方式3 方式0、1和2时,T/C0和T/C1的工作相同;方式3时,T/C0和T/C1的工作不同。,方式0 高8位和低5位的一个13位计数器的运行方式 当TL1的低5 位溢出时,向TH1进位,而TH1溢出(回零)时向TF1标志进位(硬件置位TF1),并申请中断。还可以通过查询TF1是否置位来判断TH1是否回零溢出。,启动控制 BTR1A TR1(INT1+GATE),举例:利用GATE位测正脉冲的宽度,方式1 方式1是一个16为定时器/计数器,见图6-7。方式1的结构几乎与方式0完全一
16、样,唯一的差别是:方式1中的TH1(TH0)和TL1(TL0)均是8位的,构成16位计数器。,方式2 在方式2时,T/C被拆成一个8位的寄存器TH1(TH0)和一个8位计数器TL1(TL0),两者构成可以自动重装载的8位T/C,如图6-8所示。,每当它计满回零时 一方面向CPU发出溢出中断请求,另一方面从TH1(或TH0)中重新获得初值并启动计数;也就是CPU 自动将TH1(或TH0)中存放的初值重新装回到TL1(或TL0),并在此初值的基础上对TL1(或TL0)开始新一轮计数,周而复始,直到下停止计数或更改工作方式命令为止。,方式3 方式3下T/C0和T/C1功能就不同了。此时,TH0和TL
17、0按两个独立的8位计数器工作,如图6-9所示。T/C1只能按不中断的方式工作,常常利用它的定时功能作串行口波特率发生器,如图6-10所示。T/C0方式3时,TL0占用了T/C0的C/T、GATE、TR0、TF0、T0(P3.4)和INT0控制引脚。TH0只有简单的内部定时功能,它占用了T/C1的TR1控制位和TF1中断标志位,其启动/关闭仅受TR1控制。,在T/C0工作在方式3时,T/C1仍可设置为方式02。由于TR1和TF1已被T/C0(TH0)占用,计数开关已被接通,此时仅用T/C1的C/T来切换其定时或计数工作方式就可使T/C1工作。计数器(8位、13位或16位)回零溢出时,只能将输出送
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 专题 计算机硬件 技术 基础 内部 IO 第六
链接地址:https://www.31ppt.com/p-5657476.html