2022年单片机电子时钟课程设计实验报告.docx

上传人:Che****ry 文档编号:27307752 上传时间:2022-07-23 格式:DOCX 页数:33 大小:674.11KB
返回 下载 相关 举报
2022年单片机电子时钟课程设计实验报告.docx_第1页
第1页 / 共33页
2022年单片机电子时钟课程设计实验报告.docx_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《2022年单片机电子时钟课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《2022年单片机电子时钟课程设计实验报告.docx(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -单片机原理与应用课程设计总结报告题 目 :单片机电子时钟(带秒表)的设计细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -目 录1.题目与主要功能要求 2 2.整体设计框图及整机概述 3 3.各硬件单元电路的设计、参数分析及原理说明 3 4.软件流程图和流程说明 4 5.总结设计及调试的体会 10 附 录1.图一:系统电路原理

2、图 11 2.图二:系统电路 PCB 12 3.表一:元器件清单 13 4.时钟程序源码 14- 1 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -题目:单片机电子时钟的设计与实现课程设计的目的和意义课程设计的目的与意义在于让我们 将理论与实践相结合;培育我们综合运用电子课程中的理论学问解决实际性问题的才能;让我们对电子电路、电子元器件、 印制电路板等方面的学问进一步加深熟悉,同时在软件编程、排错调试、

3、焊接技术、相关仪器设备的使用技能等方面得到较全面的锤炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础;课程设计的基本任务利用 89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等学问,设计一款单片机和简洁外设掌握的电子时钟;主要功能要求最基本要求1 使用 MCS-51单片机设计一个时钟;要求具有6 位 LED显示、 3 个按键输入;2 完 成 硬 件 实 物 制 作 或 使 用Pruteus仿 真 ( 注 意 位 驱 动 应 能 提 供 足 够 的 电 流 );36 位 LED数码管从左到右分别显示时、分、秒 各占用 2 位 ,采纳 24 小时

4、标准计时制;开头计时时为 000000,到 235959 后又变成 000000;4 使用 3 个键分别作为小时、分、秒的调校键;每按一次键,对应的显示值便加 1; 分、秒加到 59 后再按键即变为 00;小时加到 23 后再按键即变为 00;在调校时均不向上一单位进位 例如分加到 59 后变为 00,但小时不发生转变 ;5 软件设计必需使用 MCS-51片内定时器, 采纳定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片;6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序;7)把握硬件和软件联合调试的方法;8)完成系统硬件电路的设计和制作;9)完成系统程序的设计

5、;10)完成整个系统的设计、调试和制作;11)完成课程设计报告;基本要求1)实现最基本要求的 110 部分;2)键盘输入可以掌握电子时钟的走时 / 调试;3)设计键盘输入电路和程序并调试;4)把握键盘和显示协作使用的方法和技巧;提高发挥部分1 另设三个键,分别作小时、分、秒的减 1 调校;2 在以上设计的基础上,修改程序制作一个电子秒表;分、秒各占用 2 位显示, 1/10 秒、- 2 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - -

6、- - - - - - - -1/100 秒各占用 1 位显示;设定二个键分别作启动停止、清零(清零应在停止后有效);3在做完 2后,将时钟与秒表合二为一,并且在同时使用时互不影响,即可在时钟与秒表之间任意切换,而不影响走时、计秒;整体设计框图及整机概述整体设计框图整机概述1)开机为走时模式,正常显示时间;在此模式下,时钟可调;2)共设置 7 个按键,分别为模式键、功能键、加一键、减一键、复位键、秒表启动键、秒表复位键; 按动模式键, 模式将在 走时 /调时 /显示及秒表显示及调整2 个模式下切换;3)在时钟模式下,功能键挑选是正常走时,仍是进入调试(时、分、秒)模式;4)按动加一键可以将值(

7、时、分、秒)加一;5)按动减一键可以将值(时、分、秒)减一;6)按动秒表中开头 /暂停按键可以随时掌握秒表的开头和停止;7)按动秒表中清零按键时,秒表计的数就会被清除(只有在秒表停止了以后);8)按下复位键后,无论是任何状态都会从新开头;9)开机时钟与闹钟都为 00:00:00;各硬件单元电路的设计、参数分析及原理说明电源电路元件有限没有制作电源电路部分;使用9V 的电池经过7805 稳压后进行供电;- 3 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - -

8、 - - - - - - - - - - - - -按键参考书本 P232 的键盘接口电路原理图,P3 口(除去 P3.6)接的是键盘按键; 当按键按下后,P3 口被拉成低电平,给单片机一个信号,使单片机产生一个中断;单片机再指令相应的 P0口, P2 口产生变化;单片机最小系统参考试验指导书与课本及网络资料设计按键电平复位;LED数码管第一 P0 口作为段码输出; 由于 P0 口输出级无上拉电阻,故需添加一排阻为其上拉电阻;其次采纳共阳极数码管;段码端为低电平常导通 LED,此时数码管向 89S51 芯片 P0 口灌电流,为防止芯片烧坏,仍需加 1 个 1 K 的限流电阻;考虑到数码管的亮度

9、问题,采纳了 PNP三极管做驱动电路;基极接上 1 K 电阻后再与 P2口相连( P2.0P2.5 )进行位选;发射极接5V 电源,集电极接数码管位选;软件流程图和流程说明软件流程图1 主程序流程图 开头流程图说明 初始化初始化:包括定时器赋初值,初始化各内存单 元;开定时器中断,开 CPU中断;调 用 显 示 子 程 序调 用 按 键 扫 描子程序调 用 模 式 查 询子程序调 用 始 时 钟 或秒表查询程序等待定时器中断- 4 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 20 页 - - - - - - - - - 名师归纳总

10、结 精品学习资料 - - - - - - - - - - - - - - -时间显示及调整子程序与秒表显示及调整子程序流程图与调时模式子程序大同小异;调时模式设置Num11?秒/分 /时数据分别送 display 函数取键值送 cpu Y Num11 值分钟数值加1,为 2. 键值清零N Y Num11 值小时数值加1,为 3. 键值清零N 返回- 5 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -总结

11、设计及调试体会硬件设计部分: 第一要通过运算与参考资料等打算参数;而后通过仿真软件等调试,确定参数无误后再开头用 AD 画原理图,进而生成 PCB 进行布板;在焊板子的时候,也显现了问题,不当心将 时间;7805 焊成了 7905,结果又调试了一个软件设计部分: 设计软件第一要考虑要做的功能,确定出合理的算法; 合理的算法不仅要可以实现功能, 而且在添加功能的时候要便利敏捷;有的人为了实现某种功能用了各种各样的方法来实现,结果程序结构吃死, 当想要添加功能或者修改其他功能的时候, 将修改程序大部分结构, 也就是说要破坏程序现有的结 构;关于调试: Keil 软件调试单片机程序的时候, 编译通过

12、并不代表程序是正确的;编译通过只能说明程序没有语法上的错误;进行软件仿真或者下载到开发板上进行调试, 常常会显现各种各样的错误; 很多超出预期成效的现象往往是一些微小错误引起的; 例如没有现场爱护跟复原现场等,所以养成良好的编程习惯也很重要;有些想达成某些功能而添加的语句,实际上确一点成效也没有; 举个编程中的小问题: 当有按键按下时, 我们都要有软件防抖; 正常的方法是调用一个延时;在实际调试中,要跳过这个抖动,需要100MS 左右;假如使用正常的延时,会导致按键按下时 CPU100MS 内无法进行其他操作,也就是说;平均 1S 内 100MS 不调用显示子程序,这样就会导致亮度降低;这时候

13、,考虑到显示子程 序一次有十几毫秒, 就特殊写了一个程序来作为按键防抖的延时,实际上成效也 是很不错的; 这个想法就是在修改了多次程序未达到想要的成效(有按键按下时 显示亮度不降低)后最终想出来的方法;最终在做完板, 焊完电路后, 在接通电源之前, 要用万用表认真检查电路是 否有连接错,以免烧坏芯片和数码管;设计课设的 其他体会 :态度要积极, 不要认为很简洁就不紧不慢; 很多东西 并不是自己设想的那么顺当,有时候一个小问题可以花上你半天甚至一天的时间;虽然自己在程序上并没遇到太大的问题,但是由于态度不够积极, 对于没画过的 PCB图迟迟不去下手, 在周四晚上才解决; 本以为周五一天可以做完板

14、并完成整机调试, 可是各种突发大事让自己措手不及;功能进行扩展; 这是我在这次试验中的一个教训,过于自信,态度打算一切;- 6 - 发觉板来不及做完后才将程序 也让我明白了对于自己不能太细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -图一:系统电路原理图图二:系统电路 PCB - 7 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 20 页 - -

15、- - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - 8 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -在 protues中调试的结果- 9 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - -

16、 - - - - - - - - - -在开发板上实现的成效(见实物)在焊的 PCB板子上成效(见实物)在 protues 里的仿真以及在开发板上实现和自己做实物所看到的现象是不一样的;在 protues 里不用接三极管( NPN)就可以实现成效,但是在自己做板子的时候就不行了,由于 能驱动数码管发光,需要一个增加驱动的51 单片机的输出的电流不 9014 三极管;另外,protues里的复位按键不起作用(软件里就是这样设计的);将在 PCB上实现的程序用在开发板上又显现了问题,delay (3)这个延时子程序不合理,显现了闪耀的问题,所以将 delay (3)改成了 delay (1),这

17、样问题就解决了;我是将三极管加在了段选上,又加了限流电流,这样做数码管也能点亮;另一方面,一样的程序用在不同的显示上,现 象 也 是 不 一 样 的 ; 所 以 , 我 需 要 不 断 地 修 正 定 时 器 的 装 值 ;TH1=65536-49997/256; / 重装初值 TL1=65536-49997%256; TH0=65536-8000/256; TL0=65536-8000%256; 经过实际测量,这个数值是最合适的,一个小时一秒不差;- 10 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 20 页 - - - -

18、- - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -表一:元器件清单器件名称 数量电池 一个Lm7805 一个自锁开关 一个51 单片机 一个LED 两个极性电容 一个非极性电容 两个晶振 一个10K 电阻 九个1K 电阻 两个按键 七个100 电阻 八个PNP三极管 八个4 位数码管(共阴)两个时钟程序源码# include # define uchar unsigned char # define uint unsigned int uchar code table= 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7

19、d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 ; sbit led=P11; / /指示灯sbit qiehuan_key=P37;/秒表和时钟模式切换按键sbit sp_key=P34; /秒表中开头 / 暂停按键sbit clf_key=P35; 秒表中清零按键sbit func_key=P31; / /时钟换位按键(时、分、秒)sbit add_key=P32; 时钟加 1 按键sbit sub_key=P33; / /时钟减 1 按键uchar k1_bit=0; 切换按键标志位- 11 - 细心整理归纳 精选学习资料 - - - -

20、 - - - - - - - - - - - 第 12 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -uchar shi1,shi2,fen1,fen2,miao1,miao2,fen3,fen4,miao3,miao4,num9,num10; uint num1,num2,num3,num4,num5,num6,num7,num8,num11; void delayuint xms / 延时函数 uint i,j; fori=xms;i0;i- forj=110;j0;j-; void init /

21、 中断初始化函数 EA=1; / 开总中断 TMOD=0X11; / 定时器工作方式挑选, 定时器 0 和定时器 1 都选 择第 1 种工作方式TH0=65536-10000/256; / 定时器 0 装初值,定时10ms(用于秒表)TL0=65536-10000%256; ET0=1; / 开定时器 0 开关50ms 用于时钟 TR0=0; / 开定时器 0 小开关TH1=65536-50000/256; / 定时器 1 装初值,定时TL1=65536-50000%256; ET1=1; / 开定时器 1 开关 TR1=1; / 关定时器 1 小开关 void mode_key / 模式挑选

22、键,本程序两种模式,分别是时间显示、秒表;当 K1_bit 为 0 时显示时钟,为 1 时进入秒表 ifqiehuan_key=0 delay5; ifqiehuan_key=0 k1_bit+; ifk1_bit=2 k1_bit=0; while.qiehuan_key; void display1uchar shi1,uchar shi2,uchar fen1,uchar fen2,uchar miao1,uchar miao2 - 12 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 20 页 - - - - - - - -

23、 - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -/ 显示时钟函数 shi1=num1/10; shi2=num1%10; fen1=num2/10; fen2=num2%10; miao1=num3/10; miao2=num3%10; P2=0xff; P0=tableshi1; / 第一位P2=0xfe; delay3; P2=0xff; P0=tableshi2; / 其次位 P2=0xfd; delay3; P2=0xff; P0=0x40; / 第三位P2=0xfb; delay3; P2=0xff; P0=tablefen1; / 第四位

24、 P2=0xf7; delay3; P2=0xff; P0=tablefen2; / 第五位P2=0xef; delay3; P2=0xff; P0=0x40; / 第六位P2=0xdf; delay3; P2=0xff; P0=tablemiao1; / 第七位P2=0xbf; - 13 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 14 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -delay3; P2=0xff; P0=tablemiao2; /

25、 第八位 P2=0x7f; delay3; P2=0xff; void display0uchar fen3,uchar fen4,uchar miao3,uchar miao4,uchar num9,uchar num10 / 显示秒表函数 fen3=num8/10; fen4=num8%10; miao3=num7/10; miao4=num7%10; num9=num6; num10=num5; P2=0xff; P0=tablefen3; / 第一位 P2=0xfe; delay3; P2=0xff; P0=tablefen4; / 其次位 P2=0xfd; delay3; P2=0x

26、ff; P0=0x40; / 第三位P2=0xfb; delay3; P2=0xff; P0=tablemiao3; / 第四位 P2=0xf7; delay3; P2=0xff; P0=tablemiao4; / 第五位P2=0xef; delay3; - 14 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 15 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -P2=0xff; P0=0x40; / 第六位P2=0xdf; delay3; P2=0xf

27、f; P0=tablenum9; / 第七位 P2=0xbf; delay3; P2=0xff; P0=tablenum10; / 第八位P2=0x7f; delay3; P2=0xff; void key_miaobiao ifk1_bit=1 ifsp_key=0 delay5; ifsp_key=0 TR0=TR0; while.sp_key display0fen3,fen4,miao3,miao4,num9,num10; ifTR0=0 led=0; ifclf_key=0 delay5; ifclf_key=0 led=1; while.clf_key num5=num6=num7

28、=num8=0; - 15 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 16 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - void keyscan /时钟按键扫描 iffunc_key=0 delay5; iffunc_key=0 led=0; num11+; while.func_key; ifnum11=1 TR1=0; ifnum11=2 TR1=1; ifnum11=3 TR1=1; ifnum11=4 num11=0; TR1=1; i

29、fnum11.=0 ifadd_key=0 delay5; ifadd_key=0 - 16 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 17 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -while.add_key; ifnum11=1 num3+; ifnum3=60 num3=0; ifnum11=2 num2+; ifnum2=60 num2=0; ifnum11=3 num1+; ifnum1=24 num1=0; ifsub_key=0

30、delay5; ifsub_key=0 while.sub_key; ifnum11=1 num3-; ifnum3=-1 num3=59; ifnum11=2 num2-; ifnum2=-1 num2=59; ifnum11=3 num1-; ifnum1=-1 num1=23; - 17 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 18 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - void main init; led=0; while1

31、mode_key; switchk1_bit / 模式挑选 case 0: display1shi1,shi2,fen1,fen2,miao1,miao2; / 显示时间 keyscan; break; case 1: display0fen3,fen4,miao3,miao4,num9,num10; / 显示秒表 key_miaobiao; / 扫描秒表操作 break; void Time1 interrupt 3 / 定时器 1 函数(时钟) TH1=65536-49997/256; / 重装初值 TL1=65536-49997%256; num4+; ifnum4=20 num4=0;

32、 num3+; ifnum3=60 / 秒针 num3=0; num2+; ifnum2=60 / 分针- 18 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 19 页,共 20 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - num2=0; num1+; ifnum1=24 / 时针 num1=0; void Time0 interrupt 1 / 定时器 0 函数 秒表 TH0=65536-8000/256; / 重装初值 TL0=65536-8000%256; num5+; ifnum5=10 num5=0; num6+; ifnum6=10 num6=0; num7+; ifnum7=60 num7=0; num8+; ifnum8=60 num8=0; - 19 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 20 页,共 20 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁