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

    简易数字钟的单片机课程设计.docx

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

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

    简易数字钟的单片机课程设计.docx

    1、简易数字钟的单片机课程设计1 系统设计1.1 框图设计基于AT89S51单片机数字钟由电源电路、单片机主控电路、按键控制电路和蜂鸣器等几部分组成,系统框图如下:1.2 知识点本项目需要通过学习和查阅资料,了解和掌握以下知识。1. +5V电源原理及设计。2. 单片机复位电路工作原理及设计。3. 单片机晶振电路工作原理及设计。4. 按键电路的设计。5. 驱动电路74LS04的特性及使用。6. 蜂鸣器及其驱动电路的设计。7. 数码管的特性及其使用。8. AT89S51单片机引脚。9. 单片机汇编语言及程序设计。2 硬件设计2.1 电路原理基于AT89S51单片机数字钟电路原理图如附录所示。按下P1.

    2、0口按键,若按下时间小于1S,则进入省电状态(数码管不亮,时钟不停);否则进入调分状态,等待操作,此时计时器停止走动。当再按下P1.0口按键时,若按键时间小于0.5S,则时间加1min;若按下时间大于0.5S,则进入小时调整状态。按下P1.1按键时,可进行减1调整。在小时调整状态下,当按键按下的时间大于0.5S时,退出时间调整状态,时钟从0S开始计时。在正常时钟状态下,若按下P1.1口按键,则进行时钟/秒表功能的转换,秒表中断计时程序启动,显示地址改为60H,LED将显示秒表计时单元60H-65H中的数据。按下P1.2口的按键开关,可实现秒表清零、秒表启动、秒表暂停功能;当再按下P1.1口按键

    3、时,关闭T1秒表中断计时,显示首址又改为70H,恢复正常时间的显示功能。2.2 元件清单元件名称型号数量用途元件名称型号数量用途单片机AT89S511控制核心电阻10k4按键电路晶振12MHz1晶振电路按键4电容30pF2数码管8段6位1显示电路电解电容10uF/10V1复位电路电阻5008电阻10k1电阻4.7k1蜂鸣器及其驱动电路按键1蜂鸣器DC5V1电源+5V/0.5A1提供+5V电源三极管90151基于AT89S51单片机数字钟的元件清单如下表。3 软件设计3.1 程序流程图1. 主程序流程图如图1-1所示。2. 秒计时程序。秒计时由定时器T0完成,流程图如图1-2所示。3. 秒表、调

    4、时指示程序。秒表、调时由定时器T1完成,其流程图如图1-3所示。3.2 程序清单DISBEG EQU 30HCALB EQU P1.7TIMCON EQU 2FHORG 0000HLJMP MAINORG 0003HRETIORG 000BHLJMP INTT0ORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETITAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHI_TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDLY1M: MOV R6,#14HDL_LOOP: M

    5、OV R7,#19HDL_LOOP1:DJNZ R7,DL_LOOP1 DJNZ R6,DL_LOOP RETDLY20M:CLR CALB LCALL D_II_PLAY LCALL D_II_PLAY LCALL D_II_PLAY SETB CALB RETDL_LOOPS:LCALL DL05S LCALL DL05S RETDL05S: MOV R3,#20HDL05S1: LCALL D_II_PLAY DJNZ R3,DL05S1 RETCTIME: MOV A,#10H /整点报时MOV B,79HMUL ABADD A,78HMOV TIMCON,ACLOOP: LCALL

    6、DLY20M LCALL DL_LOOPS LCALL DL_LOOPS LCALL DL_LOOPS DJNZ TIMCON,CLOOP CLR 08HMAIN: MOV R0,#00H /主程序 MOV R7,#80HMLOOP: MOV R0,#00H INC R0 DJNZ R7,MLOOP MOV 20H,#00H MOV 7AH,#0AH MOV TMOD,#11H MOV TL0,#0B0H MOV TH0,#3CH MOV TL1,#0B0H MOV TH1,#3CH SETB EA SETB ET0 SETB TR0 MOV R4,#14H MOV DISBEG,#70HML

    7、OOP1:LCALL D_II_PLAY JNB P1.0,T_SETSC JNB P1.1,DLY5 JNB P1.2,FUNBT JNB P1.3,TSET JB 08H,CTIME AJMP MLOOP1FUNBT: LJMP DLY6TSET: LCALL DLY20M /闹铃时间设定程序,按P1.3进入设定 JB P1.3,MLOOP1TS_LOOP:JNB P1.3,TS_LOOP JB 05H,CLRBELL MOV DISBEG,#50H MOV 50H,#0CH MOV 51H,#0AHMINCHG:SETB EA LCALL D_II_PLAY JNB P1.2,DLY1

    8、JNB P1.0,DLY3 JNB P1.3,DLY AJMP MINCHGCLRBELL:CLR 05H CLR CALB AJMP MLOOP1DLY:LCALL DLY20M JB P1.3,MINCHG LJMP DLY8T_SETSC:LJMP R_SETTIMDLY1:LCALL DLY20M JB P1.2,MINCHGDLY2: LCALL D_II_PLAY JNB P1.2,DLY2 CLR EA MOV R0,#53H LCALL ADD_1 MOV A,R3 CLR C CJNE A,#60H,ADD_MADD_M:JC MINCHG ACALL CLR_H AJMP

    9、MINCHGDLY3:LCALL DLY20M JB P1.0,MINCHGDLY4:LCALL D_II_PLAY JNB P1.0,DLY4 CLR EA MOV R0,#53H LCALL SUB_M LJMP MINCHGDLY5:LCALL DLY20M /秒表功能/时钟转换程序,按P1.1进行功能转换 JB P1.1,T_MLOOP1 JNB P1.1,$ CPL 03H JNB 03H,DIS_SET MOV DISBEG,#60H MOV 60H,#00H MOV 61H,#00H MOV 62H,#00H MOV 63H,#00H MOV 64H,#00H MOV 65H,#

    10、00H MOV TL1,#0F0H MOV TH1,#0D8H SETB TR1 SETB ET1T_MLOOP1:LJMP MLOOP1DIS_SET:MOV DISBEG,#70H CLR ET1 CLR TR1T_MLOOP11:LJMP MLOOP1DLY6:LCALL DLY20M /秒表暂停/清零功能程序,按P1.2暂停或清零,JB P1.2,T_MLOOP11 P1.1退出秒表,回到时钟计时T_EST11:JNB P1.2,T_EST11 CLR ET1 CLR TR1T_EST22:JNB P1.1,DLY5 JB P1.2,T_EST21 LCALL DLY20M JB P1

    11、.2,T_EST22T_EST55:JNB P1.2,T_EST51 MOV 60H,#00H MOV 61H,#00H MOV 62H,#00H MOV 63H,#00H MOV 64H,#00H MOV 65H,#00HT_EST33:JNB P1.1,DLY5 JB P1.2,T_EST31 LCALL DLY20M JB P1.2,T_EST33T_EST44:JNB P1.2,T_EST41 SETB ET1 SETB TR1 AJMP MLOOP1T_EST411:LCALL D_II_PLAY /以下为键等待释放时显示不会熄灭用 AJMP T_EST11T_EST21:LCALL

    12、 D_II_PLAY AJMP T_EST22T_EST31:LCALL D_II_PLAY AJMP T_EST33T_EST41:LCALL D_II_PLAY AJMP T_EST44T_EST51:LCALL D_II_PLAY AJMP T_EST55INTT0:PUSH ACC /1S计时程序;T0中断服务程序 PUSH PSW CLR ET0 CLR TR0 MOV A,#0B7H ADD A,TL0 MOV TL0,A MOV A,#3CH ADDC A,TH0 MOV TH0,A SETB TR0 DJNZ R4,I_INT0A_DDS:MOV R4,#14H CPL 07H

    13、 MOV R0,#71H ACALL ADD_1 MOV A,R3 CLR C CJNE A,#60H,A_DDMA_DDM:JC I_INT0 ACALL CLR_H MOV R0,#77H ACALL ADD_1 MOV A,R3 CLR C CJNE A,#60H,A_DDHA_DDH:JC I_INT0 ACALL CLR_H LCALL DLY20M SETB 08H MOV R0,#79H ACALL ADD_1 MOV A,R3 CLR C CJNE A,#24H,RSTARTRSTART:JC I_INT0 ACALL CLR_HI_INT0:MOV 72H,76H MOV 7

    14、3H,77H MOV 74H,78H MOV 75H,79H LCALL BELL POP PSW POP ACC SETB ET0 RETIINTT1:PUSH ACC /闪动调试程序/秒表从能程序;T1中断服务程序 PUSH PSW JB 03H,R_ADDS MOV TL1,#0B0H MOV TH1,#3CH DJNZ R2,I_INT1 MOV R2,#06H CPL 02H JB 02H,FLASH0 MOV 72H,76H MOV 73H,77H MOV 74H,78H MOV 75H,79HI_INT1:POP PSW POP ACC RETIFLASH0:JB 01H,FLA

    15、SH1 MOV 72H,7AH MOV 73H,7AH MOV 74H,78H MOV 75H,79H AJMP I_INT1FLASH1:MOV 72H,76H MOV 73H,77H MOV 74H,7AH MOV 75H,7AH AJMP I_INT1R_ADDS:CLR TR1 MOV A,#0F7H ADD A,TL1 MOV TL1,A MOV A,#0D8H ADDC A,TH1 MOV TH1,A SETB TR1 MOV R0,#61H ACALL ADD_1 CLR C MOV A,R3 JZ R_ADDM AJMP I_INT01R_ADDM:ACALL CLR_H MO

    16、V R0,#63H ACALL ADD_1 MOV A,R3 CLR C CJNE A,#60H,R_ADDHR_ADDH:JC I_INT01 LCALL CLR_H MOV R0,#65H ACALL ADD_1I_INT01:POP PSW POP ACC RETIADD_1:MOV A,R0 /加1子程序 DEC R0 SWAP A ORL A,R0 ADD A,#01H DA A MOV R3,A ANL A,#0FH MOV R0,A MOV A,R3 INC R0 SWAP A ANL A,#0FH MOV R0,A RETSUB_M:MOV A,R0 /分减1子程序 DEC R

    17、0 SWAP A ORL A,R0 JZ SUB_M1 DEC ASUB_M11:MOV R3,A ANL A,#0FH CLR C SUBB A,#0AHSUB_M111:JC SUB_M110 MOV R0,#09HSUB_M10:MOV A,R3 INC R0 SWAP A ANL A,#0FH MOV R0,A RETSUB_M1:MOV A,#59H AJMP SUB_M11SUB_M110:MOV A,R3SUB_H:MOV A,R0 /时减1子程序 DEC R0 SWAP A ORL A,R0 JZ SUB_H1 DEC ASUB_H11:MOV R3,A ANL A,#0FH

    18、CLR C SUBB A,#0AHSUB_H111:JC SUB_H110 MOV R0,#09HSUB_H10:MOV A,R3 INC R0 SWAP A ANL A,#0FH MOV R0,A RETSUB_H1:MOV A,#23H AJMP SUB_H11SUB_H110:MOV A,R3CLR_H:CLR A /清零程序;对即使单元复零用 MOV R0,A DEC R0 MOV R0,A RETR_SETTIM:CLR ET0 /时钟时间调整程序 CLR TR0 LCALL DL_LOOPS LCALL DLY20M JB P1.0,SLEEP MOV R2,#06H MOV 70

    19、H,#00H MOV 71H,#00H SETB ET1 SETB TR1SET_2:JNB P1.0,SET_1 SETB 00HSET_4:JB P1.0,SET_3 LCALL DL05S LCALL DLY20M JNB P1.0,R_SETHH MOV R0,#77H LCALL ADD_1 MOV A,R3 CLR C CJNE A,#60H,SET_LOOPSET_LOOP:JC SET_4 LCALL CLR_H CLR C AJMP SET_4SLEEP:SETB ET0 SETB TR0SET_LOOP1:JB P1.0,SET_LOOP1 LCALL DLY20M JB

    20、P1.0,SET_LOOP1SET_LOOP2:JNB P1.0,SET_LOOP2 LJMP MLOOP1R_SETHH:CLR 00H SETB 01HSET_LOOP3:JNB P1.0,SET_5SET_6:JB P1.0,SET_7 LCALL DL05S LCALL DLY20M JNB P1.0,STOP MOV R0,#79H LCALL ADD_1 MOV A,R3 CLR C CJNE A,#24H,C_YHHC_YHH:JC SET_6 LCALL CLR_H AJMP SET_6STOP:JNB P1.0,STOP1 LCALL DLY20M JNB P1.0,STOP

    21、 CLR 01H CLR 00H CLR 02H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP MLOOP1SET_1:LCALL D_II_PLAY AJMP SET_2SET_3:LCALL D_II_PLAY JNB P1.1,DLY7 AJMP SET_4SET_5:LCALL D_II_PLAY AJMP SET_LOOP3SET_7:LCALL D_II_PLAY JNB P1.1,DLY7B AJMP SET_6STOP1:LCALL D_II_PLAY AJMP STOPDLY7:LCALL DLY20M /分减1程序 JB P1.1,SET_4

    22、1DLY7_M:JNB P1.1,DLY7_M MOV R0,#77H LCALL SUB_M LJMP SET_4SET_41:LJMP SET_4DLY7B:LCALL DLY20M /时减1程序 JB P1.1,SET_61DLY7_H:JNB P1.1,DLY7_H MOV R0,#79H LCALL SUB_H LJMP SET_6SET_61:LJMP SET_6D_II_PLAY:MOV R1,DISBEG /显示程序 MOV R5,#0FEHPLAY:MOV A,R5 MOV P2,A MOV A,R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A

    23、MOV A,R5 JB ACC.2,D_LOOP CLR P0.7D_LOOP:JB ACC.4,D_LOOP1 CLR P0.7D_LOOP1:LCALL DLY1M INC R1 MOV A,R5 JNB ACC.5,CLOSE RL A MOV R5,A MOV P0,#0FFH AJMP PLAYCLOSE:MOV P2,#0FFH MOV P0,#0FFH RETSD_II_PLAY:MOV R1,DISBEG /上电显示子程序 MOV R5,#0FEHI_PLAY:MOV A,R5 MOV P2,A MOV A,R1 MOV DPTR,#I_TAB MOVC A,A+DPTR MO

    24、V P0,A MOV A,R5 LCALL DLY1M INC R1 MOV A,R5 JNB ACC.5,CLOSES RL A MOV R5,A AJMP I_PLAYCLOSES:MOV P2,#0FFH MOV P0,#0FFH RETDLY8:LCALL D_II_PLAY /闹铃时间设定程序中的时调整程序 JNB P1.3,DLY8 MOV 50H,#0AH MOV 51H,#0CHR_BTIM:SETB EA LCALL D_II_PLAY JNB P1.2,DLY12 JNB P1.0,DLY14 JNB P1.3,DLY9 JNB P1.1,DLY10 AJMP R_BTIM

    25、DLY9:LCALL DLY20M JB P1.3,R_BTIMDLY8M:LCALL D_II_PLAY JNB P1.3,DLY8M MOV DISBEG,#70H LJMP MLOOP1DLY10:LCALL DLY20M JB P1.1,R_BTIMDLY11:LCALL D_II_PLAY JNB P1.1,DLY11 CPL 05H JNB 05H,R_BTIM11 MOV 50H,#00H AJMP R_BTIMR_BTIM11:MOV 50H,#0AH AJMP R_BTIMDLY12:LCALL DLY20M JB P1.2,R_BTIMDLY13:LCALL D_II_PL

    26、AY JNB P1.2,DLY13 CLR EA MOV R0,#55H LCALL ADD_1 MOV A,R3 CLR C CJNE A,#24H,A_DDH33NA_DDH33N:JC R_BTIM ACALL CLR_H AJMP R_BTIMDLY14:LCALL DLY20M JB P1.0,R_BTIMDLY15:LCALL D_II_PLAY JNB P1.0,DLY15 CLR EA MOV R0,#55H LCALL SUB_H LJMP R_BTIMBELL:JNB 05H,BBELL /闹铃判断子程序 MOV A,79H CJNE A,55H,BBELL MOV A,7

    27、8H CLR CBELL_1:CJNE A,54H,BBELL MOV A,77H CLR C CJNE A,53H,BBELL MOV A,76H CLR CBELL_2:CJNE A,52H,BBELL JNB 07H,BBELL CLR CALB RETBBELL:SETB CALB RET END小结为期两周的单片机数字钟课程设计结束了,在这两周里我和我的组员们运用单片机的知识完成了简易数字钟电路的设计,这使我对单片机这门课程有了更深一步的了解。当我知道我要做数字钟这个课题时,起初感觉还是很有难度的,很怕自己做不好或者是做不出来。在这两周的时间里,我去图书馆查阅大量资料,每当遇到不懂的

    28、问题或者困难时,我都会虚心向田老师请教。就在这种不懈的努力下,我和我的组员终于完成了简易数字钟的单片机课程设计。我们小组采用了单片机汇编语言完成了具有计时功能、秒表功能、整点报时功能以及分时调整功能的单片机简易数字钟课程设计.该设计的可靠性高,成本低,易操作,通用性强,通过键盘可以进行定时、校时。总之,进一步加深了我对单片机这门学科的了解,充分锻炼了我的个人能力,并培养了我的团队配合能力。本次课程设计让我体会到了只有付出才会有收获,只有平日认真的学习,在关键的时刻才不会捉襟见肘,应用时的捉襟见肘让我认识到了自己学习知识基础上的不足,每一门专业基础课都是我们手中不可替代的武器,只有把他们有机联系起来才有可能实现一个完整的系统。致谢在这为期两周的单片机课程设计的时间里,在同学和老师的帮助下,我顺利完成了简易数字钟的单片机课程设计,这使我将理论知识付诸实践中,学到了许多课本上学不到的知识,更让我对单片机这门课程有了更深一步的了解。通过这次课程设计,我懂得了理论与实际相结合是很重要的,光有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,把理论运用于实践,在实践中更好的理解与掌握理论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到了一些问题,但经过自己的不懈努力及指导教师的指点,还是一一得到了解决,同时在设计的过程中也发


    注意事项

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

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




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

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

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


    收起
    展开