8项目二任务1电子时钟设计

上传人:艾力 文档编号:49158252 上传时间:2018-07-24 格式:PPT 页数:36 大小:455.50KB
返回 下载 相关 举报
8项目二任务1电子时钟设计_第1页
第1页 / 共36页
8项目二任务1电子时钟设计_第2页
第2页 / 共36页
8项目二任务1电子时钟设计_第3页
第3页 / 共36页
8项目二任务1电子时钟设计_第4页
第4页 / 共36页
8项目二任务1电子时钟设计_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《8项目二任务1电子时钟设计》由会员分享,可在线阅读,更多相关《8项目二任务1电子时钟设计(36页珍藏版)》请在金锄头文库上搜索。

1、1 定时器/计数器的结构及工作原理2 定时器/计数器的方式与控制3 定时器/计数器应用举例定时器/计数器1 定时器/计数器的结构及工作原理1.1系统结构1、组成2个16位的定时/计数器T0:TH0+TL0T1:TH1+TL12、工作模式:(软件设置TMOD)(1)定时器/计数器(2)方式0、1、2、3 启停控制 溢出控制 初值设定定时器/计数器逻辑结构1.2工作原理1、定时器模式从初始值开始,对机器周期计数,记满溢出, 自动产生中断。单片机中独立的自动运行部件,加法计数。2、计数器模式对外部脉冲计数。计数周期 不同 设最大值为 M, 计数值为 N, 初值为 X, 则 X的计算方法如下: 计数状

2、态: X=MN定时状态: X=M定时时间/T而 T=12晶振频率初值的设定加法计数器是计满溢 出时才申请中断, 所以在 给计数器赋初值时, 不能 直接输入所需的计数值 。输入的是计数器计数 的最大值与这一计数值的 差值图 2-2 TMOD各位定义 2 方式与控制2.1 方式控制寄存器一、 工作方式寄存器TMOD(SFR,地址:89H)1、M1M0工作方式控制位 M1 M0 方式说说 明0 0013 位定时器(TH的 8 位和TL的低 5 位) 0 1116 位定时器/计数器 1 02自动重装入初值的 8 位计数器 1 13 T0 分成两个独立的 8 位计数器, T1 停止工作 2、C/T 定时

3、/计数模式选择位1:计数器方式0:定时器方式。 3、GATE 启动门控标志位1:只有INT0(或INT1)引脚为高电平且TR0(或TR1)置 1 时, 相应的定时器/计数器才被选通工作。 0:只要TR0(或 TR1)置1,定时器/计数器就被选通。可用于测量在 INTx端出现的正脉冲的宽度。TF0、TF1分别是定时器/计数器T0、 T1 的溢出标志位, 加法计数器计满溢出时置 1, 申请中断, 在中断响应后自动复 0。TF产生的中断申请是否被接受, 还需要由中断是否开放来决定。TR1、TR0 分别是定时器 /计数器T1、 T0 的运行控制位, 通过软件置 1 后, 定时器 /计数器才开始工作,

4、在系统复位时被清 0。 二、定时器控制寄存器TCONTCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H输入时钟与控制逻辑关系图图2.5 方式 0(13位计数器) 3 工作方式一、 方式 0 (T0、T1相同)组成: TH8+TL51、组成TH8位+TL低5位(高3位不用)最高计数值2132、计数结束, TF自动置位a、产生中断b、定时查询TF位3、重新计数重装计数初值计数值M, 初始值设多 少?定时器模式下,定时时间T=2的13次方减初值乘机器周期。图 2.6 方式 1(16位计数器) 二、 方式1(T0、T1相同)图 2.7 方式

5、2(初始常数自动重装载) 三、方式 2(T0、T1相同)1、TL计数,TH为初值重装过程TH数值不变,改变其值,将影响下 次的重装值。2、应用:可用于双重循环的计数图 2.8 方式 3(两个 8 位独立计数器) 四、方式 3 (T0工作,T1不工作)1、T0:TH0、TL0两个独立工作的8位计数器。控制位C/T,TRi,GATE,INTi,TFiT0的控制位被TL0占有,工作方式与前面相同 。T1的控制位TR1、TF1给TH0作控制。仅作定 时器!2、T1:不工作但是可以将其设置为其他工作方式。但此时TR1、TF1不能控制。用于产生不需中断的场合。例如时钟发生器。例 1 利用定时器输出周期为

6、2 ms的方波, 设单片机晶振 频率为 6 MHz。 分析:选用T0 作定时器, P1.0输出, 2 ms 的方波只要每隔 1 ms对 P1.0 取反一次即可得到。 定时 1 ms的初值: 因为 机器周期=126 MHz= 2 s所以 1 ms内T0 需要计数N次: N= 1 ms2 s = 500 293 定时器/计数器应用举例一、方式0 的应用由此可知: 使用方式 0 的 13 位计数器即可, T0 的初值X为X=MN=8 192500=7 692=1E0CH但是, 因为 13 位计数器中, 低 8 位 TL0 只使用了 5 位, 其余码均计入高 8 位TH0 的初值, 则 T0 的初值调

7、整为TH0=0F0H, TL0=0CHTMOD初始化: TMOD=00000000B=00H(GATE=0, C/T=0, M1=0, M0=0)TCON初始化: 启动TR0=1IE初始化: 开放中断EA=1, 定时器T0 中断允许ET0=1程序清单如下: ORG 0000H AJMP START; 复位入口ORG 000BHAJMP T0INT ; T0中断入口ORG 0030HSTART: MOV SP, 60H; 初始化程序MOV TH0, 0F0H ; T0赋初值MOV TL0, 0CHMOV TMOD, 00HSETB TR0 ; 启动T0 SETB ET0 ; 开T0中断SETB

8、EA ; 开总允许中断SJMP $T0INT: CPL P1.0MOV TL0, 0CHMOV TH0, 0F0HRETI 等待循环与方式0基本相同,只是改用16位计数器。定时周期较长时, 13 位计数器不够用, 改用 16 位计数器。 例 2 某生产线的传送带上不断有产品单向传送, 产品之间有较大间隔。使用光电开关统计一定时间内的产品个数。假定红灯亮时停止统计, 红灯灭时才在上次统计结果的基础上继续统计, 试用单片机定时器 /计数器T1的方式1完成该项计数任务。 二、方式1的应用图 6.7 硬件原理图 (1) 初始化: TMOD=11010000B=0D0H(GATE=1, C/T=1, M

9、0M1=01)TCON=00H(2) T1在方式1时, 溢出产生中断, 且计数器回零, 故在中断服务程序中, 需用R0计数中断次数, 以保护累积计数结果。 (3) 启动T1计数, 开T1中断。 程序清单如下: ORG 0000H AJMP START ; 复位入口ORG 001BHAJMP T1INT ; T1中断入口ORG 0100HSTART: MOV SP, 60H ; 初始化程序MOV TCON, 00HMOV TMOD, 0D0HMOV TH1, 00H MOV TL1, 00HMOV R0, 00H ; 清中断次数计数单元MOV P3, 28H; 设置P3.5第二功能SETB TR

10、1 ; 启动T1SETB ET1; 开T1中断SETB EA ; 开总中断MAIN: ACALL DISP ; 主程序, 调显示子程序ORG 0A00HT1INT: INC R0 ; 中断服务子程序RETIDISP: ; 显示子程序RET方式2是定时器自动重装载的操作方式, 在这种方式下, T0、T1的工作是相同的, 它的工作过程与方式0、方式1 基本相同, 只不过在溢出的同时, 将 8 位二进制初值自动重装载, 即在中断服务子程序中, 不需要编程送初值, 这里不再举例。三、方式2的应用定时器T0工作在方式3时是2个8位定时器/计数器。且TH0借用了T1的溢出中断标志TF1和运行控制位 TR1

11、。 例3 假设有一个用户系统中已使用了两个外部中断源, 并置定时器 T1 方式2, 作串行口波特率发生器用, 现要求再增加一个外部中断源, 并由P1.0 口输出一个5 Hz的方波(假设晶振频率为 6 MHz)。 三、方式3的应用在不增加其它硬件开销时, 可把定时器/计数器 T0 置于工作方式 3, 利用外部引脚 T0端作附加的外部中断输入端, 把 TL0 预置为 0FFH, 这样在 T0 端出现由 1至 0 的负跳变时, TL0 立即溢出, 申请中断, 相当于边沿激活的外部中断源。 在方式 3下, TH0 总是作 8 位定时器用, 可以靠它来控制由 P1.0 输出的 5 kHz方波。 由 P1

12、.0 输出 5 kHz的方波, 即每隔 100 s使 P1.0 的电平发生一次变化。则TH0中的初始值 X=MN=256100/2=206。 下面是有关的程序。 MOV TL0, 0FFH MOVTH0, 206MOVTL1, BAUD ; BAUD根据波特率要求设置常数MOVTH1, BAUDMOVTMOD, 27H ; 置T0工作方式3; TL0工作于计数器方式MOVTCON, 55H ; 启动定时器 T0、 T1, 置外部中断 0 和 1; 为边沿激活方式MOVIE, 9FH ; 开放全部中断TL0 溢出中断服务程序(由 000BH单元转来): TL0INT: MOV TL0, 0FFH

13、 ; 外部引脚 T0 引起中断处理程序RETITH0 溢出中断服务程序(由 001BH转来): TH0INT: MOVTH0, 206CPL P1.0RETI此处串行口中断服务程序、 外中断 0和外中断 1的中断服务程序没有列出。 利用定时/计数器,控制小灯闪烁,周期1s。 设单片机晶振12MHz。分析:闪烁周期大于最大定时值1、软件计数器2、硬件计数器定时50ms输出P1.0计数5次输出P1.1MAIN: MOV TMOD,#01100001B MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#0FBH MOV TL1,#0FBH MOV IE,#10001010B SETBTR0 SETBTR1 SJMP$T_INT0:MOVTH0,#3CHMOVTL0,#0B0HCPLP1.0RETIT_INT1:CPL LEDRETI

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号