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

📄 key.lst

📁 PIC串口程序  可以帮助你编写串口程序  里面还有我自己做的协议 很方便
💻 LST
📖 第 1 页 / 共 3 页
字号:
   290  06EA  0F76               	incfsz	btemp+6,w
   291  06EB  02FA               	subwf	btemp+10
   292  06EC  0873               	movf	btemp+3,w
   293  06ED  00FB               	movwf	btemp+11
   294  06EE  0877               	movf	btemp+7,w
   295  06EF  1C03               	btfss	3,0
   296  06F0  0F77               	incfsz	btemp+7,w
   297  06F1  02FB               	subwf	btemp+11
   298  06F2  0878               	movf	btemp+8,w
   299  06F3  00D5               	movwf	?a_checkKeyRepeat+9
   300  06F4  0879               	movf	btemp+9,w
   301  06F5  00D6               	movwf	?a_checkKeyRepeat+10
   302  06F6  087A               	movf	btemp+10,w
   303  06F7  00D7               	movwf	?a_checkKeyRepeat+11
   304  06F8  087B               	movf	btemp+11,w
   305  06F9  00D8               	movwf	?a_checkKeyRepeat+12
   306                           ;key.c: 60: if ((time%tRepeat)==0)
   307  06FA  084D               	movf	?a_checkKeyRepeat+1,w
   308  06FB  00F4               	movwf	btemp+4
   309  06FC  084E               	movf	?a_checkKeyRepeat+2,w
   310  06FD  00F5               	movwf	btemp+5
   311  06FE  01F6               	clrf	btemp+6
   312  06FF  01F7               	clrf	btemp+7
   313  0700  0855               	movf	?a_checkKeyRepeat+9,w
   314  0701  00F0               	movwf	btemp
   315  0702  0856               	movf	?a_checkKeyRepeat+10,w
   316  0703  00F1               	movwf	btemp+1
   317  0704  0857               	movf	?a_checkKeyRepeat+11,w
   318  0705  00F2               	movwf	btemp+2
   319  0706  0858               	movf	?a_checkKeyRepeat+12,w
   320  0707  00F3               	movwf	btemp+3
   321  0708  118A  2775  118A   	fcall	llmod
   322  070B  0877               	movf	btemp+7,w
   323  070C  0476               	iorwf	btemp+6,w
   324  070D  0475               	iorwf	btemp+5,w
   325  070E  0474               	iorwf	btemp+4,w
   326  070F  1D03               	btfss	3,2
   327  0710  2F3A               	goto	l21
   328                           ;key.c: 61: rd=1; }
   329  0711  01CC               	clrf	?a_checkKeyRepeat
   330  0712  0ACC               	incf	?a_checkKeyRepeat
   331                           ;key.c: 62: else
   332  0713  2F3A               	goto	l21
   333  0714                     l19
   334                           ;key.c: 63: { time=time-tStart;
   335  0714  0851               	movf	?a_checkKeyRepeat+5,w
   336  0715  02D5               	subwf	?a_checkKeyRepeat+9
   337  0716  0852               	movf	?a_checkKeyRepeat+6,w
   338  0717  1C03               	btfss	3,0
   339  0718  0F52               	incfsz	?a_checkKeyRepeat+6,w
   340  0719  02D6               	subwf	?a_checkKeyRepeat+10
   341  071A  0853               	movf	?a_checkKeyRepeat+7,w
   342  071B  1C03               	btfss	3,0
   343  071C  0F53               	incfsz	?a_checkKeyRepeat+7,w
   344  071D  02D7               	subwf	?a_checkKeyRepeat+11
   345  071E  0854               	movf	?a_checkKeyRepeat+8,w
   346  071F  1C03               	btfss	3,0
   347  0720  0A54               	incf	?a_checkKeyRepeat+8,w
   348  0721  02D8               	subwf	?a_checkKeyRepeat+12
   349                           ;key.c: 64: if (time>=tDelay)
   350  0722  0850               	movf	?a_checkKeyRepeat+4,w
   351  0723  00F1               	movwf	btemp+1
   352  0724  084F               	movf	?a_checkKeyRepeat+3,w
   353  0725  00F0               	movwf	btemp
   354  0726  01F2               	clrf	btemp+2
   355  0727  01F3               	clrf	btemp+3
   356  0728  0873               	movf	btemp+3,w
   357  0729  0258               	subwf	?a_checkKeyRepeat+12,w
   358  072A  1D03               	btfss	3,2
   359  072B  2F36               	goto	u85
   360  072C  0872               	movf	btemp+2,w
   361  072D  0257               	subwf	?a_checkKeyRepeat+11,w
   362  072E  1D03               	btfss	3,2
   363  072F  2F36               	goto	u85
   364  0730  0871               	movf	btemp+1,w
   365  0731  0256               	subwf	?a_checkKeyRepeat+10,w
   366  0732  1D03               	btfss	3,2
   367  0733  2F36               	goto	u85
   368  0734  0870               	movf	btemp,w
   369  0735  0255               	subwf	?a_checkKeyRepeat+9,w
   370  0736                     u85
   371  0736  1C03               	btfss	3,0
   372  0737  2F3A               	goto	l21
   373                           ;key.c: 65: { keyCtlBlock.repeat=1;}
   374  0738  01B7               	clrf	_keyCtlBlock+13
   375  0739  0AB7               	incf	_keyCtlBlock+13
   376                           ;key.c: 66: }
   377  073A                     l21
   378                           ;key.c: 67: return(rd);
   379  073A  084C               	movf	?a_checkKeyRepeat,w
   380                           ;key.c: 68: }
   381  073B  0008               	return
   382                           ;key.c: 72: void userKeyScan(void)
   383                           ;key.c: 73: { extern const TYPE_KEY_REPEAT_CTL 
      +                          KEY_REPEAT_CTL[5];
   384  073C                     _userKeyScan
   385                           ;	_input assigned to ?a_userKeyScan+0
   386  0000                     _userKeyScan$input	set	?a_userKeyScan
   387                           ;key.c: 74: unsigned char input;
   388  073C  2664               	fcall	_readKeyInput
   389  073D  00CB               	movwf	?a_userKeyScan
   390                           ;key.c: 76: if (input!=keyCtlBlock.input)
   391  073E  0631               	xorwf	_keyCtlBlock+7,w
   392  073F  1903               	btfsc	3,2
   393  0740  2F45               	goto	l24
   394                           ;key.c: 77: { keyCtlBlock.input=input;
   395  0741  084B               	movf	?a_userKeyScan,w
   396  0742  00B1               	movwf	_keyCtlBlock+7
   397                           ;key.c: 78: keyCtlBlock.iDelay=0; }
   398  0743  01B2               	clrf	_keyCtlBlock+8
   399                           ;key.c: 79: else if (keyCtlBlock.iDelay <5)
   400  0744  0008               	return
   401  0745                     l24
   402  0745  3005               	movlw	5
   403  0746  0232               	subwf	_keyCtlBlock+8,w
   404  0747  1803               	btfsc	3,0
   405  0748  2F4B               	goto	l26
   406                           ;key.c: 80: keyCtlBlock.iDelay+=1;
   407  0749  0AB2               	incf	_keyCtlBlock+8
   408                           ;key.c: 81: else
   409  074A  0008               	return
   410  074B                     l26
   411                           ;key.c: 82: { if (keyCtlBlock.value ==keyCtlBlo
      +                          ck.input)
   412  074B  0830               	movf	_keyCtlBlock+6,w
   413  074C  0631               	xorwf	_keyCtlBlock+7,w
   414  074D  1D03               	btfss	3,2
   415  074E  2F59               	goto	l28
   416                           ;key.c: 83: { if (keyCtlBlock.input!=0)
   417  074F  08B1               	movf	_keyCtlBlock+7
   418  0750  1903               	btfsc	3,2
   419  0751  0008               	return
   420                           ;key.c: 84: { if (checkKeyRepeat())
   421  0752  269A               	fcall	_checkKeyRepeat
   422  0753  3800               	iorlw	0
   423  0754  1903               	btfsc	3,2
   424  0755  0008               	return
   425                           ;key.c: 85: keyCtlBlock.full=1;
   426  0756  01AF               	clrf	_keyCtlBlock+5
   427  0757  0AAF               	incf	_keyCtlBlock+5
   428                           ;key.c: 87: }
   429                           ;key.c: 88: }
   430                           ;key.c: 89: else
   431  0758  0008               	return
   432  0759                     l28
   433                           ;key.c: 90: { saveKeyCtlTime();
   434  0759  263A               	fcall	_saveKeyCtlTime
   435                           ;key.c: 91: keyCtlBlock.repeat=0;
   436  075A  01B7               	clrf	_keyCtlBlock+13
   437                           ;key.c: 92: keyCtlBlock.full =1;
   438  075B  01AF               	clrf	_keyCtlBlock+5
   439  075C  0AAF               	incf	_keyCtlBlock+5
   440                           ;key.c: 93: keyCtlBlock.value =keyCtlBlock.inpu
      +                          t;
   441  075D  0831               	movf	_keyCtlBlock+7,w
   442  075E  00B0               	movwf	_keyCtlBlock+6
   443                           ;key.c: 94: keyCtlBlock.pRepeatCtl=&KEY_REPEAT_
      +                          CTL[keyCtlBlock.value];
   444  075F  3005               	movlw	5
   445  0760  00F2               	movwf	btemp+2
   446  0761  01F3               	clrf	btemp+3
   447  0762  0830               	movf	_keyCtlBlock+6,w
   448  0763  00F0               	movwf	btemp
   449  0764  01F1               	clrf	btemp+1
   450  0765  118A  226F  118A   	fcall	lwmul
   451  0768  3055               	movlw	low _KEY_REPEAT_CTL
   452  0769  00F0               	movwf	btemp
   453  076A  3000               	movlw	high _KEY_REPEAT_CTL
   454  076B  00F1               	movwf	btemp+1
   455  076C  0874               	movf	btemp+4,w
   456  076D  07F0               	addwf	btemp
   457  076E  1803               	btfsc	3,0
   458  076F  0AF1               	incf	btemp+1
   459  0770  0875               	movf	btemp+5,w
   460  0771  07F1               	addwf	btemp+1
   461  0772  0870               	movf	btemp,w
   462  0773  00B8               	movwf	_keyCtlBlock+14
   463                           ;key.c: 95: }
   464                           ;key.c: 96: }
   465                           ;key.c: 97: }
   466  0774  0008               	return
   467                           
   468                           	psect	text5
   469                           ;key.c: 100: unsigned char checkKeyEvent(void)
   470                           ;key.c: 101: {
   471  025B                     _checkKeyEvent
   472                           ;	_event assigned to ?a_checkKeyEvent+0
   473  0000                     _checkKeyEvent$event	set	?a_checkKeyEvent
   474                           ;key.c: 102: unsigned char event;
   475  025B  30FF               	movlw	-1
   476  025C  0183               	clrf	3	;select bank 0
   477  025D  00C7               	movwf	?a_checkKeyEvent
   478                           ;key.c: 104: if (keyCtlBlock.full==1)
   479  025E  0B2F               	decfsz	_keyCtlBlock+5,w
   480  025F  2A6D               	goto	l33
   481                           ;key.c: 105: { if (keyCtlBlock.value ==0)
   482  0260  08B0               	movf	_keyCtlBlock+6
   483  0261  1D03               	btfss	3,2
   484  0262  2A66               	goto	l34
   485                           ;key.c: 106: { keyCtlBlock.full=0;
   486  0263  01AF               	clrf	_keyCtlBlock+5
   487                           ;key.c: 107: event =2; }
   488  0264  3002               	movlw	2
   489  0265  2A69               	goto	L4
   490                           ;key.c: 108: else
   491  0266                     l34
   492                           ;key.c: 109: { if (keyCtlBlock.repeat==1)
   493  0266  0B37               	decfsz	_keyCtlBlock+13,w
   494  0267  2A6B               	goto	l36
   495                           ;key.c: 110: event =3;
   496  0268  3003               	movlw	3
   497  0269                     L4
   498  0269  00C7               	movwf	?a_checkKeyEvent
   499                           ;key.c: 111: else
   500  026A  2A6D               	goto	l33
   501  026B                     l36
   502                           ;key.c: 112: event =1; }
   503  026B  01C7               	clrf	?a_checkKeyEvent
   504  026C  0AC7               	incf	?a_checkKeyEvent
   505  026D                     l33
   506                           ;key.c: 113: }
   507  026D  0847               	movf	?a_checkKeyEvent,w
   508                           ;key.c: 115: }
   509  026E  0008               	return
   510                           
   511                           	psect	text6
   512  02B5                     _checkKeyCloseTime
   513                           ;	_time assigned to ?a_checkKeyCloseTime+0
   514  0000                     _checkKeyCloseTime$time	set	?a_checkKeyCloseTim
      +                          e
   515                           ;key.c: 119: time=loadSystemTime(6);
   516  02B5  3006               	movlw	6
   517  02B6  118A  22EF  118A   	fcall	_loadSystemTime
   518  02B9  0870               	movf	btemp,w
   519  02BA  00C2               	movwf	?a_checkKeyCloseTime
   520  02BB  0871               	movf	btemp+1,w
   521  02BC  00C3               	movwf	?a_checkKeyCloseTime+1
   522  02BD  0872               	movf	btemp+2,w
   523  02BE  00C4               	movwf	?a_checkKeyCloseTime+2
   524  02BF  0873               	movf	btemp+3,w
   525  02C0  00C5               	movwf	?a_checkKeyCloseTime+3
   526                           ;key.c: 120: if (keyCtlBlock.repeat==1)
   527  02C1  0B37               	decfsz	_keyCtlBlock+13,w
   528  02C2  3400               	retlw	0
   529                           ;key.c: 121: { if (time-keyCtlBlock.sTime>=t)
   530  02C3  0843               	movf	?_checkKeyCloseTime+1,w
   531  02C4  00F1               	movwf	btemp+1
   532  02C5  0842               	movf	?_checkKeyCloseTime,w
   533  02C6  00F0               	movwf	btemp
   534  02C7  01F2               	clrf	btemp+2
   535  02C8  01F3               	clrf	btemp+3
   536  02C9  0833               	movf	_keyCtlBlock+9,w
   537  02CA  0242               	subwf	?a_checkKeyCloseTime,w
   538  02CB  00F4               	movwf	btemp+4
   539  02CC  0843               	movf	?a_checkKeyCloseTime+1,w
   540  02CD  00F5               	movwf	btemp+5
   541  02CE  0834               	movf	_keyCtlBlock+10,w
   542  02CF  1C03               	btfss	3,0
   543  02D0  0F34               	incfsz	_keyCtlBlock+10,w
   544  02D1  02F5               	subwf	btemp+5
   545  02D2  0844               	movf	?a_checkKeyCloseTime+2,w
   546  02D3  00F6               	movwf	btemp+6
   547  02D4  0835               	movf	_keyCtlBlock+11,w
   548  02D5  1C03               	btfss	3,0
   549  02D6  0F35               	incfsz	_keyCtlBlock+11,w
   550  02D7  02F6               	subwf	btemp+6
   551  02D8  0845               	movf	?a_checkKeyCloseTime+3,w
   552  02D9  00F7               	movwf	btemp+7
   553  02DA  0836               	movf	_keyCtlBlock+12,w
   554  02DB  1C03               	btfss	3,0
   555  02DC  0F36               	incfsz	_keyCtlBlock+12,w
   556  02DD  02F7               	subwf	btemp+7
   557  02DE  0873               	movf	btemp+3,w
   558  02DF  0277               	subwf	btemp+7,w
   559  02E0  1D03               	btfss	3,2
   560  02E1  2AEC               	goto	u185
   561  02E2  0872               	movf	btemp+2,w
   562  02E3  0276               	subwf	btemp+6,w
   563  02E4  1D03               	btfss	3,2
   564  02E5  2AEC               	goto	u185
   565  02E6  0871               	movf	btemp+1,w
   566  02E7  0275               	subwf	btemp+5,w
   567  02E8  1D03               	btfss	3,2
   568  02E9  2AEC               	goto	u185
   569  02EA  0870               	movf	btemp,w
   570  02EB  0274               	subwf	btemp+4,w
   571  02EC                     u185
   572  02EC  1803               	btfsc	3,0
   573                           ;key.c: 122: return(1); }
   574  02ED  3401               	retlw	1
   575                           ;key.c: 123: return (0);
   576  02EE  3400               	retlw	0
   577                           
   578                           	psect	text7
   579                           ;key.c: 126: unsigned char readKeyBuff(void)
   580                           ;key.c: 127: { keyCtlBlock.full =0;
   581  023C                     _readKeyBuff
   582  023C  0183               	clrf	3	;select bank 0
   583  023D  01AF               	clrf	_keyCtlBlock+5
   584                           ;key.c: 128: return(keyCtlBlock.value);

⌨️ 快捷键说明

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