哈工大数字日历时钟课程设计优秀报告_第1页
哈工大数字日历时钟课程设计优秀报告_第2页
哈工大数字日历时钟课程设计优秀报告_第3页
哈工大数字日历时钟课程设计优秀报告_第4页
哈工大数字日历时钟课程设计优秀报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、Harbin Institute of Technology课程设计说明书(论文)课程名称: 课程设计1 设计题目: 数字日历钟表的设计 院 系: 电信学院通信工程 班 级: 1105103 设 计 者: 学 号: 11105103 指导教师: 任广辉 设计时间: 2014.3.25-2014.4.24 哈尔滨工业大学哈尔滨工业大学课程设计任务书 姓 名: 院 (系):电信学院通信工程 专 业:通信工程 班 号:1105103 任务起至日期: 2014 年 3月 25 日至 2014 年3 月24 日 课程设计题目: 数字日历钟的设计 已知技术参数和设计要求:1 数码管显示:秒、分、时(可同时

2、显示,也可轮换显示)2 能够设置时间,“设置按键”数量不限,以简单合理易用为好。3 误差:1秒天(报告中要论述分析是否满足要求)扩展(优秀必作)1 设置校准键:当数字钟显示在“整点±30秒”范围时,按动“校准键”,数字钟即刻被调整到整点,消除了±30秒的误差。2 加上“星期”显示(可以预置),并可以对其进行设置。 其他要求:1 按动员老师的要求、课程设计报告规范进行设计2 不允许使用时数字钟表、日历专用IC电路。3 可以使用通用器件:模拟、数字、单片机、EPLD、模块电路等。4 设计方法不限。 工作量:1. 查找资料2. 设计论证方案3. 具体各个电路选择、元器件选择和数值

3、计算4. 具体说明各部分电路图的工作原理5. 绘制电路原理图6. 绘制印刷电路图7. 元器件列表8. 编写调试操作9. 打印论文 工作计划安排:1. 查阅资料: 2. 方案论证3. 设计、分析、计算、模拟调试、仿真、设计原理4. 撰写报告:课程设计要求、方案论证、原理论述(原理框图、原理图)、分析、计算、仿真,PCB图的设计,误差分析、总结,参考文献等5. 上交课程设计论文2014-4-25 同组设计者及分工:A:主要负责查找资料、电路图绘制、模拟调试、仿真、报告撰写。B:主要负责查找资料、设计、分析、参数计算、以及程序编写。 指导教师签字_ 年 月 日 教研室主任意见: 教研室主任签字_ 年

4、 月 日*注:此任务书由课程设计指导教师填写数字日历钟表的设计摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间

5、,调整时间,从而到达学习、设计、开发软、硬件的能力。关键字:数字电子钟、单片机、数码管Abstract: Single-chip microcomputer was paid attention by people from 1970s because of its high quality with low price. It has been developed and used well. It has various advantages, such as small volume, low weight, outstanding immunity from interference,

6、 cheap price, high reliability and flexibility. Until now, single chip has been applied in industry automation control, automatic detection, intelligent instrument, household appliances, and other electrical and electronic devices. MCS-51 single chip is one of the most typical single chips. In this

7、course design, MCS-51 single chip is used as the core component to assemble a simple digital clock. This clock, powered by 4.5V DC supply, can display and adjust time trough nixie tube. From designing, we can efficiently improve the ability of developing software and hardware. Keywords: Digital cloc

8、k, Single chip, Nixie tube一、课程设计目标1. 数码管显示:秒、分、时2. 能够设置时间,“设置按键”数量不限,以简单合理易用为好。3. 误差:1秒天4. 设置校准键:当数字钟显示在“整点±30秒”范围时,按动“校准键”,数字钟即刻被调整到整点,消除了±30秒的误差。5 加上“星期”显示,并可以对其进行设置二、方案论证与比较2.1数字时钟方案数字时钟是本设计的最主要的部分。根据需要,可利用两种方案实现。方案一:本方案采用Dallas公司的专用时钟芯片DS12887A。该芯片内部采用石英晶体振荡器,其芯片精度不大于10ms/年,且具有完备的时钟闹钟功

9、能,因此,可直接对其以用于显示或设置,使得软件编程相对简单。为保证时钟在电网电压不足或突然掉电等突发情况下仍能正常工作,芯片内部包含锂电池。当电网电压不足或突然掉电时,系统自动转换到内部锂电池供电系统。而且即使系统不上电,程序不执行时,锂电池也能保证芯片的正常运行,以备随时提供正确的时间。方案二:本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清

10、零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。2.2 数码管显示方案方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。方案二:动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一

11、次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。从节省I/O口和降低能耗出发,本设计采用方案二。三、系统总体设计计时方案利用AT89S51单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。控制方案AT89S51的P0口和P2口外接由八个LED数码

12、管(LED8LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键A、B、C构成键盘电路。AT89S51 是一种低功耗,高性能的CMOS 8位微型计算机。它带有8K Flash 可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash 集成在一个芯片上,可用与解决复杂的问题,且成本较低。简易电子钟的功能不复杂,采用其现有的I/O便可完成,所以本设计中采用此的设计方案。总体设计分析利用单片机(AT89S51)制作简易电子时钟,由六个L

13、ED数码管分别显示小时十位、小时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。结合本设计实验来说,要求显示的时间为时,分,秒,并且都用两位数码管来实现显示。因此,具体设计程序时,应尽可能多用一些子程序与数据暂寄存器单元。本程序设计中,在主程序之外,可以设置时间值处理子程序,时间值显示前的处理子程序,按键情况扫描子程序,1S定时中断子程序以及5ms延时消除按键抖动子程序等多个小型的子程序。另外,可以设置一些数据单元作为数据寄存器。用28H,2AH,2BH和2CH地址单元分别作为显示位数的扫描指针值寄存器,时寄存器,分寄存器和秒寄存器,再用20H地址单元作为显示寄存器 图1总体系统框图四、具体模块

14、分析AT89S51芯片 选用的AT89S51与同系列的AT89C51在功能上有明显的提高,最突出是的可以实现在线的编程。用于实现系统的总的控制。其主要功能列举如下:1、为一般控制应用的 8 位单片机2、晶片内部具有时钟振荡器(传统最高工作频率可至 33MHz)3、内部程式存储器(ROM)为 4KB4、内部数据存储器(RAM)为 128B5、外部程序存储器可扩充至 64KB6、外部数据存储器可扩充至 64KB7、32 条双向输入输出线,且每条均可以单独做 I/O 的控制8、5 个中断向量源9、2 组独立的 16 位定时器10、1 个全双工串行通信端口11、8751 及 8752 单芯片具有数据保

15、密的功能12、单芯片提供位逻辑运算指令图2 AT89S51芯片74LS47芯片说明74LS47是BCD-7段数码管译码器/驱动器, 74LS47的功能用于将BCD码转化成数码块中的数字,通过它解码, 可以直接把数字转换为数码管的显示数字, 从而简化了程序。图3 74LS47芯片74LS47译码器原理:译码为编码的逆过程。它将编码时赋予代码的含义“翻译”过来。实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用。74LS138芯片工作原理:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))

16、为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。作用:利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。 若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。图4 74LS138芯片无论从逻辑图还是功能表我们都可以看到74LS138的八个输出引脚,任何时刻要么全为高电平1芯片处于不工作状态,要么只有一个为低电平0,其余7个输出引脚全为高电平1。如果出现两个输出引脚同时为0的情况,说明该芯片已经损坏。71LS138有三个附加的控制端、和。当、时,输出为高电平(S1),译码器处于工作状

17、态。否则,译码器被禁止,所有的输出端被封锁在高电平,如表3.3.5所示。这三个控制端也叫做“片选”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。3线-8线译码器74LS138的功能表晶振电路下图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。图5 晶振电路复位电路单片机复位的条件是:必须使RST/VPD 或RST引(9)加上持续两个机器

18、周期(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位如图所示。电路为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。图6 单片机复位电路数码显示模块数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的

19、阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。本系统采用动态显示方式,用P0口来控制LED数码管的段控线,而用P2口来控制其位控线。动态显示通常都是采用动态扫描的方法进行显示,即循环点亮每一个数码管,这样虽然在任

20、何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。图6 六位数码管按键模块时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器、时个位和时十位计数器及星期计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,时个位和时十位计数器为24进制计数器。图7 按键模块电路五、系统电路原理图与印制电路图系统电路图图8 全部电路原理图图9 印刷电路图六、控制系统的软件设计基本的程序流程应该是:在主程序中检测各个时间按钮是否有动作若有,就储存并修改相关的的时间寄存器的值,若没有,就继续检测。在计时子程序中将各时间

21、寄存器的值逐个加1,每加一次就要检查是否已超过显示的上限值,这样在后面就便于处理,在扫描显示子程序中,将扫描位数指针与20H相加,从而得到相应的显示数据;然后按照显示的位数加显示数就的格式,将数据从P1口输出到数码管上去显示,当然还有定时中断子程序,在这里,它实现计时1S的时间延时。七、系统仿真与实验测试系统仿真运用proteus软件进行仿真现在proteus软件中建立一个新的文件,再根据自己的要求选择所需的器件,把器件进行适当的排位后进行连接,连接后运行软件进行仿真。图10 Proteus软件应用实验测试电子时钟主要的设计要求是能够实现时钟的一般功能,以及包括时间的调整功能,这个基于单片机的

22、电子时钟基本上实现了上述功能,能够通过时间调整电路对时间进行调整以及复位。下述为12:00:00的仿真图: 图11 12:00:00时刻的仿真效果图误差分析本次设计的单片机电子钟系统中,其误差主要来源包括晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,容易产生走时误差;定时器溢出的时间误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,都会造成与基准时间产生偏差,造成走时误差。使用Keil软件进行误差分析,使用Debug进行调试,在计时整秒处设置断点,计时1s 的平均时间误差T=178us,可以通过调整计数初值来减小误差。这样,可以将1s的误差调整为为9us,可

23、得一天的误差为9×60×60×240.7776s1s,满足预期设计要求。八、系统仿真与实验测试元件名称规格型号单位数量瓷片电容104只2电解电容10UF/16V只1电阻10k只4电阻4.7k只13芯片AT89S51片1芯片74LS47片1芯片74LS138片17段数码管6位/共阴只1按键无自锁只4无源晶振12M只1芯片座DIP40只1电池盒5V个2电路板9.55*5.664CM21附录:源程序代码ORG 00H;主程序起始地址JMP START;主程序STARTORG 0BH;定时器T0中断起始地址JMP TIM0;定时器T0中断子程序TIM0START: MOV

24、 SP;#70H;设置堆栈指针MOV 28H,#00;设置显示位数扫描指针初值为0MOV 2AH,#12H;设置时钟显示寄存器初值为12HMOV 2BH,#00;设置分钟显示寄存器初值为00HMOV 2CH,#00;设置秒钟显示寄存器初值为00HMOV TMOD,#01H;设置定时器T0工作在方式1MOV TH0,#0F0H;定时4ms的初值,即0F060HMOV TL0,#60H;初值的低位MOV IE,#82H;定时器T0中断允许MOV R4,#250;保证后面实现中断250次,即1s的延时SETB TR0;启动定时器T0LOOP: JB P0.0,N2;若秒没有按键,就转去下一步检查分C

25、ALL DELAY;延时5ms消除抖动MOV A,2CH;将秒寄存器的值载入累加器A ADD A,#01H;A的内容加1DA A;十进制调整MOV 2CH,A;A 的值存入秒寄存器CJNE A,#60H,N1;看是否已经是60秒,若不是就继续检查MOV 2CH,#00;已经是60秒,就清空秒寄存器的值N1: JNB P0.0,$;秒按键还没有放开就循环等待CALL DELAY;延时5ms,消除抖动N2: JB P0.1,N4;若分没有按键,就转去下一步检查时钟CALL DELAY;延时5ms,消除抖动MOV A,2BH;将分寄存器的值载入累加器AADD A,#01H;A的内容加1DA A;十进

26、制调整MOV 2BH,A;A的值存入分寄存器CJNE A,#60H,N3;看是否已经是60分MOV 2BH,#00;已经是60分,就清空秒寄存器的值N3: JNB P0.1,$;分按键还没有放开就循环等待CALL DELAY;延时5ms,消除抖动N4: JB P0.2,LOOP;若时没有按键,就转回去继续检查看是否秒有按键CALL DELAY;延时5ms,消除抖动MOV A,2AH;将时寄存器的值载入累加器AADD A,#01H;A的内容加1DA A;十进制调整MOV 2AH,A;A的值存入时寄存器CJNE A,#24H,N5;看是否已经是24时,若不是就继续检查MOV 2AH,#00;已经是

27、24时,就清空寄存器的值N5: JNB P0.2,$;时钟按键还没有放开就循环等待CALL DELAY;延时5ms,消除抖动JMP LOOP;返回重新检查看是否有按键;*定时器T0中断子程序*TIM0: MOV TH0,#0F0H;定时初值重设MOV TL0,#60HPUSH ACC;将累加器A的值暂存于堆栈PUSH PSW;将PSW的值暂存于堆栈DJNZ R4,X2;计时中断不满1s就退出继续中断MOV R4,#250;计时1sCALL CLOCK;调用计时子程序CLOCKCALL DISP;调用显示子程序DISPX2: CALL SCAN;调用扫描子程序SCADPOP PSW;到堆栈取回PSW的值POP ACC;到堆栈取回累加器ACC的值RETI;返回主程序;;*扫描子程序*SCAN: MOV R0,#28HINC R0;显示位数扫描值加1CJNE R0,#6,X3;扫描位数不为6就准备控制输出MOV R0,#0;扫描位数为6,就另其值为0X3:MOV A,R0;扫描位数载入AADD A,#20H;A加上20H(显示寄存器地址)=各时间显示区地址MOV R1,A;各时间显示区地址存入AMOV A,R0;扫描位数存入ASWAP A;将A的高低4位交换(其高4位为扫描 ;的位数,低4位

温馨提示

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

评论

0/150

提交评论