版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
并行口和定时器第1页,课件共61页,创作于2023年2月5.1.1P0口P0口是一个三态双向口,在系统扩展时,可作为低8位地址线和数据总线的分时复用口,在其他状态下可作为通用I/O接口。第2页,课件共61页,创作于2023年2月5.1.1P0口
第3页,课件共61页,创作于2023年2月5.1.1P0口P0口是一个多功能8位口,可以字节访问,也可位访问,字节访问地址为80H,位访问地址为80H~87H。(1)P0口用于I/O口是准双向I/O口。
作为I/O口使用时,控制信号应为“0”,多路开关接通输出锁存器的端。同时与门关闭,上拉FET截止,形成P0口的输出电路为漏极开路输出。需要外接上拉电阻。a)作输出口时:不需要条件,可以正确的输出b)作输入口时:①当CPU复位后进行输入操作时,输入信息是正确的。②当P0口的某位(或整个P0口)先进行了输出操作,而后要由输出变成输入操作方式时,必须先用输出指令将锁存器置“1”,才能保证输入信息正确。(即是准双向的含义)第4页,课件共61页,创作于2023年2月5.1.1P0口(2)P0口用于地址/数据分时复用时是真正双向I/O口。①当控制=1时,MUX接通地址/数据输出端。a)当地址/数据输出线置1时,“与”门输出为1,上拉FET导通,同时地址/数据输出通过反相器输出0,控制下拉FET截止,这样A点电位上拉,地址/数据输出线为1。b)当地址/数据输出线置0时,“与”门输出为0,上拉FET截止,同时地址/数据输出通过反相器输出1,控制下拉FET导通,这样A点电位下拉,地址/数据输出线为0。②输入数据,控制=0,分析同(1)中的输入中的第一种情况。通过上述分析可以看出,此时的输出状态随地址/数据线而变。因此,P0口可以作为地址/数据复用总线使用(需要加地址锁存器)。此时的P0口相当一个双向口。第5页,课件共61页,创作于2023年2月5.1.2P1口P1口是一个8位口,可以字节也可按位访问,其字节地址为90H,位访问地址为90H~97H。P1口是一个准双向I/O口,其1位的内部结构如图5.2所示。
第6页,课件共61页,创作于2023年2月5.1.2P1口第7页,课件共61页,创作于2023年2月5.1.2P1口
它在结构上与P0口的区别在于输出驱动部分,其输出驱动部分由场效应管V1与内部上拉电阻组成。当其某位输出为1时,使输出驱动器中的场效应管截止,该位的输出由内部等效的上拉电阻拉成高电平,输出1。当输出为0时,输出场效应管导通则输出引脚为低电平,输出为0。不必像P0口那样需要外接上拉电阻。第8页,课件共61页,创作于2023年2月5.1.2P1口在8051/80C51单片机中,P1口只有通用I/O接口一种功能,它的每一位可以分别定义为输入或输出,其输入输出原理特性与P0口作为通用I/O接口使用时一样。P1口具有驱动4个LSTTL负载的能力。在8052/80C52单片机中,P1口P1.0与P1.1除作为通用I/O接口线外,还具有第二功能,即P1.0可作为定时器/计数器2的外部计数脉冲输入端T2,P1.1可作为定时器/计数器2的外部控制输入端T2EX。第9页,课件共61页,创作于2023年2月5.1.3P2口P2口也是一个准双向I/O口,其1位内部结构见图5.3。在访问外部存储器时,P2口作为高8位地址输出口,在其他时候作为一般I/O接口使用。第10页,课件共61页,创作于2023年2月5.1.3P2口第11页,课件共61页,创作于2023年2月5.1.3P2口当作为准双向通用I/O口使用时,控制信号为低电平无效,多路转换器MUX接通锁存器Q端,锁存器Q端经反相器3接控制场效应管V1,其工作原理与P1相同,负载能力也与P1相同。当作为外部扩展存储器的高8位地址总线使用时,控制信号应为高电平“1”有效,多路转换开关MUX接通地址信号,来自程序计数器PC的高8位地址PCH,或数据指针DPTR的高8位地址DPH经反相器3和V1反相后复原在P2.x口的引脚上,输出高8位地址A8~A15。在上述情况下,口锁存器的内容不受影响,所以,取指或访问外部存储器结束后,由于转换开关又接至左侧,使输出驱动器与锁存器Q端相连,引脚上将恢复原来的数据。第12页,课件共61页,创作于2023年2月5.1.4P3口P3口是一个多功能的8位口,可以字节访问也可位访问,其字节访问地址为B0H,位访问地址为B0H~B7H。
P3口的功能:(1)可作I/O口使用,为准双向口。这方面的功能与P1口一样。(2)每一位均具有第2功能。
第13页,课件共61页,创作于2023年2月5.1.4P3口第14页,课件共61页,创作于2023年2月5.1.4P3口当P3口作为通用I/O接口时,要求第2功能输出线保持高电平,使与非门3的输出取决于口锁存器的状态。在这种情况下,P3口仍是1个准双向口,它的工作方式、负载能力均与P1、P2口相同。当P3口作为第2功能(各引脚功能见表5.1)使用时就不能再做通用输出口使用,其锁存器Q端必须为高电平,以允许第2功能输出,在做第2功能输入时,虽仍做通用输入口,但已无实际意义。第15页,课件共61页,创作于2023年2月5.1.5接口的使用原则1.I/O接口的读、写、修改每个I/O口均有两种“读”方式:读引脚和读锁存器。读引脚:是读外部接口的电平信号,读引脚信号有效。读锁存器:是将接口锁存器的Q端信号读回,写锁存器信号有效。读锁存器指令主要用于读—修改—写指令。如下列这些指令:如:ANLP1,AXRLP3,AINCP2第16页,课件共61页,创作于2023年2月5.1.5接口的使用原则2.使用原则MCS-51单片机中的4个I/O口在实际使用中,一般遵循以下用法:P0口一般做系统扩展地址低8位/数据复用口,P1口一般做I/O扩展口,P2口做系统扩展地址高8位和I/O口扩展的地址译码用,P3口做中断输入、串行通用口使用。在各个口的带负载能力和接口要求上,由于P0口的输出级与P1~P3口的输出级在结构上不同,所以,要求也不同。P0口的每一位可驱动8个TTL输入,在做通用I/O口使用时,输出级是开漏电路,故需外部加上拉电阻。在做地址/数据总线使用时,不需要外接上拉电阻。P1~P3的输出级内部有高效的上拉电阻,每一位输出可驱动4个TTL输入。第17页,课件共61页,创作于2023年2月5.1.5接口的使用原则在实际使用中,一般用户在I/O扩展时,很难计算I/O的负载能力。对扩展集成芯片,如74LS系列的一些大规模集成芯片(如8155、8255、8253、8259等),都可与MCS-51直接接口。其他一些扩展用芯片,使用中可参考器件手册及典型电路。对于一些线性元件,如键盘、码盘及LED显示等输入/输出设备,由于MCS-51单片机提供不了足够的驱动电流,应尽量设计驱动部分。第18页,课件共61页,创作于2023年2月五.
应用举例例:用4个发光二极管对应显示4个开关的开合状态。 如P1.0合则P1.4亮。MCS-51P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.01.无条件传送方式:指示灯立即反映开关状态。 ORG0000H AJMPMAIN ORG0100HMAIN:ORL A,#0FH MOVP1,A MOVA,P1 SWAPA MOVP1,A SJMPMAIN第19页,课件共61页,创作于2023年2月8.5.3可编程接口电路的扩展
可编程接口:其功能可由指令来加以改变的接口芯片。在MCS-51单片机中常用的两种接口芯片:8255可编程通用并行接口8155带256字节RAM和14位定时/计数器的可编程并行接口。1.8255可编程并行I/O接口1)8255结构8255具有3个可编程并行I/O端口,A口﹑B口和C口。这3个8位I/O端口的功能由编程决定,其组成框图及引脚见图8-29第20页,课件共61页,创作于2023年2月图8-298255内部结构与引脚
第21页,课件共61页,创作于2023年2月3)8255的工作方式8255有3种工作方式:方式0﹑方式1﹑方式2。
方式0(基本输入/输出方式):方式0不需要任何选通信号。A口﹑B口及C口的高4位和低4位都可以被设定为输入或输出。作输出口时,输出的数据被锁存;作输入口时,输入的数据不锁存。方式1(选通输入/输出方式):在这种方式下,A﹑B﹑C三个口将被分为两组。A组包括A口和C口的高4位,A口可由编程设定为输入口或输出口,C口的高4位则用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低4位,B口可由编程设定为输入口或输出口,C口的低4位则用来作为输入/输出操作的控制和同步信号。A口和B口的输入数据或输出数据都被锁存。第22页,课件共61页,创作于2023年2月方式2(双向总线方式):在这种方式下,A口为8位双向总线口,C口的PC3~PC7用来作为输入/输出的控制同步信号。应注意的是,只有A口允许作为双向总线口使用,这时B口和PC0~PC2则可编程为方式0或方式1工作。4)8255的控制字8255工作方式的选择是通过对控制口输入控制字(或称命令字)的方式实现的。控制字有方式选择控制字和C口置位/复位控制字。①
方式选择控制字方式选择控制字的格式与定义如图第23页,课件共61页,创作于2023年2月8255A可编程接口并行I/O扩展8255A接口工作状态选择表
A1A0工作状态01000A口数据→数据总线01B口数据→数据总线10C口数据→数据总线10000总线数据→A口01总线数据→B口10总线数据→C口11总线数据→控制字寄存器XX1XX数据总线→三态01011非法状态110XX数据总线→三态第24页,课件共61页,创作于2023年2月8255A可编程接口并行I/O扩展命令字8255A片内有1个8位控制命令寄存器,有两种命令字,即方式控制字和PC口置位/复位控制字,均写入命令寄存器。第25页,课件共61页,创作于2023年2月8255A可编程接口并行I/O扩展第26页,课件共61页,创作于2023年2月8255A可编程接口并行I/O扩展图6.248255A和8031的接口电路第27页,课件共61页,创作于2023年2月8255A可编程接口并行I/O扩展8255A的PA口地址为FF7CH,PB口地址为FF7DHPC口地址为FF7EH,控制口地址为FF7FH例6-5:结合上图说明8255A初始化设计:
对8255A的端口方式设置:设端口PA为方式0输入,端口PB方式1输出,端口PC上半部PC7~PC4输出,下半部PC3~PC0输入。
8255A相应控制字为10010101B=95H,其初始化程序为:
MOVDPTR,#0FF7FH;控制口地址送DPTR MOVA,#95H;方式控制字送A MOVX@DPTR,A ;方式控制字送8255A控制口第28页,课件共61页,创作于2023年2月8255A可编程接口并行I/O扩展例6-6:结合图6.24对端口C进行置位/复位。把PC口的第5位PC5置1,再把PC口的PC5复位。解:对PC5的置位控制字为00001011B=0BH,复位控制字为00001010B=0AH,程序如下:
MOV DPTR,#0FF7FHMOV A,#0BHMOVX@DPTR,A ;控制字→控制口,PC5=1MOV A,#0AHMOVX@DPTR,A ;控制字→控制口,PC5=0第29页,课件共61页,创作于2023年2月
定时器/计数器:Timer/Counter
本质上都是加法计数器,当对固定周期的脉冲信号计数时是定时器,对脉冲长度不确定的信号计数时是计数器。每接收到一个计数脉冲,加法计数器的值就加一,当计满时发生溢出,并从0开始继续计数。加法计数器的计满溢出信号就是定时/计数器的输出,该信号使TCON的某位(TF0或TF1位)置一,作为定时器/计数器的溢出中断标志。6.1定时器/计数器的结构及工作原理第30页,课件共61页,创作于2023年2月6.2方式和控制寄存器一、定时器/计数器的方式寄存器TMOD图6.2TMOD各位定义8位分为两组,高四位控制T1,低4位控制T0。第31页,课件共61页,创作于2023年2月对TMOD的各个位的说明:GATE位:门控位。GATE=1时,T0、T1是否计数要受到外部引脚输入电平的控制,INT0引脚控制T0,INT1引脚控制T1。可用于测量在INT0和INT1引脚出现的正脉冲的宽度。若GATE=0,即不使能门控功能,定时计数器的运行不受外部输入引脚INT0、INT1的控制。第32页,课件共61页,创作于2023年2月C/T位:计数器模式和定时器模式的选择位。C/T=0,为定时器模式,内部计数器对晶振脉冲12分频后的脉冲计数,该脉冲周期等于机器周期,所以可以理解为对机器周期进行计数。从计数值可以求得计数的时间,所以称为定时器模式。C/T=1,为计数器模式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲(负跳变)计数,允许的最高计数频率为晶振频率的1/24。第33页,课件共61页,创作于2023年2月M1M0:四种工作方式的选择位表6.1工作方式选择表M1M0方式说明00013位定时器(TH的8位和TL的低5位)01116位定时器/计数器102自动重装入初值的8位计数器113T0分成两个独立的8位计数器,T1在方式3时停止工作第34页,课件共61页,创作于2023年2月
定时器初值的确定:加法计数器是计满溢出时才申请中断,所以在给定时器/计数器赋初值时,不能直接输入所需的计数值,而应输入的是计数器计数的最大值与这一计数值的差值,设最大值为M,计数值为N,初值为X,则X的计算方法如下:
计数状态:X=M-N
定时状态:X=M-定时时间/T
而T=12÷晶振频率第35页,课件共61页,创作于2023年2月
二、定时器/计数器控制寄存器TCONTF0、TF1分别是定时器/计数器T0、T1的溢出标志位,加法计数器计满溢出时置1,申请中断,在中断响应后自动复0。TF产生的中断申请是否被接受,还需要由中断是否开放来决定。
TR1、TR0分别是定时器/计数器T1、T0的运行控制位,通过软件置1后,定时器/计数器才开始工作,在系统复位时被清0。TF1TR1TF0TR0IE1IT1IE0IT0第36页,课件共61页,创作于2023年2月6.3工作方式一、方式0图6.3
方式0(13位计数器)第37页,课件共61页,创作于2023年2月
在方式0下,T0和T1工作在13位的定时/计数器方式,由TH的高8位和TL的低5位组成。当T0的13位计数器加到全部为1以后,再加1就产生溢出,这时置TCON的TF0为1,同时把计数器全部变0,然后从0开始继续计数。
第38页,课件共61页,创作于2023年2月
方式0的计数长度M为2的13次方。初值也是13位二进制数,但要注意是高8位赋值给TH0,低5位前面补足3个0凑成8位赋给TL0。例如,如要求计数值为1000,则初值为
x=M-1000=8192-1000
=1C18H=1110000011000B
则赋初值时,TH0=0E0H,TL0=18H。第39页,课件共61页,创作于2023年2月二、方式1图6.4方式1(16位计数器)第40页,课件共61页,创作于2023年2月
方式1和方式0的工作原理基本相同,唯一不同是T0和T1工作在方式1时是16位的计数/定时器。方式1时的计数长度M是2的16次方。16位的初值直接拆成高低字节,分别送入TH和TL即可。第41页,课件共61页,创作于2023年2月三、方式2图6.5方式2(初始常数自动重装载)第42页,课件共61页,创作于2023年2月
工作方式0和工作方式1的最大特点就是计数溢出后,计数器为全0,因而循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度。工作方式2就针对这个问题而设置,它具有自动重装载功能,即自动加载计数初值,所以也称为自动重加载工作方式。第43页,课件共61页,创作于2023年2月
在这种工作方式中,16位计数器分为两部分,即以TL0为计数器,以TH0作为预置寄存器,初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,不再象方式0和方式1那样需要“人工干预”,由软件重新赋值,而是由预置寄存器TH以硬件方法自动给计数器TL0重新加载。第44页,课件共61页,创作于2023年2月
四、方式3图6.6方式3(两个8位独立计数器)第45页,课件共61页,创作于2023年2月
在工作方式3模式下,定时/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以作计数器使用,也可以作为定时器使用,定时/计数器0的各控制位和引脚信号全归它使用。其功能和操作与方式0或方式1完全相同。TH0就没有那么多“资源”可利用了,只能作为简单的定时器使用,而且由于定时/计数器0的控制位已被TL0占用,因此只能借用定时/计数器1的控制位TR1和TF1,也就是以计数溢出去置位TF1,TR1则负责控制TH0定时的启动和停止。第46页,课件共61页,创作于2023年2月
由于TL0既能作定时器也能作计数器使用,而TH0只能作定时器使用而不能作计数器使用,因此在方式3模式下,定时/计数器0可以构成二个定时器或者一个定时器和一个计数器。
如果定时/计数器0工作于工作方式3,那么定时/计数器1的工作方式就不可避免受到一定的限制,因为自己的一些控制位已被定时/计数器借用,只能工作在方式0、方式1或方式2下,如果设置T1工作在方式3,则T1停止工作,相当于其他方式时令TR1=0。第47页,课件共61页,创作于2023年2月6.4定时器/计数器应用举例
一、方式0的应用
例1
利用定时器输出周期为2ms的方波,设单片机晶振频率为6MHz。选用定时器/计数器T0作定时器,输出为P1.0引脚,2ms的方波可由间隔1ms的高低电平相间而成,因而只要每隔1ms对P1.0取反一次即可得到这个方波。定时1ms的初值:
因为机器周期=12÷6MHz=2μs所以1ms内T0需要计数N次: N=1ms÷2μs=500第48页,课件共61页,创作于2023年2月
由此可知:使用方式0的13位计数器即可,T0的初值X为
X=M-N=8192-500=7692=1E0CH
但是,因为13位计数器中,低8位TL0只使用了5位,其余码均计入高8位TH0的初值,则T0的初值调整为
TH0=0F0H,TL0=0CH TMOD初始化:TMOD=00000000B=00H
(GATE=0,C/T=0,M1=0,M0=0)
TCON初始化:启动TR0=1IE初始化:开放中断EA=1,定时器T0中断允许ET0=1第49页,课件共61页,创作于2023年2月程序清单如下:ORG0000HAJMPSTART;复位入口
ORG000BHAJMPTOINT;T0中断入口
ORG0030HSTART:MOVSP,#60H;初始化程序
MOVTH0,#0F0H;T0赋初值
MOVTL0,#0CHMOVTMOD,#00HSETBTR0;启动T0第50页,课件共61页,创作于2023年2月SETBET0;开T0中断
SETBEA;开总允许中断
MAIN:AJMPMAIN;主程序
T0INT:CPLP1.0MOVTL0,#0CHMOVTH0,#0F0HRETI第51页,课件共61页,创作于2023年2月
二、方式1应用
方式1与方式0基本相同,只是方式1改用了16位计数器。要求定时周期较长时,13位计数器不够用,可改用16位计数器。例2
已知某生产线的传送带上不断地有产品单向传送,产品之间有较大间隔。使用光电开关统计一定时间内的产品个数。假定红灯亮时停止统计,红灯灭时才在上次统计结果的基础上继续统计,试用单片机定时器/计数器T1的方式1完成该项产品的计数任务。第52页,课件共61页,创作于2023年2月图6.7硬件原理图第53页,课件共61页,创作于2023年2月(1)初始化:TMOD=11010000B=0D0H
(GATE=1,C/T=1,M0M1=01)
TCON=00H(2)T1在方式1时,溢出产生中断,且计数器回零,故在中断服务程序中,需用R0计数中断次数,以保护累积计数结果。第54页,课件共61页,创作于2023年2月(3)启动T1计数,开T1中断。程序清单如下:ORG0000HAJMPSTART;复位入口
ORG001BHAJMPT1INT;T1中断入口
ORG0100HSTART:MOVSP,#60H;初始化程序
MOVTCON,#00HMOVTMOD,#0D0HMOVTH1,#00H第55页,课件共61页,创作于2023年2月MOVTL1,#00HMOVR0,#00H;清中断次数计数单元
MOVP3,#28H;设置P3.5第二功能
SETBTR1;启动T1SETBET1;开T1中断
SETBEA;开总中断
MAIN:ACALLDISP;主程序,调显示子程序
…
ORG0A00HT1INT:INCR0;中断服务子程序
RETIDISP:… ;显示子程序
RET第56页,课件共61页,创作于2023年2月
三、方式2应用
方式2是定时器自动重装载的操作方式,在这种方式下,定时器0和1的工作是相同的,它的工作过程与方式0、方式1基本相同,只不过在溢出的同时,将8位二进制初值自动重装载,即在中断服务子程序中,不需要编程送初值,这里不再举例。定时器T1工作在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德宏傣族景颇族自治州梁河县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 宝鸡市千阳县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 玉溪市红塔区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 乐山市夹江县2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 鄂州市梁子湖区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 广告投放策划方案
- 深度解析(2026)《CBT 4437-2016船用风雨密单扇铝质门》
- 深度解析(2026)《CBT 4033-2005 J类法兰青铜软管阀》
- 深度解析(2026)《AQT 2049-2013地质勘查安全防护与应急救生用品(用具)配备要求》
- 2026-2027年人工智能(AI)在职业铁人三项比赛中通过多模态生理数据与环境条件优化运动员全程策略获耐力运动科技投资
- 校园活动应急预案模板策划
- 装饰装修工程验收资料表格
- 【教案】伴性遗传第1课时教学设计2022-2023学年高一下学期生物人教版必修2
- 广州地铁3号线市桥站-番禺广场站区间隧道设计与施工
- LY/T 2602-2016中国森林认证生产经营性珍稀濒危植物经营
- GB/T 36024-2018金属材料薄板和薄带十字形试样双向拉伸试验方法
- GB/T 19518.2-2017爆炸性环境电阻式伴热器第2部分:设计、安装和维护指南
- 简化的WHOQOL表WHOQOL-BREF-生活质量量表
- JJG 700 -2016气相色谱仪检定规程-(高清现行)
- 部编人教版七年级下册语文 写作:抓住细节课件
- 电梯安装维修质量计划
评论
0/150
提交评论