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

📄 lm9864.lst

📁 基于三星S6B0724驱动的PIC点阵液晶98*98点阵程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
   303  0173  34F0               	retlw	-16
   304  0174  3424               	retlw	36
   305  0175  3444               	retlw	68
   306  0176  3408               	retlw	8
   307  0177  3488               	retlw	-120
   308  0178  3450               	retlw	80
   309  0179  3420               	retlw	32
   310  017A  3450               	retlw	80
   311  017B  3488               	retlw	-120
   312  017C  340C               	retlw	12
   313  017D  3408               	retlw	8
   314  017E  3400               	retlw	0
   315  017F  3404               	retlw	4
   316  0180  3484               	retlw	-124
   317  0181  3444               	retlw	68
   318  0182  3467               	retlw	103
   319  0183  3400               	retlw	0
   320  0184  3404               	retlw	4
   321  0185  3404               	retlw	4
   322  0186  3404               	retlw	4
   323  0187  3404               	retlw	4
   324  0188  34FF               	retlw	-1
   325  0189  3404               	retlw	4
   326  018A  3404               	retlw	4
   327  018B  340C               	retlw	12
   328  018C  3404               	retlw	4
   329  018D  3400               	retlw	0
   330  018E  3400               	retlw	0
   331  018F  3400               	retlw	0
   332  0190  3400               	retlw	0
   333  0191  34F8               	retlw	-8
   334  0192  3410               	retlw	16
   335  0193  3420               	retlw	32
   336  0194  3400               	retlw	0
   337  0195  3400               	retlw	0
   338  0196  3400               	retlw	0
   339  0197  34FC               	retlw	-4
   340  0198  3400               	retlw	0
   341  0199  3400               	retlw	0
   342  019A  3400               	retlw	0
   343  019B  3400               	retlw	0
   344  019C  3400               	retlw	0
   345                           
   346                           	psect	text6
   347  066A                     _disp_data
   348                           ;	_x assigned to ?a_disp_data+0
   349  0000                     _disp_data$x	set	?a_disp_data
   350                           ;	_i assigned to ?a_disp_data+1
   351  0000                     _disp_data$i	set	?a_disp_data+1
   352                           ;_x stored from w
   353  066A  0183               	clrf	3	;select bank 0
   354  066B  00A7               	movwf	?a_disp_data
   355                           ;LM9864.C: 93: unsigned char i;
   356  066C  00A1               	movwf	_x_line	;volatile
   357                           ;LM9864.C: 95: y_line = y;
   358  066D  0823               	movf	?_disp_data,w
   359  066E  00A2               	movwf	_y_line	;volatile
   360                           ;LM9864.C: 96: PAGE = page;
   361  066F  0824               	movf	?_disp_data+1,w
   362  0670  00A0               	movwf	_PAGE	;volatile
   363                           ;LM9864.C: 97: write_command(PAGE);
   364  0671  0820               	movf	_PAGE,w	;volatile
   365  0672  2706  120A  118A   	fcall	_write_command
   366                           ;LM9864.C: 98: if (size == 0x00)
   367  0675  08A6               	movf	?_disp_data+3
   368  0676  1D03               	btfss	3,2
   369  0677  2E9F               	goto	l16
   370                           ;LM9864.C: 99: {
   371  0678  01A8               	clrf	?a_disp_data+1
   372  0679                     l17
   373                           ;LM9864.C: 101: {
   374                           ;LM9864.C: 102: write_data(sz_number[charater*1
      +                          6+i]);
   375  0679  3000               	movlw	_sz_number shr (0+8)
   376  067A  008A               	movwf	10
   377  067B  0E25               	swapf	?_disp_data+2,w
   378  067C  39F0               	andlw	240
   379  067D  0728               	addwf	?a_disp_data+1,w
   380  067E  2013               	call	((_sz_number+-1)& (0+2047))| (($)& (0+-20
      +                          48))
   381  067F  120A  118A  2714   	fcall	_write_data
   382                           ;LM9864.C: 103: }
   383  0682  0AA8               	incf	?a_disp_data+1
   384  0683  3008               	movlw	8
   385  0684  0228               	subwf	?a_disp_data+1,w
   386  0685  1C03               	btfss	3,0
   387  0686  2E79               	goto	l17
   388                           ;LM9864.C: 104: PAGE = PAGE - 1;
   389  0687  03A0               	decf	_PAGE	;volatile
   390                           ;LM9864.C: 105: write_command(PAGE);
   391  0688  0820               	movf	_PAGE,w	;volatile
   392  0689  2706               	fcall	_write_command
   393                           ;LM9864.C: 106: x_line = x;
   394  068A  0827               	movf	?a_disp_data,w
   395  068B  00A1               	movwf	_x_line	;volatile
   396                           ;LM9864.C: 107: y_line = y;
   397  068C  0823               	movf	?_disp_data,w
   398  068D  00A2               	movwf	_y_line	;volatile
   399                           ;LM9864.C: 108: for (i = 0; i < 8;i++)
   400  068E  01A8               	clrf	?a_disp_data+1
   401  068F                     l20
   402                           ;LM9864.C: 109: {
   403                           ;LM9864.C: 110: write_data(sz_number[charater*1
      +                          6+i+8]);
   404  068F  3000               	movlw	_sz_number shr (0+8)
   405  0690  008A               	movwf	10
   406  0691  0E25               	swapf	?_disp_data+2,w
   407  0692  39F0               	andlw	240
   408  0693  0728               	addwf	?a_disp_data+1,w
   409  0694  3E08               	addlw	8
   410  0695  2013               	call	((_sz_number+-1)& (0+2047))| (($)& (0+-20
      +                          48))
   411  0696  120A  118A  2714   	fcall	_write_data
   412                           ;LM9864.C: 111: }
   413  0699  0AA8               	incf	?a_disp_data+1
   414  069A  3008               	movlw	8
   415  069B  0228               	subwf	?a_disp_data+1,w
   416  069C  1803               	btfsc	3,0
   417  069D  0008               	return
   418  069E  2E8F               	goto	l20
   419                           ;LM9864.C: 112: }
   420  069F                     l16
   421                           ;LM9864.C: 114: {
   422  069F  01A8               	clrf	?a_disp_data+1
   423  06A0                     l24
   424                           ;LM9864.C: 116: {
   425                           ;LM9864.C: 117: write_data(hz_charater[charater
      +                          *32+i]);
   426  06A0  0825               	movf	?_disp_data+2,w
   427  06A1  00F0               	movwf	btemp
   428  06A2  3005               	movlw	5
   429  06A3  00F1               	movwf	btemp+1
   430  06A4                     u75
   431  06A4  1003               	bcf	3,0
   432  06A5  0DF0               	rlf	btemp
   433  06A6  0BF1               	decfsz	btemp+1
   434  06A7  2EA4               	goto	u75
   435  06A8  0870               	movf	btemp,w
   436  06A9  0728               	addwf	?a_disp_data+1,w
   437  06AA  00F0               	movwf	btemp
   438  06AB  3001               	movlw	_hz_charater shr (0+8)
   439  06AC  008A               	movwf	10
   440  06AD  0870               	movf	btemp,w
   441  06AE  2100               	call	((_hz_charater+-1)& (0+2047))| (($)& (0+-
      +                          2048))
   442  06AF  120A  118A  2714   	fcall	_write_data
   443                           ;LM9864.C: 118: }
   444  06B2  0AA8               	incf	?a_disp_data+1
   445  06B3  3010               	movlw	16
   446  06B4  0228               	subwf	?a_disp_data+1,w
   447  06B5  1C03               	btfss	3,0
   448  06B6  2EA0               	goto	l24
   449                           ;LM9864.C: 119: PAGE = PAGE - 1;
   450  06B7  03A0               	decf	_PAGE	;volatile
   451                           ;LM9864.C: 120: write_command(PAGE);
   452  06B8  0820               	movf	_PAGE,w	;volatile
   453  06B9  2706  120A  118A   	fcall	_write_command
   454                           ;LM9864.C: 121: x_line = x;
   455  06BC  0827               	movf	?a_disp_data,w
   456  06BD  00A1               	movwf	_x_line	;volatile
   457                           ;LM9864.C: 122: y_line = y;
   458  06BE  0823               	movf	?_disp_data,w
   459  06BF  00A2               	movwf	_y_line	;volatile
   460                           ;LM9864.C: 123: for (i = 0; i < 16;i++)
   461  06C0  01A8               	clrf	?a_disp_data+1
   462  06C1                     l27
   463                           ;LM9864.C: 124: {
   464                           ;LM9864.C: 125: write_data(hz_charater[charater
      +                          *32+i+16]);
   465  06C1  0825               	movf	?_disp_data+2,w
   466  06C2  00F0               	movwf	btemp
   467  06C3  3005               	movlw	5
   468  06C4  00F1               	movwf	btemp+1
   469  06C5                     u95
   470  06C5  1003               	bcf	3,0
   471  06C6  0DF0               	rlf	btemp
   472  06C7  0BF1               	decfsz	btemp+1
   473  06C8  2EC5               	goto	u95
   474  06C9  0870               	movf	btemp,w
   475  06CA  0728               	addwf	?a_disp_data+1,w
   476  06CB  3E10               	addlw	16
   477  06CC  00F0               	movwf	btemp
   478  06CD  3001               	movlw	_hz_charater shr (0+8)
   479  06CE  008A               	movwf	10
   480  06CF  0870               	movf	btemp,w
   481  06D0  2100               	call	((_hz_charater+-1)& (0+2047))| (($)& (0+-
      +                          2048))
   482  06D1  120A  118A  2714   	fcall	_write_data
   483                           ;LM9864.C: 126: }
   484  06D4  0AA8               	incf	?a_disp_data+1
   485  06D5  3010               	movlw	16
   486  06D6  0228               	subwf	?a_disp_data+1,w
   487  06D7  1803               	btfsc	3,0
   488  06D8  0008               	return
   489  06D9  2EC1               	goto	l27
   490                           ;LM9864.C: 144: void lcd_clear(void)
   491                           ;LM9864.C: 145: {
   492  06DA                     _lcd_clear
   493                           ;	_i assigned to ?a_lcd_clear+0
   494  0000                     _lcd_clear$i	set	?a_lcd_clear
   495                           ;	_j assigned to ?a_lcd_clear+1
   496  0000                     _lcd_clear$j	set	?a_lcd_clear+1
   497                           ;LM9864.C: 146: unsigned char i,j;
   498  06DA  30B0               	movlw	-80
   499  06DB  0183               	clrf	3	;select bank 0
   500  06DC  00A0               	movwf	_PAGE	;volatile
   501                           ;LM9864.C: 149: for(i = 0;i < 8;i++)
   502  06DD  01A3               	clrf	?a_lcd_clear
   503  06DE                     l32
   504                           ;LM9864.C: 150: {
   505                           ;LM9864.C: 151: x_line = 0x10;
   506  06DE  3010               	movlw	16
   507  06DF  00A1               	movwf	_x_line	;volatile
   508                           ;LM9864.C: 152: y_line = 0x00;
   509  06E0  01A2               	clrf	_y_line	;volatile
   510                           ;LM9864.C: 153: write_command(PAGE);
   511  06E1  0820               	movf	_PAGE,w	;volatile
   512  06E2  2706  120A  118A   	fcall	_write_command
   513                           ;LM9864.C: 154: for(j=0;j<98;j++)
   514  06E5  01A4               	clrf	?a_lcd_clear+1
   515  06E6                     l35
   516                           ;LM9864.C: 155: {
   517                           ;LM9864.C: 156: write_data(0x00);
   518  06E6  3000               	movlw	0
   519  06E7  2714               	fcall	_write_data
   520                           ;LM9864.C: 157: }
   521  06E8  0AA4               	incf	?a_lcd_clear+1
   522  06E9  3062               	movlw	98
   523  06EA  0224               	subwf	?a_lcd_clear+1,w
   524  06EB  1C03               	btfss	3,0
   525  06EC  2EE6               	goto	l35
   526                           ;LM9864.C: 158: PAGE++;
   527  06ED  0AA0               	incf	_PAGE	;volatile
   528                           ;LM9864.C: 159: }
   529  06EE  0AA3               	incf	?a_lcd_clear
   530  06EF  3008               	movlw	8
   531  06F0  0223               	subwf	?a_lcd_clear,w
   532  06F1  1803               	btfsc	3,0
   533  06F2  0008               	return
   534  06F3  2EDE               	goto	l32
   535                           ;LM9864.C: 49: void lcd_busy(void)
   536                           ;LM9864.C: 50: {
   537  06F4                     _lcd_busy
   538                           ;	_temp assigned to ?a_lcd_busy+0
   539  0000                     _lcd_busy$temp	set	?a_lcd_busy
   540                           ;LM9864.C: 51: unsigned char temp;
   541  06F4  30FF               	movlw	-1
   542  06F5  0183               	clrf	3	;select bank 0
   543  06F6  0088               	movwf	8	;volatile
   544                           ;LM9864.C: 53: RS = 0;
   545  06F7  1007               	bcf	7,0
   546                           ;LM9864.C: 54: RW = 1;
   547  06F8  1487               	bsf	7,1
   548                           ;LM9864.C: 55: E=1;
   549  06F9  1507               	bsf	7,2
   550                           ;LM9864.C: 56: TRISD = 0xff;
   551  06FA  1683               	bsf	3,5
   552  06FB  0088               	movwf	8	;volatile
   553                           ;LM9864.C: 57: temp = PORTD;
   554  06FC  1283               	bcf	3,5
   555  06FD  0808               	movf	8,w	;volatile
   556  06FE  00AB               	movwf	?a_lcd_busy
   557                           ;LM9864.C: 58: E = 0;
   558  06FF  1107               	bcf	7,2
   559                           ;LM9864.C: 59: while (temp & 0x80);
   560  0700                     l9
   561  0700  1BAB               	btfsc	?a_lcd_busy,7
   562  0701  2F00               	goto	l9
   563                           ;LM9864.C: 60: TRISD = 0x00;
   564  0702  1683               	bsf	3,5
   565  0703  0188               	clrf	8	;volatile
   566                           ;LM9864.C: 61: return;
   567                           ;LM9864.C: 62: }
   568  0704  1283               	bcf	3,5
   569  0705  0008               	return
   570                           ;LM9864.C: 63: void write_command(unsigned char
      +                           send_command)
   571                           ;LM9864.C: 64: {
   572  0706                     _write_command
   573                           ;	_send_command assigned to ?a_write_command+0
   574  0000                     _write_command$send_command	set	?a_write_comman
      +                          d
   575                           ;_send_command stored from w
   576  0706  0183               	clrf	3	;select bank 0
   577  0707  00AA               	movwf	?a_write_command
   578                           ;LM9864.C: 65: lcd_busy();
   579  0708  26F4               	fcall	_lcd_busy
   580                           ;LM9864.C: 66: RS = 0;
   581  0709  1007               	bcf	7,0
   582                           ;LM9864.C: 67: RW = 0;
   583  070A  1087               	bcf	7,1
   584                           ;LM9864.C: 68: PORTD = send_command;
   585  070B  082A               	movf	?a_write_command,w
   586  070C  0088               	movwf	8	;volatile
   587                           ;LM9864.C: 69: E = 1;
   588  070D  1507               	bsf	7,2
   589                           ;LM9864.C: 70: lcd_delay(0x02);
   590  070E  3002               	movlw	2
   591  070F  00AB               	movwf	?_lcd_delay
   592  0710  01AC               	clrf	?_lcd_delay+1
   593  0711  2731               	fcall	_lcd_delay
   594                           ;LM9864.C: 71: E = 0;
   595  0712  1107               	bcf	7,2
   596                           ;LM9864.C: 72: }
   597  0713  0008               	return
   598                           ;LM9864.C: 73: void write_data(unsigned char se
      +                          nd_data)
   599                           ;LM9864.C: 74: {
   600  0714                     _write_data
   601                           ;	_send_data assigned to ?a_write_data+0

⌨️ 快捷键说明

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