当前位置:首页 > (最新版)基于51单片机汇编语言的数字钟课程设计报告含有闹钟万毕业论文
CJNE A,#31H,TEND MOV BD,#1 SJMP TEND TEN14:JNB P0.2,TEND
MOV A,BM ADD A,#01 DA A MOV BM,A CJNE A,#13H,TEND MOV BM,#1 TEND:SETB 05H
RETI
06 电气工程及其自动化 2 班
许伟敏
4
21
单片微型计算机课程设计
基于汇编语言的电子数字钟
源程序集合及注释
;*******************************ELEVEN中断(INT0)控制了预置的开\\关以及生日信号的清除 ELEVEN:JNB SS,ELEVEN1 ;预置有效时按一次INT0关预置
CLR SS CLR TR1 SJMP ELEVEN3
ELEVEN1:JNB BS,ELEVEN2 ;预置无效判断生日信号有效则清除生日信号
CLR 05H CLR BS SJMP ELEVEN3
ELEVEN2:SETB SS ;都无效则令预置有效
MOV TH1,#3CH MOV TL1,#0B0H SETB TR1
ELEVEN3:RETI
;***************************************************************TWELVE TWELVE:MOV P1,#0
MOV P2,#0 DJNZ R0,TWELVE
TWELVE1:MOV P1,#0
MOV P2,#0
DJNZ R0,TWELVE1 RET
06 电气工程及其自动化 2 班
许伟敏
4
延时小程序
22
单片微型计算机课程设计
基于汇编语言的电子数字钟
单模块软件测试
六、单模块软件测试
㈠编码中常用的程序结构说明
①
JNB SS,THREEB; SJMP THREEA
THREEB:LJMPTHREE11; THREEA:JNBP0.3,THREE1
由于使用JNB等跳转指令的时候,跳转长度比较短,故需要跳转到比较远的地方时需要用 这个结构。相当于:
JNB SS,THREE11 JNB P0.3,THREE1
②THREE1:MOV A,LED34
ANL A,#0FH MOVC +DPTR MOV P2,A
THREE13:SETB P1.3
NOP
DJNZ R0,THREE13 CLR P1.3 MOV A,LED34 SWAP A ANL A,#0FH MOVC +DPTR MOV P2,A
THREE14:SETB P1.2
NOP
DJNZ R0,THREE14 CLR P1.2
显示主程序中常用的语句段,分离LED34中的高半位和低半位作为字形码段控信号查表偏 移量,通过R0延时,延时时间大约为每个数码管1ms。 ③ TEN6A:MOV A,MONTH
CJNE A,#08H,TEN7A
TEN7A:JC TEN9A
判断MONTH是否大于08H,由于CJNE指令不能对直接地址进行比较只能通过A来判断
④
MOVA,YEAR ADD A,#01 DA A
MOV YEAR,A
对T0及T1中断程序中常用的对某项目进行加一并进行BCD码调整的的程序段,由于“INC A” 指令不影响标志位,故不能和“DA A”指令结合使用。
㈡单模块软件测试中的问题及解决
由于此前花费大量的经历在模块的流程图设计当中,因此在模块调试的过程中并没有出现 太多的问题。主要问题在于语法错误,比如前述程序结果说明中的①、④语句和一些输入的错 误。并且由于程序过于长,难以进行完整的软件调试,调试过程中发现的问题主要出现在烧写 调试过程中。
06 电气工程及其自动化 2 班
许伟敏
4
23
共分享92篇相关文档