?? main.h
字號:
;***************************************************;
; 福建星網(wǎng)銳捷視易有限公司 ;
; MAIN.H ;
; 創(chuàng)建人: 邱作霖 創(chuàng)建時間 : 2005.10.1 ;
; 修改人: 邱作霖 修改時間 : 2005.10.1 ;
;***************************************************;
; 說明: ;
; c_ 代表是常量 ;
; f_ 代表是位變量 ;
; g_ 代表是字節(jié)變量 ;
; R0,R1 間接尋址用 ;
; R2 紅外計數(shù)器 ;
; R3-R4 臨時變量用 ;
; R5-R7 定時變量用,純軟件延時 ;
; 08H-1FH 鍵盤鼠標(biāo)變量 ;
; 20H-27H 系統(tǒng)位變量 64bit:夠用了 ;
; 28H-2FH 紅外用 ;
; 30H-4FH 系統(tǒng)數(shù)據(jù)RAM用 ;
; 50H-5FH DATA BUFF用 ;
; 68H-7FH 系統(tǒng)堆棧用 24 BYTE ;
; 版本說明: ;
; 60H 10H: 表示 6000V1.0 ;
; 66H 10H: 表示 6060V1.0 ;
; 30H 10H: 表示 3000V1.0 ;
; 42H 20H: 表示 4200V2.0 ;
; 42H 22H: 表示 4200V2.2 ;
; 42H 30H: 表示 4200V3.0 ;
; 42H 31H: 表示 4200V3.1 ;
; "I" "R" 表示 紅外版本 ;
;***************************************************;
; 系統(tǒng)常數(shù) 以下是項目常量的定義 ;
; MYMCU: ; 單片機資源
c_TMOD EQU 00100111B ; T1編程為方式2定時狀態(tài),T0編程為方式3定時狀態(tài)
c_SCON EQU 01010000B ; 串口方式 模式1 數(shù)據(jù)位8 停止位1
c_PCON EQU 10000000B ; 波特率加倍
c_TMER0L EQU 0FFH ; 定時器0 初值 工作在方式 3 0FFH 計數(shù)一次即產(chǎn)生中斷
c_TMER0H EQU 0C8H ; 定時器0 另外一個8位定時器初值 定時時間:最大60uS最大15.8mS
c_TMER1L EQU 0FDH ; 波特率發(fā)生器 8 位自動重裝方式
c_TMER1H EQU 0FDH ; 波特率=19200,誤差0( f =11.0592MHz)
; SYSTEM: ;
c_SYSTEM_SP EQU 060H ; 系統(tǒng)堆棧棧底
c_DATA_SP_S EQU 040H ; 串口數(shù)據(jù)緩沖區(qū)片內(nèi)數(shù)據(jù) RAM 首指針
; 版本常數(shù) ;
c_VersionH EQU "I" ; IR
c_VersionL EQU "R" ;
; 鍵盤串口數(shù)據(jù) 頭常量 ; 命名規(guī)則:拼音的首字母
; c_KBhead_CG EQU 07DH ; 有線鍵盤數(shù)據(jù)頭 常規(guī)碼
; c_KBhead_KZ EQU 080H ; 有線鍵盤數(shù)據(jù)頭 擴展碼
; c_KBhead_TM EQU 000H ; 有線鍵盤數(shù)據(jù)頭 通碼
; c_KBhead_DM EQU 008H ; 有線鍵盤數(shù)據(jù)頭 斷碼
; 紅外串口數(shù)據(jù) 頭常量 ; 命名規(guī)則:拼音的首字母
c_IR_KB EQU 07AH ; 紅外鍵盤數(shù)據(jù)頭 普通碼
c_IR_EKB EQU 07BH ; 紅外鍵盤數(shù)據(jù)頭 擴展碼
c_IR_MOUSE EQU 07CH ; 紅外鼠標(biāo)數(shù)據(jù)頭
; 遙控器數(shù)據(jù)常量 計時單位60US ; 單位 us 接收碼 冗余碼 十進制 冗余后時間
c_YKQ_HEAD_S EQU 02AH+1 ; 13380-13440 021H-020H 028H-016H 40-33-22 12960-14040 :導(dǎo)引頭
c_YKQ_HEAD_E EQU 018H-1 ;
c_YKQ_ACK_S EQU 04AH+1 ; 11160-11220 046H-045H 049H-03FH 73-70-63 10980-11580 :應(yīng)答
c_YKQ_ACK_E EQU 040H ;
c_YKQ_BIT1_S EQU 0DDH ; 2220-2280 0DBH-0DAH 0DDH-0D8H 221-219-216 2100-2400 :1
c_YKQ_BIT1_E EQU 0D8H-1 ;
c_YKQ_BIT0_S EQU 0F0H+1 ; 1080-1140 0EEH-0EDH 0F0H-0EBH 240-238-235 960-1260 :0
c_YKQ_BIT0_E EQU 0EBH ;
; 遙控鍵盤數(shù)據(jù)常量 定時單位 60us ; 單位 us 接收碼 冗余碼 十進制 冗余后時間 真實值
c_IREK_HEAD_S EQU 0D8H+1 ; 2520-2580 0D6H-0D5H 0D8H-0D3H 216-211 2.40-2.76 2.61ms
c_IREK_HEAD_E EQU 0D3H ;
c_IRKB_HEAD_S EQU 0DFH+1 ; 2160-2220 0DCH-0DBH 0DFH-0D9H 222-217 2.04-2.34 2.22ms
c_IRKB_HEAD_E EQU 0D9H ;
c_IRMS_HEAD_S EQU 0E6H+1 ; 1680-1740 0E4H-0E3H 0E6H-0E1H 230-225 1.56-1.86 1.79ms
c_IRMS_HEAD_E EQU 0E1H ;
c_IRKB_BIT1_S EQU 0EDH ; 1320-1380 0EAH-0E9H 0ECH-0E7H 236-231 1.20-1.50 1.36ms
c_IRKB_BIT1_E EQU 0E7H-1 ; 考慮到剛好夠減的情況 減法中結(jié)果為0 時 C=0 所以減一
c_IRKB_BIT0_S EQU 0F5H+1 ; 考慮到剛好夠減的情況 減法中結(jié)果為0 時 C=0 所以加一
c_IRKB_BIT0_E EQU 0EEH ; 840 - 900 0F2H-0F1H 0F4H-0EEH 244-238 0.70-1.20 872us
; 紅外鍵盤擴展鍵常量 ;
c_IRKB_Alt EQU 043H ;
c_IRKB_Ctrl EQU 04DH ;
c_IRKB_Shift EQU 03FH ;
c_IRKB_Shift_R EQU 054H ;
c_IRKB_Win EQU 040H ;
; 紅外常量 ;
c_YKQKEY_again EQU 1 ; 遙控器確認是重碼后 再接收幾個連健應(yīng)答之后發(fā)一次數(shù)據(jù)
c_YKQKEY_delay EQU 2 ; 遙控器接收幾個連健應(yīng)答之后確認是重碼 即按鍵延時
c_IRKB_again EQU 5 ; 遙控鍵盤按鍵延時后 收到3個發(fā)一次碼
c_IRKB_delay EQU 3 ; 遙控鍵盤第一個鍵碼和第二個之間的延時 收到10個后才發(fā)第2個
c_TMER_OVER EQU 9 ; 紅外時間溢出計數(shù)器 加1:15300uS 共:138240=138mS
c_YKQ_POWER EQU 5 ; 遙控器電源鍵連健計數(shù)器 初值 連續(xù)收到10個ack后關(guān)機
;***************************************************;
; 系統(tǒng)位變量 ;
f_DATA BIT 00H ; 申請數(shù)據(jù)發(fā)送
f_IR_TIME BIT 01H ; 紅外申請計時
f_LED_WINK BIT 02H ; 申請LED閃爍
f_IR_POWER BIT 03H ; 紅外電源鍵有效
f_IR_TIME_OVER BIT 04H ; 紅外計時時間溢出
; 紅外位變量 ;
; f_IR_IN BIT 05H ; 紅外復(fù)位標(biāo)志位 主循環(huán)的時鐘判斷有這個標(biāo)志位 一般出錯和上電
f_YKQ BIT 06H ; 遙控器
f_YKQ_LJ BIT 07H ; 遙控器 連健標(biāo)志
f_YKQ_ACK BIT 08H ; 遙控器 應(yīng)答
f_YKQ_POWER BIT 09H ; 遙控器電源鍵
f_IR_KB BIT 0AH ; 遙控鍵盤 普通鍵
f_IR_EKB BIT 0BH ; 遙控鍵盤 擴展鍵
f_IR_MOUSE BIT 0CH ; 遙控鼠標(biāo)
f_TIME_OVER BIT 14H ; 定時器溢出標(biāo)志 溢出時間:122880us
; 鼠標(biāo)位變量 ;
; f_MOUSE_IN BIT 0DH ; 鼠標(biāo)熱拔插 上電復(fù)位的 0AAH
; f_MOUSE_PAR BIT 0EH ; 校驗位
; 鍵盤位變量 ;
; f_KB_IN BIT 0FH ; 鍵盤熱拔插 上電復(fù)位的 0AAH
; f_KB_F0 BIT 10H ; 斷碼標(biāo)志
; f_KB_E0 BIT 11H ; 擴展碼標(biāo)志
; f_KB_PAR BIT 12H ; 鍵盤校驗位
; f_KEY_PAUSE BIT 13H ; PAUSE鍵標(biāo)志
; f_NUM_LED BIT 15H ; 申請顯示 NUM_LED
; f_NUM_LED_ON BIT 16H ; NUM_LED狀態(tài) =1是亮的 =0是滅的
; f_NUM_LED_OFF BIT 17H ; 等待松開按鍵
;***************************************************;
; 系統(tǒng)硬件資源 ;
f_LED1 BIT P3.4 ; LED3
f_LED2 BIT P1.7 ; LED4
f_LED3 BIT P3.3 ; LED1
f_LED4 BIT P1.5 ; LED2
f_IR_CLK BIT P3.2 ; 紅外時鐘引腳
f_IR_OUT BIT P1.3 ; 紅外輸出引腳
;***************************************************;
; 系統(tǒng)字節(jié)變量 ;
g_SOFT_DOG DATA 08H ; 軟件看門狗 計數(shù)器
g_DATA_SP_E DATA 09H ; 串口數(shù)據(jù)緩沖區(qū)指針
g_WINK_TMER DATA 0AH ; LED閃爍計數(shù)器
g_WINK_TMER1 DATA 0BH ; LED閃爍計數(shù)器
; 鼠標(biāo)變量 ;
; g_MOUSE_BYTE DATA 0CH ; 鼠標(biāo)接收的字節(jié)數(shù)
; g_MOUSE_DATA DATA 0DH ; 鼠標(biāo)接收的字節(jié)
; g_MOUSE_HEAD1 DATA 0EH ; 發(fā)送到上位機的鼠標(biāo)頭1
; g_MOUSE_HEAD2 DATA 0FH ; 發(fā)送到上位機的鼠標(biāo)頭2
; g_MOUSE_HEAD3 DATA 10H ; 發(fā)送到上位機的鼠標(biāo)頭3
; 鍵盤變量 ;
; g_KB_BYTE DATA 11H ; 鼠標(biāo)接收的字節(jié)數(shù)
; g_KB_DATA DATA 12H ; 鼠標(biāo)接收的字節(jié)
; g_KB_HEAD1 DATA 13H ; 發(fā)送到上位機的鍵盤頭1
; g_KB_HEAD2 DATA 14H ; 發(fā)送到上位機的鍵盤頭2
; g_KEY_PAUSE DATA 15H ; PAUSE按鍵計數(shù)器 共有七個字節(jié)
; 紅外字節(jié)變量 ;
g_IR_TMER DATA 16H ; 紅外計時器
g_IR_DATA DATA 17H ; 紅外中斷次數(shù)計數(shù)器
g_IR_HEAD1 DATA 18H ; 發(fā)送到上位機的鍵盤頭1
g_IR_HEAD2 DATA 19H ; 發(fā)送到上位機的鍵盤頭2
g_IR_HEAD3 DATA 1AH ; 發(fā)送到上位機的鍵盤頭3
g_BIT1_NUM DATA 1BH ; 遙控鍵盤數(shù)據(jù)1 的個數(shù)計數(shù)器
g_YKQ_DELAY DATA 1CH ; 遙控器 連健計數(shù)器
g_YKQ_POWER DATA 1DH ; 遙控器電源鍵連健計數(shù)器
g_IRKB_DELAY DATA 1EH ; 遙控器 連健計數(shù)器
g_IR_TMER_DOG DATA 1FH ; 紅外計時器看門狗
g_IR_TMER_DOG1 DATA 28H ; 紅外計時器看門狗1
; 系統(tǒng)軟件延時變量 ;
g_TMER_US DATA 29H ; US計數(shù)器
g_INT_TMER_MS DATA 2AH ; MS計數(shù)器
g_INI_TMER_MS DATA 2BH ; MS計數(shù)器
; g_STATE DATA 27H ; 狀態(tài)寄存器 在每次關(guān)鍵的跳轉(zhuǎn)之前存入當(dāng)前運行的步數(shù) 即表示運行到此
;***************************************************;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -