基于单片机的电子时钟课程设计报告.doc
《基于单片机的电子时钟课程设计报告.doc》由会员分享,可在线阅读,更多相关《基于单片机的电子时钟课程设计报告.doc(22页珍藏版)》请在咨信网上搜索。
- - 目录 一、 引言········ 二、 设计课题········· 三、 系统总体方案········· 四、 系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、 系统软件设计········· 1.软件流程图 2.程序清单 六、 系统实物图········ 七、 课程设计体会········ 八、 参考文献及········· 九、 附录········· 一. 引言 单片机因将其主要组成局部集成在一个芯片上而得名,就是把中 央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟准确度较高, 因为在程序的执行过程中, 任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由 于数字集成电路的开展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比方机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时播送、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为根底的。而且是控制的核心局部。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路局部使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进展调时、复位等功能,在实现各功能时数码管进展相应显示。软件局部用C语言实现,分为显示、延迟、调时、复位等局部。通过软硬件结合到达最终目的。 二.设计课题:基于单片机的数字时钟设计 三.系统总体方案 图2.1 整体设计思路 针对要实现的功能,拟采用AT89C51单片机进展设计,AT89C51 单片机是一款低功耗,高性能CMOS8位单片机,片含4KB在线可编程〔ISP〕的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚构造。这样,既能做到经济合理又能实现预期的功能。在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。程序可分为闹钟的声音程序、显示程序、闹钟显示程序、调时显示、定时程序。运用这种方法,关键在于各模块的兼容和配合,假设各模块不匹配会出现意想不到的错误。 四、 系统硬件设计 1.硬件电路原理图 (1)复位电路 单片机有两种根本复位方式:即上电复位和按键复位。本次设计用按键复位,如下列图所示,通过接通按钮开关,使单片机进入复位状态。本次按键复位清零。各元件参考下列图。 (2) 时钟电路 (3) 键盘电路 按键处理设置为: 如没有按键,那么时钟正常走时。 按下K0键:进入调分状态,时钟停顿走动; 按K1和K2键:可进展加1和减1操作; 继续按K0键:可分别进展分和小时的调整; 最后按K0键:退出调整状态,时钟开场计时运行 电路图如下: 〔4〕显示电路 本次数码管采用共阴极8段式LED数码管QH5011AS。该数码管参数见附录本系统共用8个数码管,从右到左依次显示秒个位、秒十位、横线、分个位、分十位、横线、时个位和时十位。数码管显示的信息用8个存单元存放,这8个存单元称为显示缓冲区,其中秒个位和秒十位、分个位和分十位、时个位和时十位分别由秒数据、分数据和小时数据分拆得到。在本系统中数码管显示采用软件译码动态显示。在存储器中首先建立一显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段码表中查出所显示的信息的字段码,从P0口输出,同时在P2口将对应的位选码输出选中显示的数码管,就能在相应的数码管上显示显示缓冲区的容。 同时采用NPN型三极管,三极管接法如下列图,其中当三极管基极高电平时,数码管共阴极为高电平,三极管基极接低电平时,数码管共阴极为低电平,该位选中。还采用了74LS373锁存器,用来缓存输入数码管段选的上下电平,提高电路稳定性。 电路图如下: (5) 总原理图: 2. 元件清单 品名 规格型号 数量 单片机及座子 STC89C51RC 1 晶振 12MHz 1 独石电容 30pF 2 电解电容 47μF 2 电解电容 10μF 1 按键 4 RJ电阻 10KΩ 4 RJ电阻 510Ω 8 RJ电阻 4.7KΩ 8 三极管 2N5551 NPN 8 锁存器及座子 74LS373 1 8段式LED数码管 QH5011AS 8 连孔板 14cm*21cm 带电源插座孔和 USB插座孔 1 导线 假设干 焊锡丝 假设干 交流220V-直流5V 适配器 1A,5W 1 交流220V-直流5V 适配器配套插座 1 ISP下载编程工具 STC89C51RC/RD+ 系列ISP经济型 下载编程工具 1 焊锡膏 五、 系统软件设计 1.软件流程图 〔1〕主程序执行流程如图,主程序先对显示单元和定时器/计数器初始化,然后重复调用数码管显示模块和按键处理模块,当有键按下,那么转入相应的功能程序 开场 显示单元清0 进入功能程序 按下键否? 调用显示子程序 允许T0中断 T0、T1设为16位计数模式 否 是 〔2〕中断效劳流程图 中断返回 时单元清0 时单元=24? 时单元加1,分单元清0 分单元=60? 分单元加1,秒单元清0 秒单元=60? 秒单元加1,50ms计数器清0 50ms计数器=20? 50ms计数器加1 现场保护,重置初值启动下个50ms 开场 否 是 否 是 否 是 否 是 是 中断效劳程序流程图 〔3〕按键扫描流程图 Key2键按下否? 调用10ms延时子程序 Key2键按下否? 时或分减1,至0那么取模 Key0键按下否? 0<Con<3? Key0键按下否? EA=1 调用10ms延时子程序 Key1键按下否? 时或分加1,加满那么清0 Key1键按下否? EA=0,TR0=1,ET0=1 调用10ms延时子程序 Con加1,TR0=0,ET0=0 开场 否 是 否 是 否 是是 否 否是 是 否 否 是 是 显示 从秒到时,从个位到十位依次扫描,并分别延时1ms,灭一次 开场 〔4〕显示函数流程图 2.程序清单 采用C语言描写 //采用8位LED软件译码动态显示程序 //使用89C51单片机,12MHZ晶振,P0输出字段码,P2输出位选码 //用共阴极LED数码管,KEY0为调时位选择键,KEY1为加1键,KEY2为减1键 #include<reg51.h> #define char unsigned char char code dis_7[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}; //共阴极LED数码管"0~9","灭"和"-"的字段码 char code scan_con[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位选择码 char data dis[8]={0x00,0x00,0x0b,0x00,0x00,0x0b,0x00,0x00}; //显示缓冲区,时,分,秒初始为0,0x0b为"-"的编码 char data timedata[3]={0x00,0x00,0x00}; //分别为秒,分和小时的值 char data ms50=0x00,con=0x00,con1=0x00,con2=0x00; sbit key0=P1^0; sbit key1=P1^1; sbit key2=P1^2; //1ms延时函数 delay1ms(int t) { int i,j; for(i=0;i<t;i++) for(j=0;j<120;j++) ; } //按键处理函数 keyscan() { EA=0; if(key0==0) { delay1ms(10); while(key0==0); con++; TR0=0; ET0=0; if(con>=3) {con=0; TR0=1; ET0=1;} } if(con!=0) { if(key1==0) { delay1ms(10); while(key1==0); timedata[con]++; if(con==2)con1=24; else con1=60; if(timedata[con]>=con1) {timedata[con]=0;} } } if(con!=0) { if(key2==0) { delay1ms(10); while(key2==0); timedata[con]--; if(con==2)con2=23; else con2=59; if(timedata[con]<=0) {timedata[con]=con2;} } } EA=1; } //数码管显示函数 scan() { char k; dis[0]=timedata[0]%10; dis[1]=timedata[0]/10; dis[3]=timedata[1]%10; dis[4]=timedata[1]/10; dis[6]=timedata[2]%10; dis[7]=timedata[2]/10; for(k=0;k<8;k++) { P0=dis_7[dis[k]]; P2=scan_con[k]; delay1ms(1); P2=0x00; } } //主函数 main() { TH0=0x3c; TL0=0xb0; TMOD=0x01; ET0=1; TR0=1; EA=1; while(1) { scan(); keyscan(); } } //定时器、计数器T0中断效劳函数 void time_intt0(void) interrupt 1 { ET0=0; TR0=0; TH0=0x3c; TL0=0xb0; TR0=1; ms50++; if(ms50==20) { ms50==0x00; timedata[0]++; if(timedata[0]==60) { timedata[0]=0; timedata[1]++; if(timedata[1]==60) { timedata[1]=0; timedata[2]++; if(timedata[2]==24) { timedata[2]=0; } } } } ET0=1; } 六、 系统实物图 七. 课程设计体会 这次电子技术课程设计,我很用心的去完成,当总原理图绘好的那一刻,心里有说不出的满足感。从这次课程设计中,我真正学到了很多有用的知识。 拿到课题后,我首先将?单片机原理与应用及C51程序设计?中有关本次设计的容复习了一遍,比方七段译码显示器、计数器、振荡器等等。然后根据设计要求,我去图书馆查阅了相关的资料,对整体框架做了一个初步的了解。做完准备工作后就正式开场设计与绘图。先要将没每一功能模块设计出来,再整体排版、连接。 这次设计让我熟练掌握了课本上的一些理论知识,在这次课程设计中,反复查找资料,发现电路中的错误和改善电路中的错误,让我将课本上的理论知识重新过了一遍。 回过头来一想,其实设计这些电路也并不是很困难,而且还十分有意思,特别是用protues将电路图模拟成功后很有成就感。 课程设计是一个学习新知识、稳固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。它不仅加深了我对单片机课程的理解,还让我感受到了设计电路的乐趣。在这次设计中,我一点也不怕麻烦,反复设计、绘图与修改,就是希望能把这次课程设计做好。因此对我来说,这次课程设计是非常有意义的。 八、 参考文献及 参考书籍: 1.?单片机原理与应用及C51程序设计?〔第二版〕 维成 加国 2.?单片机根底? 广第 3. ?单片机原理及应用实验与设计指导书? 罗维平 丰 参考: .21ic. .stcmcu. 九、 附录 - - word.zl-- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 电子 时钟 课程设计 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文