?? stcmcu+
字號:
sfr ISP_TRIG = 0xe6; //ISP命令觸發寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=xxxx,xxxx x x x x x x x x
#define ISP_TRIG0 0x46 //ISP功能觸發命令1
#define ISP_TRIG1 0xb9 //ISP功能觸發命令2
/////////////////////////////////
sfr ISP_CONTR = 0xe7; //ISP控制寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 ISPEN SWBS SWRST CMD_FAIL - WT2 WT1 WT0
//初始值=0000,0000 0 0 0 0 0 0 0 0
#define ISPEN 0x80 //ISP使能開關
#define SWBS 0x40 //軟啟動選擇,0:從用戶AP啟動 1:從ISP啟動
#define SWRST 0x20 //觸發軟件復位
#define CMD_FAIL 0x10 //ISP命令失敗標志
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr SPSTAT = 0x84; //SPI狀態寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 SPIF WCOL - - - - - -
//初始值=11xx,xxxx 1 1 x x x x x x
#define SPIF 0x80 //SPI傳輸完成標志,當SPI中斷使能時會觸發SPI中斷請求,需要用軟件向此位寫"1"來清0
#define WCOL 0x40 //SPI寫沖突標志,需要用軟件向此位寫"1"來清0
/////////////////////////////////
sfr SPCTL = 0x85; //SPI控制寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0
//初始值=0000,0100 0 0 0 0 0 1 0 0
#define SSIG 0x80 //SS忽略位,1:由MSTR確定主/從 0:由SS腳確定主/從
#define SPEN 0x40 //SPI模塊使能位
#define DORD 0x20 //SPI數據順序,1:LSB(先收/發最低位) 0:MSB(先收/發最高位)
#define MSTR 0x10 //主/從模式選擇位
#define CPOL 0x08 //SPI時鐘極性
#define CPHA 0x04 //SPI相位選擇
#define SPSPEEDHH 0x00 //最快的速度,CPU_CLK/4
#define SPSPEEDH 0x01 //最快的速度,CPU_CLK/16
#define SPSPEEDL 0x02 //最快的速度,CPU_CLK/64
#define SPSPEEDLL 0x03 //最快的速度,CPU_CLK/128
/////////////////////////////////
sfr SPDAT = 0x86; //SPI數據寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr CCON = 0xd8; //PCA控制寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 CF CR - - CCF3 CCF2 CCF1 CCF0
//初始值=00xx,0000 0 0 x x 0 0 0 0
sbit CF = CCON^7; //PCA計數器溢出標志,當PCA中斷使能時會觸發PCA中斷請求,需要用軟件清0
sbit CR = CCON^6; //PCA計數器啟動控制位,寫"1"啟動東計數器
sbit CCF3 = CCON^3; //PCA模塊3中斷標志,需要用軟件清0
sbit CCF2 = CCON^2; //PCA模塊2中斷標志,需要用軟件清0
sbit CCF1 = CCON^1; //PCA模塊1中斷標志,需要用軟件清0
sbit CCF0 = CCON^0; //PCA模塊0中斷標志,需要用軟件清0
/////////////////////////////////
sfr CMOD = 0xd9; //PCA模式寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 CIDL - - - CPS2 CPS1 CPS0 ECF
//初始值=0xxx,0000 0 x x x 0 0 0 0
#define CIDL 0x80 //計時器陣列空閑控制,0:空閑模式下PCA繼續工作 1:空閑模式下PCA停止工作
#define PCACLK0 0x00 //Fosc/12
#define PCACLK1 0x02 //Fosc/2
#define PCACLK2 0x04 //定時器0的溢出率
#define PCACLK3 0x06 //ECI外部時鐘
#define PCACLK4 0x08 //Fosc/1
#define PCACLK5 0x0a //Fosc/4
#define PCACLK6 0x0c //Fosc/6
#define PCACLK7 0x0e //Fosc/8
#define ECF 0x01 //PCA計數器溢出中斷允許位
/////////////////////////////////
sfr CCAPM0 = 0xda; //PCA模塊0模式寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 - ECOM0 CAPP0 CAPN0 MAT0 TOG0 PWM0 ECCF0
//初始值=x000,0000 x 0 0 0 0 0 0 0
#define PCA0_ECOM 0x40 //使能比較器0
#define PCA0_CAPP 0x20 //使能PCA模塊0的上升沿捕獲
#define PCA0_CAPN 0x10 //使能PCA模塊0的下降沿捕獲
#define PCA0_MAT 0x08 //匹配使能,當PCA的計數值與模塊0設定的值相匹配時,置CCON.CCF0
#define PCA0_TOG 0x04 //翻轉控制位,當PCA的計數值與模塊0設定的值相匹配時,翻轉CEX0的電平
#define PCA0_PWM 0x02 //脈寬調制模式,使能CEX0為脈寬調制輸出口
#define PCA0_ECCF 0x01 //使能CCF0中斷
/////////////////////////////////
sfr CCAPM1 = 0xdb; //PCA模塊1模式寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 - ECOM1 CAPP1 CAPN1 MAT1 TOG1 PWM1 ECCF1
//初始值=x000,0000 x 0 0 0 0 0 0 0
#define PCA1_ECOM 0x40 //使能比較器1
#define PCA1_CAPP 0x20 //使能PCA模塊1的上升沿捕獲
#define PCA1_CAPN 0x10 //使能PCA模塊1的下降沿捕獲
#define PCA1_MAT 0x08 //匹配使能,當PCA的計數值與模塊1設定的值相匹配時,置CCON.CCF1
#define PCA1_TOG 0x04 //翻轉控制位,當PCA的計數值與模塊1設定的值相匹配時,翻轉CEX1的電平
#define PCA1_PWM 0x02 //脈寬調制模式,使能CEX1為脈寬調制輸出口
#define PCA1_ECCF 0x01 //使能CCF1中斷
/////////////////////////////////
sfr CCAPM2 = 0xdc; //PCA模塊2模式寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 - ECOM2 CAPP2 CAPN2 MAT2 TOG2 PWM2 ECCF2
//初始值=x000,0000 x 0 0 0 0 0 0 0
#define PCA2_ECOM 0x40 //使能比較器2
#define PCA2_CAPP 0x20 //使能PCA模塊2的上升沿捕獲
#define PCA2_CAPN 0x10 //使能PCA模塊2的下降沿捕獲
#define PCA2_MAT 0x08 //匹配使能,當PCA的計數值與模塊2設定的值相匹配時,置CCON.CCF2
#define PCA2_TOG 0x04 //翻轉控制位,當PCA的計數值與模塊2設定的值相匹配時,翻轉CEX2的電平
#define PCA2_PWM 0x02 //脈寬調制模式,使能CEX2為脈寬調制輸出口
#define PCA2_ECCF 0x01 //使能CCF2中斷
/////////////////////////////////
sfr CCAPM3 = 0xdd; //PCA模塊3模式寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 - ECOM3 CAPP3 CAPN3 MAT3 TOG3 PWM3 ECCF3
//初始值=x000,0000 x 0 0 0 0 0 0 0
#define PCA3_ECOM 0x40 //使能比較器3
#define PCA3_CAPP 0x20 //使能PCA模塊3的上升沿捕獲
#define PCA3_CAPN 0x10 //使能PCA模塊3的下降沿捕獲
#define PCA3_MAT 0x08 //匹配使能,當PCA的計數值與模塊3設定的值相匹配時,置CCON.CCF3
#define PCA3_TOG 0x04 //翻轉控制位,當PCA的計數值與模塊3設定的值相匹配時,翻轉CEX3的電平
#define PCA3_PWM 0x02 //脈寬調制模式,使能CEX3為脈寬調制輸出口
#define PCA3_ECCF 0x01 //使能CCF3中斷
/////////////////////////////////
//CCAPM0 - ECOM CAPP CAPN MAT TOG PWM CCF
// 00H 0 0 0 0 0 0 0 0 無操作,待機狀態
// 42H 0 1 0 0 0 0 1 0 8位PWM輸出,無中斷
// 63H 0 1 1 0 0 0 1 1 8位PWM輸出,產生CEX0上升沿中斷
// 53H 0 1 0 1 0 0 1 1 8位PWM輸出,產生CEX0下降沿中斷
// 73H 0 1 1 1 0 0 1 1 8位PWM輸出,產生CEX0跳變中斷
// 20H 0 x 1 0 0 0 0 0 16位捕獲模式,CEX0上升沿觸發捕獲
// 10H 0 x 0 1 0 0 0 0 16位捕獲模式,CEX0下降沿觸發捕獲
// 30H 0 x 1 1 0 0 0 0 16位捕獲模式,CEX0跳變觸發捕獲
// 48H 0 1 0 0 1 0 0 0 16位軟件定時器
// 4CH 0 1 0 0 1 1 0 0 16位高速脈沖輸出
/////////////////////////////////
sfr CL = 0xe9; //PCA計數器低8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr CH = 0xf9; //PCA計數器高8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr CCAP0L = 0xea; //PCA模塊0寄存器低8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr CCAP1L = 0xeb; //PCA模塊1寄存器低8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr CCAP2L = 0xec; //PCA模塊2寄存器低8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr CCAP3L = 0xed; //PCA模塊3寄存器低8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr CCAP0H = 0xfa; //PCA模塊0寄存器高8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr CCAP1H = 0xfb; //PCA模塊1寄存器高8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr CCAP2H = 0xfc; //PCA模塊2寄存器高8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr CCAP3H = 0xfd; //PCA模塊3寄存器高8位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr PCA_PWM0 = 0xf2; //PCA0模式PWM輔助寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 - - - - - - EPC0H EPC0L
//初始值=xxxx,xx00 x x x x x x 0 0
/////////////////////////////////
sfr PCA_PWM1 = 0xf3; //PCA1模式PWM輔助寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 - - - - - - EPC1H EPC1L
//初始值=xxxx,xx00 x x x x x x 0 0
/////////////////////////////////
sfr PCA_PWM2 = 0xf4; //PCA2模式PWM輔助寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 - - - - - - EPC2H EPC2L
//初始值=xxxx,xx00 x x x x x x 0 0
/////////////////////////////////
sfr PCA_PWM3 = 0xf5; //PCA3模式PWM輔助寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 - - - - - - EPC3H EPC3L
//初始值=xxxx,xx00 x x x x x x 0 0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -