课程设计计时提醒器.doc_第1页
课程设计计时提醒器.doc_第2页
课程设计计时提醒器.doc_第3页
课程设计计时提醒器.doc_第4页
课程设计计时提醒器.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

- 16 -课程设计报告课程名称: 单片机课程设计 题 目: 计时提醒器 - 16 -摘要单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 该实物是一个由两位七段数码管、小键盘和蜂鸣器组成的计时提醒器,它是一个很传统的制作项目,这是因为自14世纪出现第一台沙漏作为早期工厂中的计时器,到近代的机械式计时器,人们一直把计时器看作便利的计时工具。与钟表不同,计时器可以简单地设置一个时间长度,并在这个时间消逝完毕后给人以提示。该实物就是利用单片机和外围器件制作一个21世纪的“沙漏”。关键词:数码管;开关;单片机目录1、设计任务、要求11.1、设计任务11.2、设计要求11.3、发挥部分11.4、创新部分12、方案总体设计与论证13、硬件设计23.1、单片机最小系统23.2、单片机复位电路23.3、系统电源33.4、小键盘33.5、发光二极管33.6、数码管43.7、整体电路44、软件设计65、系统仿真与调试65.1、仿真软件简介、调试过程等65.2、调试与仿真过程图75.3、使用说明等96、设计总结97、参考文献10附录一 源程序10附录二 硬件名称列表151、设计任务、要求1.1、设计任务完成一个计时提醒器的设计。1.2、设计要求 开机时,七段数码管显示“00”,等待输入计时时间,在小键盘输入14秒等。如果输入有误,按“#”键取消重新输入。按“*”键确认,计时提醒器开始工作。两位七段数码管的时间显示单位为秒钟,从00秒开始,每1秒增加1,直到计时完14秒时,二极管发出断断续续的光。在计时过程中,如果按下“#”键则取消计时,系统回到开机时的状态。1.3、发挥部分 为了使PCB图排版更加良好,减少飞线数量,在小键盘电路部分取消了上拉电阻,简化电路。1.4、创新部分 在原来的计时器的基础上,为体现创新要求,特添加了一个新功能提醒器。该提醒器用发光二极管来实现它提醒的功能。2、方案总体设计2.1、总体设计框图设计总体框架图如图所示:ATLS89C51发光二极管键盘输入SN74LS47N数码管2.2、总体方案工作原理驱动电路的输入端与单片机的I/O口相连(例如P2.7口),当I/O口输出一个高电平时,发光二极管导通,这样,因有电流流过而发出断断续续的提示光。3、硬件设计3.1、单片机最小系统ATMEL公司生产的AT89C52单片机它是硬件电路的核心部分,时钟电路晶振使用12MHz,复位电路采取按键复位方式。具体连接图3.2、LCD液晶显示模块。单片机系统的时钟电路3.2、单片机复位电路 如图所示,这里用了一个带开关的复位电路,能更方便的使系统复位,并使复位电路更加可靠。单片机系统的复位电路3.3、系统电源按标准应有5V的电源提供,但为了方便携带和简便,在这里特别用了3节干电池组成的电池盒,提供4.5V的电源电压。单片机的正常工作电压在+4.0V+5.5V之间,所以4.5V电源电压完全可以。3.4、小键盘12键的小键盘是一种比较常用的键盘,一种成熟的12键小键盘,上面有09数字键、“*”号键和“#”号键。在现有的条件下自制一个漂亮的键盘比较困难,这里就用了简易的开关组成键盘(这里简化了上拉电阻)。如图所示:小键盘电路3.5、发光二极管如图所示是该实物用的发光二极管,它的正极与200欧姆相连,负极与地相连。发光二极管电路3.6、数码管这里用了两位七段数码管,共阳极。为了方便单片机对这两个数码管进行控制,这里用了两支解码器7447作为接口。P0.0P0.3所连的是两位数的低位,P0.4P0.7所连的是两位数的高位。数码管电路3.7、整体电路整体电路4、软件设计系统初始设置和清屏等扫描10个数字键组合两个输入的数字并现实计时开始进行更新七段数码管显示蜂鸣器鸣响5次倒计时结束程序流程图5、系统仿真与调试5.1、仿真软件简介、调试过程等 Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。5.2、调试与仿真过程图定时32秒正在仿真中,16秒时间到了,发光二极管发光5.4、使用说明等(1)“*”号键确定,“#”号键取消,输入一个数字不显示,要输入两个数字才会显示,输入“14”,其实代表的是“41”秒。(2)任意时候摁下“#”号键,都能立刻取消,数码管显示“00”。6、设计总结这是第一次从头到尾都是一个人在努力的作品,其中有很多努力,流过许多汗水,也有很多次想过放弃,就这样吧,但还是一次次的坚持了下来。从开始的选题,因为熊剑老师说一个课题不能有超过三个人选择一样的,当时因为有事不能及时的选择课题,简单的都被人选择走了,没办法,我只好选择做一个复杂点的计时提醒器。可以这么说,从考完试到现在,大概有一个星期多一点的时间,这短短一段时间,我感觉学到的东西比之前18个星期加起来都要多的多。很多的东西都不会,不会怎么办,自学。从开始的编写程序开始,学习郭天祥老师编写的C程序教程,练习编写程序的思路和想法,虽然如此,但最后还是选择了用汇编语言编写,一是因为一个学期以来对汇编语言更加熟悉一点,c语言不是没有学习过,只是现在有点陌生。后来,好不容易查找各方面资料,最后设计好电路图之后,又开始学习PCB制版软件Altium Designer14 。从朋友那里借了一本书来,每天的任务就是拿着书对着电脑一点点的学习,经常是忘了吃饭。月底的时候,我又开始学习仿真,从网上找到Protues的教程,跟着网上的老师一点点的学习。但是到我自己仿真的时候,发现电路各种出问题。没办法,因为不知道具体是哪里有问题,只好把偌大一个电路分解成一小块一小块来慢慢仿真调试,这期间就花费了两天的时间,废寝忘食还真有那么点,最后在3号早晨的1点,我终于把问题解决,将原先的汇编程序改了三个地方(我还一直以为是硬件出问题了,害我找了好久= =)。从3号开始,我到实验室,学着别人的样子,虚心请教,经过多次努力,终于做成功了我人生中的第一块板子,虽然有各种各样的问题和毛病,但我还是很高兴,因为我学到了很多东西。从那开始,我就一直呆在实验室,饭也不吃了就专心做板子,终于在失败了5次之后,终于做出了一块还比较满意的板子。拿着板子焊了好久,发现焊不下去了,开关的孔设置的太小,引脚完全插不进去,还有单片机的部分引脚铜片太少,完全焊不起来。虽然有种种的问题和失败,但是我毕竟学到了东西。有很多人对这个课程设计有很多怨恨,还有的人是买的,或是请别人帮忙做,但是我还是很喜欢这次经历的,毕竟我来这里就是为了学东西的,自己不动手,自己不努力,何来的学习的经历,学到东西。7、参考文献51单片机应用从零开始杨欣、王玉凤、刘湘黔等编著51单片机C语言教程 郭天祥 编著Altium Designer 14超级手册杨晓琪 等编著附录1:源程序 ORG 00HSTART: /这是系统初始时,显示00和等待按钮按下的程序 MOV P0,#00H; MOV R0,#2 CLR P2.7 CLR P2.0SETTING: /这是扫描数字按键的程序段,设置计时时间 CHK_0: JB P1.0,CHK_1 /扫描数字键0 CALL FILTER JNB P1.0,$ MOV R1,#0 JMP TIMERSET CHK_1: JB P1.1,CHK_2 /扫描数字键1 CALL FILTER JNB P1.1,$ MOV R1,#1 JMP TIMERSET CHK_2: JB P1.2,CHK_3 /扫描数字键2 CALL FILTER JNB P1.2,$ MOV R1,#2 JMP TIMERSET CHK_3: JB P1.3,CHK_4 /扫描数字键3 CALL FILTER JNB P1.3,$ MOV R1,#3 JMP TIMERSET CHK_4: JB P1.4,CHK_5 /扫描数字键4 CALL FILTER JNB P1.4,$ MOV R1,#4 JMP TIMERSET CHK_5: JB P1.5,CHK_6 /扫描数字键5 CALL FILTER JNB P1.5,$ MOV R1,#5 JMP TIMERSET CHK_6: JB P1.6,CHK_7 /扫描数字键6 CALL FILTER JNB P1.6,$ MOV R1,#6 JMP TIMERSET CHK_7: JB P1.7,CHK_8 /扫描数字键7 CALL FILTER JNB P1.7,$ MOV R1,#7 JMP TIMERSET CHK_8: JB P2.1,CHK_9 /扫描数字键8 CALL FILTER JNB P2.1,$ MOV R1,#8 JMP TIMERSET CHK_9: JB P2.2,CHK_AGAIN /扫描数字键9,全都没有按下跳回从数字键0开始扫描 CALL FILTER JNB P2.2,$ MOV R1,#09 JMP TIMERSET CHK_AGAIN: JMP CHK_0TIMERSET: /这是显示和存储所设定的时间程序段 DJNZ R0,LSB JMP MSBLSB: MOV 30H,R1 JMP SETTINGMSB: MOV A,R1 SWAP A ADD A,30H MOV 31H,A MOV P0,ACONFIRM: /这是确认设置时间的程序段 OK: JB P2.3,CANCEL CALL FILTER JNB P2.3,$ MOV A,#00H JMP TIMING CANCEL: JB P2.4,OK CALL FILTER JNB P2.4,$RESTART: JMP STARTTIMING: MOV P0,A MIN: MOV R0,#60 SEC: MOV R1,#10SEC_10: MOV R2,#200 CALL DELAY DJNZ R1,SEC_10 DJNZ R0,SEC ADD A,#1 DA A CJNE A,31H,TIMINGBEEP: /这是提示音程序段,控制蜂鸣器 MOV R2,#5 REPEAT: SETB P2.7 CALL LONGDELAY CLR P2.7 CALL LONGDELAY DJNZ R2,REPEAT JMP START DELAY: /0.5ms延时子程序 MOV R3,#248 JNB P2.4,RESTART DJNZ R3,$ RETFILTER: /消除开关抖动,30ms延时子程序 MOV R6,#60 F1: MOV R7,#24

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论