




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
发光二极管的闪烁显示案例功能 定时器T0做定时器使用工作在方式0下,控制发光二极管,使发光二极管以亮0.5s后熄0.5s再亮再熄如此反复的形式进行闪烁。本案例中fosc=11.0592MHZ,闪烁周期为1s。相关知识1、发光二极管的工作特性 这个我们在前面以做过介绍,这里就不重述了,要求二极管的初始状态是熄灭的。2、定时器T0、T1的基本结构,工作原理3、定时/计数器0和定时/计数器1的应用设计T0、T1的组成结构 T0、T1的结构如图6-1所示,图中i=0、1,表示T0和T1的参数标记.例如TRi就表示T0的控制位TR0和T1的控制位TR1;Ti为单片机的外部引脚T0/T1;INTi也为单片机的外部引脚INT0/INT1;TFi为中断标志位TF0/TF1,C/T、GATE为特殊功能寄存器TMOD中的两位,TRi、TFi为特殊功能寄存器TCON中的二位。从图中可以看出,T0、T1主要由计数输入、计数器、计数溢出管理以及控制逻辑等几个部分组成。图6-1T0、T1的基本结构定时/计数器的输入有两路,由特殊功能寄存器TMOD的C/T位来管理。C/T=0时,由振荡频率的12分频后的脉冲进行计数,定时/计数器工作于定时模式,实现的是定时功能,所以定时器的实质是对机器周期进行计数的计数器;C/T=1时,对Ti引脚输入的外部脉冲进行计数,定时/计数器工作于计数模式,实现计数器功能。Ti作计数器使用时,引脚Ti用作外部脉冲输入引脚,不能作普通的I/O端口使用。其它情况下,可作普通的I/O端口使用。计数溢出管理具有使特殊功能寄存器TCON的TFi位自动置1和自动清0的功能。当计数器计数满发生溢出(即计到模值)时,自动使TFi位置1,CPU响应了对应的定时中断并且进入到中断服务程序中后,TFi位被自动清0。TFi位也可以用程序指令清0和置1。T0/T1的工作方式 定时/计数器有4种工作方式:方式0、方式1、方式2、方式3。除方式3外,T0和T1的工作状态完全相同,在不同的工作下其计数器的构成不同。在本案例中我们选用工作方式0,所以只对进行详细的介绍,其它的方式在以后的案例中涉及到了我们再做介绍。 方式0:13位的工作方式,定时/计数器的结构与图6-1所示的基本结构相同,其中的计数器为13位的计数器,它由Tli的低5位和Thi的8位组成,Tli的高3位无效。定时/计数器工作时,计数脉冲输入至TLi,Thi作加1计数,当TLi的低5位发生由11111B变至00000B时,Thi加1。由TLi和Thi组成的13位计数器满后回0时硬件电路自动将TFi置1。T0、T1的控制寄存器 T0、T1的运行受控于特殊功能寄存器TCON和TMOD(1)定时器控制寄存器(TCON)字节地址:88HTCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A8988图6-3TCON中的结构图其中,TF1、TR1用于定时/计数器1,TF0、TR0用于定时/计数器0,IE1、IT1用于外部中断1,IE0、IT0用于外部中断0。CPU响应了INTi中断后,硬件电路自动将IEi位清0ITi位:外部中断触发方式控制位。ITi=0外部中断INTi用低电平方式触发ITi=1 外部中断INTi用下跳沿方式触发单片机复位时,TCON的值为00H,这就意味着上电时T0、T1均被停止。其中TR0和TR1分别用于控制T0和T1的启动和停止,TF0和TF1用于标识T0和T1是否产生溢出中断请求。(2)、定时器方式寄存器TMODTMOD用于控制T0、T1的运行模式和工作方式,字节地址位89HM1、M0位:工作方式选择控制位。它们的取值组合用来确定定时/计数器的工作方式。M1、M0的取值组合与定时/计数器的工作方式之间的关系如表所示。M1M0方式功能说明00方式013位计数方式01方式116位计数方式10方式28位自动重载初值方式11方式3将T0分成2个8位的定时计数器(T1无此功能)GATE位:门控位。与特殊功能寄存器TCON的TRi位以及外部引脚INTi的状态组合起来控制定时/计数器Ti开启和停止,其详细的控制方法在“T0与T1的组成结构”中作了介绍,这里不再累述⑴计数初值的求法T0、T1开启时,它们的计数器都是在计数初值的基础上作加1计数,当计数满回0时,TFi置1。也就是说,当计数器计到模值时,TFi被置1,计数器发生溢出。此时,计数次数N与计数器的模值M以及计数初值X之间有如下关系M=N+X不同计数方式下,计数器的模值是不同的,各种计数方式下的模值如下:对于模值为M的计数器,如果要计数N次后发生计数溢出(TFi位置1),则其计数初值X应为:X=M-N定时/计数器作计数器使用时,一般是已知计数次数要求计数初值,我们可以用上式计算得出计数初值。定时/计数器作定时器使用时,一般是已知定时时间t,要确定计数初值X。由于定时器的实质是对机器周期进行计数,每隔一个机器周期其计数值就加1,因此,若要定时t时间,则计数器的计数次数N为:N=t/MC=(fosc×t)/12式中的MC为机器周期,fosc为晶振的振荡频率。计数初值为:X=M-N=M-(fosc×t)/12对于模值为M的计数器,其计数次数N的取值范围为:1≤N≤M【例6-1】设单片机的晶振频率fosc=12MHz,现拟定用T0作1ms定时器,试求其在方式0下的计数初值X。【解】定时器的定时长为1ms,则定时器的计数次数N为:N=(fosc×t)/12=(12×106×1×10-3)/12=1000方式0的模值为2000H。所以,计数初值X=M-N=2000H-1000=1C18H例如,假定通过计算求得计数初值为1234H,T0采用方式0工作,则把初值1234H转换成13位二进制数为:1001000110100B。截取其高8位二进制数为10010001B=91H。截取其低5位二进制数为10100B,高3位补上0后为00010100B=14H。因此,TH0中应装入91H,TL0中应装入14H在方式0下,将计数初装入T0的计数器中的程序段为:MOV TL0,#14H ;计数初值的低5位数装入TL0中MOV TH0,#91H ;计数初值的高8位数装入TH0中3、定时/计数器0和定时/计数器1的应用设计定时/计数器的应用设计主要是软件设计,包括初始化程序的设计和执行程序的设计两个部分。1)初始化程序的设计2)执行程序的设计初始化程序的设计初始化程序一般安排在系统复位后所要执行的模块程序中,有时为了提高系统的稳定性,也可以将初始化程序的一部分代码安排在系统反复执行的主程序中。初始化程序所要完成的工作是,设置定时/计数器的运行模式、工作方式、计数初值,如果执行程序被安排在定时中断服务程序中,则在初始化程序中还要包括设置定时中断的优先级、开定时中断等。也就是设特殊功能寄存器TMOD、TCON、THi、TLi以及IE、IP的值。在实际应用中,一般对TCON、IE、IP三个特殊功能寄存器采用位操作,只设置与T0或T1有关的位的值,以避免改变其它功能部件的工作状态。【程序清单】INIT_T0: MOV TMOD,#05H ;设置T0的工作模式:计数模式、方 ;式1 MOV TL0,#18H ;设置T0的计数初值:1000 MOV TH0,#0FCH SETB PT0 ;T0采用高优先级中断 SETB EA ;开全局中断 SETB ET0 ;开定时/计数T0中断 SETB TR0 ;启动定时/计数器T0 RET执行程序的设计执行程序所要完成的任务是,定时/计数器中的计数器计数满发生溢出(即定时器定时到或者计数器计数到)时,CPU所要完成的工作。这部分程序无固定的模式,要根据具体情况来作具体处理。计数器计数满发生溢出时,硬件电路会自动地将TFi位置1,并向CPU请求中断。所以执行程序可以放在定时中断服务程序中,也可以放在主程序中,通过查询TFi位值来决定执行程序是否被执行。不过这种结构将要占用CPU的大量时间,单片机的实时性将会下降,在实际应用中尽量少用。将执行程序放在定时中断服务程序中,执行程序的编写实际上就是定时中断服务程序的设计的问题。在设计中要注意以下几方面问题:软件编程1、编程思路①采用T0定时/计数寄存器②设置T0的运行模式为定时模式,工作方式为0方式③设置定时时间为5ms④在T0定时中断服务程序调用100次获得5s延时后,将发光二极管的输入状态取反2、设计过程1)主程序部分①选取工作方式0,进行延时5ms的初值计算定时器/计数器的计数初值=8192-5000*11.0592/12=3854=00B将低5位00000B送入TL0,将高8位01110000送入TH0②设置变量TimCnt,用来统计T0中断服务程序被调用的次数,初值为0③设置T0的运行模式为定时模式、工作方式为0,给TMOD提供的值为00H④开启全局中断令EA=1,开T0中断令ET0=1,启动T0计数令TR0=12)T0中断服务程序①T0在0工作方式下,当产生计数溢出后,不具备硬件自动重载功能,所以给T0重置计数初值,即TL0=00H,TH0=70H②修改TimCnt变量的值,每调用一次其值加1③判断TimCnt的值是否超过100,若是则表示已经获得延时5s的效果将发光二极管的输入状态取反,否则返回主程序,T0从初值开始重新计数3、绘制流程框图主程序流程定时中断程序4、编写源程序代码TIMCNT EQU 30H ORG 0000H AJMP MAIN ORG 000BH;T0定时中断程序的入口地址 AJMP TIMER0 ORG 0030HMAIN: MOV TH0,#70H;给T0提供计数初值 MOV TL0,#00H SETB ET0;允许T0定时中断 SETB EA;开启全局中断 SETB TR0;启动T0定时MAIN1: ORL PCON,#1;让CPU进入休眠状态 SJMP MAIN1TIMER0:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南省农村土地经营权流转合同
- 2025年探讨物业租赁合同发展趋势
- 2025机械制造外包合同书
- 2025年深入探讨我国合同解除制度相关问题
- 2025【机械设备购销合同】机械设备购销合同范本
- 2025年碲镉汞(MCT)红外探测器项目发展计划
- 2025年会议电视图像保密机项目合作计划书
- 2025年碾磨谷物及谷物加工品合作协议书
- 2025年温控仪表项目建议书
- 2025年城市规划与设计专业考试试题及答案
- 年产16.6万吨工业涂料用树脂、2.8万吨装配式建筑用硅烷改性胶粘剂用树脂、2万吨高性能防水涂料用树脂项目(一期)公众参与说明
- “4 组织环境-4.2理解相关方的需求和期望”专业深度解读与应用指导材料(雷泽佳编制-2025C1)
- 湖北省第十届湖北省高三(4月)调研模拟考试数学试题及答案
- 五一劳动节前安全检查重点
- 诊所医疗质量相关管理制度
- CHINET2024年全年细菌耐药监测结果
- 膀胱癌健康宣教课件
- DBJ50T-284-2018 工程勘察信息模型设计标准
- 中药学习题集(总论-第二十章,附标准答案)
- X线腰椎临床意义
- 2012年7月国家开放大学专本科《法律文书》期末纸质考试试题及答案
评论
0/150
提交评论