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

📄 mtouch16pic16f883.lst

📁 用pic16f883做的16个键的触摸按键(MTOUCH)实现电容式触摸按键的代码。有mtouch16.c构成
💻 LST
📖 第 1 页 / 共 5 页
字号:


HI-TECH Software PICC Macro Assembler V9.60PL3
                                                      Mon Jan 19 15:11:30 2009


     1                           	processor	16F883
     2                           clrc	macro
     3                           	bcf	status,0
     4  0000                     	endm
     5                           clrz	macro
     6                           	bcf	status,2
     7  0000                     	endm
     8                           setc	macro
     9                           	bsf	status,0
    10  0000                     	endm
    11                           setz	macro
    12                           	bsf	status,2
    13  0000                     	endm
    14                           skipc	macro
    15                           	btfss	status,0
    16  0000                     	endm
    17                           skipz	macro
    18                           	btfss	status,2
    19  0000                     	endm
    20                           skipnc	macro
    21                           	btfsc	status,0
    22  0000                     	endm
    23                           skipnz	macro
    24                           	btfsc	status,2
    25  0000                     	endm
    26  0000                     indf	equ	0
    27  0000                     indf0	equ	0
    28  0000                     pc	equ	2
    29  0000                     pcl	equ	2
    30  0000                     status	equ	3
    31  0000                     fsr	equ	4
    32  0000                     fsr0	equ	4
    33  0000                     c	equ	1
    34  0000                     z	equ	0
    35  0000                     pclath	equ	10
    36                           # 11 "F:\pro\mtouch16\mtouch16.c"
    37                           	psect config,class=CONFIG,delta=2 ;#
    38                           # 11 "F:\pro\mtouch16\mtouch16.c"
    39  2007  20C4               	dw 0x3FFC & 0x3FF7 & 0x3FEF & 0x3FDF & 0x3FFF 
                                 & 0x3CFF & 0x2FFF & 0x3BFF & 0x37FF ;#
    40                           global __tempreg
    41  0000                     __tempreg	set	95
    42                           global __Lrbss_0, __Hrbss_0
    43  0000                     __Lrbss_0 set 0x3F
    44  0000                     __Hrbss_0 set 0x5F
    45                           global __Lcommon, __Hcommon
    46  0000                     __Lcommon set 0x73
    47  0000                     __Hcommon set 0x7E
    48                           global __Lrbss_1, __Hrbss_1
    49  0000                     __Lrbss_1 set 0xB0
    50  0000                     __Hrbss_1 set 0xF0
    51                           global __Lrbss_2, __Hrbss_2
    52  0000                     __Lrbss_2 set 0x150
    53  0000                     __Hrbss_2 set 0x170
    54                           global __Lrdata_0, __Hrdata_0
    55  0000                     __Lrdata_0	equ	0x0
    56  0000                     __Hrdata_0	equ	0x1
    57                           global __Lramdata, __Lrdata_0, __Hramdata, __Hr
                                 data_0
    58  0000                     __Lramdata	set	__Lrdata_0
    59  0000                     __Hramdata	set	__Hrdata_0
    60                           	GLOBAL	__databank
    61  0000                     __databank	EQU	0
    62                           ;Data sizes: Strings 0, constant 4, data 0, bss
                                  0, persistent 0 stack 16
    63                           	global	_main
    64                           	global	??_main
    65                           	global	?_main
    66                           
    67                           ; *************** function _main **************
                                 ***
    68                           ; Defined at:
    69                           ;		line 34 in file "F:\pro\mtouch16\mtouch16.c"
    70                           ; Parameters:
    71                           ;		None
    72                           ; Auto variables:
    73                           ;		None
    74                           ; Return value:
    75                           ;		type: void 
    76                           ;		size: 0
    77                           ; Registers used:
    78                           ;		wreg, fsr, status,2, status,0, pclath, cstac
                                 k
    79                           ; Tracked objects:
    80                           ;		On entry : BFF/0
    81                           ;		On exit  : 0/0
    82                           ;		Unchanged: 0/0
    83                           ; Data sizes:
    84                           ;		Autos:    0
    85                           ;		Params:   0
    86                           ;		Temp:     0
    87                           ;		Total:    0
    88                           ; This function calls:
    89                           ;		_Abit_init
    90                           ; This function is called by:
    91                           ;		Startup code after reset
    92                           ; This function uses a non-reentrant model
    93                           ; 
    94                           	psect	maintext,class=CODE,delta=2
    95                           	file	"F:\pro\mtouch16\mtouch16.c"
    96                           	line	34
    97                           	psect	maintext
    98                           ;mtouch16.c: 11: asm("\tpsect config,class=CONF
                                 IG,delta=2"); asm("\tdw ""0x3FFC & 0x3FF7 & 0x3
                                 FEF & 0x3FDF & 0x3FFF & 0x3CFF & 0x2FFF & 0x3BF
                                 F & 0x37FF");
    99                           ;mtouch16.c: 12: unsigned char AvgIndex;
   100                           ;mtouch16.c: 13: BButtons Buttons;
   101                           ;mtouch16.c: 14: bank2 unsigned int RAW[16];
   102                           ;mtouch16.c: 15: bank2 unsigned int AVERAGE[16]
                                 ;
   103                           ;mtouch16.c: 16: bank3 unsigned int TRIP[16];
   104                           ;mtouch16.c: 17: bank3 unsigned int GUARD[16];
   105                           ;mtouch16.c: 18: unsigned char FIRST;
   106                           ;mtouch16.c: 19: unsigned char INDEX;
   107                           ;mtouch16.c: 20: unsigned int VALUE;
   108                           	
   109  0034                     _main:	
   110                           ; Regs used in _main: [wreg+fsr+status,2+status
                                 ,0+pclath+cstack]
   111                           	line	35
   112                           ;mtouch16.c: 35: Abit_init();
   113  0034  118A  259A  118A   	fcall	_Abit_init
   114                           	line	36
   115                           ;mtouch16.c: 36: RC1=1;
   116  0037  1403               	setc
   117  0038  1803               	btfsc	status,0
   118  0039  283D               	goto	u3031
   119  003A  283F               	goto	u3030
   120  003B  1283               	bcf	status, 5	;RP0=0, select bank0
   121  003C  1303               	bcf	status, 6	;RP2=0, select bank0
   122                           	
   123                           	
   124  003D                     u3031:
   125  003D  1487               	bsf	(57/8),(57)&7
   126  003E  2840               	goto	u3044
   127  003F                     u3030:
   128  003F  1087               	bcf	(57/8),(57)&7
   129  0040                     u3044:
   130                           
   131                           	line	37
   132                           ;mtouch16.c: 37: RC2=1;
   133  0040  1403               	setc
   134  0041  1803               	btfsc	status,0
   135  0042  2846               	goto	u3051
   136  0043  2848               	goto	u3050
   137  0044  1283               	bcf	status, 5	;RP0=0, select bank0
   138  0045  1303               	bcf	status, 6	;RP2=0, select bank0
   139                           	
   140                           	
   141  0046                     u3051:
   142  0046  1507               	bsf	(58/8),(58)&7
   143  0047  2849               	goto	u3064
   144  0048                     u3050:
   145  0048  1107               	bcf	(58/8),(58)&7
   146  0049                     u3064:
   147                           
   148                           	line	38
   149                           ;mtouch16.c: 38: RA6=1;
   150  0049  1403               	setc
   151  004A  1803               	btfsc	status,0
   152  004B  284F               	goto	u3071
   153  004C  2851               	goto	u3070
   154  004D  1283               	bcf	status, 5	;RP0=0, select bank0
   155  004E  1303               	bcf	status, 6	;RP2=0, select bank0
   156                           	
   157                           	
   158  004F                     u3071:
   159  004F  1705               	bsf	(46/8),(46)&7
   160  0050  2852               	goto	u3084
   161  0051                     u3070:
   162  0051  1305               	bcf	(46/8),(46)&7
   163  0052                     u3084:
   164                           
   165                           	line	39
   166                           ;mtouch16.c: 39: RA7=1;
   167  0052  1403               	setc
   168  0053  1803               	btfsc	status,0
   169  0054  2858               	goto	u3091
   170  0055  285A               	goto	u3090
   171  0056  1283               	bcf	status, 5	;RP0=0, select bank0
   172  0057  1303               	bcf	status, 6	;RP2=0, select bank0
   173                           	
   174                           	
   175  0058                     u3091:
   176  0058  1785               	bsf	(47/8),(47)&7
   177  0059  285B               	goto	u3104
   178  005A                     u3090:
   179  005A  1385               	bcf	(47/8),(47)&7
   180  005B                     u3104:
   181                           
   182                           	line	40
   183                           ;mtouch16.c: 40: RC5=1;
   184  005B  1403               	setc
   185  005C  1803               	btfsc	status,0
   186  005D  2861               	goto	u3111
   187  005E  2863               	goto	u3110
   188  005F  1283               	bcf	status, 5	;RP0=0, select bank0
   189  0060  1303               	bcf	status, 6	;RP2=0, select bank0
   190                           	
   191                           	
   192  0061                     u3111:
   193  0061  1687               	bsf	(61/8),(61)&7
   194  0062  2864               	goto	u3124
   195  0063                     u3110:
   196  0063  1287               	bcf	(61/8),(61)&7
   197  0064                     u3124:
   198                           
   199                           	line	41
   200                           ;mtouch16.c: 41: while(1)
   201                           	
   202  0064                     l4:	
   203                           	line	43
   204                           ;mtouch16.c: 42: {
   205                           ;mtouch16.c: 43: RC2=(Buttons.BTN0==1) ? 0 :1;
   206  0064  1283               	bcf	status, 5	;RP0=0, select bank0
   207  0065  1303               	bcf	status, 6	;RP2=0, select bank0
   208                           	
   209  0066  1C75               	btfss	(117),0
   210  0067  2869               	goto	u3131
   211  0068  286B               	goto	u3130
   212                           	
   213                           	
   214  0069                     u3131:
   215  0069  1507               	bsf	(58/8),(58)&7
   216  006A  286C               	goto	u3144
   217  006B                     u3130:
   218  006B  1107               	bcf	(58/8),(58)&7
   219  006C                     u3144:
   220                           
   221                           	line	44
   222                           ;mtouch16.c: 44: RC5=(Buttons.BTN0==1) ? 0 :1;
   223  006C  1283               	bcf	status, 5	;RP0=0, select bank0
   224  006D  1303               	bcf	status, 6	;RP2=0, select bank0
   225                           	
   226  006E  1C75               	btfss	(117),0
   227  006F  2871               	goto	u3151
   228  0070  2873               	goto	u3150
   229                           	
   230                           	
   231  0071                     u3151:
   232  0071  1687               	bsf	(61/8),(61)&7
   233  0072  2874               	goto	u3164
   234  0073                     u3150:
   235  0073  1287               	bcf	(61/8),(61)&7
   236  0074                     u3164:
   237                           
   238                           	line	45
   239                           ;mtouch16.c: 45: RC2=(Buttons.BTN1==1) ? 0 :1;
   240  0074  1283               	bcf	status, 5	;RP0=0, select bank0

⌨️ 快捷键说明

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