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

📄 copy of key.lst

📁 带有LCD
💻 LST
📖 第 1 页 / 共 3 页
字号:
   221                           ;key.c: 197: }
   222  07FA                     l45
   223                           ;key.c: 199: {
   224  07FA  30FE               	movlw	-2
   225  07FB                     L18
   226  07FB  00A5               	movwf	?a_Keypad_HighISR+1
   227                           ;key.c: 201: }
   228  07FC                     l14
   229                           ;key.c: 202: return key_map_value;
   230  07FC  0825               	movf	?a_Keypad_HighISR+1,w
   231                           ;key.c: 203: }
   232  07FD  0008               	return
   233                           
   234                           	psect	text4
   235                           ;key.c: 212: void Delay_10ms_ISR(unsigned char 
      +                          n)
   236                           ;key.c: 213: {
   237  073F                     _Delay_10ms_ISR
   238                           ;	_n assigned to ?a_Delay_10ms_ISR+0
   239  0000                     _Delay_10ms_ISR$n	set	?a_Delay_10ms_ISR
   240                           ;	_i assigned to ?a_Delay_10ms_ISR+1
   241  0000                     _Delay_10ms_ISR$i	set	?a_Delay_10ms_ISR+1
   242                           ;_n stored from w
   243  073F  0183               	clrf	3	;select bank 0
   244  0740  00A9               	movwf	?a_Delay_10ms_ISR
   245                           ;key.c: 214: unsigned char i = 0;
   246  0741  01AA               	clrf	?a_Delay_10ms_ISR+1
   247                           ;key.c: 215: for(i; i<n; i++)
   248  0742  2F4C               	goto	l51
   249  0743                     l48
   250                           ;key.c: 216: {
   251  0743  300E               	movlw	14	;#
   252  0744  00AC               	movwf	_delay_data2	;#
   253  0745  30F9               	movlw	249	;#
   254  0746  00AB               	movwf	_delay_data1	;#
   255  0747  0BAB               	decfsz	_delay_data1	;#
   256  0748  2F3E               	goto	($+-1)	;#
   257  0749  0BAC               	decfsz	_delay_data2	;#
   258  074A  2F3B               	goto	($+-4)	;#
   259  074B  0008               	return	;#
   260                           ;key.c: 228:   }
   261  074C                     l51
   262  074C  0829               	movf	?a_Delay_10ms_ISR,w
   263  074D  022A               	subwf	?a_Delay_10ms_ISR+1,w
   264  074E  1803               	btfsc	3,0
   265  074F  0008               	return
   266  0750  2F43               	goto	l48
   267  0751                     _Key_ScanMatrix
   268                           ;key.c: 52: TRISB = 0xF0;
   269  0751  30F0               	movlw	-16
   270  0752  1683               	bsf	3,5
   271  0753  1303               	bcf	3,6	;carry unused
   272  0754  0086               	movwf	6	;volatile
   273                           ;key.c: 53: PORTB = 0x00;
   274  0755  1283               	bcf	3,5
   275  0756  0186               	clrf	6	;volatile
   276                           ;key.c: 54: asm("nop");
   277  0757  0000               	nop	;#
   278                           ;key.c: 55: asm("nop");
   279  0758  0000               	nop	;#
   280                           ;key.c: 56: value_portb = PORTB;
   281  0759  0806               	movf	6,w	;volatile
   282  075A  00A1               	movwf	_value_portb
   283                           ;key.c: 57: value_portb &= 0xF0;
   284  075B  30F0               	movlw	-16
   285  075C  05A1               	andwf	_value_portb
   286                           ;key.c: 58: value_key = value_portb;
   287  075D  0821               	movf	_value_portb,w
   288  075E  00A0               	movwf	_value_key
   289                           ;key.c: 59: if(value_key != 0xF0)
   290  075F  3AF0               	xorlw	-16
   291  0760  1903               	btfsc	3,2
   292  0761  0008               	return
   293                           ;key.c: 60: {
   294  0762  300F               	movlw	15
   295  0763  1683               	bsf	3,5
   296  0764  0086               	movwf	6	;volatile
   297                           ;key.c: 62: PORTB = 0x00;
   298  0765  1283               	bcf	3,5
   299  0766  0186               	clrf	6	;volatile
   300                           ;key.c: 63: asm("nop");
   301  0767  0000               	nop	;#
   302                           ;key.c: 64: asm("nop");
   303  0768  0000               	nop	;#
   304                           ;key.c: 65: value_portb = PORTB;
   305  0769  0806               	movf	6,w	;volatile
   306  076A  00A1               	movwf	_value_portb
   307                           ;key.c: 66: value_portb &= 0x0F;
   308  076B  300F               	movlw	15
   309  076C  05A1               	andwf	_value_portb
   310                           ;key.c: 67: value_key |= value_portb;
   311  076D  0821               	movf	_value_portb,w
   312  076E  04A0               	iorwf	_value_key
   313                           ;key.c: 68: }
   314  076F  0008               	return
   315                           ;key.c: 80: unsigned char Keypad_Scan(void)
   316                           ;key.c: 81: {
   317  0770                     _Keypad_Scan
   318                           ;	_keypad_new assigned to ?a_Keypad_Scan+0
   319  0000                     _Keypad_Scan$keypad_new	set	?a_Keypad_Scan
   320                           ;	_keypad_old assigned to ?a_Keypad_Scan+1
   321  0000                     _Keypad_Scan$keypad_old	set	?a_Keypad_Scan+1
   322                           ;	_key_num assigned to ?a_Keypad_Scan+2
   323  0000                     _Keypad_Scan$key_num	set	?a_Keypad_Scan+2
   324                           ;key.c: 82: unsigned char key_num = 0;
   325  0770  0183               	clrf	3	;select bank 0
   326  0771  01A8               	clrf	?a_Keypad_Scan+2
   327                           ;key.c: 83: unsigned char keypad_old = 0;
   328  0772  01A7               	clrf	?a_Keypad_Scan+1
   329                           ;key.c: 84: unsigned char keypad_new = 0;
   330  0773  01A6               	clrf	?a_Keypad_Scan
   331                           ;key.c: 86: Key_ScanMatrix();
   332  0774  2751               	fcall	_Key_ScanMatrix
   333                           ;key.c: 87: if(value_key == 0xF0)
   334  0775  0820               	movf	_value_key,w
   335  0776  3AF0               	xorlw	-16
   336  0777  1903               	btfsc	3,2
   337  0778  2F8A               	goto	l10
   338                           ;key.c: 88: {
   339                           ;key.c: 90: }
   340                           ;key.c: 92: {
   341  0779  0820               	movf	_value_key,w
   342  077A  00A7               	movwf	?a_Keypad_Scan+1
   343                           ;key.c: 94: Delay_10ms_ISR(2);
   344  077B  3002               	movlw	2
   345  077C  273F               	fcall	_Delay_10ms_ISR
   346                           ;key.c: 95: Key_ScanMatrix();
   347  077D  2751               	fcall	_Key_ScanMatrix
   348                           ;key.c: 96: keypad_new = value_key;
   349  077E  0820               	movf	_value_key,w
   350  077F  00A6               	movwf	?a_Keypad_Scan
   351                           ;key.c: 97: if(value_key == 0xF0)
   352  0780  0820               	movf	_value_key,w
   353  0781  3AF0               	xorlw	-16
   354  0782  1903               	btfsc	3,2
   355  0783  2F8A               	goto	l10
   356                           ;key.c: 98: {
   357                           ;key.c: 100: }
   358                           ;key.c: 102: {
   359  0784  0827               	movf	?a_Keypad_Scan+1,w
   360  0785  0626               	xorwf	?a_Keypad_Scan,w
   361  0786  1D03               	btfss	3,2
   362  0787  2F8A               	goto	l10
   363                           ;key.c: 104: {
   364  0788  0820               	movf	_value_key,w
   365  0789  2F8B               	goto	L2
   366                           ;key.c: 106: }
   367  078A                     l10
   368                           ;key.c: 108: {
   369  078A  30FF               	movlw	-1
   370  078B                     L2
   371  078B  00A8               	movwf	?a_Keypad_Scan+2
   372                           ;key.c: 110: }
   373                           ;key.c: 112: }
   374                           ;key.c: 113: }
   375                           ;key.c: 114: return key_num;
   376                           ;key.c: 115: }
   377  078C  0008               	return
   378                           
   379                           	psect	text5
   380  0000                     
   381  0000                     
   382  0000                     
   383  0000                     
   384  0000                     
   385  0000                     
   386  0000                     
   387  0000                     
   388  0000                     
   389  0000                     
   390  0000                     
   391  0000                     
   392  0000                     
   393  0000                     
   394  0000                     
   395  0000                     
   396  0000                     
   397  0000                     
   398  0000                     
   399  0000                     
   400  0000                     
   401  0000                     
   402  0000                     
   403  0000                     
   404  0000                     
   405  0000                     
   406  0000                     
   407  0000                     
   408  0000                     
   409  0000                     
   410  0000                     
   411  0000                     
   412  0000                     
   413  0000                     
   414  0000                     
   415  0000                     
   416  0000                     
   417  0000                     
   418  0000                     
   419  0000                     
   420  0000                     
   421  0000                     
   422  0000                     
   423  0000                     
   424  0000                     
   425  0000                     
   426  0000                     
   427  0000                     
   428  0000                     
   429  0000                     
   430  0000                     
   431  0000                     
   432  0000                     
   433  0000                     
   434  0000                     
   435  0000                     
   436  0000                     
   437  0000                     
   438  0000                     
   439  0000                     
   440  0000                     
   441  0000                     
   442  0000                     
   443  0000                     
   444  0000                     
   445  0000                     
   446  0000                     
   447  0000                     
   448  0000                     
   449  0000                     
   450  0000                     
   451  0000                     
   452  0000                     

⌨️ 快捷键说明

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