ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:596.82KB ,
资源ID:11937234      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11937234.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的定时闹钟课程设计报告书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的定时闹钟课程设计报告书.docx

1、基于单片机的定时闹钟课程设计报告书任务书一、设计目的本设计主要是对 51 单片机的一个方面的扩展,是能实现一般定 时闹钟功能的设计。需要实现某一功能时,按对应的按键即可,经过 多次验证,此设计灵活简便,可以实现显示、定时、修改定时、定时 时间到能发出报警声的功能。二、设计要求1、能显示时时分分秒秒。2、能够设定定时时间,并修改定时时间3、定时时间到能发出警报声。1.绪论 12.方案论证 13.方案说明 24.硬件方案设计 24.1单片机 STC89C52 24.2时钟电路 44.3数码管显示电路 44.4键盘电路 64.5报警电路 75.软件方案设计 75.1系统软件设计 75.2键盘程序 7

2、5.3LED 85.4音响报警电路 85.5程序流程图 86.调试 97.小结 108.参考文献 119.附录:定时闹钟源程序 121.绪论系统采用单片机STC89C52作为本设计的核心元件,在其基础上外围扩展芯 片和外围电路,附加时钟电路,复位电路,键盘接口及 LED 显示器。键盘采用 独立连接式。还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示 预先设定时间时间到,从而起到定时作用。外围器件有 LED 显示驱动器及相应的显示数字电子钟设计与制作可采用单 片机来完成。由于其功能的实现主要通过软件编程来完成 ,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采

3、用单片机 STC89C52它是低功耗、高性能的 CMOS型8位单片机。片内带有8KB的Flash 存储器且允许在系统内改写或用编程器编程。另外,STC89C52的指令系统和引 脚与8051完全兼容,片内有512B的RAM、32条I/O 口线、3个16位定时计数器、 4 个外部中断、一个 7 向量 4 级中断结构(兼容传统 51 的 5 向量 2 级中断结构) 等。在 LED 显示器中,分成静态显示和动态显示两类,在这个设计的最小系统 中主要用了它的动态显示功能, 动态显示器利用了人视觉的短暂停留, 在数据的 传输中是一个一个传输的,且先传输低位。2.方案论证单片机作为核心的控制元件,使得电路的

4、可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。本系统采用单片机STC89C52作为本设计的核心元件,利用两个 4位7段共阴LED作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外 围接有定时报警系统,定时时间到,蜂鸣器发出报警声,提示预先设定时间到。电路由下列部分组成:时钟电路、复位电路、控制电路、 LED显示、报警电路,芯片选用STC89C52单片机。数码显示系统基本框图如图2.1所示:时钟电路STC89C52报警电路图2.1系统基本框图3.方案说明此设计主要是通过单片机系统,综合运用定时器、中断、数码显示等知识设 计一个可定时的电子钟。它包括系统总

5、体方案及硬件设计,软件设计, Proteus软件仿真等部分。系统总体方案及硬件设计是本设计的重要组成部分, 在这部分详细介绍了时 钟原理,硬件设计,数码管 LED ,以及在设计过程中考虑到技术指标,机型的 选择,器件的选择等一系列问题。硬件设计的主要任务是根据总体设计要求, 以及在所选机型的基础上, 确定 系统扩展所要用的存储器, I/O 电路及有关外围电路等然后设计出系统的电路原 理图。合理的软件结构是设计出一个性能优良的单片机应用性系统软件的基础, 因 此必须充分重视。在本设计中采用应用广泛的 C语言。用Proteus软件仿真检查设计是否合理 。4.硬件方案设计4.1单片机 STC89C5

6、2STC89C52是一个低电压,高性能CMOS型8位单片机,片内含8KB的可反 复擦写的Flash只读程序存储器(ROM)和512B的随机存取数据存储器(RAM), 器件采用STC公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系 统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机 的STC89C52提供了高性价比的解决方案。其引脚图如下图 4.1所示:P1.0140VCcP1.1239P0.0P1.2338P0.1P1.3437P0.2P1.4536P0.3P1.5635P0.4P1.6734P0.5P1.7833P0.6RST932P0.7P3.0103

7、1EAP3.111STC89C5230ALEP3.21229PSENP3.31328P2.7P3.41427P2.6P3.51526P2.5P3.61625P2.4P3.71724P2.3XTAL21823P2.2XTAL11922P2.1GND 2021P2.0图 4.1 STS89C52STC89C52具体介绍如下:1)主电源引脚(2根)VCC(40):电源输入,接+ 5V电源GND(20):接地线2)外接晶振引脚(2根)XTAL1(19):片内振荡电路的输入端XTAL2(18):片内振荡电路的输出端3)控制引脚(4根)RST/VPP(9):复位引脚,引脚上出现2个机器周期的高电平将使单片

8、机复位ALE/PROG(30):地址锁存允许信号PSEN(29)外部存储器读选通信号EA/VPP(31) :程序存储器的内外部选通,接低电平从外部程序存储器读指 令,如果接高电平则从内部程序存储器读指令。4)可编程输入 /输出引脚( 32根)STC89C52单片机有4组8位的可编程I/O 口,分别为P0 P1、P2、P3 口, 每个口有 8 位(8 根引脚),共 32根。PO 口(3932): 8位双向I/O 口线,名称为 P0.旷P0.7P1 口(18): 8位准双向I/O 口线,名称为 P1.(P1.7P2 口(2128): 8位准双向I/O 口线,名称为P2.0-P2.7P3 口( 10

9、17): 8位准双向I/O 口线,名称为P3.CP3.74.2时钟电路单片机的时钟产生方法有两种 :内部时钟方式和外部时钟方式。本系统中STC89C52单片机采用内部时钟方式。最常用的内部时钟方式是采 用外接晶体和电容组成的并联谐振回路。振荡晶体可在 1.2MHz12MHz之间。 电容值无严格要求, 但电容取值对振荡频率输出的稳定性、 大小和振荡电路起振 速度有少许影响,一般可在 20pF100pF之间取值。STC89C52单片机的时钟电 路如图 4.2所示。图4.2时钟电路4.3数码管显示电路单片机中通常使用7段LED , LED是发光二极管显示器的缩写。LED显示 器由于结构简单,价格便宜

10、,体积小,亮度高,电压低,可靠性高,寿命长,响 应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。 LED显示器是由若干个发光二极管组成显示字段的显示部件, 当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。 LED显示器有多种形式口:“米”字型显示器,点阵显示器和七段数码显示 器等,在单片机系统中使用最多的是七段数码显示器。LED七段数码显示器由8个发光二极管组成显示字符,根据内部发光二极 管的连接形式不同,LED有共阴极和共阳极两种,如图431所示为4为7段共阴 数码管的引脚图。A1 a f A2 A3 b1 11 11 1 10 0

11、 0 D01 1 1 10 0 0 D0 I i 1 口D D D 1111 (1 ( 1 n n nI1 1 1i i ie d dp c g A4图431 4段共阴数码管引脚图采用高亮共阴型S位数码管,为示区别,显示秒的两个数码管个头较小,另 外4个较大。共阴数码管连接线路如下:一般用7个发光二极管构成显示数字和 符号,另外还用一段发光二极管显示小数点。 这种显示器一般分为两种,共阳极 显示器和共阴极显示器,共阳极显示器是把每个二极管的正端连在一起,共阴极 显示器是把每个二极管的阴极连在一起。一只显示器是有 8个发光二极管构成,当把某段加正向电压时,则该段所对应的笔划亮,不加正向电压则暗,

12、为了保护 各段不受损坏需要加限流电阻,无论是共阳极显示器还是共阴极显示器,它的 8段排列顺序都是一样的:A段、B段、C段、D段、E段、F段、G段和DP段。 在单片机中通常使用7段LED。数码管的显示电路如下图432所示:图432数码管的显示电路数码管中二极管电流的计算二极管本身有2V的电压降,一般二极管电流取10mA,则需添加的电阻为R=( U-U Led)/I Led,代入相关数值,即为300Q。本设计中,选用的电阻为470Q,则电流为I= ( U-5ed)/R ;代入实际数值,即为6.4mA,能够满足显示效果。4.4键盘电路设计方案中使用的是3个开关键组成的键盘电路,如下图 4.4所示:图

13、4.4键盘电路图4.5报警电路设计方案中,采用的是蜂鸣器和 PNP型三极管组成的报警电路。如下图 4.5所示:图4.5报警电路5软件方案设计5.1系统软件设计该系统软件主要有主程序模块,定时中断服务程序,中断等待服务程序,键 盘程序,显示子程序服务程序等六大模块组成,因为 C语言容易理解和记忆,所以我们用C语言来写此程序。5.2键盘程序键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环 主程序,一旦有键按下,便转向相应的子程序处理,处理结束后再返回5.3LED七段 LED 由七个发光二极管按日字排开, 所有发光二极管的阳极连在一起成 共阳极,阴极连在一块称共阴极接法。 当采用芯

14、片驱动时不需要加限流电阻, 其 他情况下一般应外接限流电阻。 动态显示电路有显示块, 字形码封锁驱动器, 字 位锁存驱动器三部分组成。5.4音响报警电路在STC89C52外围的一个管口上加蜂鸣器,通过软件与硬件的结合可实现定 时闹钟功能。5.5程序流程图开始图5.5程序流程图6调试设几个按键从左往右为 K1,K2,K3。K1与P1.0相连,K2与P1.1相连,K3与P1.2相连。按一下启动开关,显示为时间显示。按一下 K1 ,进入时间显示的小时设定状态;按两下K1,进入时间显示的分钟设定状态;按三下 K1,进入定时的小时设定状态;按四下K1,进入定时的分钟设定状态;按五下 K1,退出设定,进入

15、当前时间显示状态;K2和K3分别是对当前设定值的加和减。如下图 6.1和6.2所示6.1调时仿真效果图图6.2定时仿真效果图7小结在做课程设计的过程中,我进一步认识到全面专业知识以及逻辑思考方式对 研究问题的重要性,同时我也更加具体的掌握了课程设计的基本方法。经过不断的努力,我终于完成了这次课程设计,总的来说,我学到了不少的 东西,知道了理论联系实际的重要性。 在设计过程中我遇到了很多的困难, 但没 放弃,查阅了许多相关的书籍,自己独立思考和借鉴了前人的许多优秀成果, 并 与所学的知识紧密的结合了起来。我相信这过程对我今后的学习和工作有着积极 的影响,并搭好了平台。通过这次设计,我对这门课有了

16、更好的理解,尤其结合了这几年学的相关的 专业知识,对各门课都有了一个较全面的理解。 这必将对我以后的学习和工作有 很大的帮助。本次课程设计的定时闹钟电路,可以满足人们的基本要求,但因为知识水平有限, 此电路中存在一定的问题, 虽可以通过增加电路解决, 但过于复 杂和现有水平有限,本次设计就未深入涉及,想要更好的改进电路,需要进一步的努力,如 果有好的意见,希望老师给予支持指导8.参考文献1何立民 .单片机应用技术选编 10.北京:北京航空航天大学出版社2林立 .单片机原理及应用 .北京:电子工业出版社3沙占友等 .单片机外围电路设计 .西安:电子工业出版社4江力.蔡骏.王艳春 .董泽芳.单片机

17、原理与应用技术 .北京,清华大学出版社5潘永红 .柳殊 .单片机原理与应用 .西安,西安电子科技大学出版社9.附录:定时闹钟源程序#include unsigned char led12=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00; / 用一维数组定义 0-9、横杠、全灭unsigned char a8;unsigned char second=0,minute=0,hour=1;unsigned char minute1=0,hour1=0;unsigned char b8=0xfe,0xfd,0xfb,0xf7,0

18、xef,0xdf,0xbf,0x7f; /扫描unsigned char k=0;unsigned int temp; / 记录毫秒为秒的变量unsigned char M,S_flag; /M 是模式,更新时间的种模式加上正常模式 S_flag 闪烁标志sbit K仁 P1A0;sbit K2=PM1;sbit K3=P1A2;sbit BEEP=P3A3;void delay(unsigned n) /0.2 毫秒int x,y;for(x=0;xn;x+)for(y=0;y24;y+);void time1() interrupt 3TH1=0xfc;TL1=0x18;temp+; if

19、(temp=1000)temp=0;second+; if(second=59)second=0; if(minute59) minute+;else/ 定时器中断函数/ 定时 ms/ 配合定时器定时 s minute=0; hour+; hour%=24;/ 闹钟时间到if(hour1=hour&minute1=minute&second10) if(M=0)BEEP=!BEEP;if(temp%250=0) / 每 msS_flag=!S_flag; / 闪烁标志位取反 if(k=8) k=0;P0=ak;P2=bk+;delay(1);P2=0xff;void display()swit

20、ch(M)case 0:a2=led10;a3=ledminute/10;a4=ledminute%10;a5=led10;a6=ledsecond/10;a7=ledsecond%10; break;case 1:if(S_flag=1)a0=ledhour/10;a1=ledhour%10;elsea0=led11;a1=led11;a3=ledminute/10;a5=led10;a6=ledsecond/10;a7=ledsecond%10;break;case 2:a0=ledhour/10; a1=ledhour%10; a2=led10;if(S_flag=1)a3=ledmin

21、ute/10;a4=ledminute%10; elsea3=led11;a4=led11;a6=ledsecond/10;break;case 3:if(S_flag=1)a0=ledhour1/10;a1=ledhour1%10;elsea0=led11;a1=led11;a2=led10;a3=ledminute1/10;a4=ledminute1%10;a5=led11;a6=led11;a7=led11;break;case 4:a1=ledhour1%10;a2=led10;if(S_flag=1)a3=ledminute1/10;a4=ledminute1%10;elsea3=l

22、ed11;a4=led11;a5=led11;a6=led11;a7=led11;void key_prc()if(K1=0)delay(10);/ 延时去抖if(K1=0)/ 按 K1 进行模式切换 M+;if(M=5)M=0;while(!K1);/ 等待按键释放if(M!=0)switch(M)case 1:/ 模式 -调时if(K2=0)delay(10); / 延时去抖if(K2=0) / 加键按下 if(hour 0) hour-;else hour=23;while(!K3); break;case 2: / 模式 -调分if(K2=0)delay(10);if(minute0)

23、 minute-;else minute=59;while(!K3); break;case 3: / 模式 -闹钟调时if(K2=0)delay(10);if(hour10)hour1-;else hour1=23;while(!K3); break;case 4: / 模式 -闹钟调分delay(10);if(K2=0)if(minute10)minute1-;else minute1=59;while(!K3); break;void main()M=0;S_flag=0; / 闪烁标志位TMOD=0x10; / 定时器以方式定时TL1=0x18;EA=1; / 打开总中断ET1=1; / 允许定时器中断TR1=1; / 开启定时器 (开始定时计数 )while(1)key_prc();display();如有侵权请联系告知删除,感谢你们的配合!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1