单片机基于89C51的设计报告书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

重庆化工职业学院自动化工程系1重庆化工职业学院课程设计报告书课程名称单片机课题名称基于51单片机的电子时钟设计专业自动化班级姓名2011年12月20日重庆化工职业学院自动化工程系2单片机课程设计任务书系部自动化工程系专业自动化学生姓名设计题目基于51单片机的电子时钟设计内容及要求:1.设计电路,选择器件2.画出原理框图3.焊接电路,调试4.编程,调试5.补充完后面的论文分工进度及安排:(7天)1.查资料讨论设计题目(1天):2.设计电路画电路图(1天):3.编程与调试(1天):4.焊接硬件电路并调试(2天):5.写报告(2天):指导教师:2011年12月20日系主任:201年12月20日重庆化工职业学院自动化工程系3基于51单片机的******设计(另附页)前言:设计要求与方案论证(本部分主要写本设计有什么具体要求并分析其可行性)第一章:系统的组成及工作原理(本部分主要完成系统总体设计,需画出原理框图)第二章:系统硬件电路设计与实现(本部分主要完成系统硬件电路部分,包括单片机最小化系统(电源电路,复位电路,晶振电路)和8段数码管电路)第三章:系统软件设计(本部分主要完成系统软件的编程,用C语言编,要求首先画出软件流程图)第四章:系统调试(本部分主要完成系统调试,包括硬件调试和软件调试)第五章:设计体会和结论致谢参考文献附录一:电路原理框图附录二:系统硬件电路图(可手画或打印)附录三:软件流程图附录四:元件清单重庆化工职业学院自动化工程系4目录前言…………………………………………………………………5第一章系统的组成及工作原理……..............51.1系统的总体设计………………………………………………….51.2原理框图………………………………………………………………61.3系统的工作原理……………………………………………………7第二章系统硬件电路设计与实现……………………72.1系统硬件电路部分………………………………………….72.1.1系统的硬件清单列表…………………………………………82.1.2系统硬件的焊接………………………………………………..82.2各部分的功能实现……………………………………………9第三章系统软件设计………………………………………93.1软件流程图………………………………………………………93.2控制电路C语言程序………………………………………103.3控制电路的C语言程序……………………………………11第四章系统的调试…………………………………………144.1、硬件调试………………………………………………………144.2、软件调试………………………………………………………15第五章设计体会和结论…………………………………15致谢…………………………………………………………………16参考文献…………………………………………………………16重庆化工职业学院自动化工程系5基于51单片机的数码管时钟设计前言单片机即单片微型计算机。(Single-ChipMicrocomputer),是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于工业自动化上和智能产品。时钟,自从它被发明的那天起,就成为了人类的好朋友,但随着时间的推移,科学技术的不断发展,时钟的应用越来越广范,人们对时间计量的精度要求也越来越高。这就要求我们不断设计出新型的时钟,来不断满足人们的日常生活需要。然而市场上的时钟便宜的比较笨重,简单实用的又比较昂贵。那么,有没有一款既简单实用价格又便宜的时钟呢?我们课程设计小组设想:可不可以利用单片机功能集成化高,价格又便宜的特点设计一款结构既简单,价格又便宜的单片机电子时钟呢?基于这种情况,我们课程设计小组成员多方查阅资料,反复论证设计出了这款既简单实用,又价格便宜的——单片机电子时钟。第一章系统的组成及工作原理本次设计时钟电路,使用了AT89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用C语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:按键、芯片、扬声器、显示屏即可满足设计要求。1.1系统总体设计此系统总体设计图如图1-1所示,此电路包括以下四个部分:单片机,按键,闹铃电路及显示电路。重庆化工职业学院自动化工程系6图1-1经多方论证硬件我们小组采用AT89C51单片机和7SED六位共阳极数码管等来实现单片机电子时钟的功能1.2原理框图重庆化工职业学院自动化工程系7图1.2-11.3系统工作原理如图1.2-1,设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示。第二章系统硬件电路设计与实现2.1系统硬件电路部分系统硬件电路:键盘、芯片、扬声器、显示屏。如下图2.1-1。右边按键从上到下依次为控制“秒”,“分”,“时”,“闹铃”图1.3-1重庆化工职业学院自动化工程系82.1.1系统硬件清单列表,如图2.1.1-1器件参数个数参考价格单片机STC89C511单片机底座1排针8位8排母排线8位8金属丝2.541USB电源接头1晶振12MHz1瓷片电容30pF2极性电容10μF1按钮开关5电阻4.7K7电阻1K10排阻470*81数码管8位8段3蜂鸣器1三极管90127万能板10*101发光二极管5电源5V1按键开关点动5图2.1.1-12.1.2系统硬件的焊接如图2.1.2-1重庆化工职业学院自动化工程系9图2.1.2-12.2各部分功能实现(1)单片机发送的信号通过程序控制最终在数码管上显示出来。(2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。(3)为使时钟走时与标准时间一致,校时电路是必不可少的,按键用来校正数码管上显示的时间。(4)单片机通过控制蜂鸣器电路来完成定时闹钟的功能。第三章系统软件设计3.1软件流程图软件程序从开始执行,先通过初始化各个寄存器,经过扫描按键来决定是否设定参数来执行相应功能的程序,进而在数码管上显示。如图3.1-1图3.1-1重庆化工职业学院自动化工程系103.2程序流程图1、主程序流程如图3.2-1所示,其中初始化加载制作者的年月日,制作者的专业、学年、学号的数据。图3.2-12、秒表、计时指示程序。秒表、调时由时钟芯片完成,其程序流程图如下图所示重庆化工职业学院自动化工程系113.3控制电路的C语言程序根据流程图,经过认真分析得出控制电路的源程序如下:#includereg51.h#includeabsacc.h#defineucharunsignedchar#defineuintunsignedint/*七段共阴管显示定义*/ucharcodedispcode[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0xBF,0x86,0xCB,0xCF,0xEF,0xED,0xFD,0x87,0xFF,0xDF};/*定义并初始化变量*/ucharseconde=0;ucharminite=0;ucharhour=12;ucharmstcnt=0;sbitP1_0=P1^0;//second调整定义sbitP1_1=P1^1;//minite调整定义sbitP1_2=P1^2;//hour调整定义/*函数声明*/voiddelay(uchark);//延时子程序voidtime_pro();//时间处理子程序voiddisplay();//显示子程序voidkeyscan();//键盘扫描子程序/*****************************//*延时子程序*//****************************/voiddelay(uchark){ucharj;while((k--)!=0){for(j=0;j125;j++){;}}}/**************************//*时间处理子程序*//**************************/voidtime_pro(void)重庆化工职业学院自动化工程系12{if(seconde==60)//秒钟设为60进制{seconde=0;minite++;if(minite==60)//分钟设为60进制{minite=0;hour++;if(hour==24)//时钟设为24进制{hour=0;}}}}/*****************************//*显示子程序*//*****************************/voiddisplay(void){P2=0xfe;P0=dispcode[hour/10];//显示小时的十位delay(4);P2=0xfd;P0=(dispcode[(hour%10)])|0X80;//显示小时的个位delay(4);P2=0xfb;P0=dispcode[minite/10];//显示分的十位delay(4);P2=0xf7;P0=(dispcode[minite%10])|0X80;//显示分的个位delay(4);P2=0xef;P0=dispcode[seconde/10];//显示秒的十位delay(4);P2=0xdf;P0=dispcode[seconde%10];//显示秒的个位重庆化工职业学院自动化工程系13delay(4);}/*******************************//*键盘扫描子程序*//*******************************/voidkeyscan(void){if(P1_0==0)//按键1秒的调整{delay(30);if(P1_0==0){seconde++;if(seconde==60){seconde=0;}}}if(P1_1==0)//按键2分的调整{delay(30);if(P1_1==0){minite++;if(minite==60){minite=0;}}}if(P1_2==0)//按键3小时的调整{delay(30);if(P1_2==0){hour++;if(hour==24)重庆化工职业学院自动化工程系14{hour=0;}}}}voidtimer0(void)interrupt1using0//定时器0方式1,50ms中断一次{TH0=0x3c;TMOD=0x11;mstcnt++;if(mstcnt==20){seconde++;mstcnt=0;//注意点。对计数单元的清零十分的重要,本次调试中就是}//因为忽略了这一点,给我早成了很大的被动。}/**************************//*主函数*//**************************/voidmain(void){P1=0xff;//初始化p1口,全设为1TMOD=0x11;//time0为定时器,方式1TH0=0x3c;//预置计数初值TL0=0xb0;EA=1;ET0=1;TR0=1;while(1){keyscan();//按键扫描time_pro();//时间处理display();//显示时间}}第四章系统调试此时钟设计是利用protues仿真软件进行仿真,基本上实现了课程设计要求重庆化工职业学院自动化工程系15实现的功能。4.1、硬件调试51单片机的数码管显示时钟的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺被带有包皮的导线,则会对电路造成短路现象。在本成电子万年

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功