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

📄 key.lst

📁 PIC串口程序  可以帮助你编写串口程序  里面还有我自己做的协议 很方便
💻 LST
📖 第 1 页 / 共 3 页
字号:
   298  06F1  0836               	movf	?a_checkKeyRepeat+2,w
   299  06F2  00F5               	movwf	btemp+5
   300  06F3  01F6               	clrf	btemp+6
   301  06F4  01F7               	clrf	btemp+7
   302  06F5  083D               	movf	?a_checkKeyRepeat+9,w
   303  06F6  00F0               	movwf	btemp
   304  06F7  083E               	movf	?a_checkKeyRepeat+10,w
   305  06F8  00F1               	movwf	btemp+1
   306  06F9  083F               	movf	?a_checkKeyRepeat+11,w
   307  06FA  00F2               	movwf	btemp+2
   308  06FB  0840               	movf	?a_checkKeyRepeat+12,w
   309  06FC  00F3               	movwf	btemp+3
   310  06FD  118A  2775  118A   	fcall	llmod
   311  0700  0877               	movf	btemp+7,w
   312  0701  0476               	iorwf	btemp+6,w
   313  0702  0475               	iorwf	btemp+5,w
   314  0703  0474               	iorwf	btemp+4,w
   315  0704  1D03               	btfss	3,2
   316  0705  2F31               	goto	l22
   317                           ;key.c: 61: rd=1; }
   318  0706  01B4               	clrf	?a_checkKeyRepeat
   319  0707  0AB4               	incf	?a_checkKeyRepeat
   320                           ;key.c: 62: else
   321  0708  2F31               	goto	l22
   322  0709                     l20
   323                           ;key.c: 63: { time=time-tStart;
   324  0709  1283               	bcf	3,5
   325  070A  0839               	movf	?a_checkKeyRepeat+5,w
   326  070B  02BD               	subwf	?a_checkKeyRepeat+9
   327  070C  083A               	movf	?a_checkKeyRepeat+6,w
   328  070D  1C03               	btfss	3,0
   329  070E  0F3A               	incfsz	?a_checkKeyRepeat+6,w
   330  070F  02BE               	subwf	?a_checkKeyRepeat+10
   331  0710  083B               	movf	?a_checkKeyRepeat+7,w
   332  0711  1C03               	btfss	3,0
   333  0712  0F3B               	incfsz	?a_checkKeyRepeat+7,w
   334  0713  02BF               	subwf	?a_checkKeyRepeat+11
   335  0714  083C               	movf	?a_checkKeyRepeat+8,w
   336  0715  1C03               	btfss	3,0
   337  0716  0A3C               	incf	?a_checkKeyRepeat+8,w
   338  0717  02C0               	subwf	?a_checkKeyRepeat+12
   339                           ;key.c: 64: if (time>=tDelay)
   340  0718  0838               	movf	?a_checkKeyRepeat+4,w
   341  0719  00F1               	movwf	btemp+1
   342  071A  0837               	movf	?a_checkKeyRepeat+3,w
   343  071B  00F0               	movwf	btemp
   344  071C  01F2               	clrf	btemp+2
   345  071D  01F3               	clrf	btemp+3
   346  071E  0873               	movf	btemp+3,w
   347  071F  0240               	subwf	?a_checkKeyRepeat+12,w
   348  0720  1D03               	btfss	3,2
   349  0721  2F2C               	goto	u85
   350  0722  0872               	movf	btemp+2,w
   351  0723  023F               	subwf	?a_checkKeyRepeat+11,w
   352  0724  1D03               	btfss	3,2
   353  0725  2F2C               	goto	u85
   354  0726  0871               	movf	btemp+1,w
   355  0727  023E               	subwf	?a_checkKeyRepeat+10,w
   356  0728  1D03               	btfss	3,2
   357  0729  2F2C               	goto	u85
   358  072A  0870               	movf	btemp,w
   359  072B  023D               	subwf	?a_checkKeyRepeat+9,w
   360  072C                     u85
   361  072C  1C03               	btfss	3,0
   362  072D  2F31               	goto	l22
   363                           ;key.c: 65: { keyCtlBlock.repeat=1;}
   364  072E  1683               	bsf	3,5
   365  072F  01C2               	clrf	(_keyCtlBlock+13)^(0+128)
   366  0730  0AC2               	incf	(_keyCtlBlock+13)^(0+128)
   367                           ;key.c: 66: }
   368  0731                     l22
   369                           ;key.c: 67: return(rd);
   370  0731  1283               	bcf	3,5
   371  0732  0834               	movf	?a_checkKeyRepeat,w
   372                           ;key.c: 68: }
   373  0733  0008               	return
   374                           ;key.c: 72: void userKeyScan(void)
   375                           ;key.c: 73: { extern const TYPE_KEY_REPEAT_CTL 
      +                          KEY_REPEAT_CTL[5];
   376  0734                     _userKeyScan
   377                           ;	_input assigned to ?a_userKeyScan+0
   378  0000                     _userKeyScan$input	set	?a_userKeyScan
   379                           ;key.c: 74: unsigned char input;
   380  0734  2654               	fcall	_readKeyInput
   381  0735  00B3               	movwf	?a_userKeyScan
   382                           ;key.c: 76: if (input!=keyCtlBlock.input)
   383  0736  1683               	bsf	3,5
   384  0737  083C               	movf	(_keyCtlBlock+7)^(0+128),w
   385  0738  1283               	bcf	3,5
   386  0739  0633               	xorwf	?a_userKeyScan,w
   387  073A  1903               	btfsc	3,2
   388  073B  2F41               	goto	l25
   389                           ;key.c: 77: { keyCtlBlock.input=input;
   390  073C  0833               	movf	?a_userKeyScan,w
   391  073D  1683               	bsf	3,5
   392  073E  00BC               	movwf	(_keyCtlBlock+7)^(0+128)
   393                           ;key.c: 78: keyCtlBlock.iDelay=0; }
   394  073F  01BD               	clrf	(_keyCtlBlock+8)^(0+128)
   395                           ;key.c: 79: else if (keyCtlBlock.iDelay <5)
   396  0740  2F73               	goto	l24
   397  0741                     l25
   398  0741  3005               	movlw	5
   399  0742  1683               	bsf	3,5
   400  0743  023D               	subwf	(_keyCtlBlock+8)^(0+128),w
   401  0744  1803               	btfsc	3,0
   402  0745  2F48               	goto	l27
   403                           ;key.c: 80: keyCtlBlock.iDelay+=1;
   404  0746  0ABD               	incf	(_keyCtlBlock+8)^(0+128)
   405                           ;key.c: 81: else
   406  0747  2F73               	goto	l24
   407  0748                     l27
   408                           ;key.c: 82: { if (keyCtlBlock.value ==keyCtlBlo
      +                          ck.input)
   409  0748  083B               	movf	(_keyCtlBlock+6)^(0+128),w
   410  0749  063C               	xorwf	(_keyCtlBlock+7)^(0+128),w
   411  074A  1D03               	btfss	3,2
   412  074B  2F57               	goto	l29
   413                           ;key.c: 83: { if (keyCtlBlock.input!=0)
   414  074C  08BC               	movf	(_keyCtlBlock+7)^(0+128)
   415  074D  1903               	btfsc	3,2
   416  074E  2F73               	goto	l24
   417                           ;key.c: 84: { if (checkKeyRepeat())
   418  074F  2681               	fcall	_checkKeyRepeat
   419  0750  3800               	iorlw	0
   420  0751  1903               	btfsc	3,2
   421  0752  2F73               	goto	l24
   422                           ;key.c: 85: keyCtlBlock.full=1;
   423  0753  1683               	bsf	3,5
   424  0754  01BA               	clrf	(_keyCtlBlock+5)^(0+128)
   425  0755  0ABA               	incf	(_keyCtlBlock+5)^(0+128)
   426                           ;key.c: 87: }
   427                           ;key.c: 88: }
   428                           ;key.c: 89: else
   429  0756  2F73               	goto	l24
   430  0757                     l29
   431                           ;key.c: 90: { saveKeyCtlTime();
   432  0757  2639               	fcall	_saveKeyCtlTime
   433                           ;key.c: 91: keyCtlBlock.repeat=0;
   434  0758  1683               	bsf	3,5
   435  0759  01C2               	clrf	(_keyCtlBlock+13)^(0+128)
   436                           ;key.c: 92: keyCtlBlock.full =1;
   437  075A  01BA               	clrf	(_keyCtlBlock+5)^(0+128)
   438  075B  0ABA               	incf	(_keyCtlBlock+5)^(0+128)
   439                           ;key.c: 93: keyCtlBlock.value =keyCtlBlock.inpu
      +                          t;
   440  075C  083C               	movf	(_keyCtlBlock+7)^(0+128),w
   441  075D  00BB               	movwf	(_keyCtlBlock+6)^(0+128)
   442                           ;key.c: 94: keyCtlBlock.pRepeatCtl=&KEY_REPEAT_
      +                          CTL[keyCtlBlock.value];
   443  075E  3005               	movlw	5
   444  075F  00F2               	movwf	btemp+2
   445  0760  01F3               	clrf	btemp+3
   446  0761  083B               	movf	(_keyCtlBlock+6)^(0+128),w
   447  0762  00F0               	movwf	btemp
   448  0763  01F1               	clrf	btemp+1
   449  0764  158A  27EB  118A   	fcall	lwmul
   450  0767  30D3               	movlw	low _KEY_REPEAT_CTL
   451  0768  00F0               	movwf	btemp
   452  0769  3000               	movlw	high _KEY_REPEAT_CTL
   453  076A  00F1               	movwf	btemp+1
   454  076B  0874               	movf	btemp+4,w
   455  076C  07F0               	addwf	btemp
   456  076D  1803               	btfsc	3,0
   457  076E  0AF1               	incf	btemp+1
   458  076F  0875               	movf	btemp+5,w
   459  0770  07F1               	addwf	btemp+1
   460  0771  0870               	movf	btemp,w
   461  0772  00C3               	movwf	(_keyCtlBlock+14)^(0+128)
   462                           ;key.c: 95: }
   463                           ;key.c: 96: }
   464                           ;key.c: 97: }
   465  0773                     l24
   466  0773  1283               	bcf	3,5
   467  0774  0008               	return
   468                           
   469                           	psect	text5
   470                           ;key.c: 100: unsigned char checkKeyEvent(void)
   471                           ;key.c: 101: {
   472  00F4                     _checkKeyEvent
   473                           ;	_event assigned to ?a_checkKeyEvent+0
   474  0000                     _checkKeyEvent$event	set	?a_checkKeyEvent
   475                           ;key.c: 102: unsigned char event;
   476  00F4  30FF               	movlw	-1
   477  00F5  0183               	clrf	3	;select bank 0
   478  00F6  00AF               	movwf	?a_checkKeyEvent
   479                           ;key.c: 104: if (keyCtlBlock.full==1)
   480  00F7  1683               	bsf	3,5
   481  00F8  0B3A               	decfsz	(_keyCtlBlock+5)^(0+128),w
   482  00F9  2909               	goto	l34
   483                           ;key.c: 105: { if (keyCtlBlock.value ==0)
   484  00FA  08BB               	movf	(_keyCtlBlock+6)^(0+128)
   485  00FB  1D03               	btfss	3,2
   486  00FC  2900               	goto	l35
   487                           ;key.c: 106: { keyCtlBlock.full=0;
   488  00FD  01BA               	clrf	(_keyCtlBlock+5)^(0+128)
   489                           ;key.c: 107: event =2; }
   490  00FE  3002               	movlw	2
   491  00FF  2903               	goto	L4
   492                           ;key.c: 108: else
   493  0100                     l35
   494                           ;key.c: 109: { if (keyCtlBlock.repeat==1)
   495  0100  0B42               	decfsz	(_keyCtlBlock+13)^(0+128),w
   496  0101  2906               	goto	l37
   497                           ;key.c: 110: event =3;
   498  0102  3003               	movlw	3
   499  0103                     L4
   500  0103  1283               	bcf	3,5
   501  0104  00AF               	movwf	?a_checkKeyEvent
   502                           ;key.c: 111: else
   503  0105  2909               	goto	l34
   504  0106                     l37
   505                           ;key.c: 112: event =1; }
   506  0106  1283               	bcf	3,5
   507  0107  01AF               	clrf	?a_checkKeyEvent
   508  0108  0AAF               	incf	?a_checkKeyEvent
   509  0109                     l34
   510                           ;key.c: 113: }
   511  0109  1283               	bcf	3,5
   512  010A  082F               	movf	?a_checkKeyEvent,w
   513                           ;key.c: 115: }
   514  010B  0008               	return
   515                           
   516                           	psect	text6
   517  0160                     _checkKeyCloseTime
   518                           ;	_time assigned to ?a_checkKeyCloseTime+0
   519  0000                     _checkKeyCloseTime$time	set	?a_checkKeyCloseTim
      +                          e
   520                           ;key.c: 119: time=loadSystemTime(6);
   521  0160  3006               	movlw	6
   522  0161  118A  21A7  118A   	fcall	_loadSystemTime
   523  0164  0870               	movf	btemp,w
   524  0165  00AA               	movwf	?a_checkKeyCloseTime
   525  0166  0871               	movf	btemp+1,w
   526  0167  00AB               	movwf	?a_checkKeyCloseTime+1
   527  0168  0872               	movf	btemp+2,w
   528  0169  00AC               	movwf	?a_checkKeyCloseTime+2
   529  016A  0873               	movf	btemp+3,w
   530  016B  00AD               	movwf	?a_checkKeyCloseTime+3
   531                           ;key.c: 120: if (keyCtlBlock.repeat==1)
   532  016C  1683               	bsf	3,5
   533  016D  0B42               	decfsz	(_keyCtlBlock+13)^(0+128),w
   534  016E  29A4               	goto	l40
   535                           ;key.c: 121: { if (time-keyCtlBlock.sTime>=t)
   536  016F  1283               	bcf	3,5
   537  0170  082B               	movf	?_checkKeyCloseTime+1,w
   538  0171  00F1               	movwf	btemp+1
   539  0172  082A               	movf	?_checkKeyCloseTime,w
   540  0173  00F0               	movwf	btemp
   541  0174  01F2               	clrf	btemp+2
   542  0175  01F3               	clrf	btemp+3
   543  0176  1683               	bsf	3,5
   544  0177  083E               	movf	(_keyCtlBlock+9)^(0+128),w
   545  0178  1283               	bcf	3,5
   546  0179  022A               	subwf	?a_checkKeyCloseTime,w
   547  017A  00F4               	movwf	btemp+4
   548  017B  082B               	movf	?a_checkKeyCloseTime+1,w
   549  017C  00F5               	movwf	btemp+5
   550  017D  1683               	bsf	3,5
   551  017E  083F               	movf	(_keyCtlBlock+10)^(0+128),w
   552  017F  1C03               	btfss	3,0
   553  0180  0F3F               	incfsz	(_keyCtlBlock+10)^(0+128),w
   554  0181  02F5               	subwf	btemp+5
   555  0182  1283               	bcf	3,5
   556  0183  082C               	movf	?a_checkKeyCloseTime+2,w
   557  0184  00F6               	movwf	btemp+6
   558  0185  1683               	bsf	3,5
   559  0186  0840               	movf	(_keyCtlBlock+11)^(0+128),w
   560  0187  1C03               	btfss	3,0
   561  0188  0F40               	incfsz	(_keyCtlBlock+11)^(0+128),w
   562  0189  02F6               	subwf	btemp+6
   563  018A  1283               	bcf	3,5
   564  018B  082D               	movf	?a_checkKeyCloseTime+3,w
   565  018C  00F7               	movwf	btemp+7
   566  018D  1683               	bsf	3,5
   567  018E  0841               	movf	(_keyCtlBlock+12)^(0+128),w
   568  018F  1C03               	btfss	3,0
   569  0190  0F41               	incfsz	(_keyCtlBlock+12)^(0+128),w
   570  0191  02F7               	subwf	btemp+7
   571  0192  0873               	movf	btemp+3,w
   572  0193  0277               	subwf	btemp+7,w
   573  0194  1D03               	btfss	3,2
   574  0195  29A0               	goto	u185
   575  0196  0872               	movf	btemp+2,w
   576  0197  0276               	subwf	btemp+6,w
   577  0198  1D03               	btfss	3,2
   578  0199  29A0               	goto	u185
   579  019A  0871               	movf	btemp+1,w
   580  019B  0275               	subwf	btemp+5,w
   581  019C  1D03               	btfss	3,2
   582  019D  29A0               	goto	u185
   583  019E  0870               	movf	btemp,w
   584  019F  0274               	subwf	btemp+4,w
   585  01A0                     u185
   586  01A0  1C03               	btfss	3,0
   587  01A1  29A4               	goto	l40
   588                           ;key.c: 122: return(1); }
   589  01A2  3001               	movlw	1
   590  01A3  29A5               	goto	l39
   591  01A4                     l40
   592                           ;key.c: 123: return (0);
   593  01A4  3000               	movlw	0
   594                           ;key.c: 124: }
   595  01A5                     l39
   596  01A5  1283               	bcf	3,5
   597  01A6  0008               	return
   598                           
   599                           	psect	text7
   600                           ;key.c: 126: unsigned char readKeyBuff(void)

⌨️ 快捷键说明

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