📄 serlies1.sdi
字号:
0000,75 81 6F,START,START: MOV SP,#6FH ;设置栈指针
0003,75 65 00,, MOV 65H,#0
0006,75 64 01,, MOV 64H,#1
0009,75 63 02,, MOV 63H,#2
000C,75 62 03,, MOV 62H,#3
000F,75 61 04,, MOV 61H,#4
0012,75 60 05,, MOV 60H,#5
0015,12 00 1A,, LCALL DISP
0018,80 FE,, SJMP $
001A,75 98 00,DISP,DISP: MOV SCON,#00H ;初始化串行口方式0
001D,79 06,, MOV R1,#06H ;显示6位数
001F,78 65,, MOV R0,#65H ;60H-65H为显示缓冲区
0021,90 00 4D,, MOV DPTR,#SETTAB ;字形表的入口地址
0024,E6,LOOP,LOOP: MOV A,@R0 ;取最高位的待显示数据
0025,93,, MOVC A,@A+DPTR ;查表获取字形码
0026,F5 99,, MOV SBUF,A ;送串口显示
0028,7A 09,, MOV R2,#09H ;循环八次,模拟串口的八个脉冲
002A,75 90 00,, MOV P1,#00H ;清除P1口
002D,F5 90,VSER,VSER: MOV P1,A ;将A左移八次输出
002F,D2 96,, SETB P1.6
0031,C2 96,, CLR P1.6
,,,; NOP
0033,23,, RL A
0034,DA F7,, DJNZ R2,VSER
0036,7C 30,DLY,DLY: MOV R4,#030H ;延时子程序,延时时间赋值
0038,7D 30,LOOP0,LOOP0: MOV R5,#030H
003A,7E BA,LOOP1,LOOP1: MOV R6,#0BAH
003C,DE FE,LOOP2,LOOP2: DJNZ R6,LOOP2
003E,DD FA,, DJNZ R5,LOOP1
0040,DC F6,, DJNZ R4,LOOP0
,,,
0042,30 99 FD,DELAY,DELAY: JNB TI,DELAY ;等待发送完毕
0045,C2 99,, CLR TI ;清发送标志
0047,18,, DEC R0 ;指针下移一位,准备取下一个待显示数
0048,D9 DA,, DJNZ R1,LOOP ;直到6个数据全显示完。
004A,01 00,, AJMP START
004C,22,, RET
,,,
004D,3F,SETTAB,SETTAB: DB 3FH ;字型码表
004E,06,, DB 06H
004F,5B,, DB 5BH
0050,4F,, DB 4FH
0051,66,, DB 66H
0052,6D,, DB 6DH
0053,7D,, DB 7DH
0054,07,, DB 07H
0055,7F,, DB 7FH
0056,6F,, DB 6FH
000E,,,END
,,,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -