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

📄 timer.src

📁 台湾凌阳方案300万数码相机源代码
💻 SRC
📖 第 1 页 / 共 5 页
字号:
	LCALL	L?0189
	JNZ  	?C0076
;                     {
			; SOURCE LINE # 833
;                          if (key != temp_key)
			; SOURCE LINE # 834
	LCALL	L?0195
	JZ   	?C0096
;                          {
			; SOURCE LINE # 835
;                               key = temp_key;
			; SOURCE LINE # 836
	MOV  	A,R7
	MOVX 	@DPTR,A
	LJMP 	?C0056
;                               return;
;                          }
			; SOURCE LINE # 838
?C0096:
;                          else
;                          {
			; SOURCE LINE # 840
;                               pressing_key = K_ReleaseKey;
			; SOURCE LINE # 841
	CLR  	A
	MOV  	DPTR,#pressing_key
?C0184:
;                               old_key = key;
			; SOURCE LINE # 842
	SJMP 	?C0186
;                               return;
;                          }
			; SOURCE LINE # 844
;                     }
			; SOURCE LINE # 845
; 
;                     break;
			; SOURCE LINE # 847
; 
;                case K_MenuKey:
			; SOURCE LINE # 849
?C0098:
;                     TIMER0_SetGPIOBit(19,0);
			; SOURCE LINE # 850
;                     TIMER0_SetGPIOBit(20,0);
			; SOURCE LINE # 851
	LCALL	L?0192
;                     TIMER0_SetGPIOBit(21,1);
			; SOURCE LINE # 852
	MOV  	R5,#01H
;                     TIMER0_GetGPIOBit(23,&temp_key);
			; SOURCE LINE # 853
; 
;                     if (temp_key == 0)
			; SOURCE LINE # 855
	LCALL	L?0191
	JNZ  	?C0076
;                     {
			; SOURCE LINE # 856
;                          if (key != temp_key)
			; SOURCE LINE # 857
	LCALL	L?0195
	JZ   	?C0100
;                          {
			; SOURCE LINE # 858
;                               key = temp_key;
			; SOURCE LINE # 859
	MOV  	A,R7
	MOVX 	@DPTR,A
	SJMP 	?C0056
;                               return;
;                          }
			; SOURCE LINE # 861
?C0100:
;                          else
;                          {
			; SOURCE LINE # 863
;                               pressing_key = K_ReleaseKey;
			; SOURCE LINE # 864
	CLR  	A
	MOV  	DPTR,#pressing_key
?C0185:
;                               old_key = key;
			; SOURCE LINE # 865
	SJMP 	?C0186
;                               return;
;                          }
			; SOURCE LINE # 867
;                     }
			; SOURCE LINE # 868
; 
;                     break;
			; SOURCE LINE # 870
; 
;                case K_SelectKey:
			; SOURCE LINE # 872
?C0102:
;                     TIMER0_SetGPIOBit(19,0);
			; SOURCE LINE # 873
;                     TIMER0_SetGPIOBit(20,0);
			; SOURCE LINE # 874
	LCALL	L?0192
;                     TIMER0_SetGPIOBit(21,1);
			; SOURCE LINE # 875
	MOV  	R5,#01H
;                     TIMER0_GetGPIOBit(24,&temp_key);
			; SOURCE LINE # 876
; 
;                     if (temp_key == 0)
			; SOURCE LINE # 878
	LCALL	L?0190
	JNZ  	?C0076
;                     {
			; SOURCE LINE # 879
;                          if (key != temp_key)
			; SOURCE LINE # 880
	LCALL	L?0195
	JZ   	?C0104
;                          {
			; SOURCE LINE # 881
;                               key = temp_key;
			; SOURCE LINE # 882
	MOV  	A,R7
	MOVX 	@DPTR,A
	SJMP 	?C0056
;                               return;
;                          }
			; SOURCE LINE # 884
?C0104:
;                          else
;                          {
			; SOURCE LINE # 886
;                               pressing_key = K_ReleaseKey;
			; SOURCE LINE # 887
	CLR  	A
	MOV  	DPTR,#pressing_key
?C0186:
	MOVX 	@DPTR,A
;                               old_key = key;
			; SOURCE LINE # 888
	MOV  	DPTR,#old_key
	MOV  	A,R6
	MOVX 	@DPTR,A
	SJMP 	?C0056
;                               return;
;                          }
			; SOURCE LINE # 890
;                     }
			; SOURCE LINE # 891
; 
;                     break;
			; SOURCE LINE # 893
; 
;                default:
			; SOURCE LINE # 895
?C0106:
;                     pressing_key = K_ReleaseKey;
			; SOURCE LINE # 896
	CLR  	A
	MOV  	DPTR,#pressing_key
	MOVX 	@DPTR,A
;                     old_key = key;
			; SOURCE LINE # 897
	MOV  	DPTR,#key
	MOVX 	A,@DPTR
	MOV  	DPTR,#old_key
	MOVX 	@DPTR,A
;                     break;
			; SOURCE LINE # 898
;           }
			; SOURCE LINE # 899
;      }
			; SOURCE LINE # 900
?C0076:
; 
;      TIMER0_SetGPIOBit(19,0);
			; SOURCE LINE # 902
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#013H
	LCALL	_TIMER0_SetGPIOBit
;      TIMER0_SetGPIOBit(20,0);
			; SOURCE LINE # 903
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#014H
	LCALL	_TIMER0_SetGPIOBit
;      TIMER0_SetGPIOBit(21,0);
			; SOURCE LINE # 904
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#015H
	LCALL	_TIMER0_SetGPIOBit
; 
;      #else
; 
;      if ((pressing_key == K_ReleaseKey) || (pressing_key == 0x04))
;      {
;           Key_Column1 = 1;    //Scan Display,Menu,Snap1,Snap2
;           Key_Column2 = 0;
;           //Joe@2003.3.7 13:41 add begin
;           Key_Column3 = 0;
;           //Joe@2003.3.7 13:41 add end
; 
;           TIMER0_GetGPIOByte(25,&temp_key);
; 
;           temp_key &= 0x1e;
; 
;           if ((temp_key == 0x02) && (pressing_key == K_ReleaseKey))   //Check Display Key
;           {
;                if (key != temp_key)
;                {
;                     key = temp_key;
;                     return;
;                }
;                else
;                {
;                     pressing_key = K_DisplayKey;
;                     old_key = key;
;                     return;
;                }
;           }
;           else
;           {
;                if ((temp_key == 0x04) && (pressing_key == K_ReleaseKey))   //Check Menu Key
;                {
;                     if (key != temp_key)
;                     {
;                          key = temp_key;
;                          return;
;                     }
;                     else
;                     {
;                          pressing_key = K_MenuKey;
;                          old_key = key;
;                          return;
;                     }
;                }
;                else
;                {
;                     if ((temp_key == 0x08) && (pressing_key == K_ReleaseKey))    //Check Snap1 Key
;                     {
;                          if (key != temp_key)
;                          {
;                               key = temp_key;
;                               return;
;                          }
;                          else
;                          {
;                               pressing_key = K_Snap1Key;
;                               old_key = key;
;                               return;
;                          }
;                     }
;                     else
;                     {
;                     	 //Joe@2003.3.7 12:35 modify begin
;                          //if ((temp_key == 0x18) && (pressing_key == K_Snap1Key)) //Check Snap2 Key
;                          if ( ((temp_key == 0x18) && (pressing_key == K_Snap1Key)) ||
;                               ((temp_key == 0x10) && (pressing_key == K_ReleaseKey)) )
;                          //Joe@2003.3.7 12:35 modify end
;                          {
;                               if (key != temp_key)
;                               {
;                                    key = temp_key;
;                                    return;
;                               }
;                               else
;                               {
;                                    pressing_key = K_Snap2Key;
;                                    old_key = key;
;                                    return;
;                               }
;                          }
;                     }
;                }
;           }
; 
;           Key_Column1 = 0;
;           Key_Column2 = 1;    //Scan Left,Up,Right,Down
;           //Joe@2003.3.7 13:41 add begin
;           Key_Column3 = 0;
;           //Joe@2003.3.7 13:41 add end
; 
;           TIMER0_GetGPIOByte(25,&temp_key);
; 
;           temp_key &= 0x1e;
; 
;           if ((temp_key == 0x02) && (pressing_key == K_ReleaseKey))   //Check Left Key
;           {
;                if (key != temp_key)
;                {
;                     key = temp_key;
;                     return;
;                }
;                else
;                {
;                     pressing_key = K_LeftKey;
;                     old_key = key;
;                     return;
;                }
;           }
;           else
;           {
;                if ((temp_key == 0x04) && (pressing_key == K_ReleaseKey))    //Check Up Key
;                {
;                     if (key != temp_key)
;                     {
;                          key = temp_key;
;                          return;
;                     }
;                     else
;                     {
;                          pressing_key = K_UpKey;
;                          old_key = key;
;                          return;
;                     }
;                }
;                else
;                {
;                     if ((temp_key == 0x08) && (pressing_key == K_ReleaseKey))    //Check Right Key
;                     {
;                          if (key != temp_key)
;                          {
;                               key = temp_key;
;                               return;
;                          }
;                          else
;                          {
;                               pressing_key = K_RightKey;
;                               old_key = key;
;                               return;
;                          }
;                     }
;                     else
;                     {
;                          if ((temp_key == 0x10) && (pressing_key == K_ReleaseKey))    //Check Down Key
;                          {
;                               if (key != temp_key)
;                               {
;                                    key = temp_key;
;                                    return;
;                               }
;                               else
;                               {
;                                    pressing_key = K_DownKey;
;                                    old_key = key;
;                                    return;
;                               }
;                          }
;                     }
;                }
;           }
; 
; 	//Joe@2003.3.5 11:20 add begin
;           Key_Column1 = 0;
;           Key_Column2 = 0;    //Scan Preview/Playback key, Flash key
;           //Joe@2003.3.7 13:41 add begin
;           Key_Column3 = 1;
;           //Joe@2003.3.7 13:41 add end
; 
;           TIMER0_GetGPIOByte(25,&temp_key);
; 
;           temp_key &= 0x1e;
; 
;           if ((temp_key == 0x04) && (pressing_key == K_ReleaseKey))   //Check Preview/Playback Key
;           {
;                if (key != temp_key)
;                {
;                     key = temp_key;
;                     return;
;                }
;                else
;                {
;                     pressing_key = K_ModeKey;
;                     old_key = key;
;                     return;
;                }
;           }
;           else
;           {
;                if ((temp_key == 0x02) && (pressing_key == K_ReleaseKey))    //Check Flash Key
;                {
;                     if (key != temp_key)
;                     {
;                          key = temp_key;
;                          return;
;                     }
;                     else
;                     {
;                          pressing_key = K_FlashKey;
;                          old_key = key;
;                          return;
;                     }
;                }
;           }
; 	//Joe@2003.3.5 11:20 add end
;      }
; 
;      //Check if all 8 keys are released
;      if (pressing_key > K_ReleaseKey)
;      {
;           if (pressing_key <= 0x08)     //Check Display,Menu,Snap1,Snap2
;           {
;                Key_Column1 = 1;
;                Key_Column2 = 0;
;                //Joe@2003.3.7 13:42 add begin
;                Key_Column3 = 0;
;                //Joe@2003.3.7 13:42 add end
; 
;                TIMER0_GetGPIOByte(25,&temp_key);
;                temp_key &= 0x1e;
; 
;                if (temp_key == 0x00)
;                {
;                     if (key != temp_key)
;                     {
;                          key = temp_key;
;                          return;
;                     }
;                     else
;                     {
;                          pressing_key = K_ReleaseKey;
;                          old_key = key;
;                          return;
;                     }
;                }
;           }
;           //Joe@2003.3.5 12:45 modify begin
;           //else //pressing_key >= 0x10,Check Left,Up,Right,Down
;           else if (pressing_key <= 0x80)	//Check Left,Up,Right,Down
;           //Joe@2003.3.5 12:45 modify end
;           {
;                Key_Column1 = 0;
;                Key_Column2 = 1;
;                //Joe@2003.3.7 13:42 add begin
;                Key_Column3 = 0;
;                //Joe@2003.3.7 13:42 add end
; 
;                TIMER0_GetGPIOByte(25,&temp_key);
;                temp_key &= 0x1e;
; 
;                if (temp_key == 0x00)
;                {
;                     if (key != temp_key)
;                     {
;                          key = temp_key;
;                          return;
;                     }
;                     else
;                     {
;                          pressing_key = K_ReleaseKey;
;                          old_key = key;
;                          return;
;                     }
;                }
;           }
; 
;           //Joe@2003.3.5 12:46 add begin
;           else if (pressing_key > 0x80)	//Check Preview/Playback,Flash
;           {
;                Key_Column1 = 0;
;                Key_Column2 = 0;
;                //Joe@2003.3.7 13:42 add begin
;                Key_Column3 = 1;
;                //Joe@2003.3.7 13:42 add end
; 
;                TIMER0_GetGPIOByte(25,&temp_key);
;                temp_key &= 0x1e;
; 
;                if (temp_key == 0x00)
;                {
;                     if (key != temp_key)
;                     {
;                          key = temp_key;
;                          return;
;                     }
;                     else
;                     {
;                          pressing_key = K_ReleaseKey;
;                          old_key = key;
;                          return;
;                     }
;                }
;           }
;           //Joe@2003.3.5 12:46 add end
;      }
;      #endif
; }
			; SOURCE LINE # 1200
?C0056:
	POP  	PSW
	RET  	
L?0187:
	MOV  	R5,#01H
	MOV  	R7,#013H
	LCALL	_TIMER0_SetGPIOBit
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#014H
	LCALL	_TIMER0_SetGPIOBit
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#015H
	LCALL	_TIMER0_SetGPIOBit
	MOV  	R3,#01H
	MOV  	R2,#HIGH (temp_key?541)
	MOV  	R1,#LOW (temp_key?541)
	MOV  	R7,#016H
	LCALL	_TIMER0_GetGPIOBit
	MOV  	DPTR,#temp_key?541
	MOVX 	A,@DPTR
	MOV  	R7,A
	RET  	
L?0188:
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#013H
	LCALL	_TIMER0_SetGPIOBit
	MOV  	R5,#01H
	MOV  	R7,#014H
	LCALL	_TIMER0_SetGPIOBit
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#015H
	LCALL	_TIMER0_SetGPIOBit
	MOV  	R3,#01H
	MOV  	R2

⌨️ 快捷键说明

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