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

📄 key2d.lst

📁 这是一个PIC单片机的实时操作系统
💻 LST
📖 第 1 页 / 共 3 页
字号:
   268  07D8  0008               	return
   269                           ;KEY2D.C: 145: {
   270  07D9  0824               	movf	_key_bak,w
   271  07DA  00A1               	movwf	_current_key
   272                           ;KEY2D.C: 147: scan_key_state = 0;
   273  07DB  01A8               	clrf	_scan_key_state
   274                           ;KEY2D.C: 148: }
   275                           ;KEY2D.C: 150: break;
   276  07DC  0008               	return
   277  07DD                     l33
   278                           ;KEY2D.C: 151: case 3:
   279                           ;KEY2D.C: 152: if (key == key_bak)
   280  07DD  0823               	movf	_key,w
   281  07DE  0624               	xorwf	_key_bak,w
   282  07DF  1D03               	btfss	3,2
   283  07E0  2FE9               	goto	l34
   284                           ;KEY2D.C: 153: {
   285  07E1  08A7               	movf	_repeat_key_timer
   286  07E2  1D03               	btfss	3,2
   287  07E3  0008               	return
   288                           ;KEY2D.C: 155: {
   289  07E4  3014               	movlw	20
   290  07E5  00A7               	movwf	_repeat_key_timer
   291                           ;KEY2D.C: 157: current_key = repeat_key;
   292  07E6  0826               	movf	_repeat_key,w
   293  07E7  00A1               	movwf	_current_key
   294                           ;KEY2D.C: 158: }
   295  07E8  0008               	return
   296  07E9                     l34
   297                           ;KEY2D.C: 160: {
   298  07E9  01A8               	clrf	_scan_key_state
   299                           ;KEY2D.C: 162: }
   300                           ;KEY2D.C: 163: break;
   301  07EA  0008               	return
   302  07EB                     l37
   303                           ;KEY2D.C: 164: case 4:
   304                           ;KEY2D.C: 165: if (key!= key_bak)
   305  07EB  0823               	movf	_key,w
   306  07EC  0624               	xorwf	_key_bak,w
   307  07ED  1D03               	btfss	3,2
   308                           ;KEY2D.C: 166: {
   309  07EE  01A8               	clrf	_scan_key_state
   310                           ;KEY2D.C: 168: }
   311  07EF  0008               	return
   312  07F0                     l13
   313  07F0  0828               	movf	_scan_key_state,w
   314  07F1  1903               	btfsc	3,2
   315  07F2  2F94               	goto	l14
   316  07F3  3A01               	xorlw	1
   317  07F4  1903               	btfsc	3,2
   318  07F5  2F9F               	goto	l17
   319  07F6  3A03               	xorlw	3
   320  07F7  1903               	btfsc	3,2
   321  07F8  2FAD               	goto	l21
   322  07F9  3A01               	xorlw	1
   323  07FA  1903               	btfsc	3,2
   324  07FB  2FDD               	goto	l33
   325  07FC  3A07               	xorlw	7
   326  07FD  1D03               	btfss	3,2
   327  07FE  0008               	return
   328  07FF  2FEB               	goto	l37
   329                           
   330                           	psect	text3
   331                           ;KEY2D.C: 185: void tmint(void)
   332                           ;KEY2D.C: 186: { T0CS=0;
   333  0719                     _tmint
   334  0719  1683               	bsf	3,5
   335  071A  1303               	bcf	3,6	;carry unused
   336  071B  1281               	bcf	1,5
   337                           ;KEY2D.C: 187: PSA=0;
   338  071C  1181               	bcf	1,3
   339                           ;KEY2D.C: 188: PS2=0;
   340  071D  1101               	bcf	1,2
   341                           ;KEY2D.C: 189: PS1=1;
   342  071E  1481               	bsf	1,1
   343                           ;KEY2D.C: 190: PS0=1;
   344  071F  1401               	bsf	1,0
   345                           ;KEY2D.C: 191: T0IF=0;
   346  0720  110B               	bcf	11,2
   347                           ;KEY2D.C: 192: T0IE=1;
   348  0721  168B               	bsf	11,5
   349                           ;KEY2D.C: 193: }
   350  0722  1283               	bcf	3,5
   351  0723  0008               	return
   352                           ;KEY2D.C: 213: main(void)
   353                           ;KEY2D.C: 214: {
   354  0724                     _main
   355                           ;KEY2D.C: 215: TRISB=0xF8;
   356  0724  30F8               	movlw	-8
   357  0725  1683               	bsf	3,5
   358  0726  1303               	bcf	3,6	;carry unused
   359  0727  0086               	movwf	6	;volatile
   360                           ;KEY2D.C: 219: PORTB=0XFF;
   361  0728  30FF               	movlw	-1
   362  0729  1283               	bcf	3,5
   363  072A  0086               	movwf	6	;volatile
   364                           ;KEY2D.C: 222: PCFG3=0;
   365  072B  1683               	bsf	3,5
   366  072C  119F               	bcf	31,3
   367                           ;KEY2D.C: 223: PCFG2=1;
   368  072D  151F               	bsf	31,2
   369                           ;KEY2D.C: 224: PCFG1=1;
   370  072E  149F               	bsf	31,1
   371                           ;KEY2D.C: 225: PCFG0=1;
   372  072F  141F               	bsf	31,0
   373                           ;KEY2D.C: 226: TRISA=0;
   374  0730  0185               	clrf	5	;volatile
   375                           ;KEY2D.C: 227: PORTA=0;
   376  0731  1283               	bcf	3,5
   377  0732  0185               	clrf	5	;volatile
   378                           ;KEY2D.C: 228: T0CS=0;
   379  0733  1683               	bsf	3,5
   380  0734  1281               	bcf	1,5
   381                           ;KEY2D.C: 229: RA4=0;
   382  0735  1283               	bcf	3,5
   383  0736  1205               	bcf	5,4
   384                           ;KEY2D.C: 230: ledadr=0;
   385  0737  01A5               	clrf	_ledadr
   386                           ;KEY2D.C: 231: tmint();
   387  0738  2719               	fcall	_tmint
   388                           ;KEY2D.C: 232: GIE=1;
   389  0739  178B               	bsf	11,7
   390  073A                     L3
   391                           ;KEY2D.C: 234: asm("nop");
   392  073A  0000               	nop	;#
   393                           ;KEY2D.C: 235: while(1)
   394                           ;KEY2D.C: 236: {
   395  073B  0000               	nop	;#
   396                           ;KEY2D.C: 238: process_panel_key();
   397  073C  120A  118A  2792   	fcall	_process_panel_key
      +       120A  118A         
   398                           ;KEY2D.C: 239: asm("nop");
   399  0741  0000               	nop	;#
   400                           ;KEY2D.C: 240: if(current_key!=0x00)
   401  0742  08A1               	movf	_current_key
   402  0743  1903               	btfsc	3,2
   403  0744  2F49               	goto	l53
   404                           ;KEY2D.C: 241: {
   405  0745  0000               	nop	;#
   406                           ;KEY2D.C: 243: asm("nop");
   407  0746  0000               	nop	;#
   408                           ;KEY2D.C: 244: current_key=0x00;
   409  0747  01A1               	clrf	_current_key
   410                           ;KEY2D.C: 245: scan_key_state = 0;
   411  0748  01A8               	clrf	_scan_key_state
   412  0749                     l53
   413                           ;KEY2D.C: 246: }
   414  0749  0000               	nop	;#
   415  074A  2F3A               	goto	L3
   416                           
   417                           	psect	intcode
   418                           ;KEY2D.C: 194: void interrupt clkint(void)
   419                           ;KEY2D.C: 195: { if(T0IF=1)
   420  000B                     _clkint
   421  000B                     int_func
   422  000B  150B               	bsf	11,2
   423  000C  1D0B               	btfss	11,2
   424  000D  2822               	goto	l43
   425                           ;KEY2D.C: 196: {
   426  000E  30C2               	movlw	-62
   427  000F  1283               	bcf	3,5
   428  0010  1303               	bcf	3,6	;carry unused
   429  0011  0081               	movwf	1	;volatile
   430                           ;KEY2D.C: 198: T0IF=0;
   431  0012  110B               	bcf	11,2
   432                           ;KEY2D.C: 199: ledadr=ledadr+1;
   433  0013  0AA5               	incf	_ledadr
   434                           ;KEY2D.C: 200: if (ledadr==10)
   435  0014  0825               	movf	_ledadr,w
   436  0015  3A0A               	xorlw	10
   437  0016  1D03               	btfss	3,2
   438  0017  2822               	goto	l43
   439                           ;KEY2D.C: 201: {
   440  0018  08A9               	movf	_shake_cancel_timer
   441  0019  1D03               	btfss	3,2
   442                           ;KEY2D.C: 203: shake_cancel_timer--;
   443  001A  03A9               	decf	_shake_cancel_timer
   444                           ;KEY2D.C: 204: if (repeat_key_timer!=0)
   445  001B  08A7               	movf	_repeat_key_timer
   446  001C  1D03               	btfss	3,2
   447                           ;KEY2D.C: 205: repeat_key_timer--;
   448  001D  03A7               	decf	_repeat_key_timer
   449                           ;KEY2D.C: 206: if (complex_key_timer!=0)
   450  001E  08A0               	movf	_complex_key_timer
   451  001F  1D03               	btfss	3,2
   452                           ;KEY2D.C: 207: complex_key_timer--;
   453  0020  03A0               	decf	_complex_key_timer
   454                           ;KEY2D.C: 208: ledadr=0;
   455  0021  01A5               	clrf	_ledadr
   456                           ;KEY2D.C: 209: }
   457                           ;KEY2D.C: 211: }
   458  0022                     l43
   459                           
   460                           	psect	intsave_0
   461  0070                     saved_w
   462  0070                     	ds	1
   463                           
   464                           	psect	intret
   465  0022  082C               	movf	saved_pclath,w
   466  0023  008A               	movwf	10
   467  0024                     int_restore
   468  0024  082B               	movf	saved_status,w
   469  0025  0083               	movwf	3
   470  0026  0EF0               	swapf	saved_w
   471  0027  0E70               	swapf	saved_w,w
   472  0028  0009               	retfie
   473                           
   474                           	psect	intentry
   475  0004                     int_entry
   476  0004  00F0               	movwf	saved_w
   477  0005  0803               	movf	3,w
   478  0006  0183               	clrf	3
   479  0007  00AB               	movwf	saved_status
   480  0008  080A               	movf	10,w
   481  0009  00AC               	movwf	saved_pclath
   482  000A  018A               	clrf	10
   483                           
   484                           	psect	intsave
   485  002B                     saved_status
   486  002B                     	ds	1
   487  002C                     saved_pclath
   488  002C                     	ds	1
   489                           
   490                           	psect	text6
   491  0000                     
   492  0000                     
   493  0000                     
   494  0000                     
   495  0000                     
   496  0000                     
   497  0000                     
   498  0000                     
   499  0000                     
   500  0000                     
   501  0000                     
   502  0000                     
   503  0000                     
   504  0000                     
   505  0000                     
   506  0000                     
   507  0000                     
   508  0000                     
   509  0000                     
   510  0000                     
   511  0000                     
   512  0000                     
   513  0000                     
   514  0000                     
   515  0000                     
   516  0000                     
   517  0000                     
   518  0000                     
   519  0000                     
   520  0000                     
   521  0000                     
   522  0000                     
   523  0000                     
   524  0000                     
   525  0000                     
   526  0000                     
   527  0000                     
   528  0000                     
   529  0000                     
   530  0000                     
   531  0000                     
   532  0000                     
   533  0000                     
   534  0000                     
   535  0000                     
   536  0000                     
   537  0000                     
   538  0000                     
   539  0000                     
   540  0000                     
   541  0000                     
   542  0000                     
   543  0000                     
   544  0000                     

⌨️ 快捷键说明

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