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

📄 main.lst

📁 是关于PIC单片机(型号是PIC16F917)实现液晶显示的一个DEMO
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V9.50PL2
                                                      Thu Mar 22 17:03:44 2007


     1                           	processor	16F917
     2                           	opt	pw 79
     3                           	psect	text0,local,class=CODE,delta=2
     4                           	psect	config,global,class=CONFIG,delta=2
     5                           	psect	intcode,global,class=CODE,delta=2
     6                           	psect	intsave_0,global,ovrld,class=COMBANK,spa
      +                          ce=1,delta=1
     7                           	psect	intret,global,class=CODE,delta=2
     8                           	psect	intentry,global,class=CODE,delta=2
     9                           	psect	intsave,global,class=BANK0,space=1,delta
      +                          =1
    10                           	psect	text3,local,class=CODE,delta=2
    11                           	psect	text5,local,class=CODE,delta=2
    12                           	psect	text13,local,class=CODE,delta=2
    13                           	psect	rbit_0,global,bit,class=BANK0,space=1,de
      +                          lta=1
    14                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
    15                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
    16  0000                     
    17  0000                     
    18  0000                     
    19  0000                     
    20  0000                     
    21  0000                     
    22  0000                     
    23  0000                     
    24  0000                     
    25  0000                     	;#
    26                           
    27                           	psect	config
    28  2007  30D4               	dw	12500	;#
    29                           
    30                           	psect	intcode
    31  000B                     _ISR
    32  000B                     int_func
    33                           ;main.c: 73: void interrupt ISR(void){
    34  000B  0183               	clrf	3	;select bank 0
    35  000C  1C0C               	btfss	12,0
    36  000D  2829               	goto	l2
    37  000E  1683               	bsf	3,5
    38  000F  1C0C               	btfss	12,0
    39  0010  2829               	goto	l2
    40                           ;main.c: 75: timeFlag = 1;
    41  0011  1283               	bcf	3,5
    42  0012  1420               	bsf	_timeFlag/(0+8),_timeFlag& (0+7)
    43                           ;main.c: 76: TMR1IF = 0;
    44  0013  100C               	bcf	12,0
    45                           ;main.c: 77: TMR1H =+ 0x80;
    46  0014  3080               	movlw	-128
    47  0015  008F               	movwf	15	;volatile
    48                           ;main.c: 78: seconds++;
    49  0016  0AA8               	incf	_seconds
    50                           ;main.c: 79: if (seconds > 60){
    51  0017  303D               	movlw	61
    52  0018  0228               	subwf	_seconds,w
    53  0019  1C03               	btfss	3,0
    54  001A  2829               	goto	l2
    55                           ;main.c: 80: minutes++;
    56  001B  0AA5               	incf	_minutes
    57                           ;main.c: 81: seconds = 0;
    58  001C  01A8               	clrf	_seconds
    59                           ;main.c: 82: if (minutes > 60){
    60  001D  303D               	movlw	61
    61  001E  0225               	subwf	_minutes,w
    62  001F  1C03               	btfss	3,0
    63  0020  2829               	goto	l2
    64                           ;main.c: 83: hours++;
    65  0021  0AA4               	incf	_hours
    66                           ;main.c: 84: minutes = 0;
    67  0022  01A5               	clrf	_minutes
    68                           ;main.c: 85: if (hours >12){
    69  0023  300D               	movlw	13
    70  0024  0224               	subwf	_hours,w
    71  0025  1C03               	btfss	3,0
    72  0026  2829               	goto	l2
    73                           ;main.c: 86: hours = 1;
    74  0027  01A4               	clrf	_hours
    75  0028  0AA4               	incf	_hours
    76  0029                     l2
    77                           ;main.c: 87: }
    78  0029  180B               	btfsc	11,0
    79  002A  1D8B               	btfss	11,3
    80  002B  2838               	goto	l1
    81                           ;main.c: 93: SW1 = 0;
    82  002C  1283               	bcf	3,5
    83  002D  01A2               	clrf	_SW1
    84                           ;main.c: 94: SW2 = 0;
    85  002E  01A3               	clrf	_SW2
    86                           ;main.c: 96: if(RB6==0){SW1=1;}
    87  002F  1B06               	btfsc	6,6
    88  0030  2833               	goto	l7
    89  0031  01A2               	clrf	_SW1
    90  0032  0AA2               	incf	_SW1
    91  0033                     l7
    92                           ;main.c: 97: if(RB7==0){SW2=1;}
    93  0033  1B86               	btfsc	6,7
    94  0034  2837               	goto	l8
    95  0035  01A3               	clrf	_SW2
    96  0036  0AA3               	incf	_SW2
    97  0037                     l8
    98                           ;main.c: 99: RBIF = 0;
    99  0037  100B               	bcf	11,0
   100                           ;main.c: 101: }
   101  0038                     l1
   102  0038  1303               	bcf	3,6	;carry unused
   103  0039  1283               	bcf	3,5
   104                           
   105                           	psect	intsave_0
   106  0077                     saved_w
   107  0077                     	ds	1
   108                           
   109                           	psect	intret
   110  003A  0834               	movf	saved_pclath,w
   111  003B  008A               	movwf	10
   112  003C                     int_restore
   113  003C  0833               	movf	saved_status,w
   114  003D  0083               	movwf	3
   115  003E  0EF7               	swapf	saved_w
   116  003F  0E77               	swapf	saved_w,w
   117  0040  0009               	retfie
   118                           
   119                           	psect	intentry
   120  0004                     int_entry
   121  0004  00F7               	movwf	saved_w
   122  0005  0803               	movf	3,w
   123  0006  0183               	clrf	3
   124  0007  00B3               	movwf	saved_status
   125  0008  080A               	movf	10,w
   126  0009  00B4               	movwf	saved_pclath
   127  000A  018A               	clrf	10
   128                           
   129                           	psect	intsave
   130  0033                     saved_status
   131  0033                     	ds	1
   132  0034                     saved_pclath
   133  0034                     	ds	1
   134                           
   135                           	psect	text3
   136  01F8                     _displayNumber
   137                           ;	_Position assigned to ?a_displayNumber+0
   138  0000                     _displayNumber$Position	set	?a_displayNumber
   139                           ;_Position stored from w
   140  01F8  0183               	clrf	3	;select bank 0
   141  01F9  00B2               	movwf	?a_displayNumber
   142                           ;main.c: 245: void displayNumber(unsigned char 
      +                          Position, unsigned char Number){
   143  01FA  2BA4               	goto	l34
   144  01FB                     l35
   145                           ;main.c: 248: case 1:
   146                           ;main.c: 249: SEG19COM0 = SEG20COM0 = SEG20COM1
      +                           = SEG20COM2 = SEG19COM1 = SEG19COM3 = SEG20COM
      +                          3 = 0;
   147  01FB  1703               	bsf	3,6
   148  01FC  121B               	bcf	27,4
   149  01FD  119B               	bcf	27,3
   150  01FE  1195               	bcf	21,3
   151  01FF  1218               	bcf	24,4
   152  0200  1215               	bcf	21,4
   153  0201  1212               	bcf	18,4
   154  0202  1192               	bcf	18,3
   155                           ;main.c: 250: switch(Number){
   156  0203  2A34               	goto	l37
   157  0204                     l38
   158                           ;main.c: 251: case 1:
   159                           ;main.c: 252: SEG20COM0 = SEG20COM1 = 1;
   160  0204  1703               	bsf	3,6
   161  0205  1615               	bsf	21,4
   162  0206  1612               	bsf	18,4
   163                           ;main.c: 253: break;
   164  0207  2BB6               	goto	l33
   165  0208                     l39
   166                           ;main.c: 254: case 2:
   167                           ;main.c: 255: SEG19COM0 = SEG20COM0 = SEG20COM3
      +                           = SEG19COM1 = SEG20COM2 = 1;
   168  0208  1703               	bsf	3,6
   169  0209  1618               	bsf	24,4
   170  020A  1595               	bsf	21,3
   171  020B  2A0F               	goto	L1
   172                           ;main.c: 256: break;
   173  020C                     l40
   174                           ;main.c: 257: case 3:
   175                           ;main.c: 258: SEG19COM0 = SEG20COM0 = SEG20COM3
      +                           = SEG20COM1 = SEG20COM2 = 1;
   176  020C  1703               	bsf	3,6
   177  020D  1618               	bsf	24,4
   178  020E  1615               	bsf	21,4
   179  020F                     L1
   180  020F  161B               	bsf	27,4
   181  0210  2A31               	goto	L41
   182                           ;main.c: 259: break;
   183  0211                     l41
   184                           ;main.c: 260: case 4:
   185                           ;main.c: 261: SEG19COM3 = SEG20COM3 = SEG20COM0
      +                           = SEG20COM1 = 1;
   186  0211  1703               	bsf	3,6
   187  0212  1615               	bsf	21,4
   188  0213  1612               	bsf	18,4
   189  0214  161B               	bsf	27,4
   190  0215  159B               	bsf	27,3
   191                           ;main.c: 262: break;
   192  0216  2BB6               	goto	l33
   193  0217                     l42
   194                           ;main.c: 263: case 5:
   195                           ;main.c: 264: SEG19COM0 = SEG19COM3 = SEG20COM3
      +                           = SEG20COM1 = SEG20COM2 = 1;
   196  0217  1703               	bsf	3,6
   197  0218  1618               	bsf	24,4
   198  0219  1615               	bsf	21,4
   199  021A  161B               	bsf	27,4
   200  021B  2A21               	goto	L42
   201                           ;main.c: 265: break;
   202  021C                     l43
   203                           ;main.c: 266: case 6:
   204                           ;main.c: 267: SEG19COM0 = SEG19COM3 = SEG19COM1
      +                           = SEG20COM2 = SEG20COM1 = SEG20COM3 = 1;
   205  021C  1703               	bsf	3,6
   206  021D  161B               	bsf	27,4
   207  021E  1615               	bsf	21,4
   208  021F  1618               	bsf	24,4
   209  0220  1595               	bsf	21,3
   210  0221                     L42
   211  0221  159B               	bsf	27,3
   212  0222  2A32               	goto	L7
   213                           ;main.c: 268: break;
   214  0223                     l44
   215                           ;main.c: 269: case 7:
   216                           ;main.c: 270: SEG19COM0 = SEG20COM0 = SEG20COM1
      +                           = 1;
   217  0223  1703               	bsf	3,6
   218  0224  2A30               	goto	L36
   219                           ;main.c: 271: break;
   220  0225                     l45
   221                           ;main.c: 272: case 8:
   222                           ;main.c: 273: SEG19COM0 = SEG20COM0 = SEG20COM1
      +                           = SEG20COM2 = SEG19COM1 = SEG19COM3 = SEG20COM
      +                          3 = 1;
   223  0225  1703               	bsf	3,6
   224  0226  161B               	bsf	27,4
   225  0227  2A2D               	goto	L43
   226                           ;main.c: 274: break;
   227  0228                     l46
   228                           ;main.c: 275: case 9:
   229                           ;main.c: 276: SEG19COM0 = SEG20COM0 = SEG20COM1
      +                           = SEG20COM2 = SEG19COM3 = SEG20COM3 = 1;
   230  0228  1703               	bsf	3,6
   231  0229  161B               	bsf	27,4
   232  022A  159B               	bsf	27,3
   233  022B  2A2F               	goto	L44
   234                           ;main.c: 277: break;
   235  022C                     l47
   236                           ;main.c: 278: case 0:
   237                           ;main.c: 279: SEG19COM0 = SEG20COM0 = SEG20COM1
      +                           = SEG20COM2 = SEG19COM1 = SEG19COM3 = 1;
   238  022C  1703               	bsf	3,6

⌨️ 快捷键说明

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