ANL A,#EH为何不对????立即数开始的字符有规定吗?

booming 2007-08-07 09:28:38
ANL A,#EH

立即数开始的字符有规定吗?
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
alangxl 2007-08-21
  • 打赏
  • 举报
回复
十六制以字母开头的前面须加零,以区分数字和char.
zlzjyky 2007-08-20
  • 打赏
  • 举报
回复
A是一个8位的寄存器
xieyuelin99 2007-08-07
  • 打赏
  • 举报
回复
ANL A,#0EH
AT89C51时钟程序 org 00h ;显示缓冲单元在70H—75H,70H—71H显示秒,72H—73H显示分,74H—75H显示时 ;时间计数单元在70H—71H(秒)、76H—77H(分)、78H—79H(时),7AH单元放熄灭符(#0AH) ;计数单元采用BCD码计数,定时器T0设置为50MS溢出中断,为秒计数用,定时器T1为调整时闪烁用 ;P3.2为调整按钮,P1口为字符输出口,采用共阳显示管。 ORG 0000H LJMP START ORG 0003H RETI ORG 000BH LJMP INTT0 ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI START: MOV R0, #70H MOV R7, #0BH MOV 20H, #00H CLEARDISP: MOV @R0, #00H INC R0 DJNZ R7,CLEARDISP 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 start1: LCALL DISPLAY JNB P3.2,SETMM1 SJMP Start1 SETMM1: LJMP SETMM INTT0: PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV A,#0B7H ;中断同步修正 ADD A,TL0 MOV TL0,A MOV A,#3CH ADD A,TH0 MOV TH0,A SETB TR0 DJNZ R4, OUTT0 ADDSS: MOV R4,#14H MOV R0,#71H ACALL ADD1 ;加1程序 MOV A,R3 CLR C CJNE A,#60H,ADDMM ADDMM: JC OUTT0 ACALL CLR0 MOV R0,#77H ACALL ADD1 MOV A,R3 CLR C CJNE A,#60H,ADDHH ADDHH: JC OUTT0 ACALL CLR0 MOV R0,#79H ACALL ADD1 MOV A,R3 CLR C CJNE A,#24H,HOUR HOUR: JC OUTT0 ACALL CLR0 OUTT0: MOV 72H,76H MOV 73H,77H MOV 74H,78H MOV 75H,79H POP PSW POP ACC SETB ET0 RETI INTT1: PUSH ACC PUSH PSW MOV TL1, #0B0H MOV TH1, #3CH DJNZ R2,INTT1OUT MOV R2,#06H CPL 02H JB 02H,FLASH1 MOV 72H,76H MOV 73H,77H MOV 74H,78H MOV 75H,79H INTT1OUT: POP PSW POP ACC RETI FLASH1: JB 01H,FLASH2 MOV 72H,7AH MOV 73H,7AH MOV 74H,78H MOV 75H,79H AJMP INTT1OUT FLASH2: MOV 72H,76H MOV 73H,77H MOV 74H,7AH MOV 75H,7AH AJMP INTT1OUT ADD1: MOV A,@R0 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 RET CLR0: CLR A MOV @R0,A DEC R0 MOV @R0,A RET SETMM: cLR ET0 CLR TR0 LCALL DL1S JB P3.2,CLOSEDIS MOV R2,#06H SETB ET1 SETB TR1 SET2: JNB P3.2,SET1 SETB 00H SET4: JB P3.2,SET3 LCALL DL05S JNB P3.2,SETHH MOV R0,#77H ;加1分程序 LCALL ADD1 MOV A,R3 CLR C CJNE A,#60H,HHH HHH: JC SET4 LCALL CLR0 CLR C AJMP SET4 CLOSEDIS: SETB ET0 SETB TR0 CLOSE: JB P3.2,CLOSE LCALL DISPLAY JB P3.2,CLOSE WAITH: JNB P3.2,WAITH LJMP START1 SETHH: CLR 00H SETHH1: JNB P3.2,SET5 SETB 01H SET6: JB P3.2,SET7 LCALL DL05S JNB P3.2,SETOUT MOV R0,#79H LCALL ADD1 MOV A,R3 CLR C CJNE A,#24H,HOUU HOUU: JC SET6 LCALL CLR0 AJMP SET6 SETOUT: JNB P3.2,SETOUT1 LCALL DISPLAY JNB P3.2,SETOUT CLR 01H CLR 00H CLR 02H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP START1 SET1: LCALL DISPLAY AJMP SET2 SET3: LCALL DISPLAY AJMP SET4 SET5: LCALL DISPLAY AJMP SETHH1 SET7: LCALL DISPLAY AJMP SET6 SETOUT1: LCALL DISPLAY AJMP SETOUT DISPLAY: MOV R1,#70H MOV R5,#0BFH PLAY: MOV A,R5 MOV P2,A MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR MOV P0,A LCALL DL1MS INC R1 MOV A,R5 JNB ACC.1,ENDOUT RR A MOV R5,A AJMP PLAY ENDOUT: SETB P2.1 MOV P0,#0FFH RET TAB: DB 28h,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET ; DS20MS: ACALL DISPLAY ACALL DISPLAY ACALL DISPLAY RET DL1S: LCALL DL05S LCALL DL05S RET DL05S: MOV R3,#20H DL05S1: LCALL DISPLAY DJNZ R3,DL05S1 RET END
关于8255单片机的程序设计 ;变量声明区 SECOND EQU 30H ;秒 MINUTE EQU 31H ;分 HOUR EQU 32H ;时 DAY EQU 33H ;日 MONTH EQU 34H ;月 YEAR_L EQU 35H ;年低位 YEAR_H EQU 36H ;年高位 DISPBUF EQU 37H ;显示缓冲区(6字节) DISPBIT EQU 3DH ;位选偏移量 FLAG EQU 3EH ;标记(0表示在主界面,1-6分别代表显示时、分、秒、年、月、日,0为一般显示(当前位置为主界面),7为显示日期,8为显示闹铃开关,9、10显示闹铃时和分,11表示不做缓冲处理) KEY EQU 3FH ;按键值 CLOSE_BIT EQU 40H ;显示屏蔽(和位选相与后送P2) A1_MINUTE EQU 41H ;闹铃1 分钟 A1_HOUR EQU 42H ;闹铃1 小时 A1_SWITCH EQU 43H ;闹铃1 开关 A2_MINUTE EQU 44H ;闹铃2 分钟 A2_HOUR EQU 45H ;闹铃2 小时 A2_SWITCH EQU 46H ;闹铃2 开关 A3_MINUTE EQU 47H ;闹铃3 分钟 A3_HOUR EQU 48H ;闹铃3 小时 A3_SWITCH EQU 49H ;闹铃3 开关 FLAG_KEEP EQU 4AH ;闹钟持续鸣叫标志(1开启,0关闭) FLAG_ALARM EQU 4BH ;闹钟响标志(为1蜂鸣器响,为0蜂鸣器不响) FLAG_NUM EQU 4CH ;当前闹钟标志(1-3个闹钟) FLAG_MOVING EQU 4DH ;流水显示初始化标志(0未初始化 1已经初始化) COUNT EQU 4EH ;T0中断次数(T0内部使用) COUNT_1S EQU 4FH ;计数1S(满N秒后执行程序) FLAG_1S EQU 50H ;满1秒取反标志(1秒执行程序1,另一秒执行程序2) FLAG_ADD EQU 51H ;时间设置标记(1代表FLAG对应的时段加1) FLAG_CLOSE EQU 52H ;闪烁显示标记(为0不闪烁) DATE_STYLE EQU 53H ;日期显示模式标志(为1跳变切换显示,为2流水显示,为3下滑切换显示) CLOSE_BIT_TEMP EQU 54H ;屏蔽位暂存(流水显示模式) CLOSE_BIT_CODE EQU 55H ;段选屏蔽位(和段选相与后送P0) KEY_TEMP EQU 56H ;临时按键值(串口发送内容) COUNT_50MS EQU 57H ;50毫秒计数 TEMP_R0 EQU 58H ;保护R0 TEMP_R1 EQU 59H ;保护R1 TEMP_R2 EQU 5AH ;保护R2 FLAG_DOWN_S EQU 5BH ;下移显示阶段标志(每0.2s加1;0无显示,1、2移入显示,3-17正常,18、19移出显示) MOVING_DISPBUF EQU 5CH ;临时缓冲区(流水显示模式) ;---------------------------------------------------------------------------------------------- ;主程序 ORG 00H SJMP START ORG 0BH LJMP INT_T0 ORG 13H AJMP INT_1 ORG 30H START: ;初始化 MOV SECOND,#00 MOV MINUTE,#42 MOV HOUR,#02 MOV DAY,#09 MOV MONTH,#12 MOV YEAR_L,#09 MOV YEAR_H,#20 MOV A1_SWITCH,#00H MOV A1_MINUTE,#22 MOV A1_HOUR,#12 MOV A2_SWITCH,#00H MOV A2_MINUTE,#00H MOV A2_HOUR,#00H MOV A3_SWITCH,#00H MOV A3_MINUTE,#00H MOV A3_HOUR,#00H MOV DISPBIT,#00H MOV FLAG_KEEP,00H MOV P3,#0FH ;键盘进入监控输入状态 MOV R7,#00H ;整点报时鸣铃次数清0 S

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧