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

📄 9864b.lst

📁 基于三星S6B0724驱动的PIC点阵液晶98*98点阵程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
   632  018B  3400               	retlw	0
   633  018C  3400               	retlw	0
   634  018D  3400               	retlw	0
   635  018E  3400               	retlw	0
   636  018F  3404               	retlw	4
   637  0190  3404               	retlw	4
   638  0191  34FC               	retlw	-4
   639  0192  3404               	retlw	4
   640  0193  3404               	retlw	4
   641  0194  3400               	retlw	0
   642  0195  3400               	retlw	0
   643                           
   644                           	psect	const20
   645  0174  0782               	addwf	2
   646  0175                     _sz_s
   647  0175  3400               	retlw	0
   648  0176  3400               	retlw	0
   649  0177  3401               	retlw	1
   650  0178  3401               	retlw	1
   651  0179  3401               	retlw	1
   652  017A  3401               	retlw	1
   653  017B  3401               	retlw	1
   654  017C  3400               	retlw	0
   655  017D  3400               	retlw	0
   656  017E  34CC               	retlw	-52
   657  017F  3424               	retlw	36
   658  0180  3424               	retlw	36
   659  0181  3424               	retlw	36
   660  0182  3424               	retlw	36
   661  0183  3498               	retlw	-104
   662  0184  3400               	retlw	0
   663                           
   664                           	psect	const21
   665  0163  0782               	addwf	2
   666  0164                     _sz_e
   667  0164  3400               	retlw	0
   668  0165  3400               	retlw	0
   669  0166  3401               	retlw	1
   670  0167  3401               	retlw	1
   671  0168  3401               	retlw	1
   672  0169  3401               	retlw	1
   673  016A  3400               	retlw	0
   674  016B  3400               	retlw	0
   675  016C  3400               	retlw	0
   676  016D  34F8               	retlw	-8
   677  016E  3444               	retlw	68
   678  016F  3444               	retlw	68
   679  0170  3444               	retlw	68
   680  0171  3444               	retlw	68
   681  0172  34C8               	retlw	-56
   682  0173  3400               	retlw	0
   683                           
   684                           	psect	text7
   685                           ;9864b.c: 132: void lcd_clear(void)
   686                           ;9864b.c: 133: {
   687  0753                     _lcd_clear
   688                           ;	_i assigned to ?a_lcd_clear+0
   689  0000                     _lcd_clear$i	set	?a_lcd_clear
   690                           ;	_j assigned to ?a_lcd_clear+1
   691  0000                     _lcd_clear$j	set	?a_lcd_clear+1
   692                           ;9864b.c: 134: unsigned char i,j;
   693  0753  30B0               	movlw	-80
   694  0754  0183               	clrf	3	;select bank 0
   695  0755  00A0               	movwf	_PAGE
   696                           ;9864b.c: 137: x_line = 0x10;
   697  0756  3010               	movlw	16
   698  0757  00A1               	movwf	_x_line
   699                           ;9864b.c: 138: y_line = 0x00;
   700  0758  01A2               	clrf	_y_line
   701                           ;9864b.c: 139: for(i = 0;i<8;i++)
   702  0759  01A3               	clrf	?a_lcd_clear
   703  075A                     l17
   704                           ;9864b.c: 140: {
   705                           ;9864b.c: 141: write_command(PAGE);
   706  075A  0820               	movf	_PAGE,w
   707  075B  277F  120A  118A   	fcall	_write_command
   708                           ;9864b.c: 142: for(j=0;j<98;j++)
   709  075E  01A4               	clrf	?a_lcd_clear+1
   710  075F                     l20
   711                           ;9864b.c: 143: {
   712                           ;9864b.c: 144: write_data(0x05);
   713  075F  3005               	movlw	5
   714  0760  2789               	fcall	_write_data
   715                           ;9864b.c: 145: }
   716  0761  0AA4               	incf	?a_lcd_clear+1
   717  0762  3062               	movlw	98
   718  0763  0224               	subwf	?a_lcd_clear+1,w
   719  0764  1C03               	btfss	3,0
   720  0765  2F5F               	goto	l20
   721                           ;9864b.c: 146: PAGE++;
   722  0766  0AA0               	incf	_PAGE
   723                           ;9864b.c: 147: }
   724  0767  0AA3               	incf	?a_lcd_clear
   725  0768  3008               	movlw	8
   726  0769  0223               	subwf	?a_lcd_clear,w
   727  076A  1803               	btfsc	3,0
   728  076B  0008               	return
   729  076C  2F5A               	goto	l17
   730                           ;9864b.c: 73: void lcd_busy(void)
   731                           ;9864b.c: 74: {
   732  076D                     _lcd_busy
   733                           ;	_temp assigned to ?a_lcd_busy+0
   734  0000                     _lcd_busy$temp	set	?a_lcd_busy
   735                           ;9864b.c: 75: unsigned char temp;
   736  076D  30FF               	movlw	-1
   737  076E  0183               	clrf	3	;select bank 0
   738  076F  0088               	movwf	8	;volatile
   739                           ;9864b.c: 78: RS = 0;
   740  0770  1007               	bcf	7,0
   741                           ;9864b.c: 79: RW = 1;
   742  0771  1487               	bsf	7,1
   743                           ;9864b.c: 80: E=1;
   744  0772  1507               	bsf	7,2
   745                           ;9864b.c: 81: TRISD = 0xff;
   746  0773  1683               	bsf	3,5
   747  0774  0088               	movwf	8	;volatile
   748                           ;9864b.c: 82: temp = PORTD;
   749  0775  1283               	bcf	3,5
   750  0776  0808               	movf	8,w	;volatile
   751  0777  00A7               	movwf	?a_lcd_busy
   752                           ;9864b.c: 83: E = 0;
   753  0778  1107               	bcf	7,2
   754                           ;9864b.c: 84: while (temp & 0x80);
   755  0779                     l9
   756  0779  1BA7               	btfsc	?a_lcd_busy,7
   757  077A  2F79               	goto	l9
   758                           ;9864b.c: 85: TRISD = 0x00;
   759  077B  1683               	bsf	3,5
   760  077C  0188               	clrf	8	;volatile
   761                           ;9864b.c: 86: return;
   762                           ;9864b.c: 87: }
   763  077D  1283               	bcf	3,5
   764  077E  0008               	return
   765                           ;9864b.c: 89: void write_command(unsigned char 
      +                          send_command)
   766                           ;9864b.c: 90: {
   767  077F                     _write_command
   768                           ;	_send_command assigned to ?a_write_command+0
   769  0000                     _write_command$send_command	set	?a_write_comman
      +                          d
   770                           ;_send_command stored from w
   771  077F  0183               	clrf	3	;select bank 0
   772  0780  00A6               	movwf	?a_write_command
   773                           ;9864b.c: 91: lcd_busy();
   774  0781  276D               	fcall	_lcd_busy
   775                           ;9864b.c: 92: RS = 0;
   776  0782  1007               	bcf	7,0
   777                           ;9864b.c: 93: RW = 0;
   778  0783  1087               	bcf	7,1
   779                           ;9864b.c: 94: PORTD = send_command;
   780  0784  0826               	movf	?a_write_command,w
   781  0785  0088               	movwf	8	;volatile
   782                           ;9864b.c: 95: E = 1;
   783  0786  1507               	bsf	7,2
   784                           ;9864b.c: 96: E = 0;
   785  0787  1107               	bcf	7,2
   786                           ;9864b.c: 97: }
   787  0788  0008               	return
   788                           ;9864b.c: 99: void write_data(unsigned char sen
      +                          d_data)
   789                           ;9864b.c: 100: {
   790  0789                     _write_data
   791                           ;	_send_data assigned to ?a_write_data+0
   792  0000                     _write_data$send_data	set	?a_write_data
   793                           ;_send_data stored from w
   794  0789  0183               	clrf	3	;select bank 0
   795  078A  00A5               	movwf	?a_write_data
   796                           ;9864b.c: 101: lcd_busy();
   797  078B  276D               	fcall	_lcd_busy
   798                           ;9864b.c: 102: write_command(x_line);
   799  078C  0821               	movf	_x_line,w
   800  078D  277F  120A  118A   	fcall	_write_command
   801                           ;9864b.c: 103: write_command(y_line);
   802  0790  0822               	movf	_y_line,w
   803  0791  277F  120A  118A   	fcall	_write_command
   804                           ;9864b.c: 104: RS = 1;
   805  0794  1407               	bsf	7,0
   806                           ;9864b.c: 105: RW = 0;
   807  0795  1087               	bcf	7,1
   808                           ;9864b.c: 106: PORTD = send_data;
   809  0796  0825               	movf	?a_write_data,w
   810  0797  0088               	movwf	8	;volatile
   811                           ;9864b.c: 107: E = 1;
   812  0798  1507               	bsf	7,2
   813                           ;9864b.c: 108: E = 0;
   814  0799  1107               	bcf	7,2
   815                           ;9864b.c: 109: y_line ++;
   816  079A  0AA2               	incf	_y_line
   817                           ;9864b.c: 110: if ((y_line & 0x0f) == 0x00)
   818  079B  0822               	movf	_y_line,w
   819  079C  390F               	andlw	15
   820  079D  1D03               	btfss	3,2
   821  079E  0008               	return
   822                           ;9864b.c: 111: {
   823  079F  0AA1               	incf	_x_line
   824                           ;9864b.c: 113: y_line = 0x00;
   825  07A0  01A2               	clrf	_y_line
   826                           ;9864b.c: 114: }
   827  07A1  0008               	return
   828  07A2                     _lcd_delay
   829                           ;	_i assigned to ?a_lcd_delay+0
   830  0000                     _lcd_delay$i	set	?a_lcd_delay
   831                           ;9864b.c: 58: unsigned int i;
   832  07A2  0183               	clrf	3	;select bank 0
   833  07A3  01A5               	clrf	?a_lcd_delay
   834  07A4  01A6               	clrf	?a_lcd_delay+1
   835  07A5  2FA9               	goto	l6
   836  07A6                     l3
   837                           ;9864b.c: 61: {
   838                           ;9864b.c: 62: }
   839  07A6  0AA5               	incf	?a_lcd_delay
   840  07A7  1903               	btfsc	3,2
   841  07A8  0AA6               	incf	?a_lcd_delay+1
   842  07A9                     l6
   843  07A9  0824               	movf	?_lcd_delay+1,w
   844  07AA  0226               	subwf	?a_lcd_delay+1,w
   845  07AB  1D03               	btfss	3,2
   846  07AC  2FAF               	goto	u15
   847  07AD  0823               	movf	?_lcd_delay,w
   848  07AE  0225               	subwf	?a_lcd_delay,w
   849  07AF                     u15
   850  07AF  1803               	btfsc	3,0
   851  07B0  0008               	return
   852  07B1  2FA6               	goto	l3
   853                           ;9864b.c: 65: void lcd_rst(void)
   854                           ;9864b.c: 66: {
   855  07B2                     _lcd_rst
   856                           ;9864b.c: 67: RST = 0;
   857  07B2  0183               	clrf	3	;select bank 0
   858  07B3  1187               	bcf	7,3
   859                           ;9864b.c: 68: lcd_delay(0xff);
   860  07B4  30FF               	movlw	255
   861  07B5  00A3               	movwf	?_lcd_delay
   862  07B6  01A4               	clrf	?_lcd_delay+1
   863  07B7  27A2               	fcall	_lcd_delay
   864                           ;9864b.c: 69: RST = 1;
   865  07B8  1587               	bsf	7,3
   866                           ;9864b.c: 70: lcd_delay(0xff);
   867  07B9  30FF               	movlw	255
   868  07BA  00A3               	movwf	?_lcd_delay
   869  07BB  01A4               	clrf	?_lcd_delay+1
   870  07BC  2FA2               	ljmp	_lcd_delay
   871                           ;9864b.c: 150: void main(void)
   872                           ;9864b.c: 151: {
   873  07BD                     _main
   874                           ;9864b.c: 152: lcd_delay(10000);
   875  07BD  3010               	movlw	16
   876  07BE  1283               	bcf	3,5
   877  07BF  1303               	bcf	3,6	;carry unused
   878  07C0  00A3               	movwf	?_lcd_delay
   879  07C1  3027               	movlw	39
   880  07C2  00A4               	movwf	?_lcd_delay+1
   881  07C3  27A2               	fcall	_lcd_delay
   882                           ;9864b.c: 153: lcd_init();
   883  07C4  27D6  120A  118A   	fcall	_lcd_init
   884                           ;9864b.c: 154: write_command(0x40);
   885  07C7  3040               	movlw	64
   886  07C8  277F  120A  118A   	fcall	_write_command
   887                           ;9864b.c: 155: lcd_clear();
   888  07CB  2753               	fcall	_lcd_clear
   889                           ;9864b.c: 156: while (1)
   890  07CC                     l24
   891                           ;9864b.c: 157: {
   892  07CC  2FCC               	goto	l24
   893  07CD                     _system_inti
   894                           ;9864b.c: 50: INTCON = 0x00;
   895  07CD  018B               	clrf	11	;volatile
   896                           ;9864b.c: 51: TRISC = 0xf0;
   897  07CE  30F0               	movlw	-16
   898  07CF  1683               	bsf	3,5
   899  07D0  1303               	bcf	3,6	;carry unused
   900  07D1  0087               	movwf	7	;volatile
   901                           ;9864b.c: 52: TRISD = 0x00;
   902  07D2  0188               	clrf	8	;volatile
   903                           ;9864b.c: 53: (GIE = 0);
   904  07D3  138B               	bcf	11,7
   905                           ;9864b.c: 54: }
   906  07D4  1283               	bcf	3,5
   907  07D5  0008               	return
   908                           ;9864b.c: 117: void lcd_init(void)
   909                           ;9864b.c: 118: {
   910  07D6                     _lcd_init
   911                           ;9864b.c: 119: system_inti();
   912  07D6  27CD               	fcall	_system_inti
   913                           ;9864b.c: 120: lcd_rst();
   914  07D7  27B2  120A  118A   	fcall	_lcd_rst
   915                           ;9864b.c: 121: write_command(0xe2);
   916  07DA  30E2               	movlw	-30
   917  07DB  277F  120A  118A   	fcall	_write_command
   918                           ;9864b.c: 122: write_command(0xa2);
   919  07DE  30A2               	movlw	-94
   920  07DF  277F  120A  118A   	fcall	_write_command
   921                           ;9864b.c: 123: write_command(0xa0);
   922  07E2  30A0               	movlw	-96
   923  07E3  277F  120A  118A   	fcall	_write_command
   924                           ;9864b.c: 124: write_command(0xc0);
   925  07E6  30C0               	movlw	-64
   926  07E7  277F  120A  118A   	fcall	_write_command
   927                           ;9864b.c: 125: write_command(0x2f);
   928  07EA  302F               	movlw	47
   929  07EB  277F  120A  118A   	fcall	_write_command
   930                           ;9864b.c: 126: write_command(0x81);
   931  07EE  3081               	movlw	-127
   932  07EF  277F  120A  118A   	fcall	_write_command
   933                           ;9864b.c: 127: write_command(0x2f);
   934  07F2  302F               	movlw	47
   935  07F3  277F  120A  118A   	fcall	_write_command
   936                           ;9864b.c: 128: write_command(0x40);
   937  07F6  3040               	movlw	64
   938  07F7  277F  120A  118A   	fcall	_write_command
   939                           ;9864b.c: 129: write_command(0xe0);
   940  07FA  30E0               	movlw	-32
   941  07FB  277F  120A  118A   	fcall	_write_command
   942                           ;9864b.c: 130: write_command(0xaf);
   943  07FE  30AF               	movlw	-81
   944  07FF  2F7F               	ljmp	_write_command
   945                           
   946                           	psect	text9
   947  0000                     

⌨️ 快捷键说明

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