可调LED数显电子时钟设计.doc_第1页
可调LED数显电子时钟设计.doc_第2页
可调LED数显电子时钟设计.doc_第3页
可调LED数显电子时钟设计.doc_第4页
可调LED数显电子时钟设计.doc_第5页
免费预览已结束,剩余17页可下载查看

下载本文档

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

文档简介

机电设备控制技术课程设计说明书题 目 可调LED数显电子时钟设计 机 械 工 程 学院 机械设计制造及其自动化 专业 xxxx 班 xx 号学生姓名 xxx . 指导教师 xxx xxx . 完成日期 2009年12月10日 . 20目 录第1章 课程设计任务书11.1 设计要求及任务11.2 进度安排及完成时间1第2章 可调LED数显电子时钟工作原理22.1 LED显示原理22.2 可调LED数显电子时钟工作过程2第3章 可调LED数显电子时钟系统设计33.1 硬件原理的设计33.2 元器件的选型43.3 软件设计流程图43.4 源程序8第4章 设计总结17参考文献18第1章 课程设计任务书设计题目 可调LED数显电子时钟设计 姓名xxx院别机械工程学院专业机械设计制造及其自动化班级 xxxx学号 xx 指导老师 xxx xxx 教研室主任 xxx 1.1 设计要求及任务1设计要求 (1)用单片机进行控制; (2)用数码管显示时、分、秒; (3)用按键实现时、分、秒调整项的选择与时间的加、减调整;(4)保证所调整项闪烁,以示区别。 2设计任务(1)设计时钟工作方案;(2)硬件设计、硬件原理图及元器件选型;(3)绘制工作流程图及软件设计;(4)程序在开发板上通过调试;(5)编写设计说明书。1.2 进度安排及完成时间1设计时间安排:2009年11月30日至2009年12月11日2设计进度安排: 第13周:布置设计任务,查阅资料,熟悉设计要求及任务,软硬件设计。 第14周:调试程序,整理资料,撰写设计说明书,答辩,交设计作业(打印稿及电子稿)。第2章 可调LED数显电子时钟工作原理2.1 LED显示原理LED(Light Emitting Diode),发光二极管,简称LED,,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。而光的波长也就是光的颜色,是由形成P-N结的材料决定的。 它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。由于具有容易控制、低压直流驱动、组合后色彩表现丰富、使用寿命长等优点,广泛应用于城市各工程中、大屏幕显示系统。LED可以作为显示屏,在计算机控制下,显示色彩变化万千的视频和图片。 LED是一种能够将电能转化为可见光的半导体。2.2 可调LED数显电子时钟工作过程可调LED数显电子时钟由8个数码管组成,其从左到右数码管显示格式为“XX-XX-XX”,如12-20-30。数码管的时、分、秒位分别根据时钟的运行进行变化。并且可以通过按键实现时间的调整:K1作为功能键,通过K1实现时、分、秒的调整项的选择;K2键作为加1键;K3键作为减1键。在调整时所调整的项闪烁,目的是和其他两个时间项区别出来,并且在按下按键时有蜂鸣器发出提示音,当数字时钟到达整点时也有蜂鸣器发出提示。可调LED数显电子时钟由51单片机进行控制,为了节省端口,电子时钟的显示采用动态显示的方式。而时、分、秒的分隔符在运行时进行闪烁,以作为数字时钟运行的提示。第3章 可调LED数显电子时钟系统设计3.1 硬件原理的设计根据设计任务书的要求选择硬件元器件,并进行硬件线路的连接。电子时钟的硬件原理图如图1所示:图1 电子时钟硬件原理图单片机的P0口作为显示字形的输出口,P2口作为位选码的输出口来选择需要显示字形的数码管,由P1.7口输出蜂鸣器的控制信号并控制蜂鸣器的按要求发声,由P3.0、P3.1、P3.2口作为按键控制信号的输入端口。电阻与三极管组成了数码管的驱动电路,来实现通过单片机输出的低电压来控制数码管的正常显示。3.2 元器件的选型根据电子时钟的运行特点和要求,对元器件进行选择。电气元器件选型如下表1:表1 电子时钟的元器件目录表序号名称数量规格型号1单片机1AT89C512数码管显示器17SEG-MPX8-CA-BLUE3按钮3ZC-1612C4电阻1710WATT1K5PNP三极管93AD156蜂鸣器1ZC-1612C7导线 若干3.3 软件设计流程图电子时钟的软件设计流程图分别如下所示:3.4 源程序ORG 0000HLJMP MAINORG 0003HLJMP INT_0ORG 000BHLJMP INT_TOORG 0030HMAIN: MOV 70H,#00H; 显示器显示数字的显示缓冲区 MOV 71H,#05H; MOV 72H,#0BH; MOV 73H,#09H; MOV 74H,#05H; MOV 75H,#0BH; MOV 76H,#03H; MOV 77H,#02H; MOV R0,#70H; 显示缓冲区地址 MOV 30H,#0FEH; 位选码,指向LED0 MOV TMOD,#01H; 定时器T0工作方式1 MOV TH0,#4CH; 定时器T0赋初值(定时46ms)由于单片机执行定时; 器中断程序时要经过 MOV TL0,#50H; 一定的机械周期所以要定时1s=(定时数+执行机械周; 期)x循环次数 MOV R2,#20; 定时扩展计数20次 MOV R3,#00H; 功能键按下次数 SETB ET0; 开定时器T0中断 SETB TR0; 启动定时器T0 SETB EA; 开放中断系统 SETB EX0; 允许INT0中断 SETB IT0; 下降沿触发LOOP: LCALL SCAN; 调用按钮扫描子程序 LCALL DISP; 调用显示子程序 SJMP LOOP; 循环等中断;/; 按钮扫描子程序;/;按钮扫描程序通过判断记录功能键按下次数寄存器R3的值,对时钟的不同位;实现闪烁显示,当R3中的值分别为1、2、3时分别使得秒、分、小时位闪烁显;示,当R3中的值为0或4时时钟的各位都不闪烁显示。SCAN:CJNE R3,#01H,LP1;判断功能键是否按下1次 LCALL SCHANGE; 调用秒加减调整程序 MOV 40H,70H; 保存秒钟的数据 MOV 41H,71H; MOV 70H,#0AH; 使秒钟的显示值指向熄灭 MOV 71H,#0AH; MOV R6,#03FH; 延时显示 MOV R0,#70H;YY: LCALL DISP ; 调用显示子程序 DJNZ R6,YY; MOV 70H,40H; 将原秒钟的值重新显示 MOV 71H,41H; MOV R6,#03FH; 延时显示 MOV R0,#70H;XX: LCALL DISP; 调用显示子程序 DJNZ R6,XX; LJMP SCAN;LP1: CJNE R3,#02H,LP2; LCALL MCHANGE; 调用分加减调整程序 MOV 43H,73H; MOV 44H,74H; MOV 73H,#0AH; MOV 74H,#0AH; MOV R6,#03FH; MOV R0,#70H;YYY: LCALL DISP; DJNZ R6,YYY; MOV 73H,43H; MOV 74H,44H; MOV R6,#03FH; MOV R0,#70H;XXX: LCALL DISP; DJNZ R6,XXX; LJMP LP1;LP2: CJNE R3,#03H,NEXT; LCALL HCHANGE; 调用小时加减调整程序 MOV 46H,76H; MOV 47H,77H; MOV 77H,#0AH; MOV 76H,#0AH; MOV R6,#03FH; MOV R0,#70H;YYYY:LCALL DISP; DJNZ R6,YYYY; MOV 76H,46H; MOV 77H,47H; MOV R6,#03FH; MOV R0,#70H;XXXX:LCALL DISP; DJNZ R6,XXXX; LJMP LP2;NEXT: RET; ;/; 功能键按下中断子程序;/INT_0: LCALL SOUND INC R3; 有功能键按下功能键计数寄存器加1CJNE R3,#04H,NEXT0; 功能键没有按下4次跳出中断 MOV R3,#00H; 功能键按下4次后重新设定计数寄存器初值NEXT0: RETI;/; 秒加减调整子程序;/; 秒加减调整子程序通过判断P3.1和P3.0口的输入情况来对秒的位进行加减调;整。当P3.1口一直有低电平输入,即K2键一直按下时秒位会一点点的进行累;加,直到59时再加则变为0如继续按下则重复以上动作;当P3.0口一直有低;电平输入,即K3键一直按下时秒位会一点点的进行递减,直到减到0时再减则;变为59如继续按下则重复以上动作。SCHANGE:JB P3.1, SDEC; 加键未按下跳到下一判断 LCALL SOUND; 调用按键提示音子程序 INC 70H; 加键按下秒加1 MOV R5,70H; CJNE R5,#0AH,NEXT3; 秒的个位未超过9继续 MOV 70H,#00H; 秒的个位超过9个位重新赋值0 INC 71H; 秒的十位加1 MOV R5,71H; CJNE R5,#06H,NEXT3;秒的十位未达到6继续 MOV 71H,#00H; 秒的十位达到6重新赋0 SJMP NEXT3SDEC: JB P3.0, NEXT3; 减键未按下跳出 LCALL SOUND; 调用按键提示音子程序 DEC 70H; 减键按下秒的个位减1 MOV R5,70H; CJNE R5,#0FFH,NEXT3;秒的个位没有少于0继续 DEC 71H; 秒的个位少于0十位减1 MOV 70H,#09H; 秒的个位赋9 MOV R5,71H; CJNE R5,#0FFH,NEXT3; 秒的十位不少于0继续 MOV 71H,#05H; 秒的十位少于0时十位重新赋5NEXT3: RET;/; 分加减调整子程序;/; 分加减调整子程序具体的功能同秒加减调整子程序MCHANGE:JB P3.1, MDEC; LCALL SOUND; 调用按键提示音子程序 INC 73H; MOV R5,73H; CJNE R5,#0AH,NEXT4; MOV 73H,#00H; INC 74H; MOV R5,74H; CJNE R5,#06H,NEXT4; MOV 74H,#00H; SJMP NEXT4MDEC: JB P3.0, NEXT4; LCALL SOUND; 调用按键提示音子程序 DEC 73H; MOV R5,73H; CJNE R5,#0FFH,NEXT4; DEC 74H; MOV 73H,#09H; MOV R5,74H; CJNE R5,#0FFH,NEXT4; MOV 74H,#05H;NEXT4: RET;/; 小时加减调整子程序;/; 小时加减调整子程序具体的功能同秒加减调整子程序HCHANGE: JB P3.1, HDEC; LCALL SOUND; 调用按键提示音子程序 INC 76H; MOV R5,76H ; CJNE R5,#04H,HOUR1; 小时低位未到4转向下一判断 MOV R5,77H; CJNE R5,#02H,NEXT5; 小时低位到4但高位未到2跳出继续 MOV 76H,#00H; 小时低位到4且高位到2使小时的高低位都为0 MOV 77H,#00H; SJMP NEXT5;HOUR1: CJNE R5,#0AH,NEXT5; 小时低位未超过9跳出继续 MOV 76H,#00H; 小时低位超过9使低位为0 INC 77H; 小时高位加1 SJMP NEXT5HDEC: JB P3.0, NEXT5 LCALL SOUND; 调用按键提示音子程序 DEC 76H MOV R5,76H CJNE R5,#0FFH,NEXT5; 小时低位未到0转向下一判断 MOV R5,77H; CJNE R5,#00H,HOUR2; 小时低位到0但高位未到0跳出继续 MOV 76H,#03H; 小时低位到0且高位到0使小时的高低位为24 MOV 77H,#02H; SJMP NEXT5;HOUR2: MOV 76H,#09H; 小时低位到0且高位未到0使低位为9 DEC 77H; NEXT5: RET ;/; 显示子程序;/;显示子程序通过字形码的选择和输出,以及位选码的循环移位输出来实现对显;示缓冲区内的字形的动态显示。DISP: MOV A,R0; 取要显示的字符 MOV DPTR,#TAB; 显示字形码首地址 MOVC A,A+DPTR; 查表取字形码 MOV P0,A; 从P0口输出字形码 MOV A,30H; 位选码 MOV P2,A; 从P2口输出位选码 RL A; 下一个显示器的位选码 MOV 30H,A; 位选码送回30H单元 INC R0; 指向下一个要显示的字形 ;ORL P0,#0FFH; /*/ 令显示器熄灭来消除残影 /*/MOV R1,#0FFHJJ:DJNZ R1,JJ ORL P0,#0FFH; /*/ 令显示器熄灭来消除残影 /*/ CJNE R0,#78H,DISP; 8位显示未完继续 MOV R0,#70H; 8位显示完毕令R0重新指向显示缓冲区的首地址 RET ;/; 定时中断子程序;/;通过定时器T0中断来实现时钟的计时运行,使得每经过1S时钟的秒位就会自;动加1并按照时钟的运行规律进行运转。INT_TO: MOV TH0,#4CH; 定时器T0赋初值 MOV TL0,#50H; DEC R2 CJNE R2,#10,FLASH; 定时0.5s使得时分秒间的分隔符闪烁 MOV 72H,#0AH; MOV 75H,#0AH;FLASH: CJNE R2,#00H,NEXT2; 定时1s未到继续 MOV R2,#20; 定时1s到重新为R2赋值 MOV 72H,#0BH; 分隔符闪烁 MOV 75H,#0BH; INC 70H; 秒的低位加1 MOV R7,70H; CJNE R7,#0AH,NEXT2; 秒的低位没有超过9转移继续 MOV 70H,#00H; 秒的低位超过9使秒的低位变为0 INC 71H; 秒的高位加1 MOV R7,71H; CJNE R7,#06H,NEXT2; 秒的高位未到6继续 MOV 71H,#00H; 秒的高位到了6使秒的高位变为0 INC 73H; 分加1 MOV R7,73H; CJNE R7,#0AH,NEXT2; 分的低位没有超过9转移继续 MOV 73H,#00H; 分的低位超过9使分的低位变为0 INC 74H; 分的高位加1 MOV R7,74H; CJNE R7,#06H,NEXT2; 分的高位未到6继续 MOV 74H,#00H; 分的高位到了6使分的高位变为0 INC 76H; 小时低位加1 LCALL SOUNDH; 调用整点提示音程序 MOV R7,76H; CJNE R7,#04H,HOUR0; 小时低位未到4转向下一判断 MOV R7,77H; CJNE R7,#02H,NEXT2; 小时低位到4但高位未到2跳出继续 MOV 76H,#00H; 小时低位到4且高位到2使小时的高低位都为0 MOV 77H,#00H; SJMP NEXT2;HOUR0: CJNE R7,#0AH,NEXT2; 小时低位未超过9跳出继续 MOV 76H,#00H; 小时低位超过9使低位为0 INC 77H; 小时高位加1NEXT2: RETI;/; 按键提示音子程序;/;通过控制P1.7口输出的高低电压来实现调节接在P1.7口的蜂鸣器发出蜂鸣SOUND: MOV R1,#05FH;LPP1: MOV R4,#05FH; CLR P1.7 LPP2: DJNZ R4 ,LPP2; SETB P1.7 DJNZ R1 ,LPP1 ; RET;/; 整点提示音子程序;/SOUNDH:

温馨提示

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

评论

0/150

提交评论