欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于51单片机多功能电子时钟设计报告.docx

    • 资源ID:2108534       资源大小:142.03KB        全文页数:37页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于51单片机多功能电子时钟设计报告.docx

    1、基于51单片机多功能电子时钟设计报告 单片机课程设计报告 多功能电子数字钟 姓 名 : 学 号 : 班 级 : 指导教师: 一 课程设计题目- 3二 电路设计- 4三 程序总体设计思路概述- 5四 各模块程序设计及流程图- 6 五 程序及程序说明见附录- * 六 课程设计心得及体会- 11七 参考资料- 12 一 题目及要求本次单片机课程设计在Proteus软件仿真平台下实现,完成电路设计连接,编程、调试,仿真出实验结果。具体要如下:用8051单片机设计扩展6位数码管的静态或动态显示电路,再连接几个按键和一个蜂鸣器报警电路,设计出一个多功能电子钟,实现以下功能:(1)走时 (能实现时分秒,年月

    2、日的计时)(2)显示 (分屏切换显示时分秒和年月日,修改时能定位闪烁显示)(3)校时 (能用按键修改和校准时钟)(4)定时报警(能定点报时)本次课程设计要求每个学生使用Proteus仿真软件独立设计制作出电路图、完成程序设计和系统仿真调试,验收时能操作演示。最后验收检查结果,评定成绩分为:(1)完成“走时+显示+秒闪”功能 -及格(2)完成“校时修改”功能-中等(3)完成“校时修改位闪”-良好(4)完成“定点报警”功能,且使用资源少-优秀二 电路设计(电路设计图见附件电路图)(1)采用89C51型号单片机(2)采用8位共阴数码管(3)因为单片机输出高电平时输出的电流不足以驱动数码管,所以在P0

    3、口与8位数码管之间加74LS373来驱动数码管(4)P2口与数码管选择位直接加74LS138译码器(5)蜂鸣器接P3.7口。因为单片机输出高电平时输出的电流不足以驱动蜂鸣器所以蜂鸣器,所以P3.7口与蜂鸣器直接接反相器再接蜂鸣器的一端,蜂鸣器的另一端接5V电源。这样当P3.7口给高电平时蜂鸣器导通名声。否则反之。(6)单片机XTAL1,XTAL2端接外部时钟电路(时钟电路参考课本),RAT端接复位电路(复位电路参考课本)。EA端接5V电源,使得单片机读取片内程序。(7)修改时间控制开关key1接p1.0口,key2至key7用来对时间,日期,闹钟时间的修改,依次于p1.1至p1.6。key2用

    4、来显示日期并做修改的开关,接于INT0(p3.2)口。key3用来显示闹钟时间并做预置的开关,接于INT1(p3.3)口。所有按键的另一端接地。 三 总体设计思路概述(1), 数码管显示使用动态显示,每四毫秒轮流显示一个数码管.一个循环耗时32ms(这样会有微闪烁可设置更快的动态显示) (2), 设置四个中断,高 底:定时器1溢出中断 外部中断0 外部中断1 定时器1溢出中断. A.首先允许前三个中断,当没有出现T0, T1中断时主程序在判键并且计时器0在计时.每隔4ms定时器0溢出中断,动态轮流显示一个数码管.用LED_LP做标志,计中断次数.每中断250次秒加一,每60秒分加一, 时 日

    5、月 年依规律类推(不用判断平润年).B.当出现T0(显示日期并做修改)或T1(显示闹钟定时时间并可修改定时时间)中断时都会自动关闭计时器0,此时软件控制打开计数器1,用它继续计时并且如A中用来动态显示日期或闹钟设置的时间,同时每个中断子程序都是在判键,通过按键修改日期或设置闹钟时间.此时已经是计数器1中断级别最高,同样每4ms动态轮流显示数码管,此时数码管显示的是日期或定时时间.当修改完时间或定时时间,人工弹出按键,中断结束返回主程序,在返回前关闭定时器1.这样,在没有T0,T1中断时计数器0中断级别最高. 四 各模块程序设计及流程图(1) 主程序判键修改时间及走时: 流程图: ban Y N

    6、 N Y N Y (2) 定时器0每隔4ms溢出中断(优先级别最低) 流程图: (3) 外部中断0(优先级别第二) 流程图: N Y(4) 外部中断1(优先级别第三) 流程图: N Y(5) 定时器0每隔4ms溢出中断(优先级别最高) 流程图: Y N六 课程设计心得体会:此次课程设计是大学里来第二次课程设计,于我的感觉是这是一次与实际最贴切的一次课程设计,亦或是说实践。首先我的心得体会有如下几点(1)万事开头难,要做好单片机课程设计必须要有足够的耐心与兴趣。要反复编程调试,检验。而本次软件编程我反复调试了多达几十次。(2)要想全面的做好这次课程设计,必须要全面统筹,细心规划好自己所需使用的单

    7、片机内部资源以及硬件资源。并尽量做到少用资源而达到最大实用效果。同时也要单个功能慢慢编程调试,而不要好高骛远,急功心切。 (3)第一次设计编写这样较为难而大的课程设计必须要做到对单片机基础硬件与软件的熟练掌握,尤其单片机里汇编语言指令。只有做到融汇贯通方能运筹帷幄。(4) 做好课程设计要学会借鉴别人好的思想与技巧,而教材上就有许多很好的例子。同时要将每次单片机实验灵活运用于此次课程设计。七 参考资料: (1) 单片机授课教材 (2) 单片机网络资源八.程序:SHAN EQU 20H ;秒闪烁标志 BUFF_KEY EQU 21H ;键盘键 LED1 EQU 22H ;数码管显示缓存 LED2

    8、EQU 23H LED3 EQU 24H LED4 EQU 25H LED5 EQU 26H LED6 EQU 27H LED_LP EQU 28H ;计时标志 HOR EQU 30H ;小时值缓存 MIN EQU 31H ;分钟值缓存 SEC EQU 32H ;秒值缓存 NHOR EQU 33H ;闹钟时间缓存 NMIN EQU 34H NSEC EQU 35H YER EQU 36H ;年月日缓存 MOT EQU 37H DAT EQU 38H SXX EQU 39H F_BEEP BIT 01H LED_PORT EQU P0 DIG_PORT EQU P2 SW0 BIT P3.2 S

    9、W8 BIT P1.0 SW1 BIT P1.1 SW2 BIT P1.2 SW3 BIT P1.3 SW4 BIT P1.4 SW5 BIT P1.5 SW6 BIT P1.6 SW7 BIT P3.3;- ORG 0000H LJMP MAIN ORG 000BH LJMP T0_INT ORG 0003H LJMP T_0 ORG 0013H LJMP T_1 ORG 001BH LJMP T1_INT ORG 100HMAIN: MOV SP ,#40H MOV PSW,#00H MOV R0,#7FH ;初始化RAM区,CLR_RAM:MOV A,#00H MOV R0,A DJNZ

    10、 R0,CLR_RAM MOV P1,#0FFH MOV P2,#0FFH MOV P0,#0FFH MOV P3,#0FFH MOV TMOD,#11H MOV TH0,#0F0H ;T0=4MS MOV TL0,#060H MOV NHOR,#100 MOV YER,#12 MOV MOT,#06 MOV DAT,#17 CLR C MOV P3.7,C SETB PT1 ;定时器1中断级别最高 CLR PT0 ;定时器0中断级别最低 SETB TR0 ;开定时器0 SETB ET0 ;允许定时器0中断 SETB EX0 ;允许外部中断0 SETB EX1 ;允许外部中断1 SETB EA

    11、 ;允许所有中断;-按键预置时间WAIT_KEY:MOV A,NHOR CJNE A,HOR,LNNN MOV A,NMIN CJNE A,MIN,LMNN MOV A,NSEC CJNE A,SEC,LNNN SETB C MOV P3.7,C LJMP LNNN LMNN:MOV A,NMIN ADD A,#01 CJNE A,MIN,LNNN MOV A,NSEC CJNE A,SEC,LNNN CLR C MOV P3.7,C LNNN:JNB SW8,LSNN MOV SXX,#0 LJMP WAIT_KEY LSNN:JNB SW1,SW1_OK JNB SW2,SW2_OK JN

    12、B SW3,SW3_OK JNB SW4,SW4_OKA JNB SW5,SW5_OKA JNB SW6,SW6_OKA JMP WAIT_KEYSW4_OKA: JMP SW4_OKSW5_OKA: JMP SW5_OKSW6_OKA: JMP SW6_OK SW1_OK: MOV SXX,#01 MOV A,HOR CJNE A,#23,SW1_OVER MOV HOR,#00H SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYSW1_OVER:INC HOR ;时加1 MOV R7,HOR SETB F_BEEP LCALL DEL CLR F_

    13、BEEP JMP WAIT_KEYSW2_OK: MOV SXX,#01 MOV A,HOR CJNE A,#00,SW2_OVER MOV HOR,#23 SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYSW2_OVER:DEC HOR ;时减1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYSW3_OK: MOV SXX,#02 MOV A,MIN CJNE A,#59,SW3_OVER MOV MIN,#00H SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYS

    14、W3_OVER:INC MIN ;分加1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYSW4_OK: MOV SXX,#02 MOV A,MIN CJNE A,#00,SW4_OVER MOV MIN,#59 SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYSW4_OVER:DEC MIN ;分减1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYSW5_OK: MOV SXX,#03 MOV A,SEC CJNE A,#59,SW5_OVER MOV SEC,#0

    15、0H SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYSW5_OVER:INC SEC ;秒加1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYSW6_OK: MOV SXX,#03 MOV A,SEC CJNE A,#00,SW6_OVER MOV SEC,#59 SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEYSW6_OVER:DEC SEC ;秒减1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP WAIT_KEY;-DEL: MOV

    16、R5,#07 ;按一次键处理一次DEL01: MOV R6,#200DEL02: MOV R7,#200 DJNZ R7,$ DJNZ R6,DEL02 DJNZ R5,DEL01 RETBIN_BCD: MOV B,#10 DIV AB RET;-T0_INT: PUSH ACC PUSH PSW MOV TH0,#0F0H ;T0=4MS MOV TL0,#060H INC LED_LP MOV A,LED_LP CJNE A,#250,CONT_SCAN ;250*4MS=1S MOV LED_LP,#00H INC SEC MOV A,SEC CJNE A,#60,CONT_SCAN

    17、MOV SEC,#00H INC MIN MOV A,MIN CJNE A,#60,CONT_SCAN MOV MIN,#00H INC HOR MOV A,HOR CJNE A,#24,CONT_SCAN MOV HOR,#00H INC DAT MOV A,DAT CJNE A,#30,CONT_SCAN MOV DAT,#00 INC MOT MOV A,MOT CJNE A,#12,CONT_SCAN MOV MOT,#00 INC YER MOV A,YER CJNE A,#99,CONT_SCAN LCALL DELCONT_SCAN:MOV A,SEC MOV B,#02 DIV

    18、 AB MOV A,B CJNE A,#00,LOPK MOV SHAN,#10 LOPK: CJNE A,#01,LOPL MOV SHAN,#11 LOPL:MOV A,SXX CJNE A,#01,LK1 MOV A,LED_LP MOV B,#125 DIV AB CJNE A,#0,LLL1 MOV LED1,#10 MOV LED2,#10 LJMP LLL2 LK1:MOV A,SXX CJNE A,#02,LK2 MOV A,LED_LP MOV B,#125 DIV AB CJNE A,#0,LLL1 MOV LED3,#10 MOV LED4,#10 LJMP LLL3 L

    19、K2:MOV A,SXX CJNE A,#03,LLL1 MOV A,LED_LP MOV B,#125 DIV AB CJNE A,#0,LLL1 MOV LED5,#10 MOV LED6,#10 LJMP LKMM LLL1:MOV A,HOR LCALL BIN_BCD MOV LED2,B MOV LED1,A LLL2:MOV A,MIN LCALL BIN_BCD MOV LED4,B MOV LED3,A LLL3:MOV A,SEC LCALL BIN_BCD MOV LED6,B MOV LED5,A LKMM:MOV A,LED_LP MOV B,#08 DIV AB M

    20、OV A,B RL A MOV DPTR,#TAB_SCAN JMP A+DPTRTAB_SCAN: AJMP SCAN_L1 AJMP SCAN_L2 AJMP SCAN_L3 AJMP SCAN_L4 AJMP SCAN_L5 AJMP SCAN_L6 AJMP SCAN_L7 AJMP SCAN_L8SCAN_L1: MOV DIG_PORT,#0 MOV A,LED1 JMP END_SCANSCAN_L2: MOV DIG_PORT,#1 MOV A,LED2 JMP END_SCANSCAN_L3: MOV DIG_PORT,#2 MOV A,#11 JMP END_SCANSCA

    21、N_L4: MOV DIG_PORT,#3 MOV A,LED3 JMP END_SCANSCAN_L5: MOV DIG_PORT,#4 MOV A,LED4 JMP END_SCANSCAN_L6: MOV DIG_PORT,#5 MOV A,SHAN JMP END_SCANSCAN_L7: MOV DIG_PORT,#6 MOV A,LED5 JMP END_SCANSCAN_L8: MOV DIG_PORT,#7 MOV A,LED6END_SCAN: MOV DPTR,#TAB_LED MOVC A,A+DPTR MOV LED_PORT,A POP PSW POP ACC RET

    22、ITAB_LED: DB 3FH,06H,5BH,4FH ;共阴0-9和(-)字码表 DB 66H,6DH,7DH,07H DB 7FH,6FH,00H,48H,40H ;-进入日期显示 T_0:PUSH ACC PUSH PSW MOV TH1,#0F0H ;T1=4MS MOV TL1,#060H SETB TR1 SETB ET1;-RWAIT_KEY:JNB SW0,RLOOP CLR TR1 POP PSW POP ACC RETI RLOOP:JNB SW1,RSW1_OK JNB SW2,RSW2_OK JNB SW3,RSW3_OK JNB SW4,RSW4_OK JNB SW

    23、5,RSW5_OKA JNB SW6,RSW6_OKA JMP RWAIT_KEYRSW5_OKA: JMP RSW5_OKRSW6_OKA: JMP RSW6_OKRSW1_OK: MOV A,YER CJNE A,#99,RSW1_OVER MOV YER,#00H SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEYRSW1_OVER:INC YER ;年加1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEY RSW2_OK: MOV A,YER CJNE A,#00,RSW2_OVER MOV YER,

    24、#99 SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEYRSW2_OVER:DEC YER ;年减1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEY RSW3_OK: MOV A,MOT CJNE A,#12,RSW3_OVER MOV MOT,#00H SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEYRSW3_OVER:INC MOT ;月加1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEYRSW4_OK: MOV

    25、 A,MOT CJNE A,#00,RSW4_OVER MOV MOT,#12 SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEYRSW4_OVER:DEC MOT ;月减1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEYRSW5_OK: MOV A,DAT CJNE A,#30,RSW5_OVER MOV DAT,#00H SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEYRSW5_OVER:INC DAT ;号加1 SETB F_BEEP LCALL DEL C

    26、LR F_BEEP JMP RWAIT_KEYRSW6_OK: MOV A,DAT CJNE A,#00,RSW6_OVER MOV NSEC,#30 SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEYRSW6_OVER:DEC DAT ;号减1 SETB F_BEEP LCALL DEL CLR F_BEEP JMP RWAIT_KEY;- T_1: PUSH ACC PUSH PSW MOV TH1,#0F0H ;T1=4MS MOV TL1,#060H MOV NHOR,#0 SETB TR1 SETB ET1NWAIT_KEY:JNB SW7,NLOOP CLR TR1 POP PSW POP ACC RETI NLOOP:JNB SW1,NSW1_OK JNB SW2,NSW2_OK JNB SW3,NSW3_OK JNB SW4,NSW4_OK JNB SW5,NSW5_OKA JNB SW6,NSW6_OKA JMP NWAIT_KEYNSW5_OKA: JMP NSW5_OKNSW6_OKA: JMP NS


    注意事项

    本文(基于51单片机多功能电子时钟设计报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开