第6章并行接口与定时计数器课件.ppt
单片机原理与接口技术教学课件,本章要点:,掌握MCS-51单片机的端口P0P3结构及其应用;理解并行接口扩展方法;理解Intel 8255A并行接口I/O芯片结构及其应用:芯片结构,引脚功能;控制方式,控制命令(控制字);了解可编程芯片的应用;掌握键盘I/O接口,接口特点,扩展方法及其应用;掌握MCS-51单片机中断系统结构;(重点)掌握MCS51单片机内部定时器/计数器结构,控制命令,学会定时器/计数器的编程与应用。,单片机原理与接口技术教学课件,4.1 MCS51的片内并行接口(端口),一、片内并行接口结构,MCS-51系列单片机共有4个8位双向I/O端口(P0P3),每个端口有8条线,共32条线。每一条I/O线都可以单独用于输入或输出。这4个端口为单片机与外围元件或外围设备的信息交换提供了多功能的输入/输出通道,是单片机构成应用系统、扩展功能的基础。P0、P1、P2、P3口与MCS51内部数据存储器统一编址;端口地址为:80H、90H、0A0H、0B0H;P0、P1、P2、P3中各位均可位寻址。,单片机原理与接口技术教学课件,(一)P1口(P1.0P1.7):准双向I/O口(内置上拉电阻),每位由一个数据锁存器、两个三态缓冲器和一个输出驱动电路。输出驱动电路有一个场效应管T和一个上拉电阻组成。只能作为通用I/O口使用。输出时一切照常,仅在作输入口用时应先对其写“1”。P1口输出级可驱动4个LSTTL门电路。一个LSTTL的低电平驱动电流为0.36mA,高电平驱动电流为20A。,P1口的一位结构图,记住:准双向I/O口(线),在用作输入口(线)使用时,必须先对其写入“1”。,单片机原理与接口技术教学课件,P1口的输出操作,单片机原理与接口技术教学课件,P1口的输入操作,(1)输入数据时,必须先对其写“1”使 T 截止。,1,(2)输入引脚状态数据。,单片机原理与接口技术教学课件,(二)P0口(P0.0P0.7):双向I/O(内置场效应管上拉),P0口是一个多功能口,它除了可以作为普通的I/O口之外,还具备了第二功能,即在对单片机的总线扩展的时候作为地址/数据总线端口,低8位地址信息和数据分时使用P0口,通过地址锁存器对地址进行锁存。每位由一个数据锁存器、两个三态缓冲器、一个输出驱动电路和一个输出控制电路组成。输出驱动电路有两个场效应管T1和T2组成,其工作状态受输出控制电路的控制。控制电路由一个与门、一个反相器和模拟转换开关MUX组成。P0口输出级可驱动8个LSTTL门电路。,P0口的一位结构图,单片机原理与接口技术教学课件,P0口作为8位准双向I/O口,当CPU使控制端=0时,模拟开关MUX下合,使输出驱动器T2与锁存器端Q接通,这时P0口作为8位准双向I/O口使用。因为控制端=0使与门3输出为0,则T1管截止,使输出驱动器工作于漏极开路的工作方式。因此,P0在作为输出口使用时,必须外接上拉电阻(30010K),才能输出高电平。,P0作为输出口使用时,必须外接上拉电阻,才能输出电平。,单片机原理与接口技术教学课件,P0口的地址/数据分时复用功能,当P0口作为地址/数据分时复用总线时,CPU使控制端=1时,模拟开关MUX上合,把反相器输出与T2接通,同时把与门解锁,输出的地址或数据信号通过与门3驱动T1管,同时通过反相器4驱动T2管,完成地址或数据的输出。输入数据时,三态缓冲门1打开,端口引脚上的数据读到内部数据总线。,单片机原理与接口技术教学课件,(三)P2口(P2.0P2.7):准双向I/O口(内置上拉电阻),寻址外部程序存储器和数据存储器时分时作为双向8位数据口和输出低8位地址复用口;不使用外部存储器可作为8位准双向I/O口使用。每位由一个数据锁存器、两个三态缓冲器、一个输出驱动电路和一个输出控制电路组成。输出驱动电路由一个场效应管T和上拉电阻组成,其工作状态受输出控制电路的控制。控制电路一个反相器3和模拟转换开关MUX组成。P2口输出级可驱动4个LSTTL门电路。,P2口的一位结构图,单片机原理与接口技术教学课件,P2口作为8位准双向I/O口,当CPU使控制端=0时,模拟开关MUX左合,这时P2口作为8位准双向I/O口使用。其工作原理与P0口相同。,单片机原理与接口技术教学课件,P2口作为地址总线,当CPU使控制端=1时,模拟开关MUX右合,P2口作为地址总线使用,输出高8位地址(A8A15)。,单片机原理与接口技术教学课件,(四)P3口(P3.0P3.7):双功能口(内置上拉电阻),P3口为双功能口,第一功能,该口为8位准双向I/O口;第二功能,该口每根线的功能为下表所列的功能,输出级可驱动4个LSTTL电路。P3口第二功能表,P3口的一位结构图,单片机原理与接口技术教学课件,P3口作为8位准双向I/O口(第一功能),当P3口作为通用的I/O口使用时(第一功能),工作原理与P1口相同;但第二功能线必须保持高电平,使与非门3的输出由锁存器的输出决定。同时,作为通用输入口或使用时,相应位的锁存器和第二功能输出端线都必须为“1”。,单片机原理与接口技术教学课件,P3口作为第二功能,当P3口作为第二功能使用时,相应位的锁存器必须为“1”态,使与非门3的输出由第二功能线的状态决定。同时,作为第二功能输入口使用时,相应位的锁存器和第二功能输出端线都必须为“1”。,单片机原理与接口技术教学课件,4.2 扩展并行I/O口与8255A并行接口芯片,在单片机应用系统中,单片机本身的资源如I/O口、定时/计数器、串行口往往不能满足要求。因此需要在单片机上扩展其它外围接口芯片。为了简化系统设计,提高微机系统的可靠性,近年来,外围接口电路已向组合化方向发展,使外围接口电路进了一个新时期,其特点是:专用化:开发生产了大量为各种微处理器专用的接口芯片;复杂化:复杂程度大大提高,集成度和复杂程度不亚于微处理芯片;智能化:许多外围接口芯片具有“智能”,以代替微处理器的某些功能,甚至某些接口芯片本身内部还有自身的微处理器。组合化:所谓组合化,就是将多种接口组合在一个外围接口芯片内。Intel公司为配合该公司的处理器芯片,开发了大量外围接口芯片。其中有一些可以与MCS-51单片机直接接口,如下表所示。,MCS-51单片机常用外围芯片一览表,单片机原理与接口技术教学课件,一、扩展并行I/O接口,例如使用三态门电路74LS244扩展输入口和输出口,电路如图所示。,输入可用以下程序:MOV DPTR,#0BFFFHMOVX A,DPTR,输出可用以下程序:MOV DPTR,#07FFFHMOVX DPTR,A,单片机原理与接口技术教学课件,例如使用8D触发器74LS373扩展输入口和输出口,电路如图所示。,输入可用以下程序:MOV DPTR,#0BFFFHMOVX A,DPTR,输出可用以下程序:MOV DPTR,#07FFFHMOVX DPTR,A,单片机原理与接口技术教学课件,二、可编程并行I/O接口芯片8255A,Intel 8255A是为8080/8085微机系统设计的可编程通用并行接口电路,也可用于MCS-51系列单片机扩展并行I/O接口。8255A是8位并行I/O接口芯片,有24条I/O引脚,分成A,B两大组(每组12条),允许独立编程,工作方式分为方式0、1和2三种。,使用8255A可实现以下各项功能:(1)并行输入或输出8位数据;(2)实现输入数据的锁存和输出数据的缓冲;(3)提供多个通信接口联络控制信号(如中断请求、外设准备好及选通脉冲等);(4)通过读取状态字可实现程序对外设的查询。,单片机原理与接口技术教学课件,(一)8255A的结构,单片机原理与接口技术教学课件,1.端口PA、PB、PCPA、PB和PC 均是一个8位I/O端口。通常,PA、PB作为I/O端口,PC口分高4位和低4位。作为控制/状态信息端口,高4位可与PA口合为一组(A组),低4位可与PB口合为一组(B组)。2.工作方式控制电路控制电路分为:A组和B组工作方式控制电路。A和B两组共用控制命令寄存器,用来接收CPU的控制字(命令),根据控制字决定两端口的工作方式。3.数据总线缓冲器作为8255A与系统总线之间的接口,用来传送数据、控制命令和状态信息;4.读/写控制逻辑电路接收CPU发来的控制信号RD、WR、RESET、CS和地址信号A1、A0等。,8255A内部结构包括三个并行I/O输出端口,两个工作方式控制电路,一个读/写控制电路和8位总线缓冲器。,单片机原理与接口技术教学课件,(二)8255A的引脚功能,A.RESET复位信号,输入、高电平有效。B.D7D0数据总线,双向、三态。D7D0是8255A与CPU交换数据、控制字/状态字的数据总线;C.CS片选信号,输入、低电平有效。当为低电平时,该8255A被选中,D7D0可以与CPU交换信息,否则,D7D0处于高阻态;D.RD读信号,输入、低电平有效。控制8255A送出数据或状态信息到数据总线;E.WR写信号,输入、低电平有效。控制把数据总线的数据或控制信息写入8255A;F.A1,A0端口选择信号,输入。根据A1,A0的不同,将数据总线与不同的I/O端口、控制寄存器和状态寄存器相连,1.CPU控制信号,单片机原理与接口技术教学课件,8255A端口地址及工作状态选择表,2.并行I/O端口信号,A.PA7PA0端口A的并行I/O数据线,双向。B.PB7PB0端口B的并行I/O数据线,双向。C.PC7PC0端口C的并行I/O数据线,双向。当8255A工作与方式0时,PC7PC0为两组并行I/O数据线。当8255A工作与方式1或方式2时,PC7PC0分为两组,分别作端口A和端口B的联络控制线,此时每根线将赋予新的功能。,单片机原理与接口技术教学课件,(三)8255A的控制字和状态字,8255A共有两个控制字和一个状态字,控制字用来选择工作方式或对C口控制。状态字用来反映8255A的工作状态。两个控制字均在A1A0=11的情况下发送,共用一个端口地址。若控制字的最高位(D7)是1,表示是工作方式控制字;若最高位(D7)是0,表示是按位置数控制字。,控制字就是CPU发给可编程器件的控制命令或者初始化命令。其格式(命令中每一位的取值),由可编程器件规定。,单片机原理与接口技术教学课件,(b)按位置数控制字格式,(a)工作方式控制字格式,单片机原理与接口技术教学课件,8255A没有专门的状态字,工作于方式1或方式2时,读取PC口的数据,即得状态字。当状态字中有效信息不满8位时,所缺的即为对应PC口C引脚的输入电平。,8255A状态字格式,单片机原理与接口技术教学课件,(四)8255A的工作方式,1.方式0(基本输入/输出方式),方式0不需要选通信号。PA、PB、PC74和PC30中任一端口都可以通过方式控制字设定为输入或输出端口,共有8种组合。,单片机原理与接口技术教学课件,方式1下,共有2个口,分为A组和B组,由编程设定为输入或输出,A组包括A口和PC74,PC74 作为A口输入/输出的选通信号和应答信号。同理,B组包括B口和PC30,PC30作为B口输入/输出的选通信号和应答信号。当8255A工作于方式1时A口和B口的功能完全相同。,2.方式1(选通输入/输出方式),表8255A的C口联络控制信号线,单片机原理与接口技术教学课件,A.方式1输入方式,选通(应答式)输入过程,输入缓冲器空IBF=0可以接收数据,数据准备好发锁存脉冲STB=0,数据存入输入缓冲器IBF=1供查询,STB=1IBF=1RD=1产生中断请求,中断响应或程序查询读走输入数据,单片机原理与接口技术教学课件,B.方式1输出方式,选通(应答式)输出过程,输出缓冲器空OBF=1可以输出数据,输出数据准备好通知外设OBF=0撤销中断请求,外设取走数据发应答信号ACK=0,撤销数据准备好信号产生中断请求,中断响应或程序查询输出数据,单片机原理与接口技术教学课件,当A口工作于方式2下时,PC73的分配如图,选通信号和应答信号的功能与方式1的含义相同。仅A口才可以工作于方式2。,2.方式2(仅A口选通双向方式),单片机原理与接口技术教学课件,(五)8031和8255的接口方法,8255的PA口、PB口、PC口,控制口的一个地址可分别选为7CH,7DH,7EH,7FH。,单片机原理与接口技术教学课件,(六)8255A的应用举例,单片机原理与接口技术教学课件,单片机原理与接口技术教学课件,本例采用程序查询方式。,单片机原理与接口技术教学课件,Prnt:MOVR0,#7FH;R0指向8255A控制寄存器MOVA,#8EH;方式控制字为8EHMOVX R0,A;送方式控制字MOVR1,#20H;送内部RAM数据块首址地址到指针R1MOVR2,#50H;置数据块长度LP:MOVR0,#7EH;R0指向C口LP1:MOVXA,R0;读PC7连接BUSY的状态JBACC.7,LP1;BUSY=1转LP1继续查询等待MOVR0,#7CH;R0指向A口MOVA,R1;取RAM数据MOVX R0,A;数据到8255A的A口锁存INCR1;RAM地址加1MOVR0,#7FH;R0指向8255A控制寄存器MOVA,#00H;PC0复位控制字MOVX R0,A;PC0=0,产生STB的下降沿MOVA,#01H;PC0置位控制字MOVX R0,A;PC0=1,产生STB的上升沿DJNZ R2,LP;数据未送完,则继续循环发送RET,打印机输出80个数据的程序如下:,单片机原理与接口技术教学课件,4.3 LED显示器接口和键盘接口,功能开关、拨码器、键盘、显示器和打印机等I/O设备是实现人机对话,本节介绍键盘、显示器及它们与单片机的接口技术。,一、LED显示器接口 LED结构与原理,单片机原理与接口技术教学课件,(一)静态显示:,各数码管在显示过程中得到持续地送显信号,与各数码管接口的I/O口线是专用(独立)的。静态显示特点:无闪烁,用元器件多,占I/O线多,无须扫描,节省CPU时间,编程简单。,动态显示:各数码管在显示过程中得到轮流地送显信号,与各数码管接口的I/O口线是共用的。动态显示特点:有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。(有多个LED时尤为突出),单片机原理与接口技术教学课件,七段显示段码,表5.14十六进制数及空白与P的显示段码,共阴极接法,共阳极接法,单片机原理与接口技术教学课件,(2)动态显示LED显示器接口,工作原理:从PA口送段代码,PB口送位选信号。段码虽同时到达 6个LED,但一次仅一个LED被选中,仅有1个数码管被点亮。利用“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个循环扫描即可完成6位数码的显示。显示器的亮度跟导通的电流有关,也和点亮的时间与间隔的比例有关。,单片机原理与接口技术教学课件,动态显示子程序流程图,单片机原理与接口技术教学课件,程序清单如下:,单片机原理与接口技术教学课件,(3)静态显示LED显示器接口,下图是MOTOROLA公司生产的CMOS BCD七段十六进制锁存、译码驱动芯片MCl4495的逻辑图、字形显示及引脚图。,单片机原理与接口技术教学课件,例:对图示的8位静态LED显示电路,编写显示子程序,设显示缓冲区首址为DispBuf,共4个单元,低位在前。,单片机原理与接口技术教学课件,单片机原理与接口技术教学课件,二、键盘接口,键盘是由若干个按键组成的开关矩阵,是完成控制参数输入及修改的基本输入设备,实现人机对话。人工干预系统的重要手段。,键盘分类:根据键值编码方式分:(硬件)编码键盘与非(硬件)编码键盘。根据键盘的连接方式分:独立连接键盘与矩阵连接键盘。,键盘接口应具备的功能:(1)键扫描功能,即检测是否有健按下;(2)产生相应的键代码(键值);(3)消除按键抖动及多键按下;,单片机原理与接口技术教学课件,编码键盘:采用专用的编码/译码器件,被按下的键由该器件译码输出相应的键码/键值。特点:增加了硬件开销,编码因选用器件而异,编码固定,但编程简单。适用于规模大的键盘。,非编码键盘:单片机系统多采用此类键盘 采用软件编/译码的方式,通过扫描,对每个被按下的键判别输出相应的键码/键值。特点:不增加硬件开销,编码灵活,适用于小规模的键盘,特别是单片机系统。但编程较复杂,占CPU时间,还须软件“消颤”。,编码键盘与非编码键盘,单片机原理与接口技术教学课件,独立连接键盘与矩阵连接键盘,独立连接键盘:每键相互独立,各自与一条I/O线相连,CPU可直接读取该I/O线的高/低电平状态。特点:占I/O口线多,但判键速度快,多用于设置控制键、功能键。适用于键数少的场合。,矩阵连接键盘:键按矩阵排列,各键处于矩阵行/列的结点处,CPU通过对连在行(列)的I/O线送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,得出键码。特点:键多时占用I/O口线少,但判键速度慢,多用于设置数字键。适用于键数多的场合。,单片机原理与接口技术教学课件,(1)键盘工作原理 键的闭合和断开过程中的抖动,键闭合时列线电压波形,图中t1和t2分别为键的闭合和断开过程中的抖动期(呈现一串负脉冲),抖动时间长短与开关的机械特性有关,一般为510ms之间,t2为稳定闭合期,其时间由操作员的按键动作所确定,一般为数百毫秒到几秒。t0,t4为断开期。为了保证CPU对键的闭合作一次处理,必须去除抖动,在键的稳定闭合或断开时,读键的状态。抖动的消除方法有:硬件(RS触发器)消除和软件延时消除法两种。,单片机原理与接口技术教学课件,独立连接式键盘例1:,特点:CPU主动查询,此子程序需不断(或定时)调用,否则可能漏判。4个键的优先级由指令顺序决定。,KEY:JNB P1.0,FUNC1;逐键判别 JNB P1.1,FUNC2 JNB P1.2,FUNC3 JNB P1.3,FUNC4 RET;无任何键按下由此返回FUNC1:;做1#键要求的“功能1”RETFUNC2:;做2#键要求的“功能2”RETFUNC3:;做3#键要求的“功能3”RETFUNC4:;做4#键要求的“功能4”RET,单片机原理与接口技术教学课件,独立连接式键盘例2,特点:CPU被动响应,采用中断查询不会漏判,省时。键的优先级由指令顺序决定。为防止一次按键多次中断,在功能子程序里应安排“关/开中断指令”并“延时”消除键抖动。,ORG 0003H LJMP KEY KEY:JNB P1.0,FUNC1;逐键判别 JNB P1.1,FUNC2 JNB P1.2,FUNC3 JNB P1.3,FUNC4 RETI;无任何键按下由此返回FUNC1:;做1#键要求的“功能1”RETIFUNC2:;做2#键要求的“功能2”RETIFUNC3:;做3#键要求的“功能3”RETIFUNC4:;做4#键要求的“功能4”RETI,单片机原理与接口技术教学课件,行扫描法,无键按下X20输出000,Y20为111;,有键按下,假设为4号键,判别有键按下,X20输出000,Y20为101,不等于全1;,扫描X0行,行首值=0,X20输出110,Y20为111,不在X0行;,扫描X1行,行首值=3,X20输出101,Y20为101,不等于全1,在X1行;键值=3+5=8,矩阵式键盘名词注释 行号:第0行第2行(0,1,2)行首值:(行号)列数(0,3,6)列值:第0列第2列(7,6,5,3)7表示无键按下,6表示Y0列有键按下,5表示Y1列有键按下,键值=行首值+列值,单片机原理与接口技术教学课件,线反转法,无键按下X20输出000,Y20为111;,有键按下,假设为4号键,判别有键按下,X20输出000,读入列线值Y20为101,不等于全1;,若有键按下,再将读入的列 线值由列线输出Y20=101B,读入行线的值X20=101B。,第一步读进的列线值与第二步读进的行线值相加,从而得到代表此键的键值=101B+101B=1010B。,线反转法因输入与输出线反过来用而得名。优点是判键速度快,两次即可。,单片机原理与接口技术教学课件,(2)8031经8255A扩展键盘显示器接口,下图为8x2键盘,6位显示器和8031的接口逻辑,8031外接一片8255,因8255的CS与P2.6接(A14=0),A0与P2.0接(A8),A1与P2.1接(A9)。所以83E8H为8255控制寄存器地址,84E8H为8255的A口地址,85E8H为8255的B口地址,86E8H为8255的C口地址。8255的B口为输出口控制显示器字形,A口为输出口控制键扫描作为键扫描口,同时又是6位显示器的扫描输出口,8255的C口作为输入口,PC0PC1读入键盘数,称为键输入口。,下面介绍键盘输入程序。键输入程序的功能有4个方面:A.判别键盘上有无键;B.去除键的机械抖动,显示子程序作为延时子程序,DISM为显示器占有数据存储单元首地址;C.判别闭合键的键号:N=行首键号+列值;D.使CPU对键的一次闭合仅作一次处理,采用的方法为等待闭合键释放以后再作处理。,单片机原理与接口技术教学课件,单片机原理与接口技术教学课件,有键按下F0=1(A)=键值,判断有键按下子程序KSI流程图略;动态显示子程序DISP流程图略,单片机原理与接口技术教学课件,单片机原理与接口技术教学课件,单片机原理与接口技术教学课件,单片机原理与接口技术教学课件,单片机原理与接口技术教学课件,单片机原理与接口技术教学课件,4.4 MCS51定时/计数器,4.2.1 定时器/计数器的结构,2个16位定时器/计数器(T0、T1)定时器:对片内机器时钟(周期方波)进行计数计数器:对Tx引脚输入的负脉冲进行计数,与T0、T1工作有关的特殊功能寄存器:TCON 和 TMOD,单片机原理与接口技术教学课件,4.2.2 定时器/计数器的初始化,(1)定时器/计数器的初始化定时器/计数器是一种可编程部件,在其工作之前必须将控制命令字写入其方式寄存器TMOD和控制寄存器TCON,以确定其工作方式。这一过程称为定时器/计数器的初始化。,单片机原理与接口技术教学课件,1)定时器方式寄存器TMOD(89H),TMOD 用于控制T0和T1的工作方式。,M1、M0;工作方式控制位,构成4种工作方式,GATE门控位:计数/定时器可由软件与硬件两者控制GATE0,只要用软件对TR0(或TR1)置1就启动定时器T0(或T1)。GATE1,只有在 引脚为1,且用软件对TR0(或TR1)置1才能启动定时器T0(或T1)。,C/T:计数/定时工作方式选择位,C/T=0:定时器,C/T=1:计数器;,单片机原理与接口技术教学课件,2)控制寄存器TCON(88H),TCON用于控制定时器/计数器的启动、停止以及反映定时器/计数器的溢出和中断情况。,TR0:T0运行控制位。TR0=1启动T0计数;TR0=0停止T0计数。TF0:T0溢出中断标志位。当T0计数溢出是由硬件自动置1,在CPU响应中断时由硬件自动清0。TR1:T1运行控制位。TR1=1启动T1计数;TR1=0停止T1计数。TF1:T1溢出中断标志位。当T1计数溢出是由硬件自动置1,在CPU响应中断时由硬件自动清0。,单片机原理与接口技术教学课件,(2)定时器/计数器的工作方式,1)工作方式0 13位定时器/计数器,定时器溢出时间 T=(213-Tx初值)机器周期Tm,计数器溢出脉冲个数 N=(213-Tx初值),注意:机器周期 Tm=12 振荡周期TOSC,单片机原理与接口技术教学课件,机器周期,X=0:T0X=1:T1,MCS-51定时器/计数器的结构,定时,计数,单片机原理与接口技术教学课件,2)工作方式1 16位定时器/计数器,TRx位,GATE位,INTx端,1,&,控制=1开关接通,或门,与门,振荡器,12,TLx THx(8位)(8位),TFx,申请中断,T0(T1)引脚,C/T=0,C/T=1,加法计数器,定时器溢出时间 T=(216-Tx初值)机器周期Tm,计数器溢出脉冲个数 N=(216-Tx初值),单片机原理与接口技术教学课件,工作方式1(或0)的编程要点:,TMOD选方式:写“M1,M0”=01(或00)B 选方式1(或0);若要允许中断,还须先置位ETx、EA等中断允许控制位,并编写中断服务程序,溢出标志TFx由CPU自动清0;THx/TLx赋初值:THx赋高8位,TLx赋低8(或5)位;若不用门控位,直接用软件写TRx控制启/停;若使用门控位,先置位TRx,然后由硬件电路在INTx端产生的高/低电平来控制其启/停;若不用中断,可查询“计数溢出标志TFx”的方式工作,但溢出标志TFx须软件清0。,单片机原理与接口技术教学课件,定时器(方式1)应用程序举例:,例1:若晶振频率为6MHz,计算单片机的最小与最大定时时间。分析:已知fosc=6MHz 则:(振荡周期)1Tc=1/6MHz;(机器周期)1Tm=12TOSC=12/6MHz=2S;粗略地说:Tmin 2S 16位定时器最大数值为:216=65536=0FFFFH+1故选择方式1工作可以得到:Tmax=655362=131072S131.072mS;,单片机原理与接口技术教学课件,分析:已知fosc=6MHz 则:(机器周期)1Tm=12Tc=12/6MHz=2S 100mS2 S=50000 16位定时器最大数值为:216=65536(=0FFFFH+1)故选择方式1工作可以满足要求。计算初值:6553650000=15536=3CB0HTH0=3CH,TL0=0B0H,例2:要求对T0产生100mS定时进行初始化。(晶振=6MHz),定时器(方式1)应用程序举例:,单片机原理与接口技术教学课件,3)工作方式2 8 位自动重装定时器/计数器,定时器溢出时间 T=(28-Tx初值)机器周期Tm,计数器溢出脉冲个数 N=(28-Tx初值),单片机原理与接口技术教学课件,THx/TLx赋相同初值,在TLx计数达到0FFH 再加“1”时,TL0将溢出,进位位直接进入“TFx”去申请中断,同时打开三态门,使THx中的值自动重装(Copy)进TLx,工作方式 2 的编程要点:,TMOD寄存器选方式:写“M1,M0”=10 B 选中方式2,其他用法与各种方式1完全相同,单片机原理与接口技术教学课件,4)工作方式3(仅T0)1个8 位定时器/计数器和1个8 位定时器,T0成为1个8 位定时器/计数器(TL0)和1个8 位定时器(TH0),T0借用T1的TF1,TR1;T1不再有定时器/计数器功能,此时T1设置为工作方式2,用作串行通信的波特率发生器。,单片机原理与接口技术教学课件,例:利用定时器,在P1.0引脚上输出周期为4ms的方波,设单片机的晶振频率为6MHz。解:要在P1.0输出周期为4ms 的方波,只需使P1.0每隔2ms取反一次即可,此处采用T0作为定时器,定时时间为2ms。机器周期=126MHz=2s2ms内需要计数N次;N=2ms/2 s=1000使用方式1,计数器位16位,因此,T0的初值X为:X=216 N=216 1000=64536=0FC18HTH0=0FCH,TL0=18H(注意:计数器在0FFFFH+1时发生溢出)编程时可以采用以下两种方法:1)查询TF0的状态,若TF0=1,则将P1.0取反即可;2)定时中断,每隔2ms中断一次,在中断服务程序中P1.0取反。,4.2.3 定时器/计数器的应用举例,单片机原理与接口技术教学课件,采用查询方法,编程如下:,单片机原理与接口技术教学课件,采用中断方法,编程如下:,xiexie!,谢谢!,xiexie!,谢谢!,