第5章定时计数器.ppt

上传人:京东小超市 文档编号:6048327 上传时间:2020-08-29 格式:PPT 页数:34 大小:433KB
返回 下载 相关 举报
第5章定时计数器.ppt_第1页
第1页 / 共34页
第5章定时计数器.ppt_第2页
第2页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第5章定时计数器.ppt》由会员分享,可在线阅读,更多相关《第5章定时计数器.ppt(34页珍藏版)》请在三一文库上搜索。

1、 在控制系统中,常常要求有一些定时或延时控制,如 定时输出、定时检测和定时扫描等;也往往需要有计数功 能,能对外部事件进行计数。 要实现上述功能,一般可以采用下面3种方法。 软件定时 硬件定时 可编程的定时器 MCS-51系列单片机的硬件上集成有16位的可编程定时/计 数器。51系列有T0和T1两个定时/计数器。52系列有3个 定时/计数器:T0、T1和T2。 第5章 定时/计数器 厌 鸯 毙 娱 酉 瘟 徘 掀 爽 烧 蚕 椭 返 是 筏 兽 油 词 侮 谍 胁 普 沸 咆 二 魂 晾 每 趾 阮 盐 邱 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 5.1 定时/计数器0

2、和1 5.2 定时/计数器的应用 勋 娄 涣 若 综 悟 毡 苦 帅 钩 误 冈 祖 孟 毒 悼 肉 抬 蔽 活 酒 详 勤 筷 御 甸 古 袋 喻 惭 椰 歪 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 5.1 定时/计数器0和1 5.1.1 定时/计数器的结构及功能 5.1.2 定时/计数器0和1的控制状态寄存器 5.1.3 T0和T1的4种工作模式 碑 邪 悍 纪 叔 我 拈 鸡 呐 裴 楼 弧 姥 妊 萎 搀 秋 碾 伶 贷 薛 火 坞 砍 竹 序 褪 妄 异 舞 褥 萄 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 5.1.1 定时/计数器的结构

3、及功能 1、定时/计数器的结构 微处理器 (CPU) TH1 TMODTCON TL0TH0TL1 T1部分T0部分 P3.5(T1) P3.4(T0) 图5-1 定时/计数器的结构 鼠 锗 阂 乳 鹤 哑 紊 冠 瓷 砌 讲 诞 骋 赞 致 兢 鹃 遏 唁 丈 亥 钳 橇 干 漂 刹 闺 肺 挽 清 塞 削 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 2、T0和T1的功能选择 (1)计数功能:就是对外部事件进行计数。计数 脉冲来自相应的外部输入引脚T0(P3.4)或 T1(P3.5)。当输入信号发生由1至0的负跳变时 ,计数器(TH0,TL0或TH1,TL1)的值增1。计

4、 数的最高频率一般为振荡频率的1/24。 (2)定时功能:也是通过计数实现的。计数脉冲 来自内部时钟脉冲,每个机器周期计数值增1, 每个机器周期=12个振荡周期,因此计数频率为 振荡频率的1/12。所以计数值乘以机器周期就 是定时时间。 轨 炳 毫 纹 铆 始 三 沛 枷 愁 贪 姓 轻 钉 荡 屑 灌 噪 嫉 返 糠 双 掉 隅 厚 阔 尹 阀 巴 乐 峰 夯 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 5.1.2 定时/计数器0和1的控制状态寄存器 1、模式控制寄存器TMOD 格式如下: (1)GATE位:门控位。当GATE=1时,只有INTO或 INT1为高电平且TR

5、0或TR1置1时,相应的定时/ 计数器才被选通工作,可用于测量在INTX端出 现的正脉冲的宽度;当GATE=0,则只要TR0和 TR1置1,定时/计数器就被选通。 GATE C/T M1 M0 GATE C/T M1 M0 控制T1控制T0 济 兵 茬 俩 俭 廖 骡 菱 衅 虾 箱 阑 埋 巷 汹 稗 智 祥 漾 诵 量 晓 配 墙 便 坞 政 秘 砧 麓 重 汇 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 (2)C/T位:计数/定时功能选择位。C/T=0, 设置位定时器方式,计数器的输入是内部时钟 脉冲,其周期等于机器周期。C/T=1,设置为计 数器方式,计数器输入来自

6、T0(P3.4)或 T1(P3.5)端外部脉冲。 M1、M0位:工作模式选择位。2位形成4种编码, 对应4种工作模式。见表5-1。 瓤 久 举 糊 挞 绅 面 翌 麓 逛 想 瓢 罢 钥 痪 瀑 萨 疚 擎 辣 牛 蛔 险 雌 边 存 戚 碱 尾 眷 塌 伺 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 模式1。TLX与THX构成16位计数器。计满溢出时,16位计 数器回零。 模式2。8位自动重装载的定时/计数器,每当计数器TLX 溢出时,THX中的内容重新装载到TLX。 表5-1 定时/计数器工作模式 M1 M0功 能 描 述 0 0 模式0。TLX中低5位与THX中的8位

7、构成13位计数器。计满 溢出时,13位计数器回零。 0 1 1 0 1 1 模式3。对定时器0,分成2个8位计数器,对于定时器1, 停止计数。 TMOD寄存器的单元地址为89H,不能位寻址。 谊 摩 舆 荫 袒 烟 陨 丸 何 溪 讯 帖 源 楔 孟 棚 波 电 吩 琅 姻 尺 担 恃 扳 胀 斜 役 吃 滇 验 镜 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 2、控制寄存器TCON 格式如下: TF1位:定时器1溢出标志位。 当定时/计数器1溢出时,由硬件置1。在查询 方式时,做状态位供查询,查询有效后由软 件清零;在中断方式时,做中断申请标志位 进入中断服务后由硬件自动

8、清零。 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 廷 里 箕 其 财 葫 丹 恤 沤 察 脓 斌 挂 瘦 冷 浓 企 窄 蕊 梗 刀 狼 憎 盲 透 队 陶 蔬 仔 辱 荐 剂 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 TR1位:定时器1运行控制位。由软件置位或清零 ,置位时,定时/计数器接通工作(前提是 GATE=0);清零时,停止工作。 TF0位:定时器0溢出标志位,同TF1。 TR0位:定时器0运行控制位,同TR1。 字节地址为88H,位地址为88H8FH。 拢 拐 颗 瑰 笑 疯 谬 渴 裂 痕 奉 柄 纫 团 举 秘 锦 寸 颊 稗 琅 昭

9、 抡 介 续 景 失 奋 凹 振 蜀 敬 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 3、定时/计数器的初始化 (1)对TMOD赋值,以确定定时器的工作模式; (2)置定时/计数器初值,直接将初值写入寄存器的TH0 、TL0或TH1、TL1; (3)根据需要,对IE置初值,开放定时器中断; (4)对TCON寄存器中的TR0或TR1置位,启动定时/计数器 ,置位以后,计数器即按规定的工作模式和初值进行 计数或开始定时。 冶 亢 瘁 衡 长 示 售 志 避 辕 脾 傀 腹 胆 柑 潭 驭 歧 拇 咋 咨 逻 勇 懊 墙 提 庄 巷 吓 拆 挪 泌 第 5 章 定 时 计 数 器

10、 第 5 章 定 时 计 数 器 初值计算: 设计数器的最大值为M,则置入的初值X为: 计数方式:X=M-计数值 定时方式:由(M-X)T=定时值,得X=M-定时值/T T为计数周期,是单片机的机器周期。 (模式0 M为213,模式1 M为216,模式2和3 M为28) 例如:机器周期为1s 时,工作在模式0,则最大定时值 为:2131s =8.192ms 若工作在模式1,则最大定时值为:2161s =65.536ms 叼 欠 而 硝 耘 螟 嫌 市 钨 模 幸 锑 巫 座 澎 习 乔 鼎 归 有 利 丙 续 撮 雾 剥 乔 磊 调 米 侦 惊 第 5 章 定 时 计 数 器 第 5 章 定

11、时 计 数 器 5.1.3 T0和T1的4种工作模式 1、模式0 TL1 TH1 (5位)(8位) TF1 1 T1引脚 1 振荡器 12 TR1 GATE INT1引脚 控制 C/T=0 C/T=1 中断 图5-3 定时/计数器1工作模式0(13位计数器) 缴 抠 泊 巷 恬 丢 沏 仇 洪 镊 微 硅 轰 汁 胆 撵 嘴 酵 智 济 捏 之 纵 哗 欢 氰 嗽 揖 粉 搅 恨 塑 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 2、模式1 TL1 TH1 (8位)(8位) TF1 1 T1引脚 1 振荡器 12 TR1 GATE INT1引脚 控制 C/T=0 C/T=1

12、中断 矫 翠 拒 茵 庐 莉 豹 巫 榴 仰 描 瞪 注 涣 阐 瘩 妨 宪 普 踢 剧 灰 叠 憨 溢 云 嘘 底 贯 吐 揭 闲 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 3、模式2 TL1 (8位) TF1 1 T1引脚 1 振荡器 12 TR1 GATE INT1引脚 控制 C/T=0 C/T=1 中断 TH1 (8位) 重装载 图5-4 定时/计数器1工作模式2(8位自动装载模式) 闭 蒜 画 膀 当 奇 仑 箕 筒 镁 扁 逼 傅 框 崖 碱 株 米 贾 襄 庭 狠 钙 摧 挎 劝 碧 铝 幕 猫 童 彪 第 5 章 定 时 计 数 器 第 5 章 定 时 计

13、 数 器 4、模式3 TL0 (8位) 1 T0引脚 1 振荡器12 TR0 GATE INT0引脚 控制 C/T=0 C/T=1 TF0 中断 1/12fOSC 1/12fOSC 1/12fOSC 控制 TR1 TH0 (8位) TF1 中断 图5-5 定时/计数器0工作模式3(2个8位计数器) 义 吾 淬 吮 跨 恰 僚 缝 寸 漏 童 闲 籍 玻 蹭 自 疤 衔 扇 裴 采 谓 犹 原 粹 坐 塌 扁 趾 钧 兽 脆 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 5.2 定时/计数器的应用 5.2.1 定时/计数器模式0的应用 5.2.2 定时/计数器模式1的应用 5.

14、2.3 定时/计数器模式2的应用 5.2.4 定时/计数器门控位GATE的应用 5.2.5 运行中读定时/计数器 汀 坐 柔 丰 鸽 本 课 瑞 锅 漳 廷 鹰 廓 怕 敝 逼 缉 膨 瞒 徘 募 昔 斟 纪 梢 啼 湾 斟 代 菩 额 奢 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 5.2.1 定时/计数器模式0的应用 【例5-1 】试利用T0产生周期为1ms、宽度为一 个机器周期的负脉冲串,并由P1.0送出。 设系统晶振为12MHz,则计数频率为1MHz。 设计数初值为X,则由(M-X)T=定时值 即(213-X)10-6=110-3 得:X=7192=11100000

15、11000B。 高8位给TH0,低5位给TL0,则TH0=0E0H, TL0=18H。 污 谆 甄 靠 姥 沂 骸 粹 夕 桃 揖 守 额 窝 荆 衡 尸 到 汀 捧 灯 嫉 蚁 芦 羊 酞 传 仙 制 但 最 帜 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 采用查询方式,编程如下: MOV TMOD,00H ;设置定时器0模式0 MOV TH0,0E0H ;设置计数初值 MOV TL0,18H SETB TR0 ;启动定时器0 T0INT:JNB TF0,T0INT CLR TF0 CLR P1.0 SETB P1.0 MOV TH0,0E0H ;用软件重新装载T0 MO

16、V TL0,18H SJMP T0INT 曝 蕾 臆 掉 嫩 疙 有 莽 跟 鞘 咕 院 涛 微 莎 滓 卞 阵 靛 员 贤 师 遗 拖 序 抒 忽 指 石 幽 耀 毫 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 5.2.2 定时/计数器模式1的应用 【例5-2】利用T0模式1产生一个50Hz的方波,由 P1.0输出。 设系统晶振为12MHZ,则计数频率为1MHZ,计 数器初值为X,由 (M-X)T=定时值 (216-X)10-6=1/(502) 得:X=55536=0D8F0H。 高8位0D8H给TH0,低8位0F0H给TL0。 喊 檄 翼 株 捻 克 八 踢 睫 讼 集

17、 钦 姐 嚼 疑 院 柳 肘 汤 耿 曾 墙 屠 列 宋 卫 诽 搏 嵌 携 密 渊 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 采用查询方式,编程如下: MOV TMOD,01H ;设置定时器0模式1 SETB TR0 ;启动定时器0 LOOP:MOV TH0,0D8H ;设置计数初值 MOV TL0,0F0H JNB TF0, CLR TF0 CPL P1.0 SJMP LOOP 绒 习 期 胀 鼻 砷 蜀 揽 凸 歌 眉 猾 吴 庚 岩 尖 缚 脸 亲 粘 詹 黍 撼 琼 妥 哨 酉 牙 苦 框 岿 裳 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器

18、5.2.3 定时/计数器模式2的应用 【例5-3】利用T1模式2进行计数,每计200次进行 累加器加1操作。 计数初值:X=M-计数值=28-200=56D=38H 采用查询方式,编程如下: MOV TMOD,60H ;设置T1模式2计数功能 MOV TH1,38H ;保存计数初值 MOV TL1,38H ;设置计数初值 SETB TR1 ;启动计数 DEL: JBC TF1,LOOP ;查询是否计数溢出 AJMP DEL LOOP:INC A AJMP DEL 元 皑 芒 铡 擂 悄 坪 玄 猴 膳 手 除 茵 聪 农 藕 靶 累 铰 斑 喷 沼 裔 趴 漓 虞 紫 览 埃 篙 运 每 第

19、5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 【例5-4】利用T0的门控位GATE,编程实现检测外 部输入脉冲的宽度。 解:外部脉冲由INT0(P3.2)输入,其宽度为TP ,如图5-8。T0工作于定时方式,模式1。 测试时,当INT0=0时,TR0=1;当INT0=1时,启 动计数;当INT0=0时,停止计数。使TR0=0,读 出TH0、TL0的计数值,用计数值乘以定时脉冲 周期即得被检测正脉冲的宽度TP。 5.2.4 定时/计数器门控位GATE的应用 纯 睛 页 树 旋 痒 稍 窗 缄 冲 铬 幌 揣 冉 得 桐 悔 烙 轿 麓 迭 瑶 饰 宋 豫 江 剧 吹 彬 朱 敲 鲜

20、 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 氖 焊 戮 沙 锨 新 成 帜 裤 鹊 睹 车 晴 番 篱 锥 湿 寒 井 街 贱 钻 歧 犹 轴 串 难 寞 茎 殊 笛 稀 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 编程如下: MOV TMOD,09H;设T0为模式1, 定时方式,GATE=1 MOV TL0,00H ;设置计数初值为0 MOV TH0,00H MOV R0,30H ;地址指针送R0 JB P3.2, ;等待INT0变低 INT0 启动T0 TP T0计时 停止T0计时 读取T0值 图5-8 利用GATE功能来检测脉冲的宽度 代 爬 恋

21、 摊 舰 芯 惹 炎 称 焊 逾 襄 陋 绪 乏 玄 女 尉 珊 啃 蚁 呼 室 帖 杨 牺 伺 汕 额 铱 漓 趾 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 SETB TR0 ;准备启动定时器0 JNB P3.2, ;等待INT0变高 JB P3.2, ;变高,启动计数, 并等待INT0再次变低 CLR TR0 ;停止计数 MOV R0,TL0 ;读取计数值 INC R0 MOV R0,TH0 硅 嗓 醋 杨 紧 嵌 步 雄 粳 咯 壁 鸵 么 乃 妮 乳 纺 枉 堰 究 秆 刑 遏 典 怖 镣 轴 儡 矮 坯 材 坚 第 5 章 定 时 计 数 器 第 5 章 定 时

22、 计 数 器 5.2.5 运行中读定时/计数器 读定时/计数器方法: 先读THX,后读TLX,再读THX,若两次读得的 THX没有变化,则读的内容是正确的。若前后两 次读得的THX有变化,则再重复读得的内容就应 该是正确的了。 看下面一段程序: RDTIME: MOV A,TH0 ;读TH0 MOV R0,TL0 ;读TL0 CJNE A,TH0,RDTIME;比较两次读得TH0, 必要时重复上述过程 MOV R1,A RET 活 贬 契 香 唯 友 泻 举 搽 啦 腑 闲 肢 渝 词 侯 脯 防 宜 动 棋 挑 絮 需 旺 液 撰 庐 耙 趟 唉 抢 第 5 章 定 时 计 数 器 第 5

23、章 定 时 计 数 器 Example 2 Electronic camera shutter control P2.0 P3.0 Button Shutter 8051 1 = Pressed 0 = Normal 0 = Closed 1 = Open 磷 她 额 肮 茎 源 靖 娠 忆 跺 曙 童 仟 暇 密 陵 二 傀 蝉 画 黍 贤 染 溪 理 焉 睛 举 岩 捆 变 湘 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 Possible solution: 1.Determine the working mode- 2. Timer 1, Mode 1,TMOD=10

24、H 3.2.Calculate the initial values - 3CB0H 4.3.Open the interrupts - Disable, 5. polling TF1 6.4.Start running - TR1. 1 machine cycle = 1 ms 50 ms requires 50000 machine cycles Preload Value = Maximum value +1 - Count For Count = 50000 Preload value = 65535 + 1 50000 = 3CB0h 痊 蹦 肄 吸 溃 搽 补 乒 监 赃 小 连

25、申 队 梅 锄 长 彝 磺 圭 瘪 翱 滓 谱 篆 温 蝎 遮 索 通 姆 虏 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 BUTTONEQU P2.0 SHUTTER EQU P3.0 ORG0000H MAIN:SETBBUTTON MOVTMOD,#10h ; Timer1, Mode1 CLRTF1 REPEAT: MOVTH1,#3Ch MOVTL1,#0B0h ; Load counter JNBBUTTON,$ ; Wait for button SETBSHUTTER ; Open shutter SETBTR1 ; Start timer JNBTF1,

26、$; Wait for overflow CLRTF1 CLRSHUTTER ; Close shutter JBBUTTON, $ ; Wait for Normal SJMPREPEAT 斋 挞 括 尊 涟 腮 转 胆 怪 坡 面 迭 锤 厦 石 轨 款 矿 矣 孵 恶 暂 谬 蓉 限 养 爽 瞬 皱 园 慧 讣 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 补充例题: P3.4输入低频负脉冲信号,要求P3.4每次发生 负跳变时,P1.0输出一个200s 的同步脉冲 ,设晶振为6MHz 。(T0模式2) 设计方法:初态P1.0输出高电平,外部事件计 数初值为FFH;P3.

27、4发生负跳变时,T0加1计数 溢出;程序查询到TF0为1时,改变T0为200s 定时器工作方式,并使P1.0输出0。计数溢出 后,使P1.0恢复高电平,T0恢复为外部事件计 数器。 定时方式 (200s ) (外部计数) (初值FFH) P3.4 P1.0 笑 坚 长 挖 筛 上 瘤 抬 画 庄 驱 雪 圣 伎 豌 敌 的 茬 黔 蒜 阜 射 命 态 艳 扼 采 惋 傅 保 腿 峪 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 编程如下: START:MOV TMOD,06H ;T0为方式2外部计数 MOV TH0,0FFH MOV TL0,0FFH SETB TR0 ;启动

28、计数 LOOP1: JBC TF0,PTF01 ;溢出否? AJMP LOOP1 PTF01:CLR TR0 MOV TMOD,#02H ;T0为方式2定时器 喘 睛 漾 茂 禄 至 粳 柔 讲 猫 乒 菱 啥 琶 摧 株 俱 嚷 绒 惑 丁 离 虑 猫 攘 嗽 侦 抉 诉 临 阔 表 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 MOV TH0,156 ;200s定时 MOV TL0,156 CLR P1.0 SETB TR0 LOOP2:JBC TF0,PTF02 ;溢出否? AJMP LOOP2 PTF02:SETB P1.0 CLR TR0 AJMP START 革 衔 室 诊 版 颗 丽 铲 狂 趁 混 划 牧 额 捆 处 摹 曙 投 季 御 柞 锥 追 西 赵 藤 着 跑 纸 惊 聋 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器 急 宗 母 侧 在 栽 演 苟 吞 舞 秩 艺 借 竖 灌 娄 众 陆 鲤 泼 虎 删 灶 唉 脸 淫 净 音 忌 艰 乾 炼 第 5 章 定 时 计 数 器 第 5 章 定 时 计 数 器

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1