⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ht46r24.lst

📁 利用HOLTEK单片机开发的1602液晶驱动
💻 LST
📖 第 1 页 / 共 2 页
字号:
 120  000F  0080     R  MOV LcdWriteCommand1,A
 120  0010  2000     R  CALL _LcdWriteCommand
 120  0011              L26:
 120  0011  0003        RET
 120  0002  00          LOCAL b0_4 DB ?

; 114: 	Uchar temp;
 114  0003  00          LOCAL CR11 DB ? ; temp
 114  0012              _LocateXY ENDP

; 127: {
 127  0000              @DispOneChar .SECTION 'CODE'
 127  0000              PUBLIC _DispOneChar
 127  0000              _DispOneChar PROC

; 126: void DispOneChar(Uchar x,Uchar y,Uchar Wdata)
 126  0000              PUBLIC DispOneChar0
 126  0000  00          LOCAL DispOneChar0 DB ? ; x
 126  0000              PUBLIC DispOneChar1
 126  0001  00          LOCAL DispOneChar1 DB ? ; y
 126  0000              PUBLIC DispOneChar2
 126  0002  00          LOCAL DispOneChar2 DB ? ; Wdata

; 129: 	LocateXY( x, y ); // 定位显示地址
 129  0000  0700     R  MOV A,DispOneChar0
 129  0001  0080     R  MOV LocateXY0,A
 129  0002  0700     R  MOV A,DispOneChar1
 129  0003  0080     R  MOV LocateXY1,A
 129  0004  2000     R  CALL _LocateXY

; 130: 	LcdWriteData( Wdata ); // 写字符
 130  0005  0700     R  MOV A,DispOneChar2
 130  0006  0080     R  MOV LcdWriteData0,A
文件:HT46R24.c    盛群编译器版本 2.86 页次8 

 130  0007  2000     R  CALL _LcdWriteData
 130  0008              L30:
 130  0008  0003        RET
 130  0009              _DispOneChar ENDP

; 137: {
 137  0000              @LcdReset .SECTION 'CODE'
 137  0000              PUBLIC _LcdReset
 137  0000              _LcdReset PROC

; 139:     LcdWriteCommand( 0x38, 0); // 显示模式设置(不检测忙信号)
 139  0000  0F38        MOV A,038h
 139  0001  0080     R  MOV LcdWriteCommand0,A
文件:HT46R24.C    盛群编译器版本 2.86 页次8

 139  0002  0F00        MOV A,00h
 139  0003  0080     R  MOV LcdWriteCommand1,A
 139  0004  2000     R  CALL _LcdWriteCommand

; 140: 	Delay5Ms();
 140  0005  2000     R  CALL _Delay5Ms

; 141: 	LcdWriteCommand( 0x38, 0); // 共三次
 141  0006  0F38        MOV A,038h
 141  0007  0080     R  MOV LcdWriteCommand0,A
 141  0008  0F00        MOV A,00h
 141  0009  0080     R  MOV LcdWriteCommand1,A
 141  000A  2000     R  CALL _LcdWriteCommand

; 142: 	Delay5Ms();
 142  000B  2000     R  CALL _Delay5Ms

; 143: 	LcdWriteCommand( 0x38, 0);
 143  000C  0F38        MOV A,038h
 143  000D  0080     R  MOV LcdWriteCommand0,A
 143  000E  0F00        MOV A,00h
 143  000F  0080     R  MOV LcdWriteCommand1,A
 143  0010  2000     R  CALL _LcdWriteCommand

; 144: 	Delay5Ms();
 144  0011  2000     R  CALL _Delay5Ms

; 146: 	LcdWriteCommand( 0x28, 1); // 显示模式设置(以后均检测忙信号)
 146  0012  0F28        MOV A,028h
 146  0013  0080     R  MOV LcdWriteCommand0,A
 146  0014  0F01        MOV A,01h
 146  0015  0080     R  MOV LcdWriteCommand1,A
 146  0016  2000     R  CALL _LcdWriteCommand

; 147: 	LcdWriteCommand( 0x08, 1); // 显示关闭
 147  0017  0F08        MOV A,08h
 147  0018  0080     R  MOV LcdWriteCommand0,A
 147  0019  0F01        MOV A,01h
 147  001A  0080     R  MOV LcdWriteCommand1,A
 147  001B  2000     R  CALL _LcdWriteCommand

; 148: 	LcdWriteCommand( 0x01, 1); // 显示清屏
 148  001C  0F01        MOV A,01h
 148  001D  0080     R  MOV LcdWriteCommand0,A
 148  001E  0F01        MOV A,01h
文件:HT46R24.c    盛群编译器版本 2.86 页次9 

 148  001F  0080     R  MOV LcdWriteCommand1,A
 148  0020  2000     R  CALL _LcdWriteCommand

; 149: 	LcdWriteCommand( 0x06, 1); // 显示光标移动设置
 149  0021  0F06        MOV A,06h
 149  0022  0080     R  MOV LcdWriteCommand0,A
 149  0023  0F01        MOV A,01h
 149  0024  0080     R  MOV LcdWriteCommand1,A
 149  0025  2000     R  CALL _LcdWriteCommand

; 150: 	LcdWriteCommand( 0x0c, 1); // 显示开及光标设置
 150  0026  0F0C        MOV A,0ch
 150  0027  0080     R  MOV LcdWriteCommand0,A
 150  0028  0F01        MOV A,01h
 150  0029  0080     R  MOV LcdWriteCommand1,A
 150  002A  2000     R  CALL _LcdWriteCommand
 150  002B              L31:
 150  002B  0003        RET
 150  002C              _LcdReset ENDP

; 157: {
 157  0000              @LcdWriteCommand .SECTION 'CODE'
 157  0000              PUBLIC _LcdWriteCommand
 157  0000              _LcdWriteCommand PROC

; 156: void LcdWriteCommand( Uchar CMD,Uchar AttribC ) 
文件:HT46R24.C    盛群编译器版本 2.86 页次9

 156  0000              PUBLIC LcdWriteCommand0
 156  0000  00          LOCAL LcdWriteCommand0 DB ? ; CMD
 156  0000              PUBLIC LcdWriteCommand1
 156  0001  00          LOCAL LcdWriteCommand1 DB ? ; AttribC

; 159: 	if (AttribC) WaitForEnable(); // 检测忙信号?
 159  0000  1080     R  SZ LcdWriteCommand1
 159  0001  2800     R  JMP L35
 159  0002  2800     R  JMP L33
 159  0003              L35:
 159  0003  2000     R  CALL _WaitForEnable
 159  0004              L33:

; 161: 	_pbc=0;
 161  0004  1F15        CLR __pbc

; 162: 	CLR_LCD_RS; 
 162  0005  3412        CLR [012H].0

; 163: 	CLR_LCD_RW;
 163  0006  3492        CLR [012H].1

; 164: 	_delay(1);
 164  0007  0000        NOP

; 165: 	_pb = CMD;
 165  0008  0700     R  MOV A,LcdWriteCommand0
 165  0009  0094        MOV __pb,A

; 166: 	_delay(1); // 送控制字子程序
 166  000A  0000        NOP

; 167: 	SET_LCD_E;
文件:HT46R24.c    盛群编译器版本 2.86 页次10 

 167  000B  3112        SET [012H].2

; 168: 	_delay(1);
 168  000C  0000        NOP

; 169: 	_delay(1);
 169  000D  0000        NOP

; 170: 	CLR_LCD_E;
 170  000E  3512        CLR [012H].2

; 171: 	_delay(1); 
 171  000F  0000        NOP

; 172: 	_pb = CMD << 4;
 172  0010  1100     R  SWAPA LcdWriteCommand0
 172  0011  0EF0        AND A,0F0H
 172  0012  0094        MOV __pb,A

; 173: 	_delay(1);
 173  0013  0000        NOP

; 174: 	_delay(1); // 送控制字子程序
 174  0014  0000        NOP

; 175: 	SET_LCD_E;
 175  0015  3112        SET [012H].2

; 176: 	_delay(1);
 176  0016  0000        NOP

; 177: 	_delay(1);
 177  0017  0000        NOP

; 178: 	CLR_LCD_E;
 178  0018  3512        CLR [012H].2
 178  0019              L32:
 178  0019  0003        RET
 178  001A              _LcdWriteCommand ENDP

; 185: {
 185  0000              @LcdWriteData .SECTION 'CODE'
文件:HT46R24.C    盛群编译器版本 2.86 页次10

 185  0000              PUBLIC _LcdWriteData
 185  0000              _LcdWriteData PROC

; 184: void LcdWriteData( char dataW )
 184  0000              PUBLIC LcdWriteData0
 184  0000  00          LOCAL LcdWriteData0 DB ? ; dataW

; 187: 	WaitForEnable(); // 检测忙信号
 187  0000  2000     R  CALL _WaitForEnable

; 189: 	_pbc=0;
 189  0001  1F15        CLR __pbc

; 190: 	SET_LCD_RS; 
 190  0002  3012        SET [012H].0

; 191: 	CLR_LCD_RW;
文件:HT46R24.c    盛群编译器版本 2.86 页次11 

 191  0003  3492        CLR [012H].1

; 192: 	_delay(1); 
 192  0004  0000        NOP

; 194: 	_pb = dataW; 
 194  0005  0700     R  MOV A,LcdWriteData0
 194  0006  0094        MOV __pb,A

; 195: 	_delay(1); 
 195  0007  0000        NOP

; 196: 	SET_LCD_E; 
 196  0008  3112        SET [012H].2

; 197: 	_delay(1);
 197  0009  0000        NOP

; 198: 	_delay(1);
 198  000A  0000        NOP

; 199: 	CLR_LCD_E; // 操作允许脉冲信号
 199  000B  3512        CLR [012H].2

; 200: 	_delay(1); 
 200  000C  0000        NOP

; 202: 	_pb = dataW<<4; 
 202  000D  1100     R  SWAPA LcdWriteData0
 202  000E  0EF0        AND A,0F0H
 202  000F  0080     R  MOV b0_8,A
 202  0010  0700     R  MOV A,b0_8
 202  0011  0094        MOV __pb,A

; 203: 	_delay(1); 
 203  0012  0000        NOP

; 204: 	SET_LCD_E; 
 204  0013  3112        SET [012H].2

; 205: 	_delay(1);
 205  0014  0000        NOP

; 206: 	_delay(1);
 206  0015  0000        NOP

; 207: 	CLR_LCD_E; // 操作允许脉冲信号
 207  0016  3512        CLR [012H].2
 207  0017              L36:
 207  0017  0003        RET
 207  0001  00          LOCAL b0_8 DB ?
 207  0018              _LcdWriteData ENDP

; 216: {
 216  0000              @WaitForEnable .SECTION 'CODE'
 216  0000              PUBLIC _WaitForEnable
 216  0000              _WaitForEnable PROC

; 217: 	CLR_LCD_RS; 
 217  0000  3412        CLR [012H].0
文件:HT46R24.c    盛群编译器版本 2.86 页次12 

文件:HT46R24.C    盛群编译器版本 2.86 页次11


; 218: 	SET_LCD_RW;
 218  0001  3092        SET [012H].1

; 219: 	_delay(1);
 219  0002  0000        NOP

; 221: 	SET_LCD_E; 
 221  0003  3112        SET [012H].2

; 222: 	_delay(1);
 222  0004  0000        NOP

; 223: 	_delay(1);
 223  0005  0000        NOP

; 224: 	_pbc=0xff;
 224  0006  1F95        SET __pbc
 224  0007              L38:
 224  0007              L39:

; 226: 	while( _pb & Busy );
 226  0007  3F94        SZ __pb.7
 226  0008  2800     R  JMP L38

; 228: 	CLR_LCD_E;
 228  0009  3512        CLR [012H].2

; 230: 	SET_LCD_E; 
 230  000A  3112        SET [012H].2

; 231: 	_delay(1);
 231  000B  0000        NOP

; 232: 	_delay(1);
 232  000C  0000        NOP

; 233: 	CLR_LCD_E;
 233  000D  3512        CLR [012H].2
 233  000E              L37:
 233  000E  0003        RET
 233  000F              _WaitForEnable ENDP

; 239: {
 239  0000              @Delay5Ms .SECTION 'CODE'
 239  0000              PUBLIC _Delay5Ms
 239  0000              _Delay5Ms PROC

; 240: 	_delay(15000);
 240  0000  0F0E        MOV A,0eH
 240  0001  0080     E  MOV RH,A
 240  0002  0F9D        MOV A,09dH
 240  0003  2000     E  CALL __DELAYY3
 240  0004              L41:
 240  0004  0003        RET
 240  0005              _Delay5Ms ENDP

; 245: {
文件:HT46R24.c    盛群编译器版本 2.86 页次13 

 245  0000              @Delay400Ms .SECTION 'CODE'
 245  0000              PUBLIC _Delay400Ms
 245  0000              _Delay400Ms PROC

; 247: 	for(i=0;i<20;i++)
 247  0000  1F00     R  CLR CR13
 247  0001              L43:

; 249: 		_delay(60000);
 249  0001  0F3A        MOV A,03aH
 249  0002  0080     E  MOV RH,A
 249  0003  0F79        MOV A,079H
 249  0004  2000     E  CALL __DELAYY3
 249  0005              L44:

; 247: 	for(i=0;i<20;i++)
文件:HT46R24.C    盛群编译器版本 2.86 页次12

 247  0005  1480     R  INC CR13
 247  0006  0F80        MOV A,80h
 247  0007  0400     R  XOR A,CR13
 247  0008  0A94        SUB A,094h
 247  0009  380A        SNZ [0ah].0
 247  000A  2800     R  JMP L43
 247  000B              L42:
 247  000B  0003        RET

; 246: 	int i;
 246  0000  00          LOCAL CR13 DB ? ; i
 246  000C              _Delay400Ms ENDP

;  46: void main(void)
  46  0000              STARTSEC .SECTION 'CODE'
  46  0000              STARTUP:
  46  0000  0003        RET
  46  0001              EXTERN RH:BYTE
  46  0001              EXTERN T2:BYTE
  46  0001              EXTERN __DELAYY0:NEAR
  46  0001              EXTERN __DELAYY1:NEAR
  46  0001              EXTERN __DELAYY2:NEAR
  46  0001              EXTERN __DELAYY3:NEAR
  46  0001              EXTERN __DELAYY4:NEAR
  46  0001              EXTERN __DELAYY5:NEAR
  46  0000              @CODE .SECTION AT 0 'CODE'
  46  0000  2800     R  JMP begin
  46  0001              @DUMMY PROC
  46  0001  2000     R  CALL _main
  46  0002              @DUMMY ENDP


        0 Errors

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -