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

📄 lcd_595.lst

📁 基于pic16分46 的rs485通讯协议
💻 LST
📖 第 1 页 / 共 4 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-48944                            Sun Oct  7 13:19:32 2007

Licensed to: ONE
     1                           	processor	16F946
     2                           	opt	pw 79
     3                           	psect	__Z48944RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text1,local,class=CODE,delta=2
     6                           	psect	text4,local,class=CODE,delta=2
     7                           	psect	text5,local,class=CODE,delta=2
     8                           	psect	text6,local,class=CODE,delta=2
     9                           	psect	text7,local,class=CODE,delta=2
    10                           	psect	text8,local,class=CODE,delta=2
    11                           	psect	text9,local,class=CODE,delta=2
    12                           	psect	text10,local,class=CODE,delta=2
    13                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24                           
    25                           	psect	__Z48944RS_
    26  01A0                     
    27  01A0                     
    28  0000                     _SEND_TO_HC595$console	set	?_SEND_TO_HC595
    29                           
    30                           	psect	text0
    31  0523                     _SEND_TO_HC595
    32                           ;	_data assigned to ?a_SEND_TO_HC595+0
    33  0000                     _SEND_TO_HC595$data	set	?a_SEND_TO_HC595
    34                           ;	_i assigned to ?a_SEND_TO_HC595+1
    35  0000                     _SEND_TO_HC595$i	set	?a_SEND_TO_HC595+1
    36                           ;	_tmp assigned to ?a_SEND_TO_HC595+2
    37  0000                     _SEND_TO_HC595$tmp	set	?a_SEND_TO_HC595+2
    38                           ;_data stored from w
    39  0523  0183               	clrf	3	;select bank 0
    40  0524  00D1               	movwf	?a_SEND_TO_HC595
    41                           ;lcd_595.c: 38: unsigned char tmp;
    42  0525  1683               	bsf	3,5
    43  0526  1186               	bcf	6,3
    44                           ;lcd_595.c: 42: TRISB2 = 0;
    45  0527  1106               	bcf	6,2
    46                           ;lcd_595.c: 43: TRISB1 = 0;
    47  0528  1086               	bcf	6,1
    48                           ;lcd_595.c: 44: RB3 = 1;
    49  0529  1283               	bcf	3,5
    50  052A  1586               	bsf	6,3
    51                           ;lcd_595.c: 45: RB2 = 1;
    52  052B  1506               	bsf	6,2
    53                           ;lcd_595.c: 46: RB1 = 1;
    54  052C  1486               	bsf	6,1
    55                           ;lcd_595.c: 48: tmp = console;
    56  052D  0850               	movf	?_SEND_TO_HC595,w
    57  052E  00D3               	movwf	?a_SEND_TO_HC595+2
    58                           ;lcd_595.c: 49: for(i=0;i<8;++i)
    59  052F  01D2               	clrf	?a_SEND_TO_HC595+1
    60  0530                     l2
    61                           ;lcd_595.c: 50: {
    62                           ;lcd_595.c: 51: if((tmp&0x80)==0x80)
    63  0530  1FD3               	btfss	?a_SEND_TO_HC595+2,7
    64  0531  2D34               	goto	l5
    65                           ;lcd_595.c: 52: {
    66  0532  1486               	bsf	6,1
    67                           ;lcd_595.c: 54: }
    68  0533  2D35               	goto	l6
    69  0534                     l5
    70                           ;lcd_595.c: 56: {
    71  0534  1086               	bcf	6,1
    72  0535                     l6
    73                           ;lcd_595.c: 58: }
    74                           ;lcd_595.c: 59: RB3 = 0;
    75  0535  1186               	bcf	6,3
    76                           ;lcd_595.c: 60: RB3 = 1;
    77  0536  1586               	bsf	6,3
    78                           ;lcd_595.c: 61: tmp = tmp << 1;
    79  0537  1003               	bcf	3,0
    80  0538  0DD3               	rlf	?a_SEND_TO_HC595+2
    81                           ;lcd_595.c: 62: }
    82  0539  0AD2               	incf	?a_SEND_TO_HC595+1
    83  053A  3008               	movlw	8
    84  053B  0252               	subwf	?a_SEND_TO_HC595+1,w
    85  053C  1C03               	btfss	3,0
    86  053D  2D30               	goto	l2
    87                           ;lcd_595.c: 64: tmp = data;
    88  053E  0851               	movf	?a_SEND_TO_HC595,w
    89  053F  00D3               	movwf	?a_SEND_TO_HC595+2
    90                           ;lcd_595.c: 65: for(i=0;i<8;++i)
    91  0540  01D2               	clrf	?a_SEND_TO_HC595+1
    92  0541                     l7
    93                           ;lcd_595.c: 66: {
    94                           ;lcd_595.c: 67: if((tmp&0x80)==0x80)
    95  0541  1FD3               	btfss	?a_SEND_TO_HC595+2,7
    96  0542  2D45               	goto	l10
    97                           ;lcd_595.c: 68: {
    98  0543  1486               	bsf	6,1
    99                           ;lcd_595.c: 70: }
   100  0544  2D46               	goto	l11
   101  0545                     l10
   102                           ;lcd_595.c: 72: {
   103  0545  1086               	bcf	6,1
   104  0546                     l11
   105                           ;lcd_595.c: 74: }
   106                           ;lcd_595.c: 75: RB3 = 0;
   107  0546  1186               	bcf	6,3
   108                           ;lcd_595.c: 76: RB3 = 1;
   109  0547  1586               	bsf	6,3
   110                           ;lcd_595.c: 77: tmp = tmp << 1;
   111  0548  1003               	bcf	3,0
   112  0549  0DD3               	rlf	?a_SEND_TO_HC595+2
   113                           ;lcd_595.c: 78: }
   114  054A  0AD2               	incf	?a_SEND_TO_HC595+1
   115  054B  3008               	movlw	8
   116  054C  0252               	subwf	?a_SEND_TO_HC595+1,w
   117  054D  1C03               	btfss	3,0
   118  054E  2D41               	goto	l7
   119                           ;lcd_595.c: 80: RB2 = 0;
   120  054F  1106               	bcf	6,2
   121                           ;lcd_595.c: 81: RB2 = 1;
   122  0550  1506               	bsf	6,2
   123                           ;lcd_595.c: 82: RB3 = 1;
   124  0551  1586               	bsf	6,3
   125                           ;lcd_595.c: 83: RB1 = 1;
   126  0552  1486               	bsf	6,1
   127                           ;lcd_595.c: 84: }
   128  0553  0008               	return
   129                           ;lcd_595.c: 95: void lcd_writecom(unsigned char
      +                           combyte)
   130                           ;lcd_595.c: 96: {
   131  0554                     _lcd_writecom
   132                           ;	_combyte assigned to ?a_lcd_writecom+0
   133  0000                     _lcd_writecom$combyte	set	?a_lcd_writecom
   134                           ;	_lcd_console assigned to ?a_lcd_writecom+1
   135  0000                     _lcd_writecom$lcd_console	set	?a_lcd_writecom+1
   136                           ;	_lcd_com assigned to ?a_lcd_writecom+2
   137  0000                     _lcd_writecom$lcd_com	set	?a_lcd_writecom+2
   138                           ;_combyte stored from w
   139  0554  0183               	clrf	3	;select bank 0
   140  0555  00CB               	movwf	?a_lcd_writecom
   141                           ;lcd_595.c: 97: unsigned char lcd_com;
   142                           ;lcd_595.c: 90: DelayMs(5);
   143  0556  3005               	movlw	5
   144  0557  120A  118A  24A9   	fcall	_DelayMs
      +       120A  118A         
   145                           ;lcd_595.c: 100: lcd_com = combyte;
   146  055C  084B               	movf	?a_lcd_writecom,w
   147  055D  00CD               	movwf	?a_lcd_writecom+2
   148                           ;lcd_595.c: 101: lcd_console = 0x00;
   149  055E  01CC               	clrf	?a_lcd_writecom+1
   150                           ;lcd_595.c: 104: SEND_TO_HC595(lcd_com,lcd_cons
      +                          ole);
   151  055F  01D0               	clrf	?_SEND_TO_HC595
   152  0560  2523               	fcall	_SEND_TO_HC595
   153                           ;lcd_595.c: 105: lcd_console = 0x02;
   154  0561  3002               	movlw	2
   155  0562  00CC               	movwf	?a_lcd_writecom+1
   156                           ;lcd_595.c: 108: SEND_TO_HC595(lcd_com,lcd_cons
      +                          ole);
   157  0563  00D0               	movwf	?_SEND_TO_HC595
   158  0564  084D               	movf	?a_lcd_writecom+2,w
   159  0565  2523               	fcall	_SEND_TO_HC595
   160                           ;lcd_595.c: 109: lcd_console = 0x00;
   161  0566  01CC               	clrf	?a_lcd_writecom+1
   162                           ;lcd_595.c: 112: SEND_TO_HC595(lcd_com,lcd_cons
      +                          ole);
   163  0567  01D0               	clrf	?_SEND_TO_HC595
   164  0568  084D               	movf	?a_lcd_writecom+2,w
   165  0569  2D23               	ljmp	_SEND_TO_HC595
   166                           ;lcd_595.c: 117: void lcd_writedata(unsigned ch
      +                          ar data)
   167                           ;lcd_595.c: 118: {
   168  056A                     _lcd_writedata
   169                           ;	_data assigned to ?a_lcd_writedata+0
   170  0000                     _lcd_writedata$data	set	?a_lcd_writedata
   171                           ;	_lcd_console assigned to ?a_lcd_writedata+1
   172  0000                     _lcd_writedata$lcd_console	set	?a_lcd_writedata
      +                          +1
   173                           ;	_lcd_data assigned to ?a_lcd_writedata+2
   174  0000                     _lcd_writedata$lcd_data	set	?a_lcd_writedata+2
   175                           ;_data stored from w
   176  056A  0183               	clrf	3	;select bank 0
   177  056B  00CD               	movwf	?a_lcd_writedata
   178                           ;lcd_595.c: 119: unsigned char lcd_data;
   179                           ;lcd_595.c: 90: DelayMs(5);
   180  056C  3005               	movlw	5
   181  056D  120A  118A  24A9   	fcall	_DelayMs
      +       120A  118A         
   182                           ;lcd_595.c: 122: lcd_data = data;
   183  0572  084D               	movf	?a_lcd_writedata,w
   184  0573  00CF               	movwf	?a_lcd_writedata+2
   185                           ;lcd_595.c: 123: lcd_console = 0x08;
   186  0574  3008               	movlw	8
   187  0575  00CE               	movwf	?a_lcd_writedata+1
   188                           ;lcd_595.c: 126: SEND_TO_HC595(lcd_data,lcd_con
      +                          sole);
   189  0576  00D0               	movwf	?_SEND_TO_HC595
   190  0577  084F               	movf	?a_lcd_writedata+2,w
   191  0578  2523               	fcall	_SEND_TO_HC595
   192                           ;lcd_595.c: 127: lcd_console = 0x0A;
   193  0579  300A               	movlw	10
   194  057A  00CE               	movwf	?a_lcd_writedata+1
   195                           ;lcd_595.c: 130: SEND_TO_HC595(lcd_data,lcd_con
      +                          sole);
   196  057B  00D0               	movwf	?_SEND_TO_HC595
   197  057C  084F               	movf	?a_lcd_writedata+2,w
   198  057D  2523               	fcall	_SEND_TO_HC595
   199                           ;lcd_595.c: 131: lcd_console = 0x08;
   200  057E  3008               	movlw	8
   201  057F  00CE               	movwf	?a_lcd_writedata+1
   202                           ;lcd_595.c: 134: SEND_TO_HC595(lcd_data,lcd_con
      +                          sole);
   203  0580  00D0               	movwf	?_SEND_TO_HC595
   204  0581  084F               	movf	?a_lcd_writedata+2,w
   205  0582  2D23               	ljmp	_SEND_TO_HC595
   206                           
   207                           	psect	text1
   208                           ;lcd_595.c: 88: void lcd_checkbusy(void)
   209                           ;lcd_595.c: 89: {
   210  0484                     _lcd_checkbusy
   211                           ;lcd_595.c: 90: DelayMs(5);
   212  0484  3005               	movlw	5
   213  0485  120A  118A  2CA9   	ljmp	_DelayMs
   214                           
   215                           	psect	text4
   216                           ;lcd_595.c: 139: void lcd_initial(void)
   217                           ;lcd_595.c: 140: {
   218  04C4                     _lcd_initial
   219                           ;lcd_595.c: 141: DelayMs(15);
   220  04C4  300F               	movlw	15
   221  04C5  120A  118A  24A9   	fcall	_DelayMs
   222                           ;lcd_595.c: 142: lcd_writecom(0x38);
   223  04C8  3038               	movlw	56
   224  04C9  120A  118A  2554   	fcall	_lcd_writecom
   225                           ;lcd_595.c: 143: lcd_writecom(0x0c);
   226  04CC  300C               	movlw	12
   227  04CD  120A  118A  2554   	fcall	_lcd_writecom
      +       120A  118A         
   228                           ;lcd_595.c: 144: lcd_writecom(0x06);
   229  04D2  3006               	movlw	6
   230  04D3  120A  118A  2D54   	ljmp	_lcd_writecom
   231                           
   232                           	psect	text5
   233                           ;lcd_595.c: 149: void lcd_clear(void)
   234                           ;lcd_595.c: 150: {
   235  049F                     _lcd_clear
   236                           ;lcd_595.c: 151: lcd_writecom(0x01);
   237  049F  3001               	movlw	1
   238  04A0  120A  118A  2554   	fcall	_lcd_writecom
      +       120A  118A         
   239                           ;lcd_595.c: 153: lcd_writecom(0x02);
   240  04A5  3002               	movlw	2
   241  04A6  120A  118A  2D54   	ljmp	_lcd_writecom
   242                           
   243                           	psect	text6
   244  04D6                     _lcd_gotoxy
   245                           ;	_x assigned to ?a_lcd_gotoxy+0
   246  0000                     _lcd_gotoxy$x	set	?a_lcd_gotoxy
   247                           ;	_base_y assigned to ?a_lcd_gotoxy+1
   248  0000                     _lcd_gotoxy$base_y	set	?a_lcd_gotoxy+1
   249                           ;_x stored from w
   250  04D6  0183               	clrf	3	;select bank 0
   251  04D7  00C8               	movwf	?a_lcd_gotoxy
   252                           ;lcd_595.c: 160: unsigned char base_y[2]={0x80,
      +                           0xc0};
   253  04D8  3080               	movlw	-128
   254  04D9  00C9               	movwf	?a_lcd_gotoxy+1

⌨️ 快捷键说明

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