版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、陕西电子科技职业技术学院shaanxi electronic science and technology vocational college课程设计报告题 目 基于单片机的电子时钟设计和实现 班 级 电子信息1507 姓 名 张聪 指导教师 聂弘颖 时 间 2017年10月30日 第一章 系统设计要求1.1 基本功能(1)能够显示时分秒(2)能够调整时分秒1.2 扩展功能(1)能够任意设置定时时间(2)定时时间到闹铃能够报警(3)实现了秒表功能第二章 硬件总体设计方案本次设计时钟电路,使用了at89c51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键
2、盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用c语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、显示屏即可满足设计要求。2.1系统功能实现总体设计思路此设计原理框图如图2-1所示,此电路包括以下四个部分:单片机,键盘,闹铃电路及显示电路。闹铃电路51单片机独立键盘数码管显示 图2-1 设计原理框图 经多方论证硬件我个人采用at89c51单片机和7sed八位共阳极数码管等来实现单片机电子时钟的功能。详细元器件列表如表2.1所示:表2.1 详细元器件列表at89c511片7sed八位共阳极数码管1片npn三极管1个104p电容6个30p
3、电容2个10k电阻6个560欧姆电阻8个200欧姆电阻1个100欧姆电阻6个2.2各部分功能实现(1) 单片机发送的信号通过程序控制最终在数码管上显示出来。(2) 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。(3) 为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。(4) 单片机通过控制闹铃电路来完成 定时闹钟的功能。2.3系统工作原理设计的电路主要由四模块构成:单片机控制电路,显示电路、闹铃电路以及校正电路。详细电路功能图如图2-2: 图2-2 详细电路功能图本设计采用c语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分
4、计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示。2.4时钟各功能分析及图解2.4.1电路各功能图解分析 (1) 时钟运行图仿真开始运行时,或按下key4键时,时钟从12:00:00开始运行,其中key2键对分进行调整,key3对小时进行调整,key6可以让时钟暂停。时钟运行图如图 2-3 所示: 图2-3 时钟运行图(2)秒表计时图当按下key1键进入秒表计时状态,key6是秒表暂停键,可按key4键跳出秒表计时状
5、态。如图2-4: 图2-4 秒表计时图(3)闹铃设置图及运行图当按下key5,开始定时,分别按key2调分,key3调时设置闹铃时间,然后按下key4键恢复时钟运行状态(图2-5)当闹铃设置时间到时,蜂鸣器将发出10秒中蜂鸣声(图2-6)。 图2-5 闹铃时间设置图 图2-6 闹铃运行图 该数字钟是用一片at89c51单片机通过编程去驱动8个数码管实现的。通过6个开关控制,从上到下6个开关key1-key6的功能分别为:key1,切换至秒表;key2,调节时间,每调一次时加1;key3, 调节时间,每调一次分加1;key4,从其它状态切换至时钟状态;key5,切换至闹钟设置状态,也可以对秒表清
6、零;key6,秒表暂停.控制键分别与p1.0p1.5口连接其中:a通过p2口和p3口去控制数码管的显示如图所示p2口接数码管的ag端,是控制输出编码,p3口接数码管的18端,是控制动态扫描输出b从p0.0输出一个信号使二极管发光,二极管在设置的闹钟时间到了时候发光,若有乐曲可以去驱动扬声器实现。2.4.2电路功能使用说明(1) 各个控制键的功能:可对时间进行校准调节(只能加);按下设置键数字时钟进入闹钟设置状态,设置闹钟的时间;时加、分加键是在校准时间时或设置闹钟时间对小时数或分钟数调节而设置的;按下秒切换键就可以进入秒表模式,同时秒表也开始计时,按下秒表暂停、复位键就暂停、归零,如果要重新对
7、秒计时则可以按秒表开始、复位;清零键可以对闹钟清零。(2) at89c51单片机,通过编写程序对数码显示进行控制。(3) 八个7段数码管显示时钟和秒表信号。第三章软件总体设计方案3.1 主程序流程图:开始定时器及中断定时器初始化执行时钟秒表闹铃设定程序是否设定参数执行显示程序ny软件程序从开始执行,先通过初始化各个寄存器,经过扫描按键来决定是否设定参数来执行相应功能的程序,进而在数码管上显示。如图3-1: 图3-1 主程序流程图分数值time.minute加1time.second归零tcount加1返回主程序实数值time1.boun加1time1.mintet归零time1.bour23时
8、数值time1.hour归零tount1=100?秒数值time1.second加1second归零执行闹钟程序p0.0=1判断时间与闹钟时间是否一致闹钟程序是否行完全time1.second=60?time.minute=60?恢复初值保护3.2 总中断程序流程 图3-2 中断流程图时间的显示通过此中断程序来控制,并且通过与设定的时间进行比较来判断是否让闹铃工作。程序中包含时间的设定,如设定tcount来使秒等工作,进而来控制分和时。如上图图3-2。a. 秒表中断程序流程 秒表功能通过另一个程序来实现。通过保护主程序的数据来进行秒表功能。程序中需要设置秒表的具体显示方法。如图3-3:恢复初值
9、保护10ms计数器加1恢复初值保护秒计数器加1,10ms计数器归零,即sec+,ms=0sec60?ms100?输出字码,中断结束,返回上级主程序分计数器加1,秒计数器归零,即minit+,sec=0 n y n y图3-3秒表中断程序流程图b.按键程序流程程序初始化时十位归零alarms【7】=0分时位归零alarms4=0分十位归零输出时钟时十位加一输出闹钟时个位加一,延时输出时钟十位加一输出时钟十个位加一输出时钟分个位加一,延时输出闹钟时分位加一输出闹钟时十位加一输出闹钟分个位加一,延时时十位归零判断标志位是否为零alarms42alarms72alarms【3】0dat169dat17
10、alarms69dat139dat142判断标志是否为零判断时i加键是否按下判断分加键是否按下图3-4为时钟和闹钟的调节,程序中通过扫描来判断按键是否按下进行时间和闹钟的调节。图3-4按键程序流程图图3-5为进入中断和清零图,程序中通过扫描来判断按键是否按下进行执行相应的中断来事实现相应的功能。判断分加键tminute是否按下,p1.1=0判断秒表miaobiao1是否按下按下,p1.0=0,tgsdhpp1.0=0判断清零键miaobiao2是否按下,p1.3=0进入秒表中断,执行秒表中断程序返回上级主程序清零所有的计数器,各个显示的字码。图3-5 中断和清零程序流程图3.3控制电路的c语言
11、源程序根据流程图,经过认真分析得出控制电路的源程序如下:#include#define uchar unsigned char#define uint unsigned int#define delay_time 3/*宏定义*/uchar k,dat=0,0,0,0,0,0,0,0;uint tcount,t,u;uchar dat1=0,0,0,0,0,0,2,1;uchar dat2=0,0,0,0,0,0,0,0;uchar alarms=0,0,0,0,0,0,0,0;uchar dis_bit=0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01;unsi
12、gned char code seg711=0xc0,/*0*/ 0xf9,/*1*/ 0xa4,/*2*/ 0xb0,/*3*/ 0x99,/*4*/ 0x92,/*5*/ 0x82,/*6*/ 0xf8,/*7*/ 0x80,/*8*/ 0x90,/*9*/ 0xbf,/*-*/ ;/*数字显示数组*/sbit miaobiao1=p10;sbit tminute=p11;sbit thour=p12;sbit miaobiao2=p13;sbit alarm=p14;sbit p0_0=p00;sbit p1_5=p15;sbit p1_6=p16;sbit p1_7=p17;/*端口定
13、义*/uchar ms=0;uchar flag=0;uchar sec=0;uchar minit=0;struct timeuchar second;uchar minute;uchar hour;time1; uchar n,i;void delay(n) while(n-)for(i=120;i0;i-); /*延时子程序*/ void modify(void) ea=0; if(thour=0) if(flag=0) dat16+;delay(280); if(dat169) dat16=0;dat17+;else if(dat171)&(dat163) dat17=0; dat16
14、=0; if(flag=1) alarms6+;delay(300); if(alarms69) alarms6=0;alarms7+; if(alarms72) alarms7=0; dat6=alarms6; dat7=alarms7; if(tminute=0) if(flag=0) dat13+;delay(280); if(dat3=9) dat14+;dat13=0;if(dat145) dat14=0; if(flag=1) alarms3+;delay(300); if(alarms39) alarms4+;alarms3=0; if(alarms45) alarms4=0;
15、dat3=alarms3;dat4=alarms4; if(miaobiao1=0)tr0=0;et0=0;tr1=1;et1=1; if(miaobiao2=0) tr0=1;et0=1;tr1=0;et1=0; dat20=0; dat21=0; dat23=0; dat24=0; dat26=0; dat27=0; ms=0; sec=0; minit=0; if(p1_5=0) tr0=0;et0=0;tr1=0;et1=0; if(alarm=0)tr0=0;et0=0;tr1=0;et1=0;flag=1; dat0=0; dat1=0;dat2=10; dat3=0;dat4=0
16、;dat5=10;dat6=0;dat7=0; ea=1;/*按键扫描*/void init(void)tmod = 0x11; th0 = 0xdb;tl0 =0xff;th1=0xdb;tl1=0xff; et0 = 1; /10mset1=1;/tr1=1; tr0=1; tcount=0;ms=0;sec=0;minit=0;ea = 1;/*初始化*/void test(void)for(k=0;k23) time1.hour=0; dat5=10; dat2=10; dat0=dat10; dat1=dat11; dat3=dat13; dat4=dat14; dat6=dat16
17、; dat7=dat17; flag=0; p0=0x01;if(alarms7=dat17)&(alarms6=dat16)&(alarms4=dat14)&(alarms3=dat13)&(dat11=100) ms=0; sec+; dat23=sec%10; dat24=sec/10; if(sec=60) sec=0; minit+; dat26=minit%10; dat27=minit/10; dat5=10; dat2=10; dat0=dat20; dat1=dat21; dat3=dat23; dat4=dat24; dat6=dat26; dat7=dat27; ea=1; 第四章 总结 经过一周的单片机课程设计,我已基本完成课题要求。功能上基本达标:时钟的显示,秒表显示,定时功能,调时功能。时钟显示功能,精确度完全可以满足日常生活显示时间的需要;秒表功能,可以满足比赛计时的需要;调时功能,方便快捷;定时功能准确可靠,还有扩展成音乐闹钟的余地。硬件设施合乎要求,软件设计可以配合硬件实现要求功能。但是由于时间比较短,出现部分不足:使用定时和秒表功能时时间显示功能停止运行。经讨论只是软件部分还不完善。不过,我相信,如果时间充足,将软件改进,我完全可以很好实现所有功能。 另外,在本次设计的过程中,我发现很多的问题,虽然以前没有做过这样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 村委自行采购内控制度
- 外贸订单采购管理制度
- 学校物料采购规章制度
- 药品采购与代理管理制度
- 采购综合管理制度
- 原材料构件采购入库制度
- 严格执行物品采购制度
- 学校双人采购定期轮换制度
- 采购收货制度
- 采购销售提成制度
- 新东方《中国学生出国留学发展报告》
- 2026年《必背60题》抖音本地生活BD经理高频面试题包含详细解答
- 高教版2023年中职教科书《语文》(基础模块)下册教案全册
- 医院品管圈(QCC)活动成果报告书-基于QFD 润心服务改善 ICU 患者及家属就医体验
- 基于PLC的物料分拣系统设计
- JJG 693-2011可燃气体检测报警器
- 《低压配电设备安装与调试》课件 劳动 学习任务 3 落地式配电柜安装与调试
- 研究性课题研究报告高中生
- 国开网电大市场调查形成性考核第三次考核答案
- 关键信息基础设施安全保护要求
- 设备配件采购合同范本
评论
0/150
提交评论