📄 em78x468xx.inc
字号:
;}
;
; Counter1 and Counter2 Control Register
;
IOC91 == 0x09
CNT12CR == 0x09
;
;{
mCNT2S == 0x80 ; Counter 2 Clock Source select bit.
; "0" : Fs (sub oscillator)
; "1" : Fm (main oscillator)
mCNT2P2 == 0x40 ; Counter 2 Prescaler Select Bit[2]
mCNT2P1 == 0x20 ; Counter 2 Prescaler Select Bit[1]
mCNT2P0 == 0x10 ; Counter 2 Prescaler Select Bit[0]
;
; |------|------|------|----------------|
; |CNT2P2|CNT2P1|CNT2P0| Counter2 Scaler|
; |------|------|------|----------------|
; | 0 | 0 | 0 | 1:2 |
; | 0 | 0 | 1 | 1:4 |
; | 0 | 1 | 0 | 1:8 |
; | 0 | 1 | 1 | 1:16 |
; | 1 | 0 | 0 | 1:32 |
; | 1 | 0 | 1 | 1:64 |
; | 1 | 1 | 0 | 1:128 |
; | 1 | 1 | 1 | 1:256 |
; |------|------|------|----------------|
;
mCNT1S == 0x08 ; Counter 1 Clock Source select bit.
; "0" : Fs (sub oscillator)
; "1" : Fm (main oscillator)
mCNT1P2 == 0x04 ; Counter 1 Prescaler Select Bit[2]
mCNT1P1 == 0x02 ; Counter 1 Prescaler Select Bit[1]
mCNT1P0 == 0x01 ; Counter 1 Prescaler Select Bit[0]
;
; |------|------|------|----------------|
; |CNT1P2|CNT1P1|CNT1P0| Counter1 Scaler|
; |------|------|------|----------------|
; | 0 | 0 | 0 | 1:2 |
; | 0 | 0 | 1 | 1:4 |
; | 0 | 1 | 0 | 1:8 |
; | 0 | 1 | 1 | 1:16 |
; | 1 | 0 | 0 | 1:32 |
; | 1 | 0 | 1 | 1:64 |
; | 1 | 1 | 0 | 1:128 |
; | 1 | 1 | 1 | 1:256 |
; |------|------|------|----------------|
;}
;
; High/Low Pulse Width Timer Control Register
;
IOCA1 == 0x0A
HLPWTCR == 0x0A
;
;{
mLPWTS == 0x80 ; Low Pulse Width Timer Clock Source select.
; "0" : Fs (sub oscillator)
; "1" : Fm (main oscillator)
mLPWTP2 == 0x40 ; Low Pulse Width Timer Prescaler Select Bit[2]
mLPWTP1 == 0x20 ; Low Pulse Width Timer Prescaler Select Bit[1]
mLPWTP0 == 0x10 ; Low Pulse Width Timer Prescaler Select Bit[0]
;
; |------|------|------|----------------|
; |LPWTP2|LPWTP1|LPWTP0| LPWT Scaler |
; |------|------|------|----------------|
; | 0 | 0 | 0 | 1:2 |
; | 0 | 0 | 1 | 1:4 |
; | 0 | 1 | 0 | 1:8 |
; | 0 | 1 | 1 | 1:16 |
; | 1 | 0 | 0 | 1:32 |
; | 1 | 0 | 1 | 1:64 |
; | 1 | 1 | 0 | 1:128 |
; | 1 | 1 | 1 | 1:256 |
; |------|------|------|----------------|
;
mHPWTS == 0x08 ; High Pulse Width Timer Clock Source select.
; "0" : Fs (sub oscillator)
; "1" : Fm (main oscillator)
mHPWTP2 == 0x04 ; High Pulse Width Timer Prescaler Select Bit[2]
mHPWTP1 == 0x02 ; High Pulse Width Timer Prescaler Select Bit[1]
mHPWTP0 == 0x01 ; High Pulse Width Timer Prescaler Select Bit[0]
;
; |------|------|------|----------------|
; |HPWTP2|HPWTP1|HPWTP0| HPWT Scaler |
; |------|------|------|----------------|
; | 0 | 0 | 0 | 1:2 |
; | 0 | 0 | 1 | 1:4 |
; | 0 | 1 | 0 | 1:8 |
; | 0 | 1 | 1 | 1:16 |
; | 1 | 0 | 0 | 1:32 |
; | 1 | 0 | 1 | 1:64 |
; | 1 | 1 | 0 | 1:128 |
; | 1 | 1 | 1 | 1:256 |
; |------|------|------|----------------|
;}
;
; Port 6 Pull High Control Register
;
IOCB1 == 0X0B
P6PH == 0X0B
;
;{ ; Bit[n]="0", Disable P6.[n] Pull High Function.n=7~0
; Bit[n]="1", Enable P6.[n] Pull High Function.n=7~0
mPH67 == 0x80 ;
mPH66 == 0x40 ;
mPH65 == 0x20 ;
mPH64 == 0x10 ;
mPH63 == 0x08 ;
mPH62 == 0x04 ;
mPH61 == 0x02 ;
mPH60 == 0x01 ;
;}
;
; Port 6 Open Drain Control Register
;
IOCC1 == 0X0C
P6OD == 0X0C
;
;{ ; Bit[n]="0", Disable P6.[n] Open Drain Function. n=7~0
; Bit[n]="1", Enable P6.[n] Open Drain Function. n=7~0
mOD67 == 0x80 ;
mOD66 == 0x40 ;
mOD65 == 0x20 ;
mOD64 == 0x10 ;
mOD63 == 0x08 ;
mOD62 == 0x04 ;
mOD61 == 0x02 ;
mOD60 == 0x01 ;
;}
;
; Port 8 Pull High Control Register
;
IOCD1 == 0X0D
P8PH == 0X0D
;
;{ ; Bit[n]="0", Disable P8.[n] Pull High Function. n=7~0
; Bit[n]="1", Enable P8.[n] Pull High Function. n=7~0
mPH87 == 0x80 ;
mPH86 == 0x40 ;
mPH85 == 0x20 ;
mPH84 == 0x10 ;
mPH83 == 0x08 ;
mPH82 == 0x04 ;
mPH81 == 0x02 ;
mPH80 == 0x01 ;
;}
;
; Port 6 Pull Low Control Register
;
IOCE1 == 0X0E
P6PL == 0X0E
;
;{ ; Bit[n]="0", Disable P6.[n] Pull Low Function. n=7~0
; Bit[n]="1", Enable P6.[n] Pull Low Function. n=7~0
mPL67 == 0x80 ;
mPL66 == 0x40 ;
mPL65 == 0x20 ;
mPL64 == 0x10 ;
mPL63 == 0x08 ;
mPL62 == 0x04 ;
mPL61 == 0x02 ;
mPL60 == 0x01 ;
;}
;
;======================================================;
; Others Define ;
;======================================================;
;
; Bit set use BC or BS
;
B0 == 0x00
B1 == 0x01
B2 == 0x02
B3 == 0x03
B4 == 0x04
B5 == 0x05
B6 == 0x06
B7 == 0x07
;
mB0 == 0x01
mB1 == 0x02
mB2 == 0x04
mB3 == 0x08
mB4 == 0x10
mB5 == 0x20
mB6 == 0x40
mB7 == 0x80
;
;-------------------------------------------------------------------
;Bits define
;STATUS Register bits define
;-------------------------------------------------------------------
;C == 0
;DC == 1
;Z == 2
;P == 3
;T == 4
;PS0 == 5
;PS1 == 6
;Interrupt status bits define
;TCIF == 0
;INT0F == 1
;INT1F == 2
;CNT1F == 3
;CNT2F == 4
;HPWTF == 5
;LPWTF == 6
;ICIF == 7
;Interrupt mask register bits define
TCIE == 0
INT0E == 1
INT1E == 2
CNT1E == 3
CNT2E == 4
HPWTE == 5
LPWTE == 6
ICIE == 7
;-------------------------------------------------------------------
;General Purpose Registers Define
;-------------------------------------------------------------------
INCOUNT == 0x10 ; For Timer delay
DELAYTIME == 0x11
;
DispFreqTmp_Hi == 0x2E
DispFreqTmp_Lw == 0x2F
DispFreq_Hi == 0x14 ;
DispFreq_Lw == 0x15 ;
OldKeyNum == 0x16
kEYCnt == 0x17 ;H
KeyNum == 0x18 ; For Key Scan
;
TEMP1 == 0X19
TEMP2 == 0x1A
COUNTER0 == 0x19
COUNTER1 == 0x1A
;
;IICaddress == 0x1B
;IICdata == 0x1C
;IIC_Hi == 0x1D
;IIC_Lw == 0x1E
ControlByte1 == 0x1B
ControlByte2 == 0x1C
Freq_Hi == 0x1D
Freq_Lw == 0x1E
WORKFLAGS == 0X1F
DISPFLAGS == 0X12
;
;R20 ~R25,R30 ~ 35 FOR BCD CHANGE
M1_Value_Hi == 0x26
M1_Value_Lw == 0x27
M2_Value_Hi == 0x28
M2_Value_Lw == 0x29
M3_Value_Hi == 0x2A
M3_Value_Lw == 0x2B
M4_Value_Hi == 0x2C
M4_Value_Lw == 0x2D
;--------------------------------------
CharityData1 == 0x3E
CharityData2 == 0x3F
;==============================================================
; IIC Define Port8.0->SDA, Port8.1->SCL
;=============================================================
i2port == 0x08
scl == 1
sda == 0
wrcfg == 11111110b ;eeprom write tri-state value
rdcfg == 00000001b ;eeprom read tri-state value
;================================
IICaddress == 0x1B
IICdata == 0x1C
tmp1 == 0x19
tmp2 == 0x1a
IIC_Hi == 0x1D
IIC_Lw == 0x1E
cnt_hi == 0x15
cnt_lw == 0x16
;================================
;-------------------------------------------------------------------
;General Purpose bits Define
;------------------------------------------------------------------
;WORKFLAGS
TwoMinUp == 0
KeyHold == 1
T1On == 2
NoPower == 3
Key_on == 4
AudioOn == 5
FGINTON == 6
LongKeyOn == 7
;--------------------------------------------------------------------
;DISPFLAGS
;--------------------------------------------------------------------
M1on == 0
M2on == 1
M3on == 2
M4on == 3
ShowM == 4
;AddFreq == 5
;DecFreq == 6
;-------------------------------------------------------------------
;Constants define
MAXINTCN == 0x0A
;
MAX_FM_H == 0x10 ;108.0Mhz
MAX_FM_L == 0x80
;
MIN_FM_H == 0x08 ;88.0Mhz
MIN_FM_L == 0x80
;
STEP_VALUE == 0x01 ;0.1Mhz
;
MHZ_FM_H == 0x10 ;100.0Mhz
MHZ_FM_L == 0x00 ;
;
M1_PRESET_H == 0x09 ; 90.0Mhz
M1_PRESET_L == 0x00 ;
;
M2_PRESET_H == 0x09 ; 95.0Mhz
M2_PRESET_L == 0x50
;
M3_PRESET_H == 0x10 ; 100.0Mhz
M3_PRESET_L == 0x00 ;
;
M4_PRESET_H == 0x10 ; 105.0Mhz
M4_PRESET_L == 0x50 ;
;===================================
Key_Freq_INC == 0b01111111 ;
Key_Freq_DEC == 0b10111111 ;
Key_M1 == 0b11011111 ;
Key_M2 == 0b11101111 ;
Key_M3 == 0b11110111 ;
Key_M4 == 0b11111011 ;
Key_PWR == 0b11111101 ;
Key_Audio == 0b11111110 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -