单片机课程设计数字时钟new_第1页
单片机课程设计数字时钟new_第2页
单片机课程设计数字时钟new_第3页
单片机课程设计数字时钟new_第4页
单片机课程设计数字时钟new_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、一、课题名称:数字时钟电路设计二内容摘要近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。模拟多通道压力系统是利用压力传感器采集当前压力并放映在显示器上,它可以分析压力过量程,并发出报警。并采用电子秤原理可根据输入单价准确的计算出物体的金额。本篇论文讨论了简单的倒计时器的设计与制作,对于倒计时器中的LED数码显示器来说,我为了简化线路、降低成本,采用以软件为主的接口方法,即不使

2、用专门的硬件译码器,而采用软件程序进行译码。设计内容及摘要 在单片机实验室,以单片机实验开发箱为基础,设计数字时钟电路系统。使电子钟具有“时”、“分”显示的电子钟(23小时59分),通过小时个位的小数点闪烁进行秒计数显示,要求具有分钟和小时的校时功能。可进行功能扩展(比如增加整点报时功能:60分钟开始LED灯闪烁1分钟或蜂鸣器响10秒钟)。比较和选定设计的系统方案,画出系统框图图4.1系统框图单元电路设计、参数计算和器件选择主要器件:STC89C58RD+单片机(DIP40)4位共阴数码显示管,1个470欧9针排阻,1个晶振:11.0592MHz,1个瓷片电容:30PF,2个10K电阻,1个按

3、键开关:3个电阻、单排插针、0.1uF电容、10uF电解电容:若干管脚说明:P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口管脚写入1后,被内部上拉为高,可用作输入。、 (3)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。(4)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4

4、个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。(7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。(5)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。(6)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)

5、。(7)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(8)XTAL2:来自反向振荡器的输出。5.1:最小系统电路组成图:5.1.1最小系统电路图5.2:完整的电路图,工作原理工作原理:单片机各功能部件的运行都是以时钟频率为基准,有条不紊地一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统稳定性。常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。单片机必须在时钟的驱动下才能工作。在单片机内部有一个时钟振荡电路,只要外界一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。时钟电路如下图所示:七利用Pro

6、teus软件对电路进行仿真调试八:程序流程图主程序是先开始,然后启动定时器,定时器启动后在进行按键检测,检测完后,就可以显示时间。开始启动定时器按键检键but_kai 时间显示 ret=0 Y Y Nret=3?ret+图8-1 主程序流程图按键处理是先检测ret为几;若为1或者2,则可以更改系统时间。若为ret=1,开启时校验,若but_add按下,则hour加1,若but_sub按1下,则hour减1;若ret=2,开启分校验,but_add 加1,but_sub减1。开始结束子程序判断ret值 ret=0 ret=1 ret=2开启时校验开启分校验按下了but_add或者but_sub?

7、 N Y结束子程序 按下but_add执行加,按下but_sub执行减接下页判断Hour=24或-1判断Min=60或-1接上页结束子程序hour=24则hour=0hour=-1则 hour=23min=60则 min=0min=-1则 min=59 图8-2 主程序流程图中断0开始定时器0中断时是先检测1秒是否到,1秒如果到,秒单元就加1;如果没到,就检测1分钟是否到,1分钟如果到,分单元就加1;如果没到,就检测1小时是否到,1小时如果到,时单元就加1,如果没到,就显示时间。秒点置反实现闪烁计秒0.5秒是否到 Y一秒是否到? N Y秒单元sec+160秒是否到? N Y分单元min+1,秒

8、sec归0 整点报时60分是否到?一秒是否到?一秒是否到? N Y时单元hour+1,秒min归0 Y接下页24时是否到?接上页 N时单元归0 Y 中断0结束 图8-3 定时器0中断流程图时间显示是先是分钟个位计算显示;再是分钟十位计算显示;再是小时的个位计算显示,同时判断是否点亮秒点;最后是小时的十位计算显示。中断1开始计算显示分个位计算显示分十位计算显示时个位秒点是否高为高点亮秒点显示 Y计算显示时十位中断1结束 图8-4定时器1中断流程图九:实验源程序#includeUnsignedcharcode DATA10=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0

9、 x7d,0 x07,0 x7f,0 x6f;unsigned char data wei4;unsignedchar sec=0,min=59,hour=7,cou=0,miaodian=1,wei_num=0,ret=0;sbit but_add=P10;/按键加sbit but_sub=P13;/按键减sbit but_kai=P14;/时间调整设置按键sbit led=P34;/以下10ms延时函数/void delay10ms(void) unsigned char i,j; for(i=20;i0;i-) for(j=248;j0;j-); /-以下是按键控制kongzhi()if

10、(ret=1)sec=0;if(but_add=0)delay10ms();if(but_add=0)hour+;if(hour=24) hour=0;while(but_add=0);if(but_sub=0)delay10ms();if(but_sub=0)hour-;if(hour=-1) hour=23;while(but_sub=0);if(ret=2) sec=0;if(but_add=0)delay10ms();if(but_add=0)min+;if(min=60) min=0;while(but_add=0);if(but_sub=0)delay10ms();if(but_s

11、ub=0)if(min=0) min=60;min-;while(but_sub=0);/以下为主函数void main(void) P0=0 x00; P2=0 xff;TMOD=0 x11; TH0=0 xd8;TL0=0 xf0; /T0十毫秒 TH1=0 xfe;TL1=0 x0c; /T1一毫秒 EA=1;ET0=1;ET1=1;TR0=1;TR1=1; while(1) if(but_kai=0) delay10ms(); if(but_kai=0) ret+;if(ret=3) ret=0;while(but_kai=0); kongzhi (); /以下为定时器0中断void

12、time0(void) interrupt 1 cou+; if(cou=50) miaodian=-miaodian; if(cou=100) cou=0;sec+; if(sec%2=1&min=0) led=0; if(sec%2=0&min=0) led=1; if (min=1)led=1; if(sec=60) sec=0; min+; if(min=60) min=0; led=0; hour+; if(hour=24) hour=0; TH0=0 xd8; TL0=0 xf0;/以下为定时器1中断void time1(void) interrupt 3wei0=min%10;w

13、ei1=min/10;wei2=hour%10;wei3=hour/10; switch(wei_num) case 0:P2=0 xf7;P0=DATAweiwei_num;wei_num+;break; case 1:P2=0 xfb;P0=DATAweiwei_num;wei_num+;break; case 2:P2=0 xfd; if(miaodian=1) P0=DATAweiwei_num|0 x80; else P0=DATAweiwei_num; wei_num+;break; case 3:P2=0 xfe;P0=DATAweiwei_num;wei_num+;break;

14、 default:wei_num=0;P2=0 xff; TH1=0 xfe; TL1=0 x0c;十组装调试的内容(1)使用的主要仪器和仪表:万用表(2)调试电路的方法和技巧:首先检查单片机管脚之间是否短路,然后再检查电路是否连通。技巧:可以先烧写一段简单程序,看电路是否连通或连接正确,如可以正确显示,则说明电路已几乎正确。(7)参考文献:【1】肖洪兵. 跟我学用单片机. 北京:北京航空航天大学出版社,2002.8【2】 何立民. 单片机高级教程 第1版北京:北京航空航天大学出版社,2001 【3】赵晓安. MCS-51单片机原理及应用. 天津:天津大学出版社,2001.3 【4】李广第 单

15、片机基础 第1版北京:北京航空航天大学出版社,1999 【5】徐惠民、安德宁 单片微型计算机原理接口与应用 第1版 北京:北京邮电大学出版社,1996 6】何立民从Cygnal 80C51F看8位单片机发展之路 单片机与嵌入式系统应用,2002年,第5期:P58 7】 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 2001 (8)收获和体会: 经过这一个星期单片机课程设计的学习,我不仅加深了对单片机理论的理解,懂得了更多理论的知识,而且我还学会了将理论知识更好的运用到实际当中去。课程设计是培养我们的综合运用所学知识,发现,提出,分析和解决问题,锻炼我们的实践能力的重要环节。是对我们能力的训练,随着科学技术的不断发展,单片机已运用广泛。在生活当中可谓是无所不在,小到遥控器、手机,大到电脑等家用电器,可以说跟我们的生活息息相关。因此作为二十一世纪的大学生来说掌握单片机的开发及时是十分重要的。回想一个星期的课程设计,真的是感慨颇多,从刚刚开始的容易上手到后面的摸不着方向,在这个过程当中我们通过团队的合作,解决了所有的问题

温馨提示

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

评论

0/150

提交评论