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

📄 lcd.lst

📁 PICC写的一个T6963C内核的液晶显示器的源程序。
💻 LST
📖 第 1 页 / 共 5 页
字号:
      +                          ,(x/256)+0x0c,0x24);
   245  0569  0825               	movf	?a_write_chinese+2,w
   246  056A  3E0C               	addlw	12
   247  056B  00A6               	movwf	?_lcd_double_operator
   248  056C  3024               	movlw	36
   249  056D  00A7               	movwf	?_lcd_double_operator+1
   250  056E  0A24               	incf	?a_write_chinese+1,w
   251  056F  260A  120A  118A   	fcall	_lcd_double_operator
   252                           ;lcd.c: 187: lcd_single_operator(attr,0xc4);
   253  0572  30C4               	movlw	-60
   254  0573  00A6               	movwf	?_lcd_single_operator
   255  0574  0822               	movf	?_write_chinese+2,w
   256  0575  2E2E               	ljmp	_lcd_single_operator
   257  0576                     _write_english
   258                           ;	_cursor_x assigned to ?a_write_english+0
   259  0000                     _write_english$cursor_x	set	?a_write_english
   260                           ;	_x assigned to ?a_write_english+1
   261  0000                     _write_english$x	set	?a_write_english+1
   262                           ;_cursor_x stored from w
   263  0576  0183               	clrf	3	;select bank 0
   264  0577  00A3               	movwf	?a_write_english
   265                           ;lcd.c: 158: unsigned int x;
   266  0578  301E               	movlw	30
   267  0579  00F2               	movwf	btemp+2
   268  057A  01F3               	clrf	btemp+3
   269  057B  0820               	movf	?_write_english,w
   270  057C  00F0               	movwf	btemp
   271  057D  01F1               	clrf	btemp+1
   272  057E  120A  118A  24D4   	fcall	lwmul
      +       120A  118A         
   273  0583  0874               	movf	btemp+4,w
   274  0584  00A4               	movwf	?a_write_english+1
   275  0585  0875               	movf	btemp+5,w
   276  0586  00A5               	movwf	?a_write_english+2
   277                           ;lcd.c: 160: x=x+cursor_x;
   278  0587  0823               	movf	?a_write_english,w
   279  0588  07A4               	addwf	?a_write_english+1
   280  0589  1803               	btfsc	3,0
   281  058A  0AA5               	incf	?a_write_english+2
   282                           ;lcd.c: 161: lcd_double_operator((x&0x00ff),(x/
      +                          256),0x24);
   283  058B  0825               	movf	?a_write_english+2,w
   284  058C  00A6               	movwf	?_lcd_double_operator
   285  058D  3024               	movlw	36
   286  058E  00A7               	movwf	?_lcd_double_operator+1
   287  058F  0824               	movf	?a_write_english+1,w
   288  0590  260A  120A  118A   	fcall	_lcd_double_operator
   289                           ;lcd.c: 162: lcd_single_operator(c_code,0xc4);
   290  0593  30C4               	movlw	-60
   291  0594  00A6               	movwf	?_lcd_single_operator
   292  0595  0821               	movf	?_write_english+1,w
   293  0596  262E  120A  118A   	fcall	_lcd_single_operator
   294                           ;lcd.c: 163: lcd_double_operator((x&0x00ff),(x/
      +                          256)+0x0c,0x24);
   295  0599  0825               	movf	?a_write_english+2,w
   296  059A  3E0C               	addlw	12
   297  059B  00A6               	movwf	?_lcd_double_operator
   298  059C  3024               	movlw	36
   299  059D  00A7               	movwf	?_lcd_double_operator+1
   300  059E  0824               	movf	?a_write_english+1,w
   301  059F  260A  120A  118A   	fcall	_lcd_double_operator
   302                           ;lcd.c: 164: lcd_single_operator(attr,0xc4);
   303  05A2  30C4               	movlw	-60
   304  05A3  00A6               	movwf	?_lcd_single_operator
   305  05A4  0822               	movf	?_write_english+2,w
   306  05A5  2E2E               	ljmp	_lcd_single_operator
   307                           ;lcd.c: 138: void creat_cgram(unsigned char cou
      +                          nt){
   308  05A6                     _creat_cgram
   309                           ;	_count assigned to ?a_creat_cgram+0
   310  0000                     _creat_cgram$count	set	?a_creat_cgram
   311                           ;	_x assigned to ?a_creat_cgram+1
   312  0000                     _creat_cgram$x	set	?a_creat_cgram+1
   313                           ;	_i assigned to ?a_creat_cgram+3
   314  0000                     _creat_cgram$i	set	?a_creat_cgram+3
   315                           ;_count stored from w
   316  05A6  0183               	clrf	3	;select bank 0
   317  05A7  00A0               	movwf	?a_creat_cgram
   318                           ;lcd.c: 139: unsigned int i,x;
   319  05A8  00F0               	movwf	btemp
   320  05A9  01F1               	clrf	btemp+1
   321  05AA  1003               	bcf	3,0
   322  05AB  0DF0               	rlf	btemp
   323  05AC  0DF1               	rlf	btemp+1
   324  05AD  1003               	bcf	3,0
   325  05AE  0DF0               	rlf	btemp
   326  05AF  0DF1               	rlf	btemp+1
   327  05B0  0870               	movf	btemp,w
   328  05B1  00A1               	movwf	?a_creat_cgram+1
   329  05B2  0871               	movf	btemp+1,w
   330  05B3  00A2               	movwf	?a_creat_cgram+2
   331                           ;lcd.c: 141: x=x*8;
   332  05B4  1003               	bcf	3,0
   333  05B5  0DA1               	rlf	?a_creat_cgram+1
   334  05B6  0DA2               	rlf	?a_creat_cgram+2
   335  05B7  1003               	bcf	3,0
   336  05B8  0DA1               	rlf	?a_creat_cgram+1
   337  05B9  0DA2               	rlf	?a_creat_cgram+2
   338  05BA  1003               	bcf	3,0
   339  05BB  0DA1               	rlf	?a_creat_cgram+1
   340  05BC  0DA2               	rlf	?a_creat_cgram+2
   341                           ;lcd.c: 142: lcd_double_operator(0x03,0x00,0x22
      +                          );
   342  05BD  01A6               	clrf	?_lcd_double_operator
   343  05BE  3022               	movlw	34
   344  05BF  00A7               	movwf	?_lcd_double_operator+1
   345  05C0  3003               	movlw	3
   346  05C1  260A  120A  118A   	fcall	_lcd_double_operator
   347                           ;lcd.c: 143: lcd_double_operator(0x00,0x1c,0x24
      +                          );
   348  05C4  301C               	movlw	28
   349  05C5  00A6               	movwf	?_lcd_double_operator
   350  05C6  3024               	movlw	36
   351  05C7  00A7               	movwf	?_lcd_double_operator+1
   352  05C8  3000               	movlw	0
   353  05C9  260A  120A  118A   	fcall	_lcd_double_operator
   354                           ;lcd.c: 144: for (i=0;i<x;i++){
   355  05CC  01A3               	clrf	?a_creat_cgram+3
   356  05CD  01A4               	clrf	?a_creat_cgram+4
   357  05CE  2DDD               	goto	l30
   358  05CF                     l27
   359                           ;lcd.c: 145: lcd_single_operator(font[i],0xc0);
   360  05CF  30C0               	movlw	-64
   361  05D0  00A6               	movwf	?_lcd_single_operator
   362  05D1  3000               	movlw	_font shr (0+8)
   363  05D2  008A               	movwf	10
   364  05D3  0823               	movf	?a_creat_cgram+3,w
   365  05D4  2008               	call	((_font+-1)& (0+2047))| (($)& (0+-2048))
   366  05D5  120A  118A  262E   	fcall	_lcd_single_operator
      +       120A  118A         
   367                           ;lcd.c: 146: }
   368  05DA  0AA3               	incf	?a_creat_cgram+3
   369  05DB  1903               	btfsc	3,2
   370  05DC  0AA4               	incf	?a_creat_cgram+4
   371  05DD                     l30
   372  05DD  0822               	movf	?a_creat_cgram+2,w
   373  05DE  0224               	subwf	?a_creat_cgram+4,w
   374  05DF  1D03               	btfss	3,2
   375  05E0  2DE3               	goto	u75
   376  05E1  0821               	movf	?a_creat_cgram+1,w
   377  05E2  0223               	subwf	?a_creat_cgram+3,w
   378  05E3                     u75
   379  05E3  1803               	btfsc	3,0
   380  05E4  0008               	return
   381  05E5  2DCF               	goto	l27
   382  05E6                     _write_contr
   383                           ;	_data_c assigned to ?a_write_contr+0
   384  0000                     _write_contr$data_c	set	?a_write_contr
   385                           ;_data_c stored from w
   386  05E6  0183               	clrf	3	;select bank 0
   387  05E7  00AA               	movwf	?a_write_contr
   388                           ;lcd.c: 66: TRISC=0x00;
   389  05E8  1683               	bsf	3,5
   390  05E9  0187               	clrf	7	;volatile
   391                           ;lcd.c: 67: TRISB=0x00;
   392  05EA  0186               	clrf	6	;volatile
   393                           ;lcd.c: 68: PORTC|=0x04;
   394  05EB  1283               	bcf	3,5
   395  05EC  1507               	bsf	7,2	;volatile
   396                           ;lcd.c: 69: PORTB=data_c;
   397  05ED  082A               	movf	?a_write_contr,w
   398  05EE  0086               	movwf	6	;volatile
   399                           ;lcd.c: 70: PORTC&=0xfe;
   400  05EF  1007               	bcf	7,0	;volatile
   401                           ;lcd.c: 71: PORTC|=0x01;
   402  05F0  1407               	bsf	7,0	;volatile
   403                           ;lcd.c: 72: }
   404  05F1  0008               	return
   405  05F2                     _write_data
   406                           ;	_data_d assigned to ?a_write_data+0
   407  0000                     _write_data$data_d	set	?a_write_data
   408                           ;_data_d stored from w
   409  05F2  0183               	clrf	3	;select bank 0
   410  05F3  00AA               	movwf	?a_write_data
   411                           ;lcd.c: 58: TRISC=0x00;
   412  05F4  1683               	bsf	3,5
   413  05F5  0187               	clrf	7	;volatile
   414                           ;lcd.c: 59: TRISB=0x00;
   415  05F6  0186               	clrf	6	;volatile
   416                           ;lcd.c: 60: PORTC&=0xfb;
   417  05F7  1283               	bcf	3,5
   418  05F8  1107               	bcf	7,2	;volatile
   419                           ;lcd.c: 61: PORTB=data_d;
   420  05F9  082A               	movf	?a_write_data,w
   421  05FA  0086               	movwf	6	;volatile
   422                           ;lcd.c: 62: PORTC&=0xfe;
   423  05FB  1007               	bcf	7,0	;volatile
   424                           ;lcd.c: 63: PORTC|=0x01;
   425  05FC  1407               	bsf	7,0	;volatile
   426                           ;lcd.c: 64: }
   427  05FD  0008               	return
   428  05FE                     _read_data
   429                           ;	_i assigned to ?a_read_data+0
   430  0000                     _read_data$i	set	?a_read_data
   431                           ;lcd.c: 48: unsigned char i;
   432  05FE  1683               	bsf	3,5
   433  05FF  1303               	bcf	3,6	;carry unused
   434  0600  0187               	clrf	7	;volatile
   435                           ;lcd.c: 50: TRISB=0xff;
   436  0601  30FF               	movlw	-1
   437  0602  0086               	movwf	6	;volatile
   438                           ;lcd.c: 51: PORTC|=0x04;
   439  0603  1283               	bcf	3,5
   440  0604  1507               	bsf	7,2	;volatile
   441                           ;lcd.c: 52: PORTC&=0xfd;
   442  0605  1087               	bcf	7,1	;volatile
   443                           ;lcd.c: 53: i=PORTB;
   444  0606  0806               	movf	6,w	;volatile
   445  0607  00AA               	movwf	?a_read_data
   446                           ;lcd.c: 54: PORTC|=0x02;
   447  0608  1487               	bsf	7,1	;volatile
   448                           ;lcd.c: 56: }
   449  0609  0008               	return
   450  060A                     _lcd_double_operator
   451                           ;	_data1 assigned to ?a_lcd_double_operator+0
   452  0000                     _lcd_double_operator$data1	set	?a_lcd_double_op
      +                          erator
   453                           ;	_i assigned to ?a_lcd_double_operator+1
   454  0000                     _lcd_double_operator$i	set	?a_lcd_double_operat
      +                          or+1
   455                           ;_data1 stored from w
   456  060A  0183               	clrf	3	;select bank 0
   457  060B  00A8               	movwf	?a_lcd_double_operator
   458                           ;lcd.c: 75: unsigned char i;
   459  060C  01A9               	clrf	?a_lcd_double_operator+1
   460                           ;lcd.c: 77: while(i!=0x02)
   461  060D  2E12               	goto	l5
   462  060E                     l6
   463                           ;lcd.c: 78: {
   464  060E  25FE               	fcall	_read_data
   465  060F  00A9               	movwf	?a_lcd_double_operator+1
   466                           ;lcd.c: 80: i=i&0x02;
   467  0610  3002               	movlw	2
   468  0611  05A9               	andwf	?a_lcd_double_operator+1
   469  0612                     l5
   470                           ;lcd.c: 81: }
   471  0612  0829               	movf	?a_lcd_double_operator+1,w
   472  0613  3A02               	xorlw	2
   473  0614  1D03               	btfss	3,2
   474  0615  2E0E               	goto	l6
   475                           ;lcd.c: 82: write_data(data1);
   476  0616  0828               	movf	?a_lcd_double_operator,w
   477  0617  25F2               	fcall	_write_data
   478                           ;lcd.c: 83: i=0;
   479  0618  01A9               	clrf	?a_lcd_double_operator+1
   480                           ;lcd.c: 84: while(i!=0x02)
   481  0619                     l8
   482                           ;lcd.c: 88: }
   483  0619  0829               	movf	?a_lcd_double_operator+1,w
   484  061A  3A02               	xorlw	2
   485  061B  1903               	btfsc	3,2
   486  061C  2E22               	goto	l10
   487                           ;lcd.c: 85: {
   488  061D  25FE               	fcall	_read_data
   489  061E  00A9               	movwf	?a_lcd_double_operator+1
   490                           ;lcd.c: 87: i=i&0x02;
   491  061F  3002               	movlw	2
   492  0620  05A9               	andwf	?a_lcd_double_operator+1
   493  0621  2E19               	goto	l8
   494  0622                     l10
   495                           ;lcd.c: 89: write_data(data2);
   496  0622  0826               	movf	?_lcd_double_operator,w

⌨️ 快捷键说明

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