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

📄 lcd.lst

📁 带有LCD
💻 LST
📖 第 1 页 / 共 4 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-71097                            Thu Dec 20 19:08:32 2007

Licensed to: ONE
     1                           	processor	16F877A
     2                           	opt	pw 79
     3                           	psect	__Z71097RS_,global,delta=1
     4                           	psect	text5,local,class=CODE,delta=2
     5                           	psect	text7,local,class=CODE,delta=2
     6                           	psect	text10,local,class=CODE,delta=2
     7                           	psect	text11,local,class=CODE,delta=2
     8                           	psect	text14,local,class=CODE,delta=2
     9                           	psect	text15,local,class=CODE,delta=2
    10                           	psect	text16,local,class=CODE,delta=2
    11                           	psect	text17,local,class=CODE,delta=2
    12                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23                           
    24                           	psect	__Z71097RS_
    25  0190                     
    26  0190                     
    27                           
    28                           	psect	text5
    29                           ;lcd.c: 151: unsigned char Lcd_Check_Busy(void)
    30                           ;lcd.c: 152: {
    31  0D09                     _Lcd_Check_Busy
    32                           ;	_lcdstate assigned to ?a_Lcd_Check_Busy+0
    33  0000                     _Lcd_Check_Busy$lcdstate	set	?a_Lcd_Check_Busy
    34                           ;lcd.c: 153: unsigned char lcdstate = 0x00;
    35  0D09  0183               	clrf	3	;select bank 0
    36  0D0A  01D3               	clrf	?a_Lcd_Check_Busy
    37                           ;lcd.c: 155: TRISD = 0xFF;
    38  0D0B  30FF               	movlw	-1
    39  0D0C  1683               	bsf	3,5
    40  0D0D  0088               	movwf	8	;volatile
    41                           ;lcd.c: 156: RA1 = 0;
    42  0D0E  1283               	bcf	3,5
    43  0D0F  1085               	bcf	5,1
    44                           ;lcd.c: 157: RA2 = 1;
    45  0D10  1505               	bsf	5,2
    46                           ;lcd.c: 158: RA3 = 1;
    47  0D11  1585               	bsf	5,3
    48                           ;lcd.c: 159: asm("nop");
    49  0D12  0000               	nop	;#
    50                           ;lcd.c: 160: lcdstate = PORTD;
    51  0D13  0808               	movf	8,w	;volatile
    52  0D14  00D3               	movwf	?a_Lcd_Check_Busy
    53                           ;lcd.c: 161: RA3 = 0;
    54  0D15  1185               	bcf	5,3
    55                           ;lcd.c: 162: TRISD = 0x00;
    56  0D16  1683               	bsf	3,5
    57  0D17  0188               	clrf	8	;volatile
    58                           ;lcd.c: 164: return((lcdstate&0x80));
    59  0D18  1283               	bcf	3,5
    60  0D19  0853               	movf	?a_Lcd_Check_Busy,w
    61  0D1A  3980               	andlw	-128
    62                           ;lcd.c: 165: }
    63  0D1B  0008               	return
    64                           ;lcd.c: 174: void Lcd_Write_Cmd(unsigned char l
      +                          cdcmd)
    65                           ;lcd.c: 175: {
    66  0D1C                     _Lcd_Write_Cmd
    67                           ;	_lcdcmd assigned to ?a_Lcd_Write_Cmd+0
    68  0000                     _Lcd_Write_Cmd$lcdcmd	set	?a_Lcd_Write_Cmd
    69                           ;_lcdcmd stored from w
    70  0D1C  0183               	clrf	3	;select bank 0
    71  0D1D  00D3               	movwf	?a_Lcd_Write_Cmd
    72                           ;lcd.c: 176: RA1 = 0;
    73  0D1E  1085               	bcf	5,1
    74                           ;lcd.c: 177: RA2 = 0;
    75  0D1F  1105               	bcf	5,2
    76                           ;lcd.c: 178: PORTD = lcdcmd;
    77  0D20  0088               	movwf	8	;volatile
    78                           ;lcd.c: 179: RA3 = 1;
    79  0D21  1585               	bsf	5,3
    80                           ;lcd.c: 180: asm("nop");
    81  0D22  0000               	nop	;#
    82                           ;lcd.c: 181: asm("nop");
    83  0D23  0000               	nop	;#
    84                           ;lcd.c: 182: RA3 = 0;
    85  0D24  1185               	bcf	5,3
    86                           ;lcd.c: 183: PORTD = 0xFF;
    87  0D25  30FF               	movlw	-1
    88  0D26  0088               	movwf	8	;volatile
    89                           ;lcd.c: 184: }
    90  0D27  0008               	return
    91  0D28                     _Lcd_Init
    92                           ;lcd.c: 34: ADCON1 = 0x07;
    93  0D28  3007               	movlw	7
    94  0D29  1683               	bsf	3,5
    95  0D2A  1303               	bcf	3,6	;carry unused
    96  0D2B  009F               	movwf	31	;volatile
    97                           ;lcd.c: 35: TRISA = 0x00;
    98  0D2C  0185               	clrf	5	;volatile
    99                           ;lcd.c: 36: TRISD = 0x00;
   100  0D2D  0188               	clrf	8	;volatile
   101                           ;lcd.c: 37: PORTD = 0x00;
   102  0D2E  1283               	bcf	3,5
   103  0D2F  0188               	clrf	8	;volatile
   104                           ;lcd.c: 38: Delay_5ms(2);
   105  0D30  3002               	movlw	2
   106  0D31  120A  158A  2000   	fcall	_Delay_5ms
      +       120A  158A         
   107                           ;lcd.c: 39: Lcd_Write_Cmd(0x38);
   108  0D36  3038               	movlw	56
   109  0D37  251C               	fcall	_Lcd_Write_Cmd
   110                           ;lcd.c: 40: Delay_5ms(1);
   111  0D38  3001               	movlw	1
   112  0D39  120A  158A  2000   	fcall	_Delay_5ms
      +       120A  158A         
   113                           ;lcd.c: 41: Lcd_Write_Cmd(0x38);
   114  0D3E  3038               	movlw	56
   115  0D3F  251C               	fcall	_Lcd_Write_Cmd
   116                           ;lcd.c: 42: Delay_5ms(1);
   117  0D40  3001               	movlw	1
   118  0D41  120A  158A  2000   	fcall	_Delay_5ms
      +       120A  158A         
   119                           ;lcd.c: 43: Lcd_Write_Cmd(0x38);
   120  0D46  3038               	movlw	56
   121  0D47  251C               	fcall	_Lcd_Write_Cmd
   122                           ;lcd.c: 44: while(Lcd_Check_Busy());
   123  0D48                     l3
   124  0D48  2509               	fcall	_Lcd_Check_Busy
   125  0D49  3800               	iorlw	0
   126  0D4A  1D03               	btfss	3,2
   127  0D4B  2D48               	goto	l3
   128                           ;lcd.c: 45: Lcd_Write_Cmd(0x38);
   129  0D4C  3038               	movlw	56
   130  0D4D  251C               	fcall	_Lcd_Write_Cmd
   131                           ;lcd.c: 46: while(Lcd_Check_Busy());
   132  0D4E                     l6
   133  0D4E  2509               	fcall	_Lcd_Check_Busy
   134  0D4F  3800               	iorlw	0
   135  0D50  1D03               	btfss	3,2
   136  0D51  2D4E               	goto	l6
   137                           ;lcd.c: 47: Lcd_Write_Cmd(0x08);
   138  0D52  3008               	movlw	8
   139  0D53  251C               	fcall	_Lcd_Write_Cmd
   140                           ;lcd.c: 48: while(Lcd_Check_Busy());
   141  0D54                     l9
   142  0D54  2509               	fcall	_Lcd_Check_Busy
   143  0D55  3800               	iorlw	0
   144  0D56  1D03               	btfss	3,2
   145  0D57  2D54               	goto	l9
   146                           ;lcd.c: 49: Lcd_Write_Cmd(0x01);
   147  0D58  3001               	movlw	1
   148  0D59  251C               	fcall	_Lcd_Write_Cmd
   149                           ;lcd.c: 50: while(Lcd_Check_Busy());
   150  0D5A                     l12
   151  0D5A  2509               	fcall	_Lcd_Check_Busy
   152  0D5B  3800               	iorlw	0
   153  0D5C  1D03               	btfss	3,2
   154  0D5D  2D5A               	goto	l12
   155                           ;lcd.c: 51: Lcd_Write_Cmd(0x06);
   156  0D5E  3006               	movlw	6
   157  0D5F  251C               	fcall	_Lcd_Write_Cmd
   158                           ;lcd.c: 52: while(Lcd_Check_Busy());
   159  0D60                     l15
   160  0D60  2509               	fcall	_Lcd_Check_Busy
   161  0D61  3800               	iorlw	0
   162  0D62  1D03               	btfss	3,2
   163  0D63  2D60               	goto	l15
   164                           ;lcd.c: 53: Lcd_Write_Cmd(0x0F);
   165  0D64  300F               	movlw	15
   166  0D65  2D1C               	ljmp	_Lcd_Write_Cmd
   167                           ;lcd.c: 198: void Lcd_Write_Data(char lcddata)
   168                           ;lcd.c: 199: {
   169  0D66                     _Lcd_Write_Data
   170                           ;	_lcddata assigned to ?a_Lcd_Write_Data+0
   171  0000                     _Lcd_Write_Data$lcddata	set	?a_Lcd_Write_Data
   172                           ;_lcddata stored from w
   173  0D66  0183               	clrf	3	;select bank 0
   174  0D67  00D0               	movwf	?a_Lcd_Write_Data
   175                           ;lcd.c: 200: while(Lcd_Check_Busy());
   176  0D68                     l34
   177  0D68  2509               	fcall	_Lcd_Check_Busy
   178  0D69  3800               	iorlw	0
   179  0D6A  1D03               	btfss	3,2
   180  0D6B  2D68               	goto	l34
   181                           ;lcd.c: 201: if(lcdcounter==20)
   182  0D6C  0820               	movf	_lcdcounter,w
   183  0D6D  3A14               	xorlw	20
   184  0D6E  1D03               	btfss	3,2
   185  0D6F  2D78               	goto	l37
   186                           ;lcd.c: 202: {
   187  0D70  3014               	movlw	20
   188  0D71  25F2  120A  158A   	fcall	_Lcd_MoveTo_Position
   189                           ;lcd.c: 204: while(Lcd_Check_Busy());
   190  0D74                     l38
   191  0D74  2509               	fcall	_Lcd_Check_Busy
   192  0D75  3800               	iorlw	0
   193  0D76  1D03               	btfss	3,2
   194  0D77  2D74               	goto	l38
   195  0D78                     l37
   196                           ;lcd.c: 205: }
   197  0D78  0820               	movf	_lcdcounter,w
   198  0D79  3A28               	xorlw	40
   199  0D7A  1D03               	btfss	3,2
   200  0D7B  2D84               	goto	l41
   201                           ;lcd.c: 207: {
   202  0D7C  3028               	movlw	40
   203  0D7D  25F2  120A  158A   	fcall	_Lcd_MoveTo_Position
   204                           ;lcd.c: 209: while(Lcd_Check_Busy());
   205  0D80                     l42
   206  0D80  2509               	fcall	_Lcd_Check_Busy
   207  0D81  3800               	iorlw	0
   208  0D82  1D03               	btfss	3,2
   209  0D83  2D80               	goto	l42
   210  0D84                     l41
   211                           ;lcd.c: 210: }
   212  0D84  0820               	movf	_lcdcounter,w
   213  0D85  3A3C               	xorlw	60
   214  0D86  1D03               	btfss	3,2
   215  0D87  2D90               	goto	l45
   216                           ;lcd.c: 212: {
   217  0D88  303C               	movlw	60
   218  0D89  25F2  120A  158A   	fcall	_Lcd_MoveTo_Position
   219                           ;lcd.c: 214: while(Lcd_Check_Busy());
   220  0D8C                     l46
   221  0D8C  2509               	fcall	_Lcd_Check_Busy
   222  0D8D  3800               	iorlw	0
   223  0D8E  1D03               	btfss	3,2
   224  0D8F  2D8C               	goto	l46
   225  0D90                     l45
   226                           ;lcd.c: 215: }
   227  0D90  0820               	movf	_lcdcounter,w
   228  0D91  3A50               	xorlw	80
   229  0D92  1D03               	btfss	3,2
   230  0D93  2D9D               	goto	l49
   231                           ;lcd.c: 217: {
   232  0D94  3000               	movlw	0
   233  0D95  25F2  120A  158A   	fcall	_Lcd_MoveTo_Position
   234                           ;lcd.c: 219: while(Lcd_Check_Busy());
   235  0D98                     l50
   236  0D98  2509               	fcall	_Lcd_Check_Busy
   237  0D99  3800               	iorlw	0
   238  0D9A  1D03               	btfss	3,2
   239  0D9B  2D98               	goto	l50
   240                           ;lcd.c: 220: lcdcounter=0;
   241  0D9C  01A0               	clrf	_lcdcounter
   242  0D9D                     l49
   243                           ;lcd.c: 221: }
   244  0D9D  0AA0               	incf	_lcdcounter
   245                           ;lcd.c: 223: PORTD = lcddata;
   246  0D9E  0850               	movf	?a_Lcd_Write_Data,w
   247  0D9F  0088               	movwf	8	;volatile
   248                           ;lcd.c: 224: RA1 = 1;
   249  0DA0  1485               	bsf	5,1
   250                           ;lcd.c: 225: RA2 = 0;
   251  0DA1  1105               	bcf	5,2
   252                           ;lcd.c: 226: RA3 = 1;
   253  0DA2  1585               	bsf	5,3
   254                           ;lcd.c: 227: asm("nop");
   255  0DA3  0000               	nop	;#
   256                           ;lcd.c: 228: RA3 = 0;
   257  0DA4  1185               	bcf	5,3
   258                           ;lcd.c: 229: PORTD = 0xff;
   259  0DA5  30FF               	movlw	-1
   260  0DA6  0088               	movwf	8	;volatile
   261                           ;lcd.c: 230: }
   262  0DA7  0008               	return
   263                           ;lcd.c: 239: void Lcd_Read_Data(char *lcddata)
   264                           ;lcd.c: 240: {
   265  0DA8                     _Lcd_Read_Data
   266                           ;	_lcddata assigned to ?a_Lcd_Read_Data+0
   267  0000                     _Lcd_Read_Data$lcddata	set	?a_Lcd_Read_Data
   268                           ;_lcddata stored from w
   269  0DA8  0183               	clrf	3	;select bank 0
   270  0DA9  00A6               	movwf	?a_Lcd_Read_Data
   271                           ;lcd.c: 241: while(Lcd_Check_Busy());

⌨️ 快捷键说明

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