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

📄 lcd1602.lst

📁 PIC单片机的一些资料 学习单片机的朋友欢迎下载一定有用的哦
💻 LST
📖 第 1 页 / 共 3 页
字号:
   297  0750  00C1               	movwf	?a_wr_data
   298                           ;lcd1602.c: 108: unsigned char i;
   299  0751  0E41               	swapf	?a_wr_data,w
   300  0752  390F               	andlw	15
   301  0753  00C2               	movwf	?a_wr_data+1
   302                           ;lcd1602.c: 111: PORTB &= ~0x20;
   303  0754  1286               	bcf	6,5	;volatile
   304                           ;lcd1602.c: 112: PORTB &= ~0x10;
   305  0755  1206               	bcf	6,4	;volatile
   306                           ;lcd1602.c: 114: PORTB |= 0x10;
   307  0756  1606               	bsf	6,4	;volatile
   308                           ;lcd1602.c: 116: PORTB |= 0x20;
   309  0757  1686               	bsf	6,5	;volatile
   310                           ;lcd1602.c: 118: pb=PORTB;
   311  0758  0806               	movf	6,w	;volatile
   312  0759  00C3               	movwf	?a_wr_data+2
   313                           ;lcd1602.c: 119: pb=pb&0xF0;
   314  075A  30F0               	movlw	-16
   315  075B  05C3               	andwf	?a_wr_data+2
   316                           ;lcd1602.c: 120: pb +=i&0x0F;
   317  075C  0842               	movf	?a_wr_data+1,w
   318  075D  390F               	andlw	15
   319  075E  07C3               	addwf	?a_wr_data+2
   320                           ;lcd1602.c: 121: PORTB =pb;
   321  075F  0843               	movf	?a_wr_data+2,w
   322  0760  0086               	movwf	6	;volatile
   323                           ;lcd1602.c: 123: PORTB &= ~0x20;
   324  0761  1286               	bcf	6,5	;volatile
   325                           ;lcd1602.c: 125: i=dat&0x0f;
   326  0762  0841               	movf	?a_wr_data,w
   327  0763  390F               	andlw	15
   328  0764  00C2               	movwf	?a_wr_data+1
   329                           ;lcd1602.c: 126: PORTB |= 0x20;
   330  0765  1686               	bsf	6,5	;volatile
   331                           ;lcd1602.c: 128: pb=PORTB;
   332  0766  0806               	movf	6,w	;volatile
   333  0767  00C3               	movwf	?a_wr_data+2
   334                           ;lcd1602.c: 129: pb=pb&0xF0;
   335  0768  30F0               	movlw	-16
   336  0769  05C3               	andwf	?a_wr_data+2
   337                           ;lcd1602.c: 130: pb +=i&0x0F;
   338  076A  0842               	movf	?a_wr_data+1,w
   339  076B  390F               	andlw	15
   340  076C  07C3               	addwf	?a_wr_data+2
   341                           ;lcd1602.c: 131: PORTB =pb;
   342  076D  0843               	movf	?a_wr_data+2,w
   343  076E  0086               	movwf	6	;volatile
   344                           ;lcd1602.c: 133: PORTB &= ~0x20;
   345  076F  1286               	bcf	6,5	;volatile
   346                           ;lcd1602.c: 134: PORTB &= ~0x10;
   347  0770  1206               	bcf	6,4	;volatile
   348                           ;lcd1602.c: 136: }
   349  0771  0008               	return
   350                           ;lcd1602.c: 29: void delay50us()
   351                           ;lcd1602.c: 30: {
   352  0772                     _delay50us
   353                           ;	_i assigned to ?a_delay50us+0
   354  0000                     _delay50us$i	set	?a_delay50us
   355                           ;lcd1602.c: 31: register int i;
   356  0772  0183               	clrf	3	;select bank 0
   357  0773  01C1               	clrf	?a_delay50us
   358  0774  01C2               	clrf	?a_delay50us+1
   359  0775                     l6
   360                           ;lcd1602.c: 33: ;
   361  0775  0AC1               	incf	?a_delay50us
   362  0776  1903               	btfsc	3,2
   363  0777  0AC2               	incf	?a_delay50us+1
   364  0778  0842               	movf	?a_delay50us+1,w
   365  0779  3A80               	xorlw	128
   366  077A  00F0               	movwf	btemp
   367  077B  3080               	movlw	128
   368  077C  0270               	subwf	btemp,w
   369  077D  3064               	movlw	100
   370                           ;set	bank bits for (((?a_delay50us+0)))
   371  077E  1903               	btfsc	3,2
   372  077F  0241               	subwf	?a_delay50us,w
   373  0780  1803               	btfsc	3,0
   374  0781  0008               	return
   375  0782  2F75               	goto	l6
   376                           ;lcd1602.c: 74: wr_com(unsigned char comm)
   377                           ;lcd1602.c: 75: {
   378  0783                     _wr_com
   379                           ;	_comm assigned to ?a_wr_com+0
   380  0000                     _wr_com$comm	set	?a_wr_com
   381                           ;	_i assigned to ?a_wr_com+1
   382  0000                     _wr_com$i	set	?a_wr_com+1
   383                           ;	_pb assigned to ?a_wr_com+2
   384  0000                     _wr_com$pb	set	?a_wr_com+2
   385                           ;_comm stored from w
   386  0783  0183               	clrf	3	;select bank 0
   387  0784  00C1               	movwf	?a_wr_com
   388                           ;lcd1602.c: 76: unsigned char i;
   389  0785  0E41               	swapf	?a_wr_com,w
   390  0786  390F               	andlw	15
   391  0787  00C2               	movwf	?a_wr_com+1
   392                           ;lcd1602.c: 79: PORTB &= ~0x20;
   393  0788  1286               	bcf	6,5	;volatile
   394                           ;lcd1602.c: 80: PORTB &= ~0x10;
   395  0789  1206               	bcf	6,4	;volatile
   396                           ;lcd1602.c: 82: PORTB |= 0x20;
   397  078A  1686               	bsf	6,5	;volatile
   398                           ;lcd1602.c: 83: pb=PORTB;
   399  078B  0806               	movf	6,w	;volatile
   400  078C  00C3               	movwf	?a_wr_com+2
   401                           ;lcd1602.c: 84: pb=pb&0xF0;
   402  078D  30F0               	movlw	-16
   403  078E  05C3               	andwf	?a_wr_com+2
   404                           ;lcd1602.c: 85: pb +=i&0x0F;
   405  078F  0842               	movf	?a_wr_com+1,w
   406  0790  390F               	andlw	15
   407  0791  07C3               	addwf	?a_wr_com+2
   408                           ;lcd1602.c: 86: PORTB =pb;
   409  0792  0843               	movf	?a_wr_com+2,w
   410  0793  0086               	movwf	6	;volatile
   411                           ;lcd1602.c: 89: PORTB &= ~0x10;
   412  0794  1206               	bcf	6,4	;volatile
   413                           ;lcd1602.c: 91: PORTB &= ~0x20;
   414  0795  1286               	bcf	6,5	;volatile
   415                           ;lcd1602.c: 93: PORTB |= 0x20;
   416  0796  1686               	bsf	6,5	;volatile
   417                           ;lcd1602.c: 94: i=comm&0x0f;
   418  0797  0841               	movf	?a_wr_com,w
   419  0798  390F               	andlw	15
   420  0799  00C2               	movwf	?a_wr_com+1
   421                           ;lcd1602.c: 95: pb=PORTB;
   422  079A  0806               	movf	6,w	;volatile
   423  079B  00C3               	movwf	?a_wr_com+2
   424                           ;lcd1602.c: 96: pb=pb&0xF0;
   425  079C  30F0               	movlw	-16
   426  079D  05C3               	andwf	?a_wr_com+2
   427                           ;lcd1602.c: 97: pb +=i&0x0F;
   428  079E  0842               	movf	?a_wr_com+1,w
   429  079F  390F               	andlw	15
   430  07A0  07C3               	addwf	?a_wr_com+2
   431                           ;lcd1602.c: 98: PORTB =pb;
   432  07A1  0843               	movf	?a_wr_com+2,w
   433  07A2  0086               	movwf	6	;volatile
   434                           ;lcd1602.c: 101: PORTB &= ~0x20;
   435  07A3  1286               	bcf	6,5	;volatile
   436                           ;lcd1602.c: 102: PORTB &= ~0x10;
   437  07A4  1206               	bcf	6,4	;volatile
   438                           ;lcd1602.c: 104: }
   439  07A5  0008               	return
   440                           ;lcd1602.c: 202: display_162()
   441                           ;lcd1602.c: 203: {
   442  07A6                     _display_162
   443                           ;	_i assigned to ?a_display_162+0
   444  0000                     _display_162$i	set	?a_display_162
   445                           ;lcd1602.c: 204: unsigned char in,i;
   446  07A6  3080               	movlw	-128
   447  07A7  2783               	fcall	_wr_com
   448                           ;lcd1602.c: 206: delay50us();
   449  07A8  2772               	fcall	_delay50us
   450                           ;lcd1602.c: 207: delay50us();
   451  07A9  2772               	fcall	_delay50us
   452                           ;lcd1602.c: 208: for(i=0;i<16;i++)
   453  07AA  01C0               	clrf	?a_display_162
   454  07AB                     l20
   455                           ;lcd1602.c: 209: {
   456                           ;lcd1602.c: 210: wr_data(line1[i]);
   457  07AB  0840               	movf	?a_display_162,w
   458  07AC  3E20               	addlw	_line1
   459  07AD  0084               	movwf	4
   460  07AE  1383               	bcf	3,7
   461  07AF  0800               	movf	0,w
   462  07B0  274F               	fcall	_wr_data
   463                           ;lcd1602.c: 211: delay50us();
   464  07B1  2772               	fcall	_delay50us
   465                           ;lcd1602.c: 213: }
   466  07B2  0AC0               	incf	?a_display_162
   467  07B3  3010               	movlw	16
   468  07B4  0240               	subwf	?a_display_162,w
   469  07B5  1C03               	btfss	3,0
   470  07B6  2FAB               	goto	l20
   471                           ;lcd1602.c: 215: delay50us();
   472  07B7  2772               	fcall	_delay50us
   473                           ;lcd1602.c: 216: wr_com(0xc0);
   474  07B8  30C0               	movlw	-64
   475  07B9  2783               	fcall	_wr_com
   476                           ;lcd1602.c: 217: delay50us();
   477  07BA  2772               	fcall	_delay50us
   478                           ;lcd1602.c: 219: delay50us();
   479  07BB  2772               	fcall	_delay50us
   480                           ;lcd1602.c: 220: for(i=0;i<16;i++)
   481  07BC  01C0               	clrf	?a_display_162
   482  07BD                     l23
   483                           ;lcd1602.c: 221: {
   484                           ;lcd1602.c: 222: wr_data(line2[i]);
   485  07BD  0840               	movf	?a_display_162,w
   486  07BE  3E30               	addlw	_line2
   487  07BF  0084               	movwf	4
   488  07C0  1383               	bcf	3,7
   489  07C1  0800               	movf	0,w
   490  07C2  274F               	fcall	_wr_data
   491                           ;lcd1602.c: 223: delay50us();
   492  07C3  2772               	fcall	_delay50us
   493                           ;lcd1602.c: 225: }
   494  07C4  0AC0               	incf	?a_display_162
   495  07C5  3010               	movlw	16
   496  07C6  0240               	subwf	?a_display_162,w
   497  07C7  1803               	btfsc	3,0
   498  07C8  0008               	return
   499  07C9  2FBD               	goto	l23
   500                           ;lcd1602.c: 36: wr_com_8(unsigned char comm)
   501                           ;lcd1602.c: 37: {
   502  07CA                     _wr_com_8
   503                           ;	_comm assigned to ?a_wr_com_8+0
   504  0000                     _wr_com_8$comm	set	?a_wr_com_8
   505                           ;	_pb assigned to ?a_wr_com_8+1
   506  0000                     _wr_com_8$pb	set	?a_wr_com_8+1
   507                           ;_comm stored from w
   508  07CA  0183               	clrf	3	;select bank 0
   509  07CB  00C1               	movwf	?a_wr_com_8
   510                           ;lcd1602.c: 38: unsigned char pb;
   511  07CC  1286               	bcf	6,5	;volatile
   512                           ;lcd1602.c: 40: PORTB &= ~0x10;
   513  07CD  1206               	bcf	6,4	;volatile
   514                           ;lcd1602.c: 42: PORTB |= 0x20;
   515  07CE  1686               	bsf	6,5	;volatile
   516                           ;lcd1602.c: 43: pb=PORTB;
   517  07CF  0806               	movf	6,w	;volatile
   518  07D0  00C2               	movwf	?a_wr_com_8+1
   519                           ;lcd1602.c: 46: pb=pb&0xF0;
   520  07D1  30F0               	movlw	-16
   521  07D2  05C2               	andwf	?a_wr_com_8+1
   522                           ;lcd1602.c: 47: pb +=comm&0x0F;
   523  07D3  0841               	movf	?a_wr_com_8,w
   524  07D4  390F               	andlw	15
   525  07D5  07C2               	addwf	?a_wr_com_8+1
   526                           ;lcd1602.c: 48: PORTB =pb;
   527  07D6  0842               	movf	?a_wr_com_8+1,w
   528  07D7  0086               	movwf	6	;volatile
   529                           ;lcd1602.c: 49: PORTB &= ~0x10;
   530  07D8  1206               	bcf	6,4	;volatile
   531                           ;lcd1602.c: 51: PORTB &= ~0x20;
   532  07D9  1286               	bcf	6,5	;volatile
   533                           ;lcd1602.c: 52: }
   534  07DA  0008               	return
   535                           ;lcd1602.c: 144: void init()
   536                           ;lcd1602.c: 145: {
   537  07DB                     _init
   538                           ;	_i assigned to ?a_init+0
   539  0000                     _init$i	set	?a_init
   540                           ;lcd1602.c: 148: unsigned char in,i;
   541  07DB  3003               	movlw	3
   542  07DC  27CA               	fcall	_wr_com_8
   543                           ;lcd1602.c: 155: delay5ms();
   544  07DD  2700               	fcall	_delay5ms
   545                           ;lcd1602.c: 156: wr_com_8(0x03);
   546  07DE  3003               	movlw	3
   547  07DF  27CA               	fcall	_wr_com_8
   548                           ;lcd1602.c: 157: delay5ms();
   549  07E0  2700               	fcall	_delay5ms
   550                           ;lcd1602.c: 158: wr_com_8(0x03);
   551  07E1  3003               	movlw	3
   552  07E2  27CA               	fcall	_wr_com_8
   553                           ;lcd1602.c: 159: delay5ms();
   554  07E3  2700               	fcall	_delay5ms
   555                           ;lcd1602.c: 161: delay5ms();
   556  07E4  2700               	fcall	_delay5ms
   557                           ;lcd1602.c: 170: wr_com(0x28);
   558  07E5  3028               	movlw	40
   559  07E6  2783               	fcall	_wr_com
   560                           ;lcd1602.c: 171: delay50us();
   561  07E7  2772               	fcall	_delay50us
   562                           ;lcd1602.c: 173: delay50us();
   563  07E8  2772               	fcall	_delay50us
   564                           ;lcd1602.c: 174: wr_com(0x0c);
   565  07E9  300C               	movlw	12
   566  07EA  2783               	fcall	_wr_com
   567                           ;lcd1602.c: 175: delay50us();
   568  07EB  2772               	fcall	_delay50us
   569                           ;lcd1602.c: 177: delay50us();
   570  07EC  2772               	fcall	_delay50us
   571                           ;lcd1602.c: 179: wr_com(0x40);
   572  07ED  3040               	movlw	64
   573  07EE  2783               	fcall	_wr_com
   574                           ;lcd1602.c: 180: delay50us();
   575  07EF  2772               	fcall	_delay50us
   576                           ;lcd1602.c: 182: delay50us();
   577  07F0  2772               	fcall	_delay50us
   578                           ;lcd1602.c: 183: for(i=0;i<64;i++)
   579  07F1  01C0               	clrf	?a_init
   580  07F2                     l15
   581                           ;lcd1602.c: 184: {
   582                           ;lcd1602.c: 185: wr_data(cgram1[i]);
   583  07F2  3000               	movlw	_cgram1 shr (0+8)
   584  07F3  008A               	movwf	10
   585  07F4  0840               	movf	?a_init,w
   586  07F5  2013               	call	((_cgram1+-1)& (0+2047))| (($)& (0+-2048)
      +                          )
   587  07F6  120A  118A  274F   	fcall	_wr_data
   588                           ;lcd1602.c: 186: delay50us();
   589  07F9  2772               	fcall	_delay50us
   590                           ;lcd1602.c: 188: }
   591  07FA  0AC0               	incf	?a_init
   592  07FB  3040               	movlw	64
   593  07FC  0240               	subwf	?a_init,w
   594  07FD  1803               	btfsc	3,0
   595  07FE  0008               	return
   596  07FF  2FF2               	goto	l15
   597                           
   598                           	psect	text11
   599  0000                     

⌨️ 快捷键说明

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