单片机课程设计-255秒定时器.doc

上传人:爱问知识人 文档编号:5019188 上传时间:2020-01-29 格式:DOC 页数:18 大小:501.50KB
返回 下载 相关 举报
单片机课程设计-255秒定时器.doc_第1页
第1页 / 共18页
单片机课程设计-255秒定时器.doc_第2页
第2页 / 共18页
单片机课程设计-255秒定时器.doc_第3页
第3页 / 共18页
单片机课程设计-255秒定时器.doc_第4页
第4页 / 共18页
单片机课程设计-255秒定时器.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《单片机课程设计-255秒定时器.doc》由会员分享,可在线阅读,更多相关《单片机课程设计-255秒定时器.doc(18页珍藏版)》请在三一文库上搜索。

1、255秒定时器东 北 石 油 大 学 课 程 单片机课程设计 题 目 255秒定时器 院 系 电气信息工程学院测控系 专业班级 测控081 学生姓名 张嘉鑫 学生学号 指导教师 课 程 设 计 2011年 7 月 22日16东北石油大学课程设计任务书课程 单片机课程设计 题目 255秒定时器 专业 测控技术与仪器 姓名 张嘉鑫 学号 080601240125 一、任务 设计一款基于AT89C51单片机255秒定时器,实现255秒的定时二、设计要求1 利用定时器/计数器定时255秒。2 通过对AT89C51单片机的编程,某键按下去开始计时,定时时间到红灯亮, 再按下去停止计时。3 写出详细的设计

2、报告。4 给出全部电路和源程序。3、 参考资料1 王瑞兰.8位串行接口数码显示驱动器MAX7219及其应用. 北京:清华大学出版社2 王建华.MAX7219原理及其应用. 北京:机械工业出版社,20033 张春光.微型计算机控制技术.北京:化学工业出版社,20024 李贵山.微型计算机测控技术.北京:机械工业出版社,20025 唐瑞庭.微型计算机原理与接口技术.北京:高等教育出版社,19986 李广弟,朱月秀,冷祖祁.单片机基础.第3版.北京:北京航空航天大学出版社,2007完成期限 2011.7.13 至 2011.7.22 指导教师 刘霞 刘继承 专业负责人 曹广华 2011年 7月 13

3、 日第1章 绪论31.1 课题概述31.2 系统主要功能4第2 章 总体方案论证与设计42.1 相关控制寄存器42.2 定时器工作方式262.3 总体设计8第3章 系统硬件设计83.1 定时器设计电路图93.2 元器件清单9第4章 系统的软件设计104.1 计数初值计算104.2 详细流程图10第5章 结果分析11结论12参考文献13附录1 程序14附录2 仿真效果图16第一章 绪论在我们平时的生活中,有许多地方可以看到定时的影子,如手表定时、电脑电视定时、工厂车间零件制作定时等等。定时不仅让我们的生活变得时间化和规律化,也从一定程度上提高了生产力,提高了人民的生活水平。基于单片机的定时,轻巧

4、简便,利于携带和操作,在当今物质文化飞速发展的今天更是必不可少的。所以研究基于单片机的定时器设计很有意义。1.1 课题概述在单片机控制应用的定时和计数的需求很多,为此在单片机中都有定时器/计数器。AT89C51的两个定时器/计数器都是16位加法计数结构。由于在89C52中只能使用8为字节寄存器,所以把两个16位定时器分解为4个8位定时器,依次为TL0、TL1、TH0和TH1。它们均属于专用寄存器之列。单片机的定时功能是通过计数器的计数来实现的,不过此时的计数脉冲来自单片机芯片内部,每个机器周期有一个计数脉冲,即每个机器周期计数器加1。由于一个机器周期等于12个振荡脉冲周期,因此,计数频率为振荡

5、频率的1/12。如果单片机采用12MHz晶振,则计数频率为1MHz,即每微妙计数器加1。这样,在使用定时器是既可以根据计数值计算出定时时间,也可以通过定时时间的要求算出计数器的预置值。要实现定时器的功能,需要用到与定时器/计数器应用有关的控制寄存器,它们分别是:定时器控制寄存器(TCON)、定时器方式选择寄存器(TMOD)、中断允许控制寄存器(IE)。1.2 系统主要功能此次课题所要设计的系统比较简易,其主要功能是:利用定时器/计数器定时255秒,某键按下去开始计时,定时时间到红灯亮,再按下去停止计时。第2 章 总体方案论证与设计2.1 相关控制寄存器在AT89C51中,与定时器/计数器应用有

6、关的控制寄存器共有3个,分别是定时控制寄存器、工作方式控制寄存器和中断允许控制寄存器。本次课程设计将会涉及这三个控制寄存器,现对它们说明如下。定时器控制寄存器(TCON)TCON寄存器地址为88H,位地址为8FH88H。该寄存器位定义及位地址表示如表1所示。位地址8FH8EH8DH8CH8BH8AH89H88H位符号TF1TR1TF0TR0IE1IT1IE0IT0 表1 TCON寄存器表示定时器控制寄存器中,与定时器/计数器有关的控制位共4位,即TF1、TR1、TF0和TR0,它们的作用分别为:TR0和TR1运行控制位。TR0(TR1)=0,停止定时器/计数器工作;TR0(TR1)=1,启动定

7、时器/计数器工作。控制计数启停只需用软件方法使其置1或清0即可。TF0和TF1计数溢出标志位。当计数器产生计数溢出时,相应溢出标志位由硬件置1。计数溢出标志用于表示定时/计数是否完成,因此,它是供查询的状态位。当采用查询方法是,溢出标志位被查询,并在后续处理程序中应以软件方法及时将其清0。而当采用中断方法是,溢出标志位不但能自动产生中断请求,而且连清0操作也能在转向中断服务程序时由硬件自动进行。定时器方式选择寄存器(TMOD)TMOD寄存器用于设定定时器/计数器的工作方式。寄存器地址为89H,但它没有位地址,不能进行位寻址,只能用字节传送指令设置其内容。该寄存器的位定义如表2所示。B7HB6H

8、B5HB4HB3HB2HB1HB0HGATEM1M0GATEM1M0 定时器/计数器1 定时器/计数器0表2 TMOD寄存器表示它的低半字节对应定时器/计数器0,高半字节对应定时器/计数器1,前后半字节的位格式完全对应。位定义如下:GATE门控位。GATE=0,以运行控制位TR启动定时器;GATE=1,以外中断请求信号(或)启动定时器,这可以用于外部脉冲宽度测量。定时方式或计数方式选择为。=0,定时工作方式; =1,计数工作方式。M1M0工作方式选择位。M1M0=00,工作方式0;M1M0=01,工作方式1;M1M0=10,工作方式2;M1M0=11,工作方式3。 中断允许控制寄存器(IE)该

9、寄存器地址为A8H,位地址为AFHA8H。寄存器位定义及位地址如表3所示。位地址AFHAEHADHACHABHAAHA9HA8H位符号EAESET1EX1ET0EX0表3 TMOD寄存器表示其中与定时器/计数器有关的是定时器/计数器中断允许控制位ET0和ET1。ET0(ET1)=0,禁止定时器中断;ET0(ET1)=1,允许定时器中断。方案二:采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或共2端),LED发光管的另一脚接通用I/O口,控制其亮灭。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。 比较以上两种方案,系统设计中采用方案二。2.2 定时器工作方

10、式2AT89C51的两个定时器/计数器都有4种工作方式是,即工作方式03。由于本次课程设计主要涉及定时器/计数器0的工作方式2,所以以下将重点介绍定时器/计数器0的工作方式2。本次课程设计使用定时器工作方式2,是由于其相对定时器工作方式0和工作方式1有一定的长处。工作方式0和工作方式1有一个共同点,就是计数溢出后计数器全为0,因此循环定时应用时就需要反复设置计数初值。这不但影响定时精度,而且也给程序设计带来麻烦。工作方式2就是针对此问题而设置的,它具有自动重新加载计数初值的功能,免去了反复设置计数初值的麻烦。定时器/计数器0的工作方式0和工作方式2所对应的电路逻辑结构图分别如图1和图2所示。T

11、F0TH0(8位)TL0(低5位)&11控制T0(P3.4)TR0GATEINT0(P3.2)OSC12分频图1定时器/计数器0的工作方式0逻辑结构 &11控制T0(P3.4)TR0GATEINT0(P3.2)OSC12分频TL0(8位)TH0(8位)TF0重新载入图2 定时器/计数器0的工作方式2逻辑结构对比上述两图,我们可以发现工作方式0和工作方式2对应的逻辑结构还是有许多部分相同的,如两图的右半部分,而两图左半部分则有所差异。下面将对其相同点和不同点作简要分析,这也是为什么这次课程设计选择工作方式2的原因。相同点:两种工作方式,计数脉冲既可以来自芯片内部,也可以来自外部。来自内部的是机器

12、周期脉冲,图中OSC是英文Oscillator(振荡器)的缩写,表示芯片的晶振脉冲,经12分频后,即为单片机的机器周期脉冲。来自外部的计数脉冲由T0(P3.4)引脚输入,计数脉冲由控制寄存器TMOD的位进行控制。当=0时,接通机器周期脉冲,计数器每个机器周期进行一次加1,这就是定时器工作方式;当=1时,接通外部计数引脚T0(P3.4),从T0引入计数脉冲输入,这就是计数工作方式。不同点:如图3-1所示的左半部分,工作方式0条件下,TL0使用了5位,当TL0的低5位计数溢出时,向TH0进位;而全部13位计数溢出时,向计数溢出标志位TF0进位,将其置1。如图3-2所示的左半部分,工作方式2条件下,

13、16位计数器被分成两部分,TL作为计数器使用,TH作为预置寄存器使用,初始化时把计数初值分别装入TL和TH中。当计数溢出后,由预置寄存器TH以硬件方法自动给计数器TL重新加载。变软件加载为硬件加载。更详细点,初始化时,8位计数初值同时装入TL0和TH0。当TL0计数溢出时,置位TF0,并用保存在预置寄存器TH0中的计数初值自动加载TL0,然后开始重新计数。如此重复,这样不但省去了用户程序中的重装指令,而且也有利于提高定时精度。2.3 总体设计如图3所示是此次课题设计的总体框架图。开关第一次按下定时2秒红灯亮开关第二次按下红灯灭 定时停止 图3 定时器总体框架图第3章 系统硬件设计3.1 定时器

14、设计电路图本次课程设计采用PROTEL设计的电路图如图3-4所示。图中单片机采用AT89C51,由图可见,P27脚置低电平灯亮,开关按下时P20为低电平输入。图图4 定时器电路图3.2 元器件清单电路焊接时需要电烙铁1个和焊锡丝若干,其它所需元器件如下所示:112MHz晶振1个;2. 四角按键1个;3. AT89C52 1个;4. 红色发光二极管1个;5. 1K电阻2个;6. 200欧姆电阻1个;7. 30pF瓷片电容2个;8. 10uF电解电容1个;9电路板1块;10. 导线若干。第4章 系统的软件设计4.1 计数初值计算 根据定时器/ 计数器0的工作方式2逻辑结构图可知,使用工作方式2的计

15、数范围是1255,定时时间的计算公式为: (28-计数初值)*晶振周期*12或 (28-计数初值)*机器周期 本次课题设计的晶振频率为12MHz,所以机器周期为1微秒。由于工作方式2计数最高限值为255,所以这里选定定时时间为250微秒,这样可计算出计数初值。设计数初值为 x,则(28- x)*1*10-6s=250*10-6s 计算得 x=6D=06H。所以寄存器TL0和TH0都设置初值为06H。 总定时时间要求是255秒,所以可利用软件方法实现1000000次250微秒的定时,这就是循环定时。4.2 详细流程图 定时器设计的详细流程图如图5所示。250us到了?N累加器加1YA=10000

16、00?吗?NR0=0吗?N初化灯亮累加器清0是否按下?开始定时YN送TH0和TH1初值06H,R0=28H,累加器清0是否按下?灯灭,停止定时N 图5 定时器设计详细流程图第5章 结果分析 此次课程设计主要利用查询方法,运用循环嵌套循环的方法,简单的说是250*200*40,最内层循环是250微秒;第二层循环通过累加器A计数实现,实现1000000个250微秒后转到最外层循环;通过给R0赋初值40,每次A达到200后R0减1赋给R0,再判断R0是否为0,也即判断有无实现40个1000000*250的计数,即定时时间有无达到2秒。定时时间到则置P2.7为低电平,红灯则亮,再按开关,置P2.7为高

17、电平,红灯灭,再停止定时。课程设计硬件和软件设计结束后,可以看到当开关按键按下后的2s红灯亮,再按开关红灯灭。实际操作过程中,由于消除开关抖动及代码执行所需时间的影响,设计后的效果并不精准,还有改进的空间。结论这次的单片机课程设计是我们第一次亲手设计电路以及实现相关硬件功能的宝贵的经历。我们组一共七个人,设计的课题是“定时器”。这个课题和课本联系得很紧密,较其它课题简单多了。但许多问题还得同样得仔细对待。我们遇到的第一个问题是电路的设计。尽管课本上已提供给了我们非常详尽的信息,但在应用时我们还是显得有点吃力,这或许也有未能安排好自己时间的缘故。毕竟是一个团队,在最后时刻,有同学还是搜集到了与我

18、们课题有关的电路设计资料。经过讨论,组长确定了我们这一组的电路图。整个电路所需元器件不过十件左右,但却能实现定时的功能,实在觉得了不起。第二个问题是电路的焊接。谈起电路焊接,我们中的每个同学可谓是沙场老将,因为经历过两次为期一周的电工实习,同学们现在也能熟练地操作起电烙铁来。要想把整个电路焊得准确而又不失美态,也得花点功夫。这重头戏组长自然会很看重,于是乎我们几个组员在一旁协助组长,大概两个上午就完成了电路的焊接。其间,我也认识到,焊好电路所要考虑的问题其实很多,比如电路板上铜盘是否是相通的,根据情况的不同还得适当改变元器件的摆放位置,一不小心可能就会影响电路功能的实现。总结起来,这次课题设计

19、不仅培养或者说提高了我们的动手能力,也让我们在单片机理论理解方面有了新的加深与突破。相信这次宝贵的经历,会是我们以后自己动手设计实现硬件的重要台阶!参考文献1 王瑞兰.8位串行接口数码显示驱动器MAX7219及其应用. 北京:清华大学出版社2 王建华.MAX7219原理及其应用. 北京:机械工业出版社,20033 张春光.微型计算机控制技术.北京:化学工业出版社,20024 李贵山.微型计算机测控技术.北京:机械工业出版社,20025 唐瑞庭.微型计算机原理与接口技术.北京:高等教育出版社,19986 李广弟,朱月秀,冷祖祁.单片机基础.第3版.北京:北京航空航天大学出版社,2007附录1 程

20、序ORG 0000H ; LJMP MAIN ORG 0100H ;MAIN: MOV IE,#00H ; MOV TMOD,#02H ;LOOP1:MOV TH0,#06H ; MOV TL0,#06H ; MOV R0,#28H ; CLR A ; JB P2.0,$ ;P2.0=1? LCALL DELAY10 ; JB P2.0,$ ;JNB P2.0,$;P2.0=0? SETB TR0 ;DEL: JBC TF0,LOOP2 ; AJMP DELLOOP2:INC A ; CJNE A,#0C8H,DEL ;(A)=200?, CLR A ; DJNZ R0,DEL ;(R0)=(

21、R0)-1后(R0)=0?, CLR P2.7 ; JB P2.0,$ ; LCALL DELAY10 JB P2.0,$ JNB P2.0,$ SETB P2.7 ; CLR TR0 ; AJMP LOOP1 ;DELAY10: MOV R7,#10 ; LL: MOV R6,#10 DJNZ R6,$ DJNZ R7,LL RET END附录2 仿真效果图东北石油大学课程设计成绩评价表课程名称单片机课程设计题目名称 255秒定时器学生姓名张嘉鑫学号080601240125指导教师姓名刘霞刘继承职称教授教授序号评价项目指 标满分评分1工作量、工作态度和出勤率按期圆满的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。202课程设计质量课程设计选题合理,计算过程简练准确,分析问题思路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。453创新工作中有创新意识,对前人工作有一些改进或有一定应用价值。54答辩能正确回答指导教师所提出的问题。30总分评语:指导教师: 年 月 日

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

当前位置:首页 > 研究报告 > 商业贸易


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