分享
分销 收藏 举报 申诉 / 22
播放页_导航下方通栏广告

类型日历时钟单片机课程设计附汇编程序方案图模块图ddb模拟图样本.doc

  • 上传人:精***
  • 文档编号:3529962
  • 上传时间:2024-07-08
  • 格式:DOC
  • 页数:22
  • 大小:119KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    日历 时钟 单片机 课程设计 汇编程序 方案 模块 ddb 模拟 图样
    资源描述:
    ;山东科技大学 信电 通信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 0030H MAIN: MOV R0,#AD1 MOV R7,#06H LOOP0: MOV A,#00H MOV @R0,A INC R0 DJNZ R7,LOOP0 ;R0~R7清零 MOV AD1,#37H MOV AD2,#22H MOV AD3,#0CH MOV AD4,#08H MOV AD5,#08H MOV AD6,#08H ;初始化时间为12: 34: 56, 日期为 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 KEYDONE NEXTD: SJMP LOOP ;扫描键盘看是否需要调整日历 DISPLAY: LCALL TEST ;扫描键盘 CJNE A,#0DFH,ERSHISI1 ;0DFH为6键 SETB PSW.1 ;显示十二小时 LJMP TIMEZHUAN ERSHISI1:CJNE A,#0EFH,ERSHISI2 ;0EFH为5键 CLR PSW.1 ;显示二十四小时 CLR CHANGE2 LJMP TIMEZHUAN ERSHISI2:CJNE A,#0CFH,CHANGE ;0CFH为5+6键 CLR PSW.1 SETB CHANGE2 ;CHANGE2=1表示把十二表示法转换成二十四小时 LJMP TIMEZHUAN CHANGE: CLR CHANGE2 TIMEZHUAN: LCALL TEST CJNE A,#7FH,NEXTL ;7FH为8键 SETB PSW.5 LJMP ZHUAN1 NEXTL: 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 TIMEZHUAN2 TIMEZHUAN1: ;判断时间是否大于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,A DDISP: ;显示, 串入并处的方式, 上升沿写入 MOV R0,#DBUF MOV R7,#06H LOOP2: MOV R6,#08H MOV A,@R0 MOV DPTR,#TAB MOVC A,@A+DPTR ;显示秒 CLR C LOOP3: RRC A CLR CLK MOV DISP,C SETB CLK DJNZ R6,LOOP3 INC R0 DJNZ R7,LOOP2 RET KEYDONE: ;人工手动调整日历 AGAINB: LCALL DY250MS ;防抖250ms LCALL TEST CJNE A,#7FH,NEXTL1 ;7FH为8键 SETB PSW.5 LJMP ZHUAN12 NEXTL1: CJNE A,#0BFH,ZHUAN12 CLR PSW.5 ;以上为扫描键盘并设置PSW.5 ZHUAN12: JB PSW.5,NEXT6B ;判断调整日期还是时间 CJNE A,#0FDH,NEXTA ;0FDH为2键,如果按键值为FDH则结束 LJMP BACK NEXTA: CJNE A,#0FBH,NEXTB ;0FBH为3键 INC AD1 ;秒加1 MOV A,AD1 CJNE A,#3CH,AGAINA MOV AD1,#00H SJMP AGAINA NEXTB: CJNE A,#0F7H,NEXTC ;0F7H为4键 INC AD2 ;分加1 MOV A,AD2 CJNE A,#3CH,AGAINA MOV AD2,#00H SJMP AGAINA NEXTC: CJNE A,#0EFH,AGAINA ;0EFH为5键 INC AD3 ;时加1 MOV A,AD3 CJNE A,#18H,AGAINA MOV AD3,#00H NEXTT: SJMP AGAINA NEXT6B: CJNE A,#0FDH,NEXTAB;JIESHUJIAN ;0FDH为2键 LJMP BACK NEXTAB: CJNE A,#0FBH,NEXTBB ;0FBH为3键 INC AD4 ;日加1 MOV A,AD4 CJNE A,#20H,AGAINA MOV AD4,#01H SJMP AGAINA NEXTBB: CJNE A,#0F7H,NEXTCB ;0F7H为4键 INC AD5 ;月加1 MOV A,AD5 CJNE A,#0DH,AGAINA MOV AD5,#01H SJMP AGAINA NEXTCB: CJNE A,#0EFH,AGAINA ;0EFH为5键 INC AD6 ;年加1 MOV A,AD6 CJNE A,#64H,AGAINA MOV AD6,#00H AGAINA: LCALL DISPLAY LJMP AGAINB BACK: RET INT: INC R5 CJNE R5,#20,NEXTS1 ;循环20次, 每次循环为0.05秒, 共0.05*20=1秒 MOV R5,#00H LCALL DISPLAY ;满一秒后的显示 LJMP MEND NEXTS1: LJMP NEXTS ;满一秒后的显示 MEND: MOV A,AD1 CJNE A,#0AH,LAREMEND SETB LED ;满十秒关灯, 否则继续 LAREMEND: INC AD1 MOV A,AD1 CJNE A,#3CH, NEXTS2 LJMP MEND1 NEXTS2: LJMP NEXTS ;以上为看是否修改秒, 满60, 分加一否则跳转继续 MEND1: MOV AD1,#00H INC AD2 MOV A,AD2 CJNE A,#3CH,NEXTS3 LJMP MEND2 NEXTS3: LJMP NEXTS ;以上为看是否修改分, 满60, 时加一否则跳转继续 MEND2: MOV AD2,#00H INC AD3 MOV A,AD3 CJNE A,#0Ah,ZAIJIANCHA AJMP BAOSHI ZAIJIANCHA: CJNE A,#0Bh,ZHENGCHANG BAOSHI: CLR LED ;以上为两个报时开灯 ZHENGCHANG: MOV A,AD3 CJNE A,#18H,NEXTS4 ;不满二十四小时跳出 LJMP MEND3 ;满二十四后跳到清零小时继续加天 NEXTS4: LJMP NEXTS MEND3: 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 JIXUYUE RUNNIAN: MOV A,AD4 ; 闰年 CJNE A,#1EH,NEXTS MOV AD4,#01H AJMP JIXUYUE JIXUTIAN: ; 不为二月, 再查看是那个月 MOV A,AD5 CJNE A,#01H,PAN1 LJMP SANSHIYI PAN1: CJNE A,#03H,PAN3 LJMP SANSHIYI PAN3: CJNE A,#04H,PAN4 LJMP SANSHI PAN4: CJNE A,#05H,PAN5 LJMP SANSHIYI PAN5: CJNE A,#06H,PAN6 LJMP SANSHI PAN6: CJNE A,#07H,PAN7 LJMP SANSHIYI PAN7: CJNE A,#08H,PAN8 LJMP SANSHIYI PAN8: CJNE A,#09H,PAN9 LJMP SANSHI PAN9 : CJNE A,#10H,PAN10 LJMP SANSHIYI PAN10: CJNE A,#11H,SANSHIYI LJMP SANSHI SANSHIYI: MOV A,AD4 ;月份: 1, 3, 5, 7, 8, 10, 12 CJNE A,#20H,NEXTS MOV AD4,#01H AJMP JIXUYUE SANSHI: MOV A,AD4 ; 月份: 2, 4, 6, 8, 11 CJNE A,#1FH,NEXTS MOV AD4,#01H JIXUYUE: INC AD5 ; 满月后加年 CJNE A,#0DH,NEXTS MOV AD5,#01H INC AD6 MOV A,AD6 CJNE A,#64H,NEXTS ; 年满100后清零 MOV AD6,#00H NEXTS: ;再赋初值 MOV TH0,#4CH MOV TL0,#00H RETI DY250MS: ; 延迟防抖250ms MOV R4,#0FAH LOOP8: LCALL DY1MS DJNZ R4,LOOP8 RET DY1MS: ; 延迟防抖1ms MOV R5,#0B0H LOOP7: 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,#0FFH AGAIN3: CLR P2.3 NOP NOP MOV C, P3.5 ;把p3.5的状态存入C SETB P2.3 RLC A ;键盘状态存入A DJNZ R7,AGAIN3 ;扫描八个按键 RET TAB: DB 88H,0EBH,4CH,49H,2BH,19H,18H,0CBH,08H,09H ;子程序功能索引: ;TEST——扫描键盘 ;DDISP——显示 ;NEXTS——重新赋初值 ;DY1MS——延迟防抖1ms END
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:日历时钟单片机课程设计附汇编程序方案图模块图ddb模拟图样本.doc
    链接地址:https://www.zixin.com.cn/doc/3529962.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork