欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    日历时钟单片机课程设计(附汇编程序+方案图+模块图+ddb模拟图)(9页).doc

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

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

    日历时钟单片机课程设计(附汇编程序+方案图+模块图+ddb模拟图)(9页).doc

    -日历时钟单片机课程设计(附汇编程序+方案图+模块图+ddb模拟图)-第 9 页;山东科技大学 信电 通信07-1 lfj 作品 方案一:方案二:采用方案二。模块图; - 按键说明 -;-1键进入可调状态 -; -2键结束返回 -; -3键秒加1/日加1 -; -4键分加1/月加1 -; -5键显示24小时制/时加1/年加1-; -6键显示12小时制 -; -7键可调时间 -; -8键可调日期 - CLK BIT P1.6 ;时钟信号端 DISP BIT P1.7 ;串出锁存端 DBUF EQU 30H ;秒的最低位地址 LED BIT P1.1 CHANGE2 BIT 21H ;加12的标志位 AD1 EQU 40H ;秒 AD2 EQU 41H ;分 AD3 EQU 42H ;时 AD4 EQU 43H ;天 AD5 EQU 44H ;月 AD6 EQU 45H ;年; 初始化存储单元结束 ORG 0000H LJMP MAIN ORG 000BH ;T0中断入口 LJMP INT ORG 0030HMAIN: MOV R0,#AD1 MOV R7,#06HLOOP0: MOV A,#00H MOV R0,A INC R0 DJNZ R7,LOOP0 ;R0R7清零 MOV AD1,#37H MOV AD2,#22H MOV AD3,#0CH MOV AD4,#08H MOV AD5,#08H MOV AD6,#08H ;初始化时间为12:34:56,日期为08年08月08日 MOV IE,#82H ;允许T0中断 MOV TMOD,#01H ;T0允许工作 MOV TH0,#4CH MOV TL0,#00H ;送入计数初值0.05s MOV R5,#00H ;初始化结束 SETB TR0 ;T0使能LOOP: LCALL TEST ;扫描键盘 CJNE A,#0FEH,NEXTD ;0FEH为1键 LCALL DY1MS LCALL KEYDONENEXTD: SJMP LOOP ;扫描键盘看是否需要调整日历DISPLAY: LCALL TEST ;扫描键盘 CJNE A,#0DFH,ERSHISI1 ;0DFH为6键 SETB PSW.1 ;显示十二小时 LJMP TIMEZHUANERSHISI1:CJNE A,#0EFH,ERSHISI2 ;0EFH为5键 CLR PSW.1 ;显示二十四小时 CLR CHANGE2 LJMP TIMEZHUAN ERSHISI2:CJNE A,#0CFH,CHANGE ;0CFH为56键 CLR PSW.1 SETB CHANGE2 ;CHANGE2=1表示把十二表示法转换成二十四小时 LJMP TIMEZHUAN CHANGE: CLR CHANGE2TIMEZHUAN: LCALL TEST CJNE A,#7FH,NEXTL ;7FH为8键 SETB PSW.5 LJMP ZHUAN1NEXTL: CJNE A,#0BFH,ZHUAN1 ;0BFH为7键 CLR PSW.5 ZHUAN1: JB PSW.5,DAY ;PSW.5=0 调整时间,为1则调整日期 MOV A,AD1 ;调整时间 键码分离 MOV B,#0AH DIV AB MOV R0,#DBUF MOV R0,B INC R0 MOV R0,A MOV A,AD2 MOV B,#0AH DIV AB INC R0 MOV R0,B INC R0 MOV R0,A JB PSW.1,TIMEZHUAN1 LJMP TIMEZHUAN2TIMEZHUAN1: ;判断时间是否大于12 MOV A,AD3 MOV B,#0CH SUBB A,B JC NORMALT MOV AD3,A LJMP NORMALT TIMEZHUAN2: JNB CHANGE2,NORMALT ;判断是否加12 MOV A,AD3 ADD A,# MOV AD3,A CLR CHANGE2 NORMALT: MOV A,AD3 MOV B,#0AH DIV AB INC R0 MOV R0,B INC R0 MOV R0,A SJMP DDISP DAY: ;调整日期 键码分离 MOV A,AD4 MOV B,#0AH DIV AB MOV R0,#DBUF MOV R0,B INC R0 MOV R0,A MOV A,AD5 MOV B,#0AH DIV AB INC R0 MOV R0,B INC R0 MOV R0,A MOV A,AD6 MOV B,#0AH DIV AB INC R0 MOV R0,B INC R0 MOV R0,ADDISP: ;显示,串入并处的方式,上升沿写入 MOV R0,#DBUF MOV R7,#06H LOOP2: MOV R6,#08H MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR ;显示秒 CLR CLOOP3: RRC A CLR CLK MOV DISP,C SETB CLK DJNZ R6,LOOP3 INC R0 DJNZ R7,LOOP2 RETKEYDONE: ;人工手动调整日历AGAINB: LCALL DY250MS ;防抖250ms LCALL TEST CJNE A,#7FH,NEXTL1 ;7FH为8键 SETB PSW.5 LJMP ZHUAN12NEXTL1: CJNE A,#0BFH,ZHUAN12 CLR PSW.5 ;以上为扫描键盘并设置PSW.5ZHUAN12: JB PSW.5,NEXT6B ;判断调整日期还是时间 CJNE A,#0FDH,NEXTA ;0FDH为2键,如果按键值为FDH则结束 LJMP BACKNEXTA: CJNE A,#0FBH,NEXTB ;0FBH为3键 INC AD1 ;秒加1 MOV A,AD1 CJNE A,#3CH,AGAINA MOV AD1,#00H SJMP AGAINANEXTB: CJNE A,#0F7H,NEXTC ;0F7H为4键 INC AD2 ;分加1 MOV A,AD2 CJNE A,#3CH,AGAINA MOV AD2,#00H SJMP AGAINANEXTC: CJNE A,#0EFH,AGAINA ;0EFH为5键 INC AD3 ;时加1 MOV A,AD3 CJNE A,#18H,AGAINA MOV AD3,#00H NEXTT: SJMP AGAINANEXT6B: CJNE A,#0FDH,NEXTAB;JIESHUJIAN ;0FDH为2键 LJMP BACKNEXTAB: CJNE A,#0FBH,NEXTBB ;0FBH为3键 INC AD4 ;日加1 MOV A,AD4 CJNE A,#20H,AGAINA MOV AD4,#01H SJMP AGAINANEXTBB: CJNE A,#0F7H,NEXTCB ;0F7H为4键 INC AD5 ;月加1 MOV A,AD5 CJNE A,#0DH,AGAINA MOV AD5,#01H SJMP AGAINANEXTCB: CJNE A,#0EFH,AGAINA ;0EFH为5键 INC AD6 ;年加1 MOV A,AD6 CJNE A,#64H,AGAINA MOV AD6,#00HAGAINA: LCALL DISPLAY LJMP AGAINBBACK: RETINT: INC R5 CJNE R5,#20,NEXTS1 ;循环20次,每次循环为0.05秒,共0.05*20=1秒 MOV R5,#00H LCALL DISPLAY ;满一秒后的显示 LJMP MENDNEXTS1: LJMP NEXTS ;满一秒后的显示MEND: MOV A,AD1 CJNE A,#0AH,LAREMEND SETB LED ;满十秒关灯,否则继续LAREMEND: INC AD1 MOV A,AD1 CJNE A,#3CH, NEXTS2 LJMP MEND1NEXTS2: LJMP NEXTS ;以上为看是否修改秒,满60,分加一否则跳转继续MEND1: MOV AD1,#00H INC AD2 MOV A,AD2 CJNE A,#3CH,NEXTS3 LJMP MEND2NEXTS3: LJMP NEXTS ;以上为看是否修改分,满60,时加一否则跳转继续MEND2: MOV AD2,#00H INC AD3 MOV A,AD3 CJNE A,#0Ah,ZAIJIANCHA AJMP BAOSHIZAIJIANCHA: CJNE A,#0Bh,ZHENGCHANGBAOSHI: CLR LED ;以上为两个报时开灯ZHENGCHANG: MOV A,AD3 CJNE A,#18H,NEXTS4 ;不满二十四小时跳出 LJMP MEND3 ;满二十四后跳到清零小时继续加天NEXTS4: LJMP NEXTSMEND3: MOV AD3,#00H INC AD4 MOV A,AD5 CJNE A,#02H,JIXUTIAN ;判断是否为二月份 MOV A,AD6 MOV B,#4H DIV AB MOV A,B JZ RUNNIAN ;判断是否为闰年PINGNIAN: MOV A,AD4 ;平年 CJNE A,#1DH,NEXTS MOV AD4,#01H AJMP JIXUYUERUNNIAN: MOV A,AD4 ; 闰年 CJNE A,#1EH,NEXTS MOV AD4,#01H AJMP JIXUYUEJIXUTIAN: ; 不为二月,再查看是那个月 MOV A,AD5 CJNE A,#01H,PAN1 LJMP SANSHIYIPAN1: CJNE A,#03H,PAN3 LJMP SANSHIYIPAN3: CJNE A,#04H,PAN4 LJMP SANSHIPAN4: CJNE A,#05H,PAN5 LJMP SANSHIYIPAN5: CJNE A,#06H,PAN6 LJMP SANSHIPAN6: CJNE A,#07H,PAN7 LJMP SANSHIYIPAN7: CJNE A,#08H,PAN8 LJMP SANSHIYIPAN8: CJNE A,#09H,PAN9 LJMP SANSHIPAN9 : CJNE A,#10H,PAN10 LJMP SANSHIYIPAN10: CJNE A,#11H,SANSHIYI LJMP SANSHISANSHIYI: MOV A,AD4 ;月份:1,3,5,7,8,10,12 CJNE A,#20H,NEXTS MOV AD4,#01H AJMP JIXUYUESANSHI: MOV A,AD4 ; 月份:2,4,6,8,11 CJNE A,#1FH,NEXTS MOV AD4,#01HJIXUYUE: INC AD5 ; 满月后加年 CJNE A,#0DH,NEXTS MOV AD5,#01H INC AD6 MOV A,AD6 CJNE A,#64H,NEXTS ; 年满100后清零 MOV AD6,#00HNEXTS: ;再赋初值 MOV TH0,#4CH MOV TL0,#00H RETIDY250MS: ; 延迟防抖250ms MOV R4,#0FAHLOOP8: LCALL DY1MS DJNZ R4,LOOP8 RETDY1MS: ; 延迟防抖1ms MOV R5,#0B0HLOOP7: MOV R7,#2AH DJNZ R7,$ DJNZ R5,LOOP7 RET;键盘扫描子程序TEST: MOV R7,#08H SETB P1.7 CLR P1.7 ;低电平锁存 NOP NOP SETB P1.7 ;高电平输出 MOV A,#0FFHAGAIN3: CLR P2.3 NOP NOP MOV C, P3.5 ;把p3.5的状态存入C SETB P2.3 RLC A ;键盘状态存入A DJNZ R7,AGAIN3 ;扫描八个按键 RETTAB:DB 88H,0EBH,4CH,49H,2BH,19H,18H,0CBH,08H,09H;子程序功能索引:;TEST扫描键盘;DDISP显示;NEXTS重新赋初值;DY1MS延迟防抖1msEND

    注意事项

    本文(日历时钟单片机课程设计(附汇编程序+方案图+模块图+ddb模拟图)(9页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开