第五章MCS单片机内的功能模块(CT)_第1页
第五章MCS单片机内的功能模块(CT)_第2页
第五章MCS单片机内的功能模块(CT)_第3页
第五章MCS单片机内的功能模块(CT)_第4页
第五章MCS单片机内的功能模块(CT)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 MCS-51单片机内的功能模块 并行口结构及操作 定时/计数器结构及操作 串行口结构及操作5-2 定时/计数器结构及操作 定时器可以实现下列功能:定时操作:产生定时中断、实现定时采集输入信号、定时扫描键盘、显示器等操作;测量外部输入信号:对输入信号累加统计或测量输入信号的周期等参数;定时输出:定时触发输出引脚的电平,使输出脉冲的宽度、占空比、周期达到预定值,其精度不受程序状态的影响;监视系统正常工作:一旦系统工作异常时就自动产生复位 定时器一般由一个N位计数器、时钟源控制电路、状态和控制寄存器等组成。计数方式有加1和减1两种。一、定时器的一般结构和工作原理内部时钟电子开关外部时钟方式控

2、制计数控制N位计数器TF溢出标志中断方式控制寄存器TMOD是一个8位寄存器,字节地址为89H,只能用字节传送指令来设置定时器的工作方式,系统复位时TMOD所有位均为0。其格式为:(1)GATE:门控位 GATE=1时,定时器/计数器由外部中断引脚 和 TRi共同来启动。当 引脚为高电平时,TRi=1,启动定时器/计数器Ti ; TRi=0,定时器/计数器 Ti 停止工作。 GATE=0时,仅由TRi来启动定时器/计数器,又称为软件启动。 TRi=1,定时器/计数器Ti启动开始工作; TRi=0,定时器/计数器Ti停止工作。方式控制寄存器TMODM0M1 GATEM0M1GATE89HD0D1D

3、2D3D4D5D6D7TMODT1T0(2)M1 M0方式选择位。 M1、M0两位可形成4种编码,对应于4种工作方式,其定义下表所示。 M1 M0工作方式计数器配置及功能简述0 0方式013位计数器,TLi只用低5位0 1方式116位计数器1 0方式28位自动重装计数器,THi的值在计数中不变,TLi溢出时,THi中的值自动装入TLi中1 1方式3T0分为两个独立的8位计数器,T1用作波特率发生器(3) :功能选择位。 当 = 0时设置为定时器方式,计数脉冲由内部提供,计数周期等于机器周期。 当 =1时设置为计数器方式,计数脉冲为外部引脚T0或T1引入的外部脉冲信号。a) T0或T1用于定时方

4、式时,每一个机器周期使计数器的值加1,故计数器的计数频率为振荡器频率的1/12。实质上定时工作方式,就是对单片机的机器周期数进行计数。b) T0或T1用于计数方式时,计数脉冲来自外部输入引脚T0(P3.4)或T1(P3.5)。当外部输入脉冲信号产生由1至0的跳变时,计数器的值加1。计数器在每个机器周期的S5P2期间,对脉冲输入进行一次采样。检测一个“1”到“0”的跳变需要两个机器周期,故最高计数频率为振荡频率的1/24。为了确保电平在变化之前至少被采样一次,外部计数脉冲的高、低电平保持时间均要求在一个机器周期以上。控制寄存器TCON是一个8位寄存器,既可以字节寻址也可以位寻址,字节地址为88H

5、,位寻址的地址为88H8FH。其格式为:TCON8FH8EH8DH8CH8BH8AH89H88H88HTF1TR1TF0TR0IE1IT1IE0IT0TF1和TF0:分别为T1和T0的溢出标志。当定时器/计数器计满产生溢出时,由硬件自动置“1”,可申请中断。进入中断服务程序后,由内部硬件自动清“0”。这两位也可作为程序查询的标志位,在查询方式下应由软件来清0。TR1和TR0:为定时器/计数器T1和T0的启动、停止控制位。当由软件使TRi=1时,启动定时器/计数器Ti工作;当由软件使TRi=0时,使Ti停止工作;定时器/计数器的启动还与门控位和外部中断引脚有关。具体见GATE的设置。控制寄存器T

6、CON IE1和IE0:外部中断1( )和外部中断0( )的中断请求标志位。当外部中断源有请求时其对应的中断标志位置“1”。 IT1和IT0:为外部中断1和外部中断0的触发方式选择位。ITi设置为“0”时为电平触发方式;设置为“1”时为边沿触发方式。 系统复位时,TCON被清0。工作方式0结构 TMOD中的M1=0、M0=0时,选定工作方式0。这种方式下,计数寄存器由13位组成,即TLi的高3位未用。计数时,TLi低5位溢出后向THi进位,THi溢出后将TFi置位,并向CPU申请中断。 如果中断允许,CPU响应中断并转入Ti中断服务程序,由内部硬件清TFi。TFi也可以由程序查询和清零。 当G

7、ATE=0时,A点为高电平,定时器/计数器的启动/停止由TRi决定。TRi=1,定时器/计数器启动;TRi=0,定时器/计数器停止。当GATE=1时,定时器/计数器的启动/停止由TRi和 两个条件决定。方式0时,定时器/计数器T0、T1的结构简图 GATE(i=0,1)引脚申请中断振荡器12Ti 引脚.TLi(5位)THi(8位)TFi控制+TRi工作方式1的结构 TMOD中的M1=0、M0=1时,选定工作方式1。这种方式下,加法计数寄存器由16位组成。计数时,TLi溢出后向THi进位,THi溢出后将TFi置位,并向CPU申请中断。其它与方式0相同。 GATE振荡器12Ti 引脚TLi(8位)

8、THi(8位)TFi申请中断+引脚TRi 控制(i=0,1) 方式1时,定时器/计数器T0、T1的结构简图 TMOD中的M1=1、M0=0时,选定工作方式2。 这种方式是将16位计数寄存器分为两个8位寄存器,组成一个可重装入的8位计数寄存器。 在方式2中,TLi作为8位计数 寄存器,THi作为8位计数初值 寄存器。当TLi计数溢出时,一方面TFi置位,并向CPU申请中断;另一方面将THi的内容重新装入TLi中,继续计数。重新装入时不影响THi的内容,所以可以多次连续再装入。 方式2对定时控制特别有用,实现每隔预定时间发出控制信号,它可用于循环重复定时计数,用户可以省去重装计数初值的程序,并可产

9、生相当精度的定时时间,特别适用于作串行口波特率发生器。工作方式2的结构GATETRi 控制+TFi申请中断(i=0,1)振荡器12Ti 引脚TLi(8位)THi(8位)重装载引脚方式2时,定时器/计数器T0、T1的结构简图TMOD中的M1=1、M0=1时,选定工作方式3。 这种方式只适用于定时器/计数器T0,是将定时器/计数器T0分为一个8位定时器/计数器和一个8位定时器。 该方式下的TL0可作定时也可作计数用,只是此时的定时器/计数器为8位计数器,它占用了定时器/计数器T0的GATE、 、TR0、T0引脚以及中断源等。 该方式下的TH0只可用作简单的内部定时器功能,因为此时的外部引脚T0已被

10、TL0所占用,不过它也占用了T1的启动/停止控制位TR1和计数溢出标志位TF1及T1的中断源。 TH0的启动和关闭仅受TR1的控制,当TR1=1,TH0启动定时;当TR1=0,TH0停止定时工作。工作方式3的结构 方式3时,定时器/计数器T0的结构简图申请中断TH0(8位)TF1振荡器12TR1(b)TH0的结构简图振荡器12GATE引脚+TR0TL0(8位)TF0申请中断(a)TL0的结构简图T0引脚(b)T1取方式2TL1(5位或8位)TH1(8位)振荡器12串行口T1引脚(a) T1取方式0或1方式3时,定时器/计数器T1的结构简图串行口TL1(8位)TH1(8位)12T1引脚振荡器 在

11、方式3下,定时器/计数器T1仍可选方式0、1或2,用在不需要中断的场合。仅用T1的控制位 切换其定时或计数的工作方式就可以使T1运行; 当T0工作于方式3时,定时器/计数器T1一般用作串行口波特率发生器。而把T1设置为方式2作波特率发生器比较方便。MCS-51定时器/计数器的应用编程 定时器/计数器的功能由软件设置,所以在使用定时器/计数器前均要对其进行初始化。初始化的步骤写TMOD:设置定时器/计数器的工作方式(M1、M0)、功能选择( )以及是否使用门控(GATE)。写THi与TLi:设置定时器或计数器的初值。对于16位的计数初值必须分两次写入对应的计数器中。写IE:设置定时器/计数器的中

12、断开放和禁止。开放中断时,IE对应位置1;采用程序查询方式时,在IE的对应位上要清0进行中断屏蔽。写TCON:启动定时或计数,可用字节寻址也可以用位寻址。若第1步设置为软启动,即GATE=0时,执行指令SETB TRi后,定时器即可开始工作;若GATE=1时,还必须由外部中断引脚 共同控制,只有当 引脚电平为高时,执行指令SETB TRi后,定时器方可启动工作。计数初值的计算 定时器/计数器运行前,在其时间寄存器中要预先置入的常数,称作计数初值或定时常数(X)。定时或计数方式下,计数初值要根据定时器/计数器所选择的不同工作方式来确定,不同工作方式下的初值计数不同。若设最大计数值为M,则各工作方

13、式下的M值为: 方式0:M=213=8192 方式1:M=216=65536 方式2:M=28=256 方式3:M=256,定时器T0分成2个8位计数器,所以TH0、TL0 的M均为256。 计数器加1将产生溢出,使TF位置1,发出溢出中断请求,初值X的计算式为:XM计数值,将X转换成二进制数后分别送入THi、TLi。式中的M根据工作方式而定。当用作计数器时:计数脉冲由外部引入,是对外部脉冲进行计数,因此计数值根据要求确定。其计数初值为: XM计数值例如,某工序要求对外部脉冲信号计数100次,则XM-100。XM计数值Mt/TM(fosct)/12其中,fosc为振荡器的振荡频率 当用作定时器

14、时:因为计数脉冲由内部供给,是对机器周期进行计数,计数脉冲频率为 、计数周期 ,若要求定时的时间为t,则此时计数初值为: 定时器初始化举例例: MCS-51的主频为6MHz,要求产生1ms的定时,试计算计数初值X。若设置定时器工作于工作方式1,则计数初值X等于:解:T0设为计数器方式2,硬启动,故计数初值X0为:T1设为定时器方式1,定时50ms,软启动,其计数初值X1为:方式控制字TMOD:0 0 0 1 1 1 1 0, 即1EH例:设置T0为计数方式,对外部脉冲进行计数10次,硬启动,禁止中断,选择工作方式2; T1为定时方式,定时50ms,选择工作方式1,允许中断,软启动。试编写其初始

15、化程序,设 。初始化程序如下:MOV TMOD,#1EH ;写方式控制字MOV TH0,#0F6H ;定时器0计数初值MOV TL0,#0F6HMOV TH1,#9EH ;定时器1计数初值MOV TL1,#58HMOV IE, #10001000B ;CPU,T1开中断SETB TR0 ;启动T0,但要等到 时方可真正启动SETB TR1 ;启动T1 IE 例:选用T0在方式0下用于定时工作,由P1.0引脚输出周期为1ms的方波,设晶振 。解:P1.0输出周期为1ms的方波,只要每隔500s取反一次即可得到。因此可以选用T0定时500s,初始值X0应为:而作13位计数器时TL0的高3位未用,应

16、填0,TH0占高8位,所以X0的实际值应为: 11111000 00000110B=F806H根据题意设置方式控制字TMOD:00000000B, 即:00H。由于上电复位后,TMOD各位均为0,所以此字可不写。程序清单如下: ORG 8000H MOV TL0,#06H;T0的计数初值X0 MOV TH0,#0F8H SETB TR0 ;启动T0LP1:JBC TF0, LP2 ;查询T0计数溢出否,同时清除TF0 AJMP LP1;没有溢出等待LP2:MOV TL0,#06H;溢出重置计数初值 MOV TH0,#0F8H CPL P1.0;输出取反 SJMP LP1;重复循环解:方波周期

17、,用T1定时10ms,计数初值:例: 用定时器1产生一个50Hz的方波,由P1.1输出,仍用程序查询方式, 。程序清单如下: MOV TMOD,#10H ;T1模式1,定时 SETB TR1 ;启动T1LOOP:MOV TH1,#0D8H ;T1计数初值 MOV TL1,#0F0H JNB TF1,$ ;T1没有溢出等待 CLR TF1 ;产生溢出清标志位 CPL P1.1 ;P1.1取反输出 SJMP LOOP ;循环例:定时器1在方式2下计数,要求每计满100次,将P1.0端取反。程序清单如下: MOV TMOD,#60H;T1模式2,计数方式 MOV TH1,#9CH;T1计数初值 MO

18、V TL1,#9CH SETB TR1;启动T1LOOP:JBC TF1,REP;TF1=1转,同时清除TF1 SJMP LOOP;否则等待 REP:CPL P1.0;P1.0取反输出 SJMP LOOP解:T1工作于计数方式,外部计数脉冲由T1(P3.5)引脚引入,每来一个由1至0的跳变计数器加1,由程序查询TF1的状态。计数初值 TH1=TL1=9CH,TMOD=60H(计数方式,模式2)。七段LED数码管接口设计结构与显示原理1 2 3 4 510 9 8 7 6g f GND a be d GND c dpagfbedcdpa b c d e f g dp+5Va b c d e f

19、g dpGND共阴极共阳极七段LED字形码形成码字从高到低顺序:dp, g, f, e, d, c, b, a显示字符共阳极字符共阴极字符显示字符共阳极字符共阴极字符0C0H3FHA88H77H1F9H06Hb83H7CH2A4H5BCC6H39H3B0H4FHdA1H5EH499H66HE86H79H592H6DHF8EH71H682H7DHP8CH73H7F8H07HH89H76H880H7FHLC7H38H990H6FH“灭”FFH00H静态显示方式当显示某一字符时,发光二极管的位选始终被选中P1P0P2VccMCS-51 abfgdpabfgdpabfgdp共阳极MOV DPTR, #TAB; 码表地址MOV R0, #60H; 指向第一位数地址MOV A, R0; 取数MOVC A, A+DPTR; 查码表MOV P0, A; 将码字送到P0口INC R0;MOV A, R0MOVC A, A+DPTRMOV P1, AINC R0MOV A, R0MOVC A, A+DPTRM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论