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 + -
显示快捷键?