📄 12.lst
字号:
页 1
01-29-03
00:07:42
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
; *************************
; * 可在系统修改程序 *
; * 电子屏字符显示器 *
; * "电子设计" *
; * 2001.10.23 LRM *
; *************************
; 四个显示字符数据表以在50H-6FH单元内,字符用8*8点阵,R4(30H)用于
; 控制显示静止字的时间,R5(31H)静止字显示跳转地址步距,B内放显示首址
;
T2CON EQU 0C8H ; T2 控制寄存器
T2MOD EQU 0C9H ;
TL2 EQU 0CCH ; T2 计数寄存器低字节
TH2 EQU 0CDH ; T2 计数寄存器高字节
TR2 EQU 0CAH ; T2 启动位
RCAP2L EQU 0CAH ; T2 计数重栽寄存器低字节
RCAP2H EQU 0CBH ; T2 计数重栽寄存器高字节
CHPCON EQU 0BFH ; 在系统编程控制寄存器
CHPENR EQU 0F6H ; 编程状态下 MTP ROM 的控制字节寄存器
SFRAL EQU 0C4H ; 编程状态下的目标低地址
SFRAH EQU 0C5H ; 编程状态下的目标高地址
SFRFD EQU 0C6H ; 编程状态下 MTP ROM 的编程数据
SFRCN EQU 0C7H ;
TXOKFLAG EQU 003H
;
;
ORG 0000H
0000 02007E LJMP START
;
;************;
;中断入口程序;
;************;
;
ORG 0003H
0003 32 RETI
ORG 000BH
000B 32 RETI
ORG 0013H
0013 32 RETI
ORG 001BH
001B 32 RETI
ORG 0023H
0023 020119 LJMP INTS
ORG 002BH
002B 32 RETI
;
;初始化
002C 75D000 CLEARMEN: MOV PSW, #00H ; 设第一组寄存器
002F 7581F1 MOV SP, #0F1H ; 设置堆栈指针
C:\WINDOWS\DESKTOP\2003.02.12书稿\配套光盘源程序\实例12\12.ASM
页 2
01-29-03
00:07:42
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
0032 759850 MOV SCON, #01010000B ; 串口工作方式1(8 BIT UART) 允许接收
0035 75C830 MOV T2CON, #00110000B ; T2CON
0038 74EC MOV A,#0ECH
003A F5CC MOV TL2, A ;设置波特率 ( 19200)
003C F5CA MOV RCAP2L, A ;
003E 74FF MOV A,#0FFH
0040 F5CD MOV TH2, A ;
0042 F5CB MOV RCAP2H, A ;
0044 D2AC SETB ES ; 允许串口中断
0046 75B800 MOV IP, #00H ; 低优先级
0049 D2CA SETB TR2 ; 启动定时计数器 2
004B D29C SETB REN ; 启动串口接收中断
004D C299 CLR TI ; 清串口发送中断标志位
004F C298 CLR RI ; 清串口接收中断标志位
0051 D2AF SETB EA ; 开放所有中断
0053 22 RET
0054 74FF CLEARMEN1: MOV A,#0FFH
0056 F590 MOV P1,A
0058 F5A0 MOV P2,A
005A F5B0 MOV P3,A
005C F580 MOV P0,A
005E 9000F9 MOV DPTR,#TAB2
0061 E4 CLR A
0062 F520 MOV 20H,A
0064 F521 MOV 21H,A
0066 F522 MOV 22H,A
0068 F523 MOV 23H,A
006A FB MOV R3,A
006B 7950 MOV R1,#50H
006D 7A20 MOV R2,#20H
006F 93 CLLOOP: MOVC A,@A+DPTR
0070 F7 MOV @R1,A
0071 EB MOV A,R3
0072 04 INC A
0073 FB MOV R3,A
0074 09 INC R1
0075 DAF8 DJNZ R2,CLLOOP
0077 7530A0 MOV 30H,#0A0H
007A 753108 MOV 31H,#08H
007D 22 RET
;
007E 12002C START: LCALL CLEARMEN ;初始化
0081 120054 LCALL CLEARMEN1
0084 120094 START1: LCALL DISP1
0087 0184 AJMP START1
0089 900143 PUTPASS: MOV DPTR,#PASSTBL ;
008C 12015B LCALL DISPINFO ;显示"Pass Error"
008F 01A1 AJMP LOOP3 ;
C:\WINDOWS\DESKTOP\2003.02.12书稿\配套光盘源程序\实例12\12.ASM
页 3
01-29-03
00:07:42
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
0091 02017C APROM: LJMP APROMOUT ;
;
;
0094 75F050 DISP1: MOV B,#50H
0097 AC30 MOV R4,30H
0099 AD31 MOV R5,31H
009B 1004F3 LOOP: JBC 04H,APROM ;进入4K-LDROM模式处理程序
009E 1005E8 JBC 05H,PUTPASS ;口令提示处理程序
00A1 1200B3 LOOP3: LCALL DISPLAY
00A4 DCF5 DJNZ R4,LOOP
00A6 AC30 MOV R4,30H
00A8 E5F0 MOV A,B
00AA B46801 CJNE A,#68H,CONT
00AD 22 RET
00AE 2D CONT: ADD A,R5
00AF F5F0 MOV B,A
00B1 019B AJMP LOOP
;
;
00B3 74FF DISPLAY: MOV A,#0FFH
00B5 F580 MOV P0,A
00B7 F5A0 MOV P2,A
00B9 7EFE MOV R6,#0FEH
00BB A8F0 MOV R0,B
00BD 7F08 MOV R7,#08H
00BF E6 DISLOOP: MOV A,@R0
00C0 F580 MOV P0,A
00C2 8EA0 MOV P2,R6
00C4 1200CE LCALL DL1MS
00C7 08 INC R0
00C8 EE MOV A,R6
00C9 23 RL A
00CA FE MOV R6,A
00CB DFF2 DJNZ R7,DISLOOP
00CD 22 RET
;
;
00CE 7BFF DL1MS: MOV R3,#0FFH ;256*4
00D0 00 LOOPK: NOP
00D1 00 NOP
00D2 DBFC DJNZ R3,LOOPK
00D4 22 RET
;
;
00D5 EF83AB
00D8 83AB83
00DB EEE0 TAB1: DB 0EFH,83H,0ABH,83H,0ABH,83H,0EEH,0E0H ; 电
00DD FFC7EF
C:\WINDOWS\DESKTOP\2003.02.12书稿\配套光盘源程序\实例12\12.ASM
页 4
01-29-03
00:07:42
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
00E0 83EFEF
00E3 CFEF DB 0FFH,0C7H,0EFH,83H,0EFH,0EFH,0CFH,0EFH ; 子
00E5 B1B504
00E8 BFB1B5
00EB 9BA4 DB 0B1H,0B5H,04H,0BFH,0B1H,0B5H,9BH,0A4H ; 设
00ED BBBB1B
00F0 A0BBBB
00F3 9BBB DB 0BBH,0BBH,1BH,0A0H,0BBH,0BBH,9BH,0BBH ; 计
00F5 000000
00F8 00 DB 00H,00H,00H,00H
;
00F9 F7EFC1
00FC D500D5
00FF D9BD TAB2: DB 0F7H,0EFH,0C1H,0D5H,000H,0D5H,0D9H,0BDH ;舟
0101 FFF7F7
0104 F7D5D5
0107 C1FF DB 0FFH,0F7H,0F7H,0F7H,0D5H,0D5H,0C1H,0FFH ;山
0109 F7EFC1
010C D500D5
010F D9BD DB 0F7H,0EFH,0C1H,0D5H,000H,0D5H,0D9H,0BDH ;舟
0111 FFF7F7
0114 F7D5D5
0117 C1FF DB 0FFH,0F7H,0F7H,0F7H,0D5H,0D5H,0C1H,0FFH ;山
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 进入4K-LDROM的程序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0119 C0D0 INTS: PUSH PSW ;堆栈保护
011B C0E0 PUSH ACC ;
011D C0F0 PUSH B ;
011F 75D008 MOV PSW,#08H ;启用第1组寄存器
0122 10980A JBC RI,RXINTS ;RI为1,接收中断,RI清0
0125 30990F JNB TI,INTSOUT ;TI为0,中断退出
0128 C299 CLR TI ;TI为1,先清0
012A D203 SETB TXOKFLAG ;设发送OK标志
012C 020137 LJMP INTSOUT ;中断退出
;
012F E599 RXINTS: MOV A,SBUF ;接收中断处理。
0131 640D XRL A,#0DH ;是否回车符
0133 7009 JNZ PASSFLAG ;不是回车,口令出错处理
0135 D204 SETB 04H ;进入4K-LDROM标志置1
0137 D0F0 INTSOUT: POP B ;出栈
0139 D0E0 POP ACC ;
013B D0D0 POP PSW ;
013D 32 RETI ;中断退出
013E D205 PASSFLAG: SETB 05H ;口令出错标志置1
0140 020137 LJMP INTSOUT ;中断退出
;
C:\WINDOWS\DESKTOP\2003.02.12书稿\配套光盘源程序\实例12\12.ASM
页 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -