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

📄 picc_keyboard.lst

📁 PIC 单片机 键盘扫描 PROTEUS 防真通过测试适合初学者
💻 LST
📖 第 1 页 / 共 3 页
字号:
   244  0747  26A2               	fcall	_delay
   245  0748  3099               	movlw	-103
   246  0749  0088               	movwf	8	;volatile
   247  074A  301F               	movlw	31
   248  074B  0085               	movwf	5	;volatile
   249  074C  2EA2               	ljmp	_delay
   250  074D                     l33
   251                           ;PICC_Keyboard.c: 141: case 0x7e:
   252                           ;PICC_Keyboard.c: 142: PORTD=0xa4;PORTA=0X2F;de
      +                          lay();PORTD=0x92;PORTA=0X1F;delay();break;
   253  074D  30A4               	movlw	-92
   254  074E  0088               	movwf	8	;volatile
   255  074F  302F               	movlw	47
   256  0750  0085               	movwf	5	;volatile
   257  0751  26A2               	fcall	_delay
   258  0752  3092               	movlw	-110
   259  0753  0088               	movwf	8	;volatile
   260  0754  301F               	movlw	31
   261  0755  0085               	movwf	5	;volatile
   262  0756  2EA2               	ljmp	_delay
   263  0757                     l30004
   264  0757  0872               	movf	btemp+2,w
   265  0758  3A77               	xorlw	119
   266  0759  1903               	btfsc	3,2
   267  075A  2F2F               	goto	l30
   268  075B  3A0C               	xorlw	12
   269  075C  1903               	btfsc	3,2
   270  075D  2F39               	goto	l31
   271  075E  3A06               	xorlw	6
   272  075F  1903               	btfsc	3,2
   273  0760  2F43               	goto	l32
   274  0761  3A03               	xorlw	3
   275  0762  1903               	btfsc	3,2
   276  0763  2F4D               	goto	l33
   277  0764  3AC9               	xorlw	201
   278  0765  1903               	btfsc	3,2
   279  0766  2F07               	goto	l26
   280  0767  3A0C               	xorlw	12
   281  0768  1903               	btfsc	3,2
   282  0769  2F11               	goto	l27
   283  076A  3A06               	xorlw	6
   284  076B  1903               	btfsc	3,2
   285  076C  2F1B               	goto	l28
   286  076D  3A03               	xorlw	3
   287  076E  1903               	btfsc	3,2
   288  076F  2F25               	goto	l29
   289  0770  3A69               	xorlw	105
   290  0771  1903               	btfsc	3,2
   291  0772  2EDF               	goto	l22
   292  0773  3A0C               	xorlw	12
   293  0774  1903               	btfsc	3,2
   294  0775  2EE9               	goto	l23
   295  0776  3A06               	xorlw	6
   296  0777  1903               	btfsc	3,2
   297  0778  2EF3               	goto	l24
   298  0779  3A03               	xorlw	3
   299  077A  1903               	btfsc	3,2
   300  077B  2EFD               	goto	l25
   301  077C  3A39               	xorlw	57
   302  077D  1903               	btfsc	3,2
   303  077E  2EB6               	goto	l18
   304  077F  3A0C               	xorlw	12
   305  0780  1903               	btfsc	3,2
   306  0781  2EC1               	goto	l19
   307  0782  3A06               	xorlw	6
   308  0783  1903               	btfsc	3,2
   309  0784  2ECB               	goto	l20
   310  0785  3A03               	xorlw	3
   311  0786  1903               	btfsc	3,2
   312  0787  2ED5               	goto	l21
   313  0788  3A11               	xorlw	17
   314  0789  1D03               	btfss	3,2
   315  078A  0008               	return
   316                           ;PICC_Keyboard.c: 143: case 0xff:
   317                           ;PICC_Keyboard.c: 144: PORTD=0x8e;PORTA=0X2F;de
      +                          lay(); PORTD=0x8e; PORTA=0X1F; delay();break;
   318  078B  308E               	movlw	-114
   319  078C  0088               	movwf	8	;volatile
   320  078D  302F               	movlw	47
   321  078E  0085               	movwf	5	;volatile
   322  078F  26A2               	fcall	_delay
   323  0790  308E               	movlw	-114
   324  0791  0088               	movwf	8	;volatile
   325  0792  301F               	movlw	31
   326  0793  0085               	movwf	5	;volatile
   327  0794  2EA2               	ljmp	_delay
   328  0795                     l17
   329  0795  1283               	bcf	3,5
   330  0796  1303               	bcf	3,6	;carry unused
   331  0797  0821               	movf	_result+1,w
   332  0798  00F3               	movwf	btemp+3
   333  0799  0820               	movf	_result,w
   334  079A  00F2               	movwf	btemp+2
   335  079B  0873               	movf	btemp+3,w
   336  079C  1D03               	btfss	3,2
   337  079D  0008               	return
   338  079E  2F57               	goto	l30004
   339                           ;PICC_Keyboard.c: 56: void scan()
   340                           ;PICC_Keyboard.c: 57: {
   341  079F                     _scan
   342                           ;PICC_Keyboard.c: 58: PORTC=0XF7;
   343  079F  30F7               	movlw	-9
   344  07A0  0183               	clrf	3	;select bank 0
   345  07A1  0087               	movwf	7	;volatile
   346                           ;PICC_Keyboard.c: 59: asm("nop");
   347  07A2  0000               	nop	;#
   348                           ;PICC_Keyboard.c: 60: result=PORTC;
   349  07A3  0807               	movf	7,w	;volatile
   350  07A4  00A0               	movwf	_result
   351  07A5  01A1               	clrf	_result+1
   352                           ;PICC_Keyboard.c: 61: result=result&0xf0;
   353  07A6  30F0               	movlw	240
   354  07A7  05A0               	andwf	_result
   355  07A8  01A1               	clrf	_result+1
   356                           ;PICC_Keyboard.c: 62: if(result!=0xf0)
   357  07A9  0820               	movf	_result,w
   358  07AA  3AF0               	xorlw	240
   359  07AB  0421               	iorwf	_result+1,w
   360  07AC  1903               	btfsc	3,2
   361  07AD  2FB1               	goto	l7
   362                           ;PICC_Keyboard.c: 63: {
   363  07AE  3007               	movlw	7
   364  07AF  04A0               	iorwf	_result
   365                           ;PICC_Keyboard.c: 65: }
   366  07B0  0008               	return
   367  07B1                     l7
   368                           ;PICC_Keyboard.c: 67: {
   369  07B1  30FB               	movlw	-5
   370  07B2  0087               	movwf	7	;volatile
   371                           ;PICC_Keyboard.c: 69: asm("nop");
   372  07B3  0000               	nop	;#
   373                           ;PICC_Keyboard.c: 70: result=PORTC;
   374  07B4  0807               	movf	7,w	;volatile
   375  07B5  00A0               	movwf	_result
   376  07B6  01A1               	clrf	_result+1
   377                           ;PICC_Keyboard.c: 71: result=result&0xf0;
   378  07B7  30F0               	movlw	240
   379  07B8  05A0               	andwf	_result
   380  07B9  01A1               	clrf	_result+1
   381                           ;PICC_Keyboard.c: 72: if(result!=0xf0)
   382  07BA  0820               	movf	_result,w
   383  07BB  3AF0               	xorlw	240
   384  07BC  0421               	iorwf	_result+1,w
   385  07BD  1903               	btfsc	3,2
   386  07BE  2FC2               	goto	l9
   387                           ;PICC_Keyboard.c: 73: {
   388  07BF  300B               	movlw	11
   389  07C0  04A0               	iorwf	_result
   390                           ;PICC_Keyboard.c: 75: }
   391  07C1  0008               	return
   392  07C2                     l9
   393                           ;PICC_Keyboard.c: 77: {
   394  07C2  30FD               	movlw	-3
   395  07C3  0087               	movwf	7	;volatile
   396                           ;PICC_Keyboard.c: 79: asm("nop");
   397  07C4  0000               	nop	;#
   398                           ;PICC_Keyboard.c: 80: result=PORTC;
   399  07C5  0807               	movf	7,w	;volatile
   400  07C6  00A0               	movwf	_result
   401  07C7  01A1               	clrf	_result+1
   402                           ;PICC_Keyboard.c: 81: result=result&0xf0;
   403  07C8  30F0               	movlw	240
   404  07C9  05A0               	andwf	_result
   405  07CA  01A1               	clrf	_result+1
   406                           ;PICC_Keyboard.c: 82: if(result!=0xf0)
   407  07CB  0820               	movf	_result,w
   408  07CC  3AF0               	xorlw	240
   409  07CD  0421               	iorwf	_result+1,w
   410  07CE  1903               	btfsc	3,2
   411  07CF  2FD3               	goto	l11
   412                           ;PICC_Keyboard.c: 83: {
   413  07D0  300D               	movlw	13
   414  07D1  04A0               	iorwf	_result
   415                           ;PICC_Keyboard.c: 85: }
   416  07D2  0008               	return
   417  07D3                     l11
   418                           ;PICC_Keyboard.c: 87: {
   419  07D3  30FE               	movlw	-2
   420  07D4  0087               	movwf	7	;volatile
   421                           ;PICC_Keyboard.c: 89: asm("nop");
   422  07D5  0000               	nop	;#
   423                           ;PICC_Keyboard.c: 90: result=PORTC;
   424  07D6  0807               	movf	7,w	;volatile
   425  07D7  00A0               	movwf	_result
   426  07D8  01A1               	clrf	_result+1
   427                           ;PICC_Keyboard.c: 91: result=result&0xf0;
   428  07D9  30F0               	movlw	240
   429  07DA  05A0               	andwf	_result
   430  07DB  01A1               	clrf	_result+1
   431                           ;PICC_Keyboard.c: 92: if(result!=0xf0)
   432  07DC  0820               	movf	_result,w
   433  07DD  3AF0               	xorlw	240
   434  07DE  0421               	iorwf	_result+1,w
   435  07DF  1903               	btfsc	3,2
   436  07E0  2FE4               	goto	l13
   437                           ;PICC_Keyboard.c: 93: {
   438  07E1  300E               	movlw	14
   439  07E2  04A0               	iorwf	_result
   440                           ;PICC_Keyboard.c: 95: }
   441  07E3  0008               	return
   442  07E4                     l13
   443                           ;PICC_Keyboard.c: 97: {
   444  07E4  30FF               	movlw	255
   445  07E5  00A0               	movwf	_result
   446  07E6  01A1               	clrf	_result+1
   447                           ;PICC_Keyboard.c: 99: }
   448                           ;PICC_Keyboard.c: 100: }
   449                           ;PICC_Keyboard.c: 101: }
   450                           ;PICC_Keyboard.c: 102: }
   451                           ;PICC_Keyboard.c: 103: }
   452  07E7  0008               	return
   453                           ;PICC_Keyboard.c: 44: void init()
   454                           ;PICC_Keyboard.c: 45: {
   455  07E8                     _init
   456                           ;PICC_Keyboard.c: 46: ADCON1=0X07;
   457  07E8  3007               	movlw	7
   458  07E9  1683               	bsf	3,5
   459  07EA  1303               	bcf	3,6	;carry unused
   460  07EB  009F               	movwf	31	;volatile
   461                           ;PICC_Keyboard.c: 47: TRISA=0X0f;
   462  07EC  300F               	movlw	15
   463  07ED  0085               	movwf	5	;volatile
   464                           ;PICC_Keyboard.c: 48: TRISC=0XF0;
   465  07EE  30F0               	movlw	-16
   466  07EF  0087               	movwf	7	;volatile
   467                           ;PICC_Keyboard.c: 49: TRISD=0X00;
   468  07F0  0188               	clrf	8	;volatile
   469                           ;PICC_Keyboard.c: 50: PORTA=0XFF;
   470  07F1  30FF               	movlw	-1
   471  07F2  1283               	bcf	3,5
   472  07F3  0085               	movwf	5	;volatile
   473                           ;PICC_Keyboard.c: 51: PORTD=0XFF;
   474  07F4  0088               	movwf	8	;volatile
   475                           ;PICC_Keyboard.c: 52: }
   476  07F5  0008               	return
   477  07F6                     _main
   478                           ;PICC_Keyboard.c: 33: init();
   479  07F6  27E8               	fcall	_init
   480  07F7                     l3
   481                           ;PICC_Keyboard.c: 34: while(1)
   482                           ;PICC_Keyboard.c: 35: {
   483  07F7  279F               	fcall	_scan
   484                           ;PICC_Keyboard.c: 38: display(result);
   485  07F8  0820               	movf	_result,w
   486  07F9  00A2               	movwf	?_display
   487  07FA  0821               	movf	_result+1,w
   488  07FB  00A3               	movwf	?_display+1
   489  07FC  26B5  120A  118A   	fcall	_display
   490                           ;PICC_Keyboard.c: 39: }
   491  07FF  2FF7               	goto	l3
   492                           
   493                           	psect	text5
   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                     

⌨️ 快捷键说明

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