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

📄 picc_keyboard.lst

📁 PIC 单片机 键盘扫描 PROTEUS 防真通过测试适合初学者
💻 LST
📖 第 1 页 / 共 3 页
字号:
   254  072F  0085               	movwf	5	;volatile
   255  0730  3006               	movlw	6
   256  0731  0088               	movwf	8	;volatile
   257  0732  0185               	clrf	5	;volatile
   258  0733  2684               	fcall	_delay
   259  0734  301F               	movlw	31
   260  0735  0085               	movwf	5	;volatile
   261  0736  3006               	movlw	6
   262  0737  0088               	movwf	8	;volatile
   263  0738  0185               	clrf	5	;volatile
   264  0739  2E84               	ljmp	_delay
   265  073A                     l40
   266                           ;PICC_Keyboard.c: 135: case 12:
   267                           ;PICC_Keyboard.c: 136: PORTA=0X2f; PORTD=0x5b;P
      +                          ORTA=0X00;delay();PORTA=0X1f;PORTD=0x06;PORTA=0
      +                          X00;delay();break;
   268  073A  302F               	movlw	47
   269  073B  0085               	movwf	5	;volatile
   270  073C  305B               	movlw	91
   271  073D  0088               	movwf	8	;volatile
   272  073E  0185               	clrf	5	;volatile
   273  073F  2684               	fcall	_delay
   274  0740  301F               	movlw	31
   275  0741  0085               	movwf	5	;volatile
   276  0742  3006               	movlw	6
   277  0743  0088               	movwf	8	;volatile
   278  0744  0185               	clrf	5	;volatile
   279  0745  2E84               	ljmp	_delay
   280  0746                     l41
   281                           ;PICC_Keyboard.c: 137: case 13:
   282                           ;PICC_Keyboard.c: 138: PORTA=0X2f; PORTD=0x4f;P
      +                          ORTA=0X00;delay();PORTA=0X1f;PORTD=0x06;PORTA=0
      +                          X00;delay();break;
   283  0746  302F               	movlw	47
   284  0747  0085               	movwf	5	;volatile
   285  0748  304F               	movlw	79
   286  0749  0088               	movwf	8	;volatile
   287  074A  0185               	clrf	5	;volatile
   288  074B  2684               	fcall	_delay
   289  074C  301F               	movlw	31
   290  074D  0085               	movwf	5	;volatile
   291  074E  3006               	movlw	6
   292  074F  0088               	movwf	8	;volatile
   293  0750  0185               	clrf	5	;volatile
   294  0751  2E84               	ljmp	_delay
   295  0752                     l42
   296                           ;PICC_Keyboard.c: 139: case 14:
   297                           ;PICC_Keyboard.c: 140: PORTA=0X2f; PORTD=0x66;P
      +                          ORTA=0X00;delay();PORTA=0X1f;PORTD=0x06;PORTA=0
      +                          X00;delay();break;
   298  0752  302F               	movlw	47
   299  0753  0085               	movwf	5	;volatile
   300  0754  3066               	movlw	102
   301  0755  0088               	movwf	8	;volatile
   302  0756  0185               	clrf	5	;volatile
   303  0757  2684               	fcall	_delay
   304  0758  301F               	movlw	31
   305  0759  0085               	movwf	5	;volatile
   306  075A  3006               	movlw	6
   307  075B  0088               	movwf	8	;volatile
   308  075C  0185               	clrf	5	;volatile
   309  075D  2E84               	ljmp	_delay
   310  075E                     l43
   311                           ;PICC_Keyboard.c: 141: case 15:
   312                           ;PICC_Keyboard.c: 142: PORTA=0X2f; PORTD=0x6d;P
      +                          ORTA=0X00;delay();PORTA=0X1f;PORTD=0x06;PORTA=0
      +                          X00;delay();break;
   313  075E  302F               	movlw	47
   314  075F  0085               	movwf	5	;volatile
   315  0760  306D               	movlw	109
   316  0761  0088               	movwf	8	;volatile
   317  0762  0185               	clrf	5	;volatile
   318  0763  2684               	fcall	_delay
   319  0764  301F               	movlw	31
   320  0765  0085               	movwf	5	;volatile
   321  0766  3006               	movlw	6
   322  0767  0088               	movwf	8	;volatile
   323  0768  0185               	clrf	5	;volatile
   324  0769  2E84               	ljmp	_delay
   325  076A                     l44
   326                           ;PICC_Keyboard.c: 143: case 16:
   327                           ;PICC_Keyboard.c: 144: PORTA=0X2f; PORTD=0x8e;P
      +                          ORTA=0X00;delay(); PORTA=0X1f;PORTD=0x8e; PORTA
      +                          =0X00; delay();break;
   328  076A  302F               	movlw	47
   329  076B  0085               	movwf	5	;volatile
   330  076C  308E               	movlw	-114
   331  076D  0088               	movwf	8	;volatile
   332  076E  0185               	clrf	5	;volatile
   333  076F  2684               	fcall	_delay
   334  0770  301F               	movlw	31
   335  0771  0085               	movwf	5	;volatile
   336  0772  308E               	movlw	-114
   337  0773  0088               	movwf	8	;volatile
   338  0774  0185               	clrf	5	;volatile
   339  0775  2E84               	ljmp	_delay
   340  0776                     l27
   341  0776  1283               	bcf	3,5
   342  0777  1303               	bcf	3,6	;carry unused
   343  0778  0821               	movf	_result+1,w
   344  0779  00F3               	movwf	btemp+3
   345  077A  0820               	movf	_result,w
   346  077B  00F2               	movwf	btemp+2
   347  077C  0873               	movf	btemp+3,w
   348  077D  1D03               	btfss	3,2
   349  077E  0008               	return
   350  077F  0872               	movf	btemp+2,w
   351  0780  00F0               	movwf	btemp
   352  0781  3EEF               	addlw	-17
   353  0782  1803               	btfsc	3,0
   354  0783  0008               	return
   355  0784  3E11               	addlw	17
   356  0785  1C03               	btfss	3,0
   357  0786  0008               	return
   358  0787  3007               	movlw	S30008 shr (0+8)
   359  0788  008A               	movwf	10
   360  0789  308E               	movlw	S30008& (0+255)
   361  078A  0770               	addwf	btemp,w
   362  078B  1803               	btfsc	3,0
   363  078C  0A8A               	incf	10
   364  078D  0082               	movwf	2
   365  078E                     S30008
   366  078E  2EAA               	goto	l28
   367  078F  2EB6               	goto	l29
   368  0790  2EC2               	goto	l30
   369  0791  2ECE               	goto	l31
   370  0792  2EDA               	goto	l32
   371  0793  2EE6               	goto	l33
   372  0794  2EF2               	goto	l34
   373  0795  2EFE               	goto	l35
   374  0796  2F0A               	goto	l36
   375  0797  2F16               	goto	l37
   376  0798  2F22               	goto	l38
   377  0799  2F2E               	goto	l39
   378  079A  2F3A               	goto	l40
   379  079B  2F46               	goto	l41
   380  079C  2F52               	goto	l42
   381  079D  2F5E               	goto	l43
   382  079E  2F6A               	goto	l44
   383                           ;PICC_Keyboard.c: 76: void scan()
   384                           ;PICC_Keyboard.c: 77: {
   385  079F                     _scan
   386                           ;	_k assigned to ?a_scan+0
   387  0000                     _scan$k	set	?a_scan
   388                           ;	_key assigned to ?a_scan+1
   389  0000                     _scan$key	set	?a_scan+1
   390                           ;	_s assigned to ?a_scan+2
   391  0000                     _scan$s	set	?a_scan+2
   392                           ;	_c assigned to ?a_scan+3
   393  0000                     _scan$c	set	?a_scan+3
   394                           ;PICC_Keyboard.c: 78: unsigned char key,s,k,c;
   395  079F  2FE5               	goto	l12
   396  07A0                     l13
   397                           ;PICC_Keyboard.c: 80: {
   398  07A0  30FE               	movlw	-2
   399  07A1  0087               	movwf	7	;volatile
   400                           ;PICC_Keyboard.c: 82: k=0xfe;
   401  07A2  00A2               	movwf	?a_scan
   402                           ;PICC_Keyboard.c: 83: for(c=0;c!=4;c++)
   403  07A3  01A5               	clrf	?a_scan+3
   404  07A4                     l15
   405                           ;PICC_Keyboard.c: 84: {
   406                           ;PICC_Keyboard.c: 85: s=PORTC&0xf0;
   407  07A4  0807               	movf	7,w	;volatile
   408  07A5  39F0               	andlw	-16
   409  07A6  00A4               	movwf	?a_scan+2
   410                           ;PICC_Keyboard.c: 86: if(s==0x70)key=4*c+0;
   411  07A7  3A70               	xorlw	112
   412  07A8  1D03               	btfss	3,2
   413  07A9  2FB1               	goto	l18
   414  07AA  0825               	movf	?a_scan+3,w
   415  07AB  00F0               	movwf	btemp
   416  07AC  1003               	bcf	3,0
   417  07AD  0DF0               	rlf	btemp
   418  07AE  1003               	bcf	3,0
   419  07AF  0D70               	rlf	btemp,w
   420  07B0  00A3               	movwf	?a_scan+1
   421  07B1                     l18
   422                           ;PICC_Keyboard.c: 87: if(s==0xb0)key=4*c+1;
   423  07B1  0824               	movf	?a_scan+2,w
   424  07B2  3AB0               	xorlw	-80
   425  07B3  1D03               	btfss	3,2
   426  07B4  2FBE               	goto	l19
   427  07B5  0825               	movf	?a_scan+3,w
   428  07B6  00F0               	movwf	btemp
   429  07B7  1003               	bcf	3,0
   430  07B8  0DF0               	rlf	btemp
   431  07B9  1003               	bcf	3,0
   432  07BA  0D70               	rlf	btemp,w
   433  07BB  00F0               	movwf	btemp
   434  07BC  0A70               	incf	btemp,w
   435  07BD  00A3               	movwf	?a_scan+1
   436  07BE                     l19
   437                           ;PICC_Keyboard.c: 88: if(s==0xd0)key=4*c+2;
   438  07BE  0824               	movf	?a_scan+2,w
   439  07BF  3AD0               	xorlw	-48
   440  07C0  1D03               	btfss	3,2
   441  07C1  2FCA               	goto	l20
   442  07C2  0825               	movf	?a_scan+3,w
   443  07C3  00F0               	movwf	btemp
   444  07C4  1003               	bcf	3,0
   445  07C5  0DF0               	rlf	btemp
   446  07C6  1003               	bcf	3,0
   447  07C7  0D70               	rlf	btemp,w
   448  07C8  3E02               	addlw	2
   449  07C9  00A3               	movwf	?a_scan+1
   450  07CA                     l20
   451                           ;PICC_Keyboard.c: 89: if(s==0xe0)key=4*c+3;
   452  07CA  0824               	movf	?a_scan+2,w
   453  07CB  3AE0               	xorlw	-32
   454  07CC  1D03               	btfss	3,2
   455  07CD  2FD6               	goto	l21
   456  07CE  0825               	movf	?a_scan+3,w
   457  07CF  00F0               	movwf	btemp
   458  07D0  1003               	bcf	3,0
   459  07D1  0DF0               	rlf	btemp
   460  07D2  1003               	bcf	3,0
   461  07D3  0D70               	rlf	btemp,w
   462  07D4  3E03               	addlw	3
   463  07D5  00A3               	movwf	?a_scan+1
   464  07D6                     l21
   465                           ;PICC_Keyboard.c: 98: k=(k<<1)|0x01;
   466  07D6  1403               	bsf	3,0
   467  07D7  0DA2               	rlf	?a_scan
   468                           ;PICC_Keyboard.c: 99: PORTC=k;
   469  07D8  0822               	movf	?a_scan,w
   470  07D9  0087               	movwf	7	;volatile
   471                           ;PICC_Keyboard.c: 100: }
   472  07DA  0AA5               	incf	?a_scan+3
   473  07DB  0825               	movf	?a_scan+3,w
   474  07DC  3A04               	xorlw	4
   475  07DD  1D03               	btfss	3,2
   476  07DE  2FA4               	goto	l15
   477                           ;PICC_Keyboard.c: 101: while(pkey());result=key
      +                          ;
   478  07DF                     l22
   479  07DF  2697               	fcall	_pkey
   480  07E0  1803               	btfsc	3,0
   481  07E1  2FDF               	goto	l22
   482  07E2  0823               	movf	?a_scan+1,w
   483  07E3  00A0               	movwf	_result
   484  07E4  01A1               	clrf	_result+1
   485  07E5                     l12
   486                           ;PICC_Keyboard.c: 102: }
   487  07E5  2697               	fcall	_pkey
   488  07E6  1C03               	btfss	3,0
   489  07E7  0008               	return
   490  07E8  2FA0               	goto	l13
   491                           ;PICC_Keyboard.c: 46: void init()
   492                           ;PICC_Keyboard.c: 47: {
   493  07E9                     _init
   494                           ;PICC_Keyboard.c: 48: TRISB=0X00;
   495  07E9  1683               	bsf	3,5
   496  07EA  1303               	bcf	3,6	;carry unused
   497  07EB  0186               	clrf	6	;volatile
   498                           ;PICC_Keyboard.c: 49: ADCON1=0X07;
   499  07EC  3007               	movlw	7
   500  07ED  009F               	movwf	31	;volatile
   501                           ;PICC_Keyboard.c: 50: TRISA=0X0f;
   502  07EE  300F               	movlw	15
   503  07EF  0085               	movwf	5	;volatile
   504                           ;PICC_Keyboard.c: 51: TRISC=0XF0;
   505  07F0  30F0               	movlw	-16
   506  07F1  0087               	movwf	7	;volatile
   507                           ;PICC_Keyboard.c: 52: TRISD=0X00;
   508  07F2  0188               	clrf	8	;volatile
   509                           ;PICC_Keyboard.c: 53: PORTA=0Xff;
   510  07F3  30FF               	movlw	-1
   511  07F4  1283               	bcf	3,5
   512  07F5  0085               	movwf	5	;volatile
   513                           ;PICC_Keyboard.c: 54: PORTD=0Xff;
   514  07F6  0088               	movwf	8	;volatile
   515                           ;PICC_Keyboard.c: 55: }
   516  07F7  0008               	return
   517  07F8                     _main
   518                           ;PICC_Keyboard.c: 33: init();
   519  07F8  27E9               	fcall	_init
   520  07F9                     l3
   521                           ;PICC_Keyboard.c: 34: while(1)
   522                           ;PICC_Keyboard.c: 35: {
   523  07F9  279F  120A  118A   	fcall	_scan
   524                           ;PICC_Keyboard.c: 38: display();
   525  07FC  26A9  120A  118A   	fcall	_display
   526                           ;PICC_Keyboard.c: 39: }
   527  07FF  2FF9               	goto	l3

⌨️ 快捷键说明

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