定时器,跑马灯间隔一秒闪烁单片机论文

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1.1 芯片的选择
硬件电路要实现对交流大电流电源的控制、定时时间的设定功能。若采用40脚的单片机有利于设计,但会增大电路板的体积。本设计采用ATMEL公司的AT89C2051单片机,芯片位20脚,体积小,工作电压范围宽(2.7V~6V)。性价比比较高。
3.2 软件设计
3.
根据定时器/计数器0的工作方式2逻辑结构图可知,使用工作方式2的计数范围是1~255,定时时间的计算公式为:(28-计数初值)*晶振周期*12
定时器试验
二、本次课程设计(论文)应达到的目的
1 熟练运用汇编语言编程,并且掌握键盘查表来运行相应的功能
2 熟悉启动硬件仿真系统,熟练应用该系统调试软件
3 熟悉单片机应用系统的组成,并能运用程序控制外部流水灯
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
(1)初始化定时器,使之采用定时器0,方式2,定时100us时间
SETB ET1
RET
END
四、系统功能实现
4.1软件功能调试
软件调试一般分为以下四个阶段:
1、编写程序并查错;
2、在C语言的编译系统中编译源程序
3、对程序进行编译连接,并及时发现程序中存在的错误;
4、改正错误。
在软件调试过程中,最初程序编译出错,我经过认真的分析,发现中断服务子程序中缺少了返回指令,编译后又未得到正确周期指令数值。在一遍遍重新阅读程序后方知未将R2清零(计数值),经改正终于调试成功,并很好的达到既定的设计效果。
3.2.2软件流程图
图3-2程序流程图
3.2.3汇编程序
ORG 0000H
LJMP MAIN
ORG 000BHT0入口地址
LJMP PT0M2
ORG 001BHT1入口地址
LJMP PT1M0
ORG 0100H
MAIN: MOV SP,#60H初始化堆栈,保护工作寄存器区
MOV R0,#0FFH
MOV R1,#01H
2.1.3Biblioteka Baidu时间到,控制发光二极管点亮
2.2 程序框图及说明
利用定时器T0的中断来进行延时而做成的流水灯,发光二极管点亮后延时1s再次点亮,如此反复循环。我们可以设置T0的初值为100ms,在中断中用一计数器进行计数,当其等于10000时表示到了1s,即可进行下一步操作了。在程序开始执行前,中断计数器初值为0。该流水灯的详细流程如下图2-1。
(2)通过设置中断,产生总时间为1秒
(3)1秒时间到,控制发光二极管点亮
四、应收集的资料及主要参考文献:
1 李建忠,单片机原理及应用.西安电子科技大学出版社,2008年
2启东单片机仿真试验系统使用说明书
3 李珍, 单片机原理与应用技术.清华大学出版社,2003年
五、审核批准意见
教研室主任(签字)
一、设计内容及要求……………………………………4
1.2.2熟悉启动硬件仿真系统,熟练应用该系统调试软件
1.2.3 熟悉单片机应用系统的组成,并能运用程序控制外部流水灯
1.3 设计目标
采用定时器0,方式2,定时一定的时间,让发光二极管亮
二、系统设计原理及方案
2.1 系统分析
2.1.1初始化定时器,使之采用定时器0,方式2,定时100us时间
2.1.2通过设置中断,产生总时间为1秒
经过一周的努力,顺利的完成了单片机课设。这是一个磨练意志的过程。从课题的选择开始,硬件和软件系统的设计、到最后的Proteus软件仿真完成,这其中经历了很多困难,但是更重要的是在这个过程中我得到了很大的锻炼。一方面通过C51单片机等一些器件的设计让我学习和掌握了单片机技术的基础知识和技术要点,也使以前学的很多知识都得到了运用;另一方面在用Proteus软件画电路图时,然后再转换成一维的WORD中进行编辑,这个过程中让我掌握了计算机辅助的设计技术。当然,这是一个需要不断的尝试,不断的校核,不断的修改,最后完成一个合理的设计的过程。需要的是细心和耐心。在很大程度上培养了我拼搏的工作精神。使我受益匪浅,更加明确了自己专业的方向。
MOV R2,#00H延时标志位,R2=1时延时时间到
MOV TMOD,#52H计数器T1工作在方式1,定时器T0工作在方式2
LCALL IT0P
LCALL IT1P
SETB EA开中断
DELAY: CJNE R2,#01H,DELAY如果R2=0则继续等待,直到R2=1即延时时间到。
MOV A,R0
灭,1S延时后再置P1.0为低电平,红灯亮,如此循环。
图4-1系统仿真效果图
此次课程设计在实际操作过程中,由于按键及代码执行所需时间的影响,设计后的效果并不精准,还有改进的空间。
五、实验总结与心得体会
这次单片机课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固,并进一步熟悉了汇编语言在单片机中的结构和使用方法,基本达到了能独立阅读、编制和调试一定规模的汇编语言程序的水平,学习在使用子程序时应正确使用调用CALL和返回RET指令,以及合理使用堆栈之灵来达到寄存器的保护和恢复。
本文是基于51系列单片机设计的一种用于控制家用电器的设计方案。
一、设计内容及要求
1.1 课题简介
本系统充分利用了8051芯片的I/O引脚。系统以采用MCS-51系列单片机Intel8051为中心器件来设计定时器,通过中断的应用来达到一定的定时时间,从而控制外部流水灯的闪烁。
1.2 设计目的
1.2.1熟练运用汇编语言编程,并且掌握键盘查表来运行相应的功能
本次课题设计的晶振频率为12MHz,所以机器周期为1微秒。由于设计要求定时100微秒,设计数初值为x,则(28- x)*1*10-6s=100*10-6s,计算得x=ox9CH。所以寄存器TL0和TH0都设置初值为9CH。总定时时间要求是1秒,所以可利用软件方法实现10000次100微秒的定时,这就是循环定时。
[4]杨恢先,黄辉先著.单片机原理与应用.人民邮电出版,2009.7
[5]朱定华,单片机原理与接口技术.电子工业出版社,2001.4
[6]王威,HCS12微控制器原理及应用.北京航空航天大学出版社,2007.10
[7]龚运新,单片机C语言开发技术.北京清华大学出版社,2006.10
[8]胡洪波,单片机原理与应用实验教程.湘潭大学出版社,2009.7
西安建筑科技大学华清学院
课程设计(论文)
课程名称:单片机原理及其接口技术
题目:定时器实验
院(系):机械电子工程系
专业班级:电信0801
******
学号:32
*******
2011年7月3日
西安建筑科技大学课程设计(论文)任务书
专业班级:电子信息科学与技术0801学生姓名:崔艳妮指导教师(签名):
一、课程设计(论文)题目
二、系统设计原理及方案………………………………4
三、系统软硬件设计……………………………………5
四、系统功能实现………………………………………8
五、实验总结与心得体会………………………………9
引言
随着时代的进步,电子行业的发展,定时器的应用也越来越广泛。但传统的定时器都是使用发条驱动式、电机传动式或电钟式等机械定时器。电子定时器相对普通定时器来说,体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。本设计采用AT89C51单片机为核心,阐述了系统工作原理,给出了软件流程。该定时器满足对电器的电源进行控制,同时要方便用户对电子定时器的操作。
[9]启东单片机仿真试验系统使用说明书
通过本次课设,我不仅学到了关于单片机技术方面的许多专业知识,同时也让我感觉到团队合作的重要性。其实如何有效和快速的找到资料也是课设给我的启发,利用好图书馆和网络,是资源的到最好的利用。与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系,也扩展了自己的思维。课设是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。
RETI
IT0P: MOV TL0,#9CH函数IT0P是T0的初始化子程序
MOV TH0,#9CH给T0赋初值
SETB TR0启动T0,定时开始
SETB ET0允许T0中断
SETB P1.0
RET
IT1P: MOV TL1,#0F0H函数IT1P是T1的初始化子程序
MOV TH1,#0D8H
SETB TR1
XRL A,R1
MOV P1,A ;
MOV R2,#00H清零延时标志R2
LJMP DELAY函数PT0M2是T0的中断服务子程序
PT0M2: CLR P1.0点亮二极管
SETB P1.0
RETI
PT1M0: MOV R2,#01H函数PT1M0是T1中断服务子程序
MOV TL1,#0F0H
MOV TH1,#0D8H
这过程中我受到了老师的精心指导和帮助,您的思想指引着我们克服了诸多困难,在这里我衷心的感谢张老师!
参考文献
[1]李建忠,单片机原理及应用.西安电子科技大学出版社,2008年
[2]李珍,单片机原理与应用技术.清华大学出版社,2003年
[3]徐爱钧,智能化测量控制仪表原理与设计(第二版).北京航天航空大学出版社,2004.9
此系统还可改进实现电子计数器、跑马灯等功能,这是一个比较难的挑战。
4.2硬件功能测试
此次课程设计主要利用查询方法,运用循环嵌套循环的方法,简单的说是10000*100,最内层循环是100微秒;第二层循环通过计数器T1计数实现,实现10000个100微秒后转到最外层循环;通过给T1赋初值D8F0H,当它开始溢出时即达定时时间1秒。定时时间到则置P1.0为低电平,红灯则亮,然后立刻熄
图2-1系统框图
三、系统软硬件设计
3.1 硬件设计
3.1.1定时器设计电路图
本次课程设计采用Protues7.5设计的电路图如图3-1所示。图中单片机采用AT89C51,由图可见,P0.1(对应89C51的P0.1脚)脚置低电平灯亮,然后灯灭,1s延时过后灯再次变亮,如此反复循环。
图3-1 系统原理图
我们在日常生活中,经常碰到一些需要定时的事情,例如:印相或放大照片,需要定在零点几秒的时间,洗衣机洗涤衣物需要定在几分钟到几十分钟的时间,电风扇需要定在数十分钟的时间。完成这种定时的定时器有多种多样,在家用电器中采用机械定时器就是根据一般上弦钟表原理设计的,这种定时器虽然结构简单,成本低,维修也比较方便,但是它的触头频繁接触和断开,大大的缩减了它的使用寿命,也不利于进一步全自动化。在电子技术突飞猛进的今天,电子定时器一定会逐步取而代之,这是不言而喻的。
相关文档
最新文档