1
来自「RM51单片机实验板配套实验例程库」· 代码 · 共 1,240 行 · 第 1/4 页
TXT
1,240 行
017D 7900 MOV R1, #00H
017F EC DIVLOOP1: MOV A, R4
0180 33 RLC A
0181 FC MOV R4, A
0182 ED MOV A, R5
0183 33 RLC A
0184 FD MOV R5, A
0185 EE MOV A, R6
0186 33 RLC A
0187 FE MOV R6, A
0188 EF MOV A, R7
0189 33 RLC A
018A FF MOV R7, A
018B E8 MOV A, R0
018C 33 RLC A
018D F8 MOV R0, A
018E E9 MOV A, R1
018F 33 RLC A
0190 F9 MOV R1, A
0191 C3 CLR C
0192 E8 MOV A, R0
0193 9A SUBB A, R2
0194 F5F0 MOV B, A
0196 E9 MOV A, R1
0197 9B SUBB A, R3
0198 4003 JC DIVLOOP2
019A A8F0 MOV R0, B
019C F9 MOV R1, A
019D B3 DIVLOOP2: CPL C
019E D546DE DJNZ 46H, DIVLOOP1
01A1 EC MOV A, R4
01A2 33 RLC A
01A3 FC MOV R4, A
01A4 ED MOV A, R5
01A5 33 RLC A
01A6 FD MOV R5, A
01A7 EE MOV A, R6
01A8 33 RLC A
01A9 FE MOV R6, A
01AA EF MOV A, R7
D:\C03电本教学实验资料\超声波报警示范程序(新)\5.ASM
页 7
11-27-05
16:01:21
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
01AB 33 RLC A
01AC FF MOV R7, A
01AD 22 RET
;
;**********以下液晶开机显示程序**************
;
DATAUP:
01AE 7493 MOV A,#93H
01B0 120246 LCALL WRITE_COM
01B3 7940 MOV R1,#40H ;将40-43H数据查出字码写入LCD
01B5 900311 MOV DPTR,#TABLE1
01B8 7A04 MOV R2,#04H ; 查4
01BA 7400 MOV A,#00H
01BC E7 MOVCLOP:MOV A,@R1 ;
01BD 93 MOVC A,@A+DPTR
01BE 12027F LCALL WRITE_DAT
01C1 09 INC R1
01C2 DAF8 DJNZ R2,MOVCLOP ;
01C4 22 RET
;
;***************开机显示画面***********************
01C5 7480 LOGON: MOV A,#80H ;第一行左第一个字开始
01C7 120246 LCALL WRITE_COM
01CA 900321 MOV DPTR,#CHINESE ;浙江海洋学院
01CD 1202EF LCALL WRITE_HZ
01D0 7490 MOV A,#90H ;第二行左第一个字开始
01D2 120246 LCALL WRITE_COM
01D5 900332 MOV DPTR,#CHINESE1 ;单片机实验室
01D8 1202EF LCALL WRITE_HZ
01DB C294 CLR LAMPBLAK ;开背光灯
01DD 1202CA LCALL DELAY5S ;显示5秒
01E0 D294 SETB LAMPBLAK ;关背光灯
01E2 7480 MOV A,#80H ;第一行左第一个字开始
01E4 120246 LCALL WRITE_COM
01E7 900343 MOV DPTR,#CHINESE3 ;C03电本(2)班
01EA 1202EF LCALL WRITE_HZ
01ED 7490 MOV A,#90H ;第二行左第一个字开始
01EF 120246 LCALL WRITE_COM
01F2 900354 MOV DPTR,#CHINESE4 ;楼然苗设计制作
01F5 1202EF LCALL WRITE_HZ
01F8 C294 CLR LAMPBLAK ;开背光灯
01FA 1202CA LCALL DELAY5S ;显示5秒
01FD D294 SETB LAMPBLAK ;关背光灯
01FF 7480 MOV A,#80H ;第一行左第一个字开始
0201 120246 LCALL WRITE_COM
0204 90039A MOV DPTR,#CHINESE8 ;超声波测距器--
0207 1202EF LCALL WRITE_HZ
020A 7490 MOV A,#90H ;第二行左第一个字开始
D:\C03电本教学实验资料\超声波报警示范程序(新)\5.ASM
页 8
11-27-05
16:01:21
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
020C 120246 LCALL WRITE_COM
020F 900365 MOV DPTR,#CHINESE2 ;距离: CM
0212 1202EF LCALL WRITE_HZ
0215 22 RET
;**********初始化程序*************
SETUP:
0216 7401 MOV A,#01H ;CLEAR DATAUP
0218 120246 LCALL WRITE_COM
021B 7430 MOV A,#00110000B ;FUNCTION SETTING
021D 120246 LCALL WRITE_COM
0220 7402 MOV A,#00000010B ;DDRAM SET TO '00H'
0222 120246 LCALL WRITE_COM
0225 7404 MOV A,#00000100B ;
0227 120246 LCALL WRITE_COM
022A 740C MOV A,#00001100B ;DATAUP ON
022C 120246 LCALL WRITE_COM
022F 7401 MOV A,#00000001B ;CLEARING SCREEN
0231 120246 LCALL WRITE_COM
0234 7480 MOV A,#10000000B ;SET DDRAM ADDRESS
0236 120246 LCALL WRITE_COM
0239 1202C1 LCALL DELAY
023C 1202C1 LCALL DELAY
023F 1202C1 LCALL DELAY
0242 1202C1 LCALL DELAY
0245 22 RET
;************串行命令写入子程序****************
;写入命令字在A中
WRITE_COM:
0246 1202B8 LCALL DELAY1 ;
0249 D295 SETB CS
024B C0E0 PUSH ACC
024D 7808 MOV R0,#8
024F 74F8 MOV A,#11111000B
COMM1:
0251 C3 CLR C
0252 33 RLC A
0253 9296 MOV SID,C
0255 C297 CLR SCLK
0257 D297 SETB SCLK
0259 D8F6 DJNZ R0,COMM1
025B D0E0 POP ACC
025D FD MOV R5,A
025E 54F0 ANL A,#0F0H
0260 7808 MOV R0,#8
0262 C3 COMM2: CLR C
0263 33 RLC A
0264 9296 MOV SID,C
D:\C03电本教学实验资料\超声波报警示范程序(新)\5.ASM
页 9
11-27-05
16:01:21
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
0266 C297 CLR SCLK
0268 D297 SETB SCLK
026A D8F6 DJNZ R0,COMM2
026C ED MOV A,R5
026D C4 SWAP A
026E 54F0 ANL A,#0F0H
0270 7808 MOV R0,#8
0272 C3 COMM3: CLR C
0273 33 RLC A
0274 9296 MOV SID,C
0276 C297 CLR SCLK
0278 D297 SETB SCLK
027A D8F6 DJNZ R0,COMM3
027C C295 CLR CS
027E 22 RET
;
;***********串行数据写入子程序****************
;写入数据字在A中
WRITE_DAT:
027F 1202B8 LCALL DELAY1
0282 D295 SETB CS
0284 C0E0 PUSH ACC
0286 7808 MOV R0,#8
0288 74FA MOV A,#11111010B
028A C3 DATA1: CLR C
028B 33 RLC A
028C 9296 MOV SID,C
028E C297 CLR SCLK
0290 D297 SETB SCLK
0292 D8F6 DJNZ R0,DATA1
0294 D0E0 POP ACC
0296 FD MOV R5,A
0297 54F0 ANL A,#0F0H
0299 7808 MOV R0,#8
029B C3 DATA2: CLR C
029C 33 RLC A
029D 9296 MOV SID,C
029F C297 CLR SCLK
02A1 D297 SETB SCLK
02A3 D8F6 DJNZ R0,DATA2
02A5 ED MOV A,R5
02A6 C4 SWAP A
02A7 54F0 ANL A,#0F0H
02A9 7808 MOV R0,#8
02AB C3 DATA3: CLR C
02AC 33 RLC A
02AD 9296 MOV SID,C
02AF C297 CLR SCLK
D:\C03电本教学实验资料\超声波报警示范程序(新)\5.ASM
页 10
11-27-05
16:01:21
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
02B1 D297 SETB SCLK
02B3 D8F6 DJNZ R0,DATA3
02B5 C295 CLR CS
02B7 22 RET
;
;**************延时子程序**********************
;0.544ms
DELAY1:
02B8 7F10 MOV R7,#010H
02BA 7E10 D11: MOV R6,#010H
02BC DEFE DJNZ R6,$
02BE DFFA DJNZ R7,D11
02C0 22 RET
;0.13s
DELAY:
02C1 7900 MOV R1,#00H
02C3 7A00 D2: MOV R2,#00H
02C5 DAFE DJNZ R2,$
02C7 D9FA DJNZ R1,D2
02C9 22 RET
;5.2s
02CA 7B28 DELAY5S:MOV R3,#40
02CC 1202C1 DE5S: LCALL DELAY
02CF DBFB DJNZ R3,DE5S
02D1 22 RET
02D2 7B09 DELAY1S:MOV R3,#9
02D4 1202C1 DE1S: LCALL DELAY
02D7 DBFB DJNZ R3,DE1S
02D9 22 RET
;
;************16*8点阵字写入子程序共16个******************
WRITE_ASCII:
02DA 7C10 MOV R4,#16
02DC E4 DDDD: CLR A
02DD 93 MOVC A,@A+DPTR
02DE 12027F LCALL WRITE_DAT
02E1 A3 INC DPTR
02E2 DCF8 DJNZ R4,DDDD
02E4 22 RET
;************16*8点阵字写入子程序共7个******************
WRITE_ASCII7:
02E5 7C07 MOV R4,#7
02E7 E6 DDDD7: MOV A,@R0
02E8 12027F LCALL WRITE_DAT
02EB 08 INC R0
02EC DCF9 DJNZ R4,DDDD7
02EE 22 RET
;************16*16点阵汉字写入子程序共7个***********
D:\C03电本教学实验资料\超声波报警示范程序(新)\5.ASM
页 11
11-27-05
16:01:21
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
WRITE_HZ: ;WRITE 7 CHINESE TO LCD
02EF 7C07 MOV R4,#7
02F1 E4 DD: CLR A
02F2 93 MOVC A,@A+DPTR
02F3 A3 INC DPTR
02F4 12027F LCALL WRITE_DAT
02F7 E4 CLR A
02F8 93 MOVC A,@A+DPTR
02F9 A3 INC DPTR
02FA 12027F LCALL WRITE_DAT
02FD DCF2 DJNZ R4,DD
02FF 22 RET
;************16*16点阵汉字写入子程序共2个***********
WRITE_HZ2: ;WRITE 8 CHINESE TO LCD
0300 7C02 MOV R4,#2
0302 E4 DD4: CLR A
0303 93 MOVC A,@A+DPTR
0304 A3 INC DPTR
0305 12027F LCALL WRITE_DAT
0308 E4 CLR A
0309 93 MOVC A,@A+DPTR
030A A3 INC DPTR
030B 12027F LCALL WRITE_DAT
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?