基于单片机控制的时钟控制器设计毕业设计(论文)(可编辑)_第1页
基于单片机控制的时钟控制器设计毕业设计(论文)(可编辑)_第2页
基于单片机控制的时钟控制器设计毕业设计(论文)(可编辑)_第3页
基于单片机控制的时钟控制器设计毕业设计(论文)(可编辑)_第4页
基于单片机控制的时钟控制器设计毕业设计(论文)(可编辑)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机原理与应用技术题目:基于单片机控制的时钟控制器专业班级:姓名:_时 间:指导教师: 单片机控制的时钟控制器课程设计任务书1设计目的与要求设计出一用控制器准确地理解有关要求,独立完成系统设计,(1)(2)2设计内容 (1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)sch文件生成与打印输出;3编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。4答辩 在规定时间内,完成叙述并回答问题。目 录1引言12总体设计方案设计思路1的原理1的显示1 2.2总体设计框图3设计原理分析43.5系统软件设计54结束语6 参考文献6 附录 一 7

2、 附录 二 8单片机控制的时钟控制器应教054班 付春民摘要:本设计主要利用at89s51和显示电路构成,硬件电路简单但时钟准确误差小。at89s51体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。这次单片机课程设计通过对它的学习与应用,从而达到学习、设计、开发软、硬件的能力。随着电子技术产业结构调整,生产工艺的飞速发展,人们生活水平的不断提高,家用电器逐渐普及,市场对于智能时钟控制系统的需求也越来越大。本文所述智能时钟控制系统主要指时钟显示、时间设置、闹铃(可扩展功能)等控制系统。关键词:at89s51 单片机 时钟电路 74ls164 1 引言数字时钟是生活中不可少的必需品数字钟

3、是采用at89s51和显示电路构成实现对时,分,秒.数字显示的计时装置,硬件电路简单但时钟准确误差小。at89s51体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。这次单片机课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。随着电子技术产业结构调整,生产工艺的飞速发展,人们生活水平的不断提高,家用电器逐渐普及,市场对于智能时钟控制系统的需求也越来越大。本文所述智能时钟控制系统主要指时钟显示、时间设置、闹铃(可扩展功能)等控制系统。钟表的数字化以及很多功能的不断扩展给人们生产生活带来了极大的方便,不仅仅只有报时功能而且也增加了定时自动报警、时间程序自动控制、定时开关机

4、家用电器、通断动力设备等。2 总体设计方案2.1 设计思路采用单片机设计的电子时钟通常有两种方法:一是通过单片机内部的定时器/计数器,采用软件编程实现时钟计数,一般称为软时钟。这种方法硬件线路简单,系统的功能一般与软件设计相关,通常用在对时间精度要求不高的场合。二是采用时钟芯片,它的功能强大,功能部件集成在芯片内部,自动产生时钟等相关功能。这种方法硬件成本相对较高,但软件编程较简单,通常用在对时钟精度要求校高的场合。由于本设计对时钟的误差要求不高所以采用第一种方案。 软时钟的原理软时种是利用at89s51内部的定时器/计数器来实现的,它的处理过程如下:首先设定单片机内部的一个定时器/计数器工作

5、于定时方式,对机器周期计数形成基准时间10ms 然后用对10ms进行循环100次为1秒,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”计数器的输出,通过六个七段led显示器显示出来。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“

6、分”、“秒”显示数字进行校对调整。 数码管的显示数码管的显示可以采用两种方法:一是静态显示方式 所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定地导通或截止。 二是动态显示方式所谓动态显示,就是将要显示的多位led显示器采用一个8位的段选端口,然后采用动态扫描方式一位一位地轮流点亮各位显示器。由于人眼视觉的暂留性,当数码管重复的频率达到一定程度时看上去显示效果很稳定。由于采用动态显示方式时占用单片机的资源较多且电路连接时较复杂做板时跳线较多所以本设计采用第一种方法静态显示方式。2.2 总体设计方框图单片机控制的时钟控制器由单片机及最小系统、时间显示电路、时间调整电路、报警电路组成

7、。单片机最小系统是单片机工作的前提条件必需保证最小系统的正常工作才能再继续扩展其它功能。单片机最小系统包括复位电路、晶振电路、以及at89s51的31脚接高电平。时间调整电路是为调整时、分、秒的正确性而设置的。数码管显示电路采用6个七段数码管显示。报警电路采用蜂鸣器。设计总体框图如图1所示。图1 总体框图3 设计原理分析3.1 单片机最小系统的分析最小系统一般包括:单片机、晶振电路、复位电路。复位电路由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,rst脚将会出现高电平,并且,这个高电平持续的时间由电路的rc值来决定.典型的51单片机当rst脚的高电平持续两个机器

8、周期以上就将复位,所以,适当组合rc的取值就可以保证可靠的复位.一般c 取10u,位一般c取22u,r1取200,r2取1k原则就是要让rc组合可以在rst脚上产生不少于2个机周期的高电平。 晶振电路:典型的晶振取11.0592mhz 因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合 /12mhz 产生精确的us级时歇,方便定时操作 。特别注意:对于31脚 ea/vpp ,当接高电平时,单片机在复位后从内部rom的0000h开始执行;当接低电平时,复位后直接从外部rom的0000h开始执行。单片机最小系统原理如图2所示。图2 单片机最小系统3.2 时间显示电路的设计时间

9、显示电路采用静态显示,利用74hc164来驱动,数码管显示, 74hc164是串行输入并行输出的移位寄存器,并带有清除端,其中q0-q7为并行输出端,mr为清除端,当它为零电平时使74hc164清零,a、bclk 0、mr 1 图3 时间显示电路 3.3 时间调整电路和指示电路设计时间调整电路采用了四个独立连接式按键该电路采用查询方式,当任何一个键按下时,与之相连的输入数据线即被清0(低电平),而平时该线为1(高电平)。其中s1是时间开始按键,当s1按下时时钟开始工作,初始值设定在0点整,当需要改变时间时,应按下s2,该键是时、分、秒之间的切换,当s2按下时,显示电路中,秒的位置处于闪烁状态,

10、处于当前可调,当再次按下该键时,显示电路的分应闪烁,处于当前可调,第三次按下时,显示电路中的时闪烁处于可调状态。当时或分被s2激活可调时,按下s3可对其进行加1调整,按下s4可对其进行减1调整长按s3或s4时可以快速加或减调整。时间调整电路如图4所示。指示电路当时钟加电后按下s1键后时间开始正常工作时,at89s51的p2.7低电平从而工作指示灯d0发光指示正常运行状态。而d1、d2、d3、d4 图4 时间调整电路 图5 指示电路 3.4报警电路设计报警电路由于pnp三极管和蜂鸣器组成电路。当时钟设置闹铃或在整点时,当单片机使p0.6口置0时,p0.6接晶体管t1(8850)的基极输入端,从而

11、使蜂鸣器发出报警的声音。图6 报警电路 3.5系统软件设计主程序首先是初始化部分,主要是计时单元清零,中断初始化,启动定时器工作,然后是调用显示子程序,接着是判断有无按键。无按键则回到调用显示子程序处;有按键,则执行按键处理子程序,执行完后回到调用显示子程序处,重复循环。主程序流程图如图7所示。为了保证系统的可靠运行,在主程序之外还增加了定时中断程序。电子钟的记时是用单片机内部的定时计数器t0,定时10ms,100次中断即为1s,60s为1min,60min为1h,24h为1天,如此循环,从而实现记时功能。程序流程图如图8所示图7 主程序流程图 图8 中断程序流程图4 结束语从这次实习中我感受

12、到对于硬件的设计以及制作电路板都还算顺利,自已的不足之处由于单片机已经很长时间没有看过了所以对很多常用的汇编语言指令不太熟悉,以至于在调制程序时多次出错。比如在这次时钟设计中本想认为可以将整点报时和闹铃功能都能实现呢可是光编程就花费了我9天的时间,本次时钟设计主要利用软件来完成功能。如果在要求时报电路较高的场所可以用时钟芯片来设计出精确的时钟,另外加上语单芯片可以完成整点报时和闹铃的功能。在本设计中虽然说有些简单但是时钟还是很准确的,电路简单稳定,不受外界的干扰环境的影响,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。参考文献1 李朝青m2 夏路易石宗义电路原理图与电路设计教程pro

13、tel 99sem北京希望电子出版社2002 3 张桂红m出版社20072 ?4 汪道辉m出版社5 孙涵芳mcs-51系列单片机原理及应用m北京航空航天大学出版社19946 周航慈.单片机应用程序设计基础m.北京:电子工业出版社,1997年7月附录(一)图9 总体原理图附录(二) org 0000h ajmp main ; 转到主程序 org 000bh ajmp serve ; 转到中断程序;*主程序*main: mov tmod ,#01h mov r0 ,#31h mov 30h ,#00 mov r6 ,#00 mov r7 ,#00 m_sec equ 20h ;毫秒单元 sec e

14、qu 21h ;秒单元 min equ 22h ;分单元 hour equ 23h ;时单元 speak bit p0.6 ;蜂鸣器 led1 bit p2.7 ;按键指示灯 led2 bit p2.6 led3 bit p2.4 led4 bit p2.3 led5 bit p2.2 sk1 bit p1.0 ;数字钟开始键 sk2 bit p1.1 ;数字钟调整时间部分切换键 sk3 bit p1.2 ;数字钟调整时间加1键 sk4 bit p1.3 ;数字钟调整时间减1键 setb et0 ;允许t0中断 setb ea ;允许cpu中断 mov th0 ,#0d8h mov tl0 ,

15、#0f0h ;赋计数器初值 mov m_sec ,#00 ;毫秒单元清零 mov sec ,#00 ;秒单元清零 mov min ,#00 ;分单元清零 mov hour ,#00 ;时单元清零 setb tr0 lcall return ;调用显示程序;*数字钟按键程序*;*开始键*s1: jb sk1 ,s2 ;数字钟开始键 lcall dl10ms jb sk1 ,s2 clr led1 jnb sk1 ,$ setb tr0 mov 30h ,#00 mov r7 ,#00;*调整时间部分切换键*s2: mov a ,30h cjne a ,#00 ,net6 jb sk2 ,s3 ;

16、数字钟调整时间部分切换键 lcall dl10ms jb sk2 ,s3 clr speak clr led2 inc 30h jnb sk2 ,$ setb speak setb led2 inc r7 clr tr0 sjmp net7net6: jb sk2 ,net7 lcall dl10ms jb sk2 ,net7 clr speak clr led3 inc 30h jnb sk2 ,$ setb speak setb led3 inc r7net7: cjne r7 ,#1 ,net1 lcall msh ;分闪烁 sjmp s3net1: mov r7 ,#0 lcall h

17、sh ;时闪烁 sjmp s3net9: lcall return;*调整时间加1键*s3: jb sk3 ,s4 ;数字钟调整时间键 lcall dl10ms jb sk3 ,s4 clr speak clr led4 cjne r7 ,#1 ,net2 setb speak setb led4 lcall dl200ms inc min ;分单元加1 mov a ,min cjne a ,#60 ,net9 ;不等60时跳转显示,等60时将分单元清零 mov min ,#00 lcall net3 jb sk3 ,net4 ljmp s3net2: setb speak setb led4

18、 lcall dl200ms inc hour ;时单元加1 mov a ,hour cjne a ,#24 ,net9 ;不等24时跳转显示,等24时将时单元清零 mov hour ,#00 lcall net3 jnb sk3 ,net4 ljmp s3net4: sjmp s4net3: lcall return;*调整时间减1键*s4: jb sk4 ,net11 ;数字钟调整时间键 lcall dl10ms jb sk4 ,net11 clr speak clr led4 cjne r7 ,#1 ,net8 setb speak setb led4 lcall dl200ms dec

19、 min ;分单元减1 mov a ,min cjne a ,#0ffh ,net3 ;不等60时跳转显示,等60时将分单元清零 mov min ,#59 lcall net3 jb sk4 ,net11 sjmp s4net8: setb speak setb led4 lcall dl200ms dec hour ;时单元减1 mov a ,hour cjne a ,#0ffh ,net3 ;不等24时跳转显示,等24时将时单元清零 mov hour ,#23 lcall net3 jb sk4 ,net11 ljmp s4net11: ljmp s1;*中断程序*serve: push

20、psw push acc ;保护现场 mov th0 ,#0d8h mov tl0 ,#0f0h ;重新赋计数初值 inc m_sec ;毫秒单元加1 mov a ,m_sec cjne a ,#100 ,next1 mov m_sec ,#00 inc sec ;秒单元加1 mov a ,sec cjne a ,#60 ,next1 mov sec ,#00 inc min ; mov a ,min cjne a ,#60 ,next1 mov min ,#00 inc hour ; mov a ,hour cjne a ,#24 ,next1 mov hour ,#00next1: lca

21、ll return pop acc pop psw ;恢复现场 reti ;中断返回;*数字钟显示程序*return: mov a ,sec ;将秒送a mov b ,#10 div ab mov 24h ,b ;秒的个位 mov 25h ,a ;秒的十位 mov a ,min ;将分送a mov b ,#10 div ab mov 26h ,b ;分的个位 mov 27h ,a ;分的十位 mov a ,hour ;将时送a mov b ,#10 div ab mov 28h ,b ;时的个位 mov 29h ,a ;时的十位lcp: mov r1 ,#24h mov r4 ,#6 mov dptr ,#tabbk: mov a ,r1 movc a ,a+dptr mov sbuf ,a jnb ti ,$ clr t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论