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

📄 time.lst

📁 使用Microchip公司16F648实现4*6键盘程序. 在PICC环境下编译通过,包含RS485通讯. 代码完整,可供参考.
💻 LST
📖 第 1 页 / 共 2 页
字号:


HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-90508                            Sat Nov 10 13:01:06 2007

Licensed to: ONE
     1                           	processor	16F648A
     2                           	opt	pw 79
     3                           	psect	__Z90508RS_,global,delta=1
     4                           	psect	text0,local,class=CODE,delta=2
     5                           	psect	text2,local,class=CODE,delta=2
     6                           	psect	text3,local,class=CODE,delta=2
     7                           	psect	rbss_0,global,class=BANK0,space=1,delta=
      +                          1
     8                           	psect	temp,global,ovrld,class=BANK0,space=1,de
      +                          lta=1
     9  0000                     
    10  0000                     
    11  0000                     
    12  0000                     
    13  0000                     
    14  0000                     
    15  0000                     
    16  0000                     
    17  0000                     
    18  0000                     
    19                           
    20                           	psect	__Z90508RS_
    21  0145                     
    22  0145                     
    23                           
    24                           	psect	text0
    25  0C75                     _time0init
    26                           ;time.c: 12: OPTION |= 0b00000111;
    27  0C75  3007               	movlw	7
    28  0C76  1683               	bsf	3,5
    29  0C77  1303               	bcf	3,6	;carry unused
    30  0C78  0481               	iorwf	1
    31                           ;time.c: 13: OPTION &= ~0b00111101;
    32  0C79  30C2               	movlw	-62
    33  0C7A  0581               	andwf	1
    34                           ;time.c: 14: TMR0 = 0x80;
    35  0C7B  3080               	movlw	-128
    36  0C7C  1283               	bcf	3,5
    37  0C7D  0081               	movwf	1	;volatile
    38                           ;time.c: 15: T0IE = 1;
    39  0C7E  168B               	bsf	11,5
    40                           ;time.c: 16: }
    41  0C7F  0008               	return
    42                           
    43                           	psect	text2
    44                           ;time.c: 94: void TimeCntModule(void)
    45                           ;time.c: 95: {
    46  0DEC                     _TimeCntModule
    47                           ;time.c: 96: static int ninemsflag;
    48  0DEC  0183               	clrf	3	;select bank 0
    49  0DED  0AC1               	incf	F465
    50                           ;time.c: 102: if(keyscancou >= 2)
    51  0DEE  3002               	movlw	2
    52  0DEF  0241               	subwf	F465,w
    53  0DF0  1C03               	btfss	3,0
    54  0DF1  2DF4               	goto	l34
    55                           ;time.c: 103: {
    56  0DF2  01C1               	clrf	F465
    57                           ;time.c: 105: MissionFlag.bits.scankey = 1;
    58  0DF3  1425               	bsf	_MissionFlag,0	;volatile
    59  0DF4                     l34
    60                           ;time.c: 106: }
    61  0DF4  0AC2               	incf	F463
    62  0DF5  1903               	btfsc	3,2
    63  0DF6  0AC3               	incf	F463+1
    64                           ;time.c: 109: if(ninemsflag >= 9)
    65  0DF7  0843               	movf	F463+1,w
    66  0DF8  3A80               	xorlw	128
    67  0DF9  00F0               	movwf	btemp
    68  0DFA  3080               	movlw	128
    69  0DFB  0270               	subwf	btemp,w
    70  0DFC  3009               	movlw	9
    71                           ;set	bank bits for (((F463)))
    72  0DFD  1903               	btfsc	3,2
    73  0DFE  0242               	subwf	F463,w
    74  0DFF  1C03               	btfss	3,0
    75  0E00  2E04               	goto	l35
    76                           ;time.c: 110: {
    77  0E01  01C2               	clrf	F463
    78  0E02  01C3               	clrf	F463+1
    79                           ;time.c: 112: MissionFlag.bits.keymanage=1;
    80  0E03  1525               	bsf	_MissionFlag,2	;volatile
    81  0E04                     l35
    82                           ;time.c: 113: }
    83  0E04  1683               	bsf	3,5
    84  0E05  0821               	movf	_receTimeOut^(0+128),w	;volatile
    85  0E06  1903               	btfsc	3,2
    86  0E07  2E12               	goto	l33
    87                           ;time.c: 121: {
    88  0E08  03A1               	decf	_receTimeOut^(0+128)	;volatile
    89                           ;time.c: 123: if(receTimeOut==0)
    90  0E09  0821               	movf	_receTimeOut^(0+128),w	;volatile
    91  0E0A  1D03               	btfss	3,2
    92  0E0B  2E12               	goto	l33
    93                           ;time.c: 124: {
    94  0E0C  01A0               	clrf	_receCount^(0+128)	;volatile
    95                           ;time.c: 127: errorCheckout = 0;
    96  0E0D  1283               	bcf	3,5
    97  0E0E  1020               	bcf	_errorCheckout/(0+8),_errorCheckout& (0+7)
    98                           ;time.c: 129: En_Idlesse();
    99  0E0F  158A  246A  158A   	fcall	_En_Idlesse
   100                           ;time.c: 131: }
   101                           ;time.c: 134: }
   102  0E12                     l33
   103  0E12  1283               	bcf	3,5
   104  0E13  0008               	return
   105  0E14                     _time_mission
   106                           ;time.c: 21: if(timeflag)
   107  0E14  0183               	clrf	3	;select bank 0
   108  0E15  0824               	movf	_timeflag,w	;volatile
   109  0E16  1D03               	btfss	3,2
   110                           ;time.c: 22: {
   111  0E17  01A4               	clrf	_timeflag	;volatile
   112                           ;time.c: 24: }
   113  0E18  1C27               	btfss	_TimeBase,0	;volatile
   114  0E19  2E20               	goto	l18
   115                           ;time.c: 27: {
   116  0E1A  1C2B               	btfss	_TimeShift,0	;volatile
   117  0E1B  2E21               	goto	l20
   118                           ;time.c: 29: {
   119  0E1C  25EC  158A         	fcall	_TimeCntModule
   120                           ;time.c: 31: TimeShift.bits.time1ms = 0;
   121  0E1E  102B               	bcf	_TimeShift,0	;volatile
   122                           ;time.c: 32: }
   123                           ;time.c: 34: else
   124  0E1F  2E21               	goto	l20
   125  0E20                     l18
   126                           ;time.c: 35: {
   127  0E20  142B               	bsf	_TimeShift,0	;volatile
   128  0E21                     l20
   129                           ;time.c: 37: }
   130                           ;time.c: 39: if(TimeBase.bits.time2ms)
   131  0E21  1CA7               	btfss	_TimeBase,1	;volatile
   132  0E22  2E27               	goto	l21
   133                           ;time.c: 40: {
   134  0E23  1CAB               	btfss	_TimeShift,1	;volatile
   135  0E24  2E28               	goto	l23
   136                           ;time.c: 42: {
   137  0E25  10AB               	bcf	_TimeShift,1	;volatile
   138                           ;time.c: 44: }
   139                           ;time.c: 46: else
   140  0E26  2E28               	goto	l23
   141  0E27                     l21
   142                           ;time.c: 47: {
   143  0E27  14AB               	bsf	_TimeShift,1	;volatile
   144  0E28                     l23
   145                           ;time.c: 49: }
   146                           ;time.c: 51: if(TimeBase.bits.time4ms)
   147  0E28  1D27               	btfss	_TimeBase,2	;volatile
   148  0E29  2E30               	goto	l24
   149                           ;time.c: 52: {
   150  0E2A  1D2B               	btfss	_TimeShift,2	;volatile
   151  0E2B  2E31               	goto	l26
   152                           ;time.c: 54: {
   153  0E2C  112B               	bcf	_TimeShift,2	;volatile
   154                           ;time.c: 56: MissionFlag.bits.ledshow = 1;
   155  0E2D  1625               	bsf	_MissionFlag,4	;volatile
   156                           ;time.c: 57: asm("nop");
   157  0E2E  0000               	nop	;#
   158                           ;time.c: 58: }
   159                           ;time.c: 60: else
   160  0E2F  2E31               	goto	l26
   161  0E30                     l24
   162                           ;time.c: 61: {
   163  0E30  152B               	bsf	_TimeShift,2	;volatile
   164  0E31                     l26
   165                           ;time.c: 63: }
   166                           ;time.c: 65: if(TimeBase.bits.time8ms)
   167  0E31  1DA7               	btfss	_TimeBase,3	;volatile
   168  0E32  2E38               	goto	l27
   169                           ;time.c: 66: {
   170  0E33  1DAB               	btfss	_TimeShift,3	;volatile
   171  0E34  2E39               	goto	l29
   172                           ;time.c: 68: {
   173  0E35  11AB               	bcf	_TimeShift,3	;volatile
   174                           ;time.c: 70: MissionFlag.bits.keybitmanage = 1;
   175  0E36  14A5               	bsf	_MissionFlag,1	;volatile
   176                           ;time.c: 71: }
   177                           ;time.c: 73: else
   178  0E37  2E39               	goto	l29
   179  0E38                     l27
   180                           ;time.c: 74: {
   181  0E38  15AB               	bsf	_TimeShift,3	;volatile
   182  0E39                     l29
   183                           ;time.c: 76: }
   184                           ;time.c: 78: if(TimeBase.bits.time64ms)
   185  0E39  1F27               	btfss	_TimeBase,6	;volatile
   186  0E3A  2E40               	goto	l30
   187                           ;time.c: 79: {
   188  0E3B  1F2B               	btfss	_TimeShift,6	;volatile
   189  0E3C  0008               	return
   190                           ;time.c: 81: {
   191  0E3D  15A5               	bsf	_MissionFlag,3	;volatile

⌨️ 快捷键说明

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