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

    一个成功的万年历汇编程序显示日期时间和温度.docx

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

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

    一个成功的万年历汇编程序显示日期时间和温度.docx

    ORG 0000H LJMP MAIN ORG 001BH LJMP SUBT1 ORG 0030H MAIN: MOV 50H,#1H/显示缓冲区 MOV 51H,#2H MOV 52H,#3H MOV 53H,#4H/显示缓冲区 MOV 54H,#5H/显示缓冲区 MOV 55H,#6H MOV 56H,#7H MOV 57H,#8H/显示缓冲区 MOV 58H,#0H/S4 MOV 59H,#0H/S1 MOV 5AH,#0H/0表示09键按下,16表示AF键按下,用于按键散转 MOV 5BH,#0H/0F键值,0F0H表示无键按下 MOV 5CH,#21H/秒 MOV 5DH,#43H/分 MOV 5EH,#65H/时 MOV 5FH,#41H/日 MOV 60H,#02H/月 MOV 61H,#0H/年 MOV 62H,#22H/温度 MOV 63H,#22H/温度 SETB PSW.1 MOV TL1,#0FDH MOV TH1,#0FFH MOV TMOD,#00H MOV TCON,#04H MOV IP,#08H MOV IE,#88H SETB TR1MJMP: JNB PSW.1,MJMP1 LCALL LED4RDELAY SJMP MJMP2MJMP1: LCALL LED8DELAY MJMP2: LCALL KEY LCALL KEYPRE SJMP MJMPKEYPRE: MOV 5BH,A CJNE A,#0F0H,KEYPRE1 SJMP KEYPRE2KEYPRE1: MOV 5AH,#0 ADD A,#0 SUBB A,#10 JC KEYPRE2 INC A MOV 5AH,AKEYPRE2: MOV DPTR,#PTAB1 MOV A,5AH MOV B,#3 MUL AB MOV R1 ,A MOV A,B ADD A,DPH MOV A,R1 JMP A+DPTR KEYPRE0: RET PTAB1:LJMP KEYPRE3PL001:LJMP PL001PPL002:LJMP PL002PPL003:LJMP PL003PPH001:LJMP PH001PPH002:LJMP PH002PPH003:LJMP PH003P LJMP KEYPRE0KEYPRE3:MOV A,5BH CLR C SUBB A,#0F0H JZ KEYPRE4 mov 53h,52h mov 52h,51h mov 51h,50h mov 50h,5BH KEYPRE4:CLR PSW.1 LJMP KEYPRE0 PL001P:MOV A,5BH/S1键 CJNE A,#0AH,PL001END MOV A,58H JZ PL001END LCALL COMMS1K PL001END:LCALL S1MOVBUF CLR PSW.1 LJMP KEYPRE0 PL002P:/MOV DPTR,#L002/LCALL MOVXSBUF MOV A,5BH CJNE A,#0BH,PL002END MOV A,59H JZ PL002END MOV A,58H CJNE A,#01H,PL002P2 MOV A,#5BH ADD A,59H MOV R0,A INC R0PL002P2:CJNE A,#02H,PL002P3 MOV A,#5EH ADD A,59H MOV R0,A INC R0PL002P3:CJNE A,#03H,PL002ENDPL002END:LCALL S1MOVBUF CLR PSW.1 LJMP KEYPRE0 PL003P:MOV DPTR,#L003 LCALL MOVXSBUF LCALL ADC0809 SETB PSW.1 LJMP KEYPRE0 PH001P:/MOV DPTR,#H001 /LCALL MOVXSBUF MOV A,5BH CLR C SUBB A,#0F0H JZ PH001END LCALL COMMS4KPH001END:LCALL YDMOVBUF CLR PSW.1 LJMP KEYPRE0PH002P: MOV DPTR,#H002 LCALL MOVXSBUF MOV DPTR,#PWM14/E键设定;占空比1:4 LCALL MOVXPMWBUF LJMP KEYPRE0PH003P:MOV DPTR,#H003 LCALL MOVXSBUF LCALL GET_TEMP SETB PSW.1 LJMP KEYPRE0 SUBT1: PUSH ACC/ PUSH PSW MOV TL1,#0fdH MOV TH1,#0FFH CPL P1.3/产生定时脉冲 LP4: POP PSW POP ACC RETILED: MOV P0,#0FFH MOV P3,R2 LCALL DELAY MOV A,R0 MOV R1,ALED1: MOV A,R1 MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A MOV P3,R2 LCALL DELAY RET LED2DELAY: mov R0,#4fh mov R2,#80h mov R3,#02H LED2DELAY1:mov A,R2 RL A mov R2,A INC R0 LCALL LED DJNZ R3,LED2DELAY1 RETLED4LDELAY: MOV P0,#00H MOV P3,#0FFH MOV R0,#4FH MOV R2,#0F7H MOV R3,#04H LED4LDELAY1:MOV A,R2 RL A MOV R2,AINC R0 LCALL LED DJNZ R3,LED4LDELAY1 RET LED4RDELAY: MOV P0,#00H MOV P3,#0FFH MOV R0,#4FH MOV R2,#07FH MOV R3,#04H LED4RDELAY1:MOV A,R2 RL A MOV R2,A INC R0 LCALL LED DJNZ R3,LED4RDELAY1 RET LED8DELAY: MOV P0,#00H MOV P3,#0FFH mov R0,#4fh mov R2,#7fh mov R3,#08H LED8DELAY1:mov A,R2 RL A mov R2,A INC R0 LCALL LED DJNZ R3,LED8DELAY1 RET DELAY:MOV R5,#01H D0: MOV R6,#01AH D1: DJNZ R6,D1 DJNZ R5,D0 RETKEY: MOV P3,#0FFH LCALL KS JNZ K1 LCALL DELAY MOV A,#0F0H LJMP K5 K1: LCALL DELAY LCALL KS JNZ K2 MOV A,#0F0H LJMP K5 K2: MOV R2,#07FH MOV R4,#00H K3: MOV A,R2 MOV P0,A LCALL DELAY MOV A,P0 ANL A,#0FH JB ACC.0,L1 MOV A,#00H LJMP LK L1: JB ACC.1,L2 MOV A,#01H LJMP LK L2: JB ACC.2,L3 MOV A,#02H LJMP LK L3: JB ACC.3,NEXT MOV A,#03H LK: ADD A,R4 PUSH ACC K4: LCALL DELAY LCALL KS JNZ K4 POP ACC K5: RET NEXT:MOV A,#4 ADD A,R4 MOV R4,A MOV A,R2 JNB ACC.4,K5 RR A MOV R2,A LJMP K3 KS: MOV A,#0FH MOV P0,A MOV A,P0 CPL A ANL A,#0FH /SWAP A RET ADC0809:CLR P1.0/ LCALL DELAY SETB P1.0/START,ALE LCALL DELAY CLR P1.0 SETB P1.2ADC08P: mov c,P1.2 JNc ADC08P SETB P1.1 MOV P2,#0FFH MOV A,P2 MOV 62H,A ANL A,#0FH MOV 50H,A MOV A,62H SWAP A ANL A,#0FH MOV 51H,A ADC08M: RETDS18SL:CLR EA ;使用ds1820 一定要禁止任何中断产生 LCALL INTT ;初始化ds1820 MOV A,#33H LCALL WRITE ;送入读ds1820 的ROM 命令 LCALL READ ;开始读出当前ds1820 序列号 MOV 40H,A LCALL READ MOV 41H,A LCALL READ MOV 42H,A LCALL READ MOV 43H,A LCALL READ MOV 44H,A LCALL READ MOV 45H,A LCALL READ MOV 46H,A LCALL READ MOV 47H,A SETB EA RETINTT: CLR EAINTT0: CLR P1.0 MOV R2,#200INTT1: CLR P1.0 DJNZ R2,INTT1 ;总线复位电平保持400us SETB P1.0 ;释放ds1820 总线 MOV R2,#30INTT4: DJNZ R2,INTT4 ;释放ds1820 总线保持60us CLR C ;清存在信号 ORL C,P1.0 JC INTT0 ;存在吗?不存在则重新来 MOV R6,#80INTT5: ORL C,P1.0 JC INTT3 DJNZ R6,INTT5 SJMP INTT0INTT3: MOV R2,#240INTT2: DJNZ R2,INTT2 SETB EA RETWRITE: CLR EA; 向ds1820 写操作命令子程序 MOV R3,#8 ;写入ds1820 的bit 数,一个字节8 个bitWR1: SETB P1.0 MOV R4,#8 RRC A ;把一个字节data(A)分成8 个bit 环移给 C CLR P1.0 ;开始写入ds1820 总线要处于复位(低)状态WR2: DJNZ R4,WR2 ;ds1820 总线复位保持16us MOV P1.0,C ;写入一个bit MOV R4,#20WR3: DJNZ R4,WR3 ;等待40us DJNZ R3,WR1 ;写入下一个bit SETB P1.0 ;重新释放ds1820 总线 SETB EA RETREAD: CLR EA MOV R6,#8 ;连续读8 个bitRE1: CLR P1.0 ;读前总线保持为低 MOV R4,#4 NOP SETB P1.0 ;开始读总线释放RE2: DJNZ R4,RE2 ;持续8us MOV C,P1.0 ;从ds1820 总线读得一个bit RRC A ;把读得的位值环移给 A MOV R5,#30RE3: DJNZ R5,RE3 ;持续60us DJNZ R6,RE1 ;读下一个bit SETB P1.0 ;重新释放ds1820 总线 SETB EA RET/ 温度转换和读取GET_TEMP: CLR EA ; 使用ds1820 一定要禁止任何中断产生 LCALL INTT ; 调用初使化子程序 MOV A,#0CCH LCALL WRITE ; 送入跳过ROM 命令 MOV A, #44H LCALL WRITE ;送入温度转换命令 LCALL INTT ; 温度转换完全,再次初使化ds1820 MOV A,#0CCH LCALL WRITE ;送入跳过ROM 命令 MOV A,#0BEH LCALL WRITE ;送入读温度暂存器命令 LCALL READ MOV 62H,A ; 读出温度值低字节存入R7 LCALL READ MOV 63H,A ; 读出谩度值高字节存入R6 SETB EAGET_TEMP1:RET MOVXSBUF:MOV R7,#3 MOV A,R7 MOVC A,A+DPTR MOV 50H,A DEC R7 MOV A,R7 MOVC A,A+DPTR MOV 51H,A DEC R7 MOV A,R7 MOVC A,A+DPTR MOV 52H,A DEC R7 MOV A,R7 MOVC A,A+DPTR MOV 53H,A RETMOVXPMWBUF:MOV R7,#1 MOV A,R7 MOVC A,A+DPTR MOV 58H,A DEC R7 MOV A,R7 MOVC A,A+DPTR MOV 57H,A RET COMMS4K: INC 58H MOV A,58H CJNE A,#04H,COMMS4K1 MOV 58H,#01HCOMMS4K1: RET YDMOVBUF: MOV A,58H CJNE A,#01H,YDMOVBUF2 MOV R0,#5CH MOV A,R0 ANL A,#0FH MOV 50H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 51H,A MOV 52H,#13H INC R0 MOV A,R0 ANL A,#0FH MOV 53H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 54H,A MOV 55H,#13H INC R0 MOV A,R0 ANL A,#0FH MOV 56H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 57H,A SJMP YDMOVBUF4YDMOVBUF2: CJNE A,#02H,YDMOVBUF3 MOV R0,#5FH MOV A,R0 ANL A,#0FH MOV 50H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 51H,A MOV 52H,#13H INC R0 MOV A,R0 ANL A,#0FH MOV 53H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 54H,A MOV 55H,#13H INC R0 MOV A,R0 ANL A,#0FH MOV 56H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 57H,A SJMP YDMOVBUF4YDMOVBUF3: MOV R0,#62H MOV A,R0 ANL A,#0FH MOV 50H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 51H,A INC R0 MOV A,R0 ANL A,#0FH MOV 52H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 53H,A MOV 54H,#14H MOV 55H,#14H MOV 56H,#14H MOV 57H,#14HYDMOVBUF4: RETCOMMS1K: INC 59H MOV A,59H CJNE A,#05H,COMMS1K1 MOV 59H,#01HCOMMS1K1: RET S1MOVBUF: MOV 50H,#13H MOV 51H,#13H MOV 52H,#13H MOV 53H,#13H MOV 54H,#13H MOV 55H,#13H MOV 56H,#13H MOV 57H,#13H MOV A,59H CJNE A,#01H,S1MOVBUF2 MOV A,58H CJNE A,#01H,S1MOV11 MOV R0,#5CH SJMP S1MOV12 S1MOV11: MOV R0,#5FH S1MOV12: MOV A,R0 ANL A,#0FH MOV 50H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 51H,A SJMP S1MOVBUF4S1MOVBUF2: CJNE A,#02H,S1MOVBUF3 MOV A,58H CJNE A,#01H,S1MOV21 MOV R0,#5CH SJMP S1MOV22 S1MOV21: MOV R0,#5FH S1MOV22: INC R0 MOV A,R0 ANL A,#0FH MOV 53H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 54H,A SJMP S1MOVBUF4S1MOVBUF3: CJNE A,#03H,S1MOVBUF0 MOV A,58H CJNE A,#01H,S1MOV31 MOV R0,#5CH SJMP S1MOV32 S1MOV31: MOV R0,#5FH S1MOV32: INC R0 INC R0 MOV A,R0 ANL A,#0FH MOV 56H,A MOV A,R0 ANL A,#0F0H SWAP A MOV 57H,A SJMP S1MOVBUF4S1MOVBUF0: CJNE A,#04H,S1MOVBUF4 LCALL YDMOVBUF S1MOVBUF4: RET TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0CH,89H,0C7H,0BFH,0FFH L001:DB 12H,0H,0H,01H L002:DB 12H,00H,00H,02H L003:DB 0AH,0DH,00H,03H H001:DB 11H,00H,00H,01H H002:DB 11H,00H,00H,02H H003:DB 11H,00H,00H,03H pwm16:db 02h,0Ch pwm14:db 02h,08h pwm21:db 06h,03h END

    注意事项

    本文(一个成功的万年历汇编程序显示日期时间和温度.docx)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开