?? stcmcu+
字號:
sbit P26 = P2^6; //I/O口P2.6
sbit P25 = P2^5; //I/O口P2.5
sbit P24 = P2^4; //I/O口P2.4
sbit P23 = P2^3; //I/O口P2.3
sbit P22 = P2^2; //I/O口P2.2
sbit P21 = P2^1; //I/O口P2.1
sbit P20 = P2^0; //I/O口P2.0
/////////////////////////////////
sfr P3 = 0xb0; //I/O端口3 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0
//初始值=1111,1111 1 1 1 1 1 1 1 1
sbit P37 = P3^7; //I/O口P3.7
sbit P36 = P3^6; //I/O口P3.6
sbit P35 = P3^5; //I/O口P3.5
sbit P34 = P3^4; //I/O口P3.4
sbit P33 = P3^3; //I/O口P3.3
sbit P32 = P3^2; //I/O口P3.2
sbit P31 = P3^1; //I/O口P3.1
sbit P30 = P3^0; //I/O口P3.0
sbit RXD = P3^0; //串口1的數據接收口
sbit TXD = P3^1; //串口1的數據發送口
sbit INT0 = P3^2; //外部中斷0的信號輸入口
sbit INT1 = P3^3; //外部中斷1的信號輸出口
sbit T0 = P3^4; //定時器0的外部信號輸入口
sbit T1 = P3^5; //定時器1的外部信號輸入口
sbit WR = P3^6; //外部數據存儲器的寫信號
sbit RD = P3^7; //外部數據存儲器的讀信號
sbit T0CLKO = P3^4; //定時器0的時鐘溢出脈沖輸出腳
sbit T1CLKO = P3^5; //定時器1的時鐘溢出脈沖輸出腳
/////////////////////////////////
sfr P4 = 0xc0; //I/O端口4 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 P4.7 P4.6 P4.5 P4.4 P4.3 P4.2 P4.1 P4.0
//初始值=1111,1111 1 1 1 1 1 1 1 1
sbit P47 = P4^7; //I/O口P4.7
sbit P46 = P4^6; //I/O口P4.6
sbit P45 = P4^5; //I/O口P4.5
sbit P44 = P4^4; //I/O口P4.4
sbit P43 = P4^3; //I/O口P4.3
sbit P42 = P4^2; //I/O口P4.2
sbit P41 = P4^1; //I/O口P4.1
sbit P40 = P4^0; //I/O口P4.0
sbit P4CEX1 = P4^3; //比較/捕獲/PWM1外部引腳
sbit P4CEX0 = P4^2; //比較/捕獲/PWM0外部引腳
sbit P4ECI = P4^1; //比較/捕獲/PWM模塊的外部時鐘輸入腳(最大值為Fosc/2)
/////////////////////////////////
sfr P1M1 = 0x91; //I/O口1模式控制器1 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初/始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr P1M0 = 0x92; //I/O口1模式控制器0 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr P0M1 = 0x93; //I/O口0模式控制器1 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr P0M0 = 0x94; //I/O口0模式控制器0 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr P2M1 = 0x95; //I/O口2模式控制器1 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr P2M0 = 0x96; //I/O口2模式控制器0 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr P3M1 = 0xb1; //I/O口3模式控制器1 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初/始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr P3M0 = 0xb2; //I/O口3模式控制器0 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr P4M1 = 0xb3; //I/O口4模式控制器1 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr P4M0 = 0xb4; //I/O口4模式控制器0 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
// PxM1 PxM0
// 0 0 準雙向口
// 0 1 強推挽輸出
// 1 0 高阻輸入態
// 1 1 開漏輸出
/////////////////////////////////
sfr P1ASF = 0x9d; //P1口模擬功能控制位 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 P17ASF P16ASF P15ASF P14ASF P13ASF P12ASF P11ASF P10ASF
//初始值=0000,0000 0 0 0 0 0 0 0 0
#define P17ASF 0x80 //P1.7口為ADC輸入腳
#define P16ASF 0x40 //P1.7口為ADC輸入腳
#define P15ASF 0x20 //P1.7口為ADC輸入腳
#define P14ASF 0x10 //P1.7口為ADC輸入腳
#define P13ASF 0x08 //P1.7口為ADC輸入腳
#define P12ASF 0x04 //P1.7口為ADC輸入腳
#define P11ASF 0x02 //P1.7口為ADC輸入腳
#define P10ASF 0x01 //P1.7口為ADC輸入腳
/////////////////////////////////
sfr P4SW = 0xbb; //P4口的功能開關 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 - LVD_P4.6 ALE_P4.5 NA_P4.4 - - - -
//初始值=x000,xxxx x 0 0 0 x x x x
#define P46EN 0x40 //傳統的EA腳 0:無任何功能 1:為P4.6
#define P45EN 0x20 //傳統的ALE腳 0:仍為ALE 1:為P4.5
#define P44EN 0x10 //傳統的PSEN腳 0:無任何功能 1:為P4.4
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr IE = 0xa8; //中斷使能寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 EA ELVD EADC ES ET1 EX1 ET0 EX0
//初始值=0000,0000 0 0 0 0 0 0 0 0
sbit EA = IE^7; //總中斷開關
sbit ELVD = IE^6; //LVD中斷使能位
sbit EADC = IE^5; //ADC中斷使能位
sbit ES = IE^4; //串口中斷使能位
sbit ET1 = IE^3; //定時器1中斷使能位
sbit EX1 = IE^2; //外部中斷1中斷使能位
sbit ET0 = IE^1; //定時器0中斷使能位
sbit EX0 = IE^0; //外部中斷0中斷使能位
/////////////////////////////////
#define X0_INTNO 0 //外部中斷0中斷號,入口地址為0003H
#define T0_INTNO 1 //定時器0中斷號,入口地址為000BH
#define X1_INTNO 2 //外部中斷1中斷號,入口地址為0013H
#define T1_INTNO 3 //定時器1中斷號,入口地址為001BH
#define UART_INTNO 4 //串口中斷號,入口地址為0023H
#define ADC_INTNO 5 //ADC中斷號,入口地址為002BH
#define LVD_INTNO 6 //LVD中斷號,入口地址為0033H
#define PCA_INTNO 6 //PCA中斷號,入口地址為003BH
/////////////////////////////////
sfr IP = 0xb8; //中斷優先級寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 PPCA PLVD PADC PS PT1 PX1 PT0 PX0
//初始值=0000,0000 0 0 0 0 0 0 0 0
sbit PPCA = IP^7; //PCA中斷優先級控制低位
sbit PLVD = IP^6; //LVD中斷優先級控制低位
sbit PADC = IP^5; //ADC中斷優先級控制低位
sbit PS = IP^4; //串口中斷優先級控制低位
sbit PT1 = IP^3; //定時器1中斷優先級控制低位
sbit PX1 = IP^2; //外部中斷1中斷優先級控制低位
sbit PT0 = IP^1; //定時器0中斷優先級控制低位
sbit PX0 = IP^0; //外部中斷0中斷優先級控制低位
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
sfr TCON = 0x88; //定時器0/1控制寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
//初始值=0000,0000 0 0 0 0 0 0 0 0
sbit TF1 = TCON^7; //定時器1溢出標志,由硬件置1,可由軟件清0或者在中斷處理程序完成后由硬件自動清0
sbit TR1 = TCON^6; //定時器1的啟動控制位,1:啟動定時器 0:停止定時器
sbit TF0 = TCON^5; //定時器0溢出標志,由硬件置1,可由軟件清0或者在中斷處理程序完成后由硬件自動清0
sbit TR0 = TCON^4; //定時器0的啟動控制位,1:啟動定時器 0:停止定時器
sbit IE1 = TCON^3; //外部中斷1的中斷請求位,由硬件置1,可由軟件清0或者在中斷處理程序完成后由硬件自動清0
sbit IT1 = TCON^2; //外部中斷1的觸發類型,0:低電平觸發外部中斷 1:下降沿觸發外部中斷
sbit IE0 = TCON^1; //外部中斷0的中斷請求位,由硬件置1,可由軟件清0或者在中斷處理程序完成后由硬件自動清0
sbit IT0 = TCON^0; //外部中斷0的觸發類型,0:低電平觸發外部中斷 1:下降沿觸發外部中斷
/////////////////////////////////
sfr TMOD = 0x89; //定時器0/1模式寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//位描述 GATE C/T# M1 M0 GATE C/T# M1 M0
//初始值=0000,0000 0 0 0 0 0 0 0 0
#define GATE1 0x80 //定時器1啟動控制位,0:TR1為1時啟動定時器1 1:TR1為1且INT1為高電平時才啟動定時器1
#define C_T1 0x40 //定時器/計數器選擇位,0:定時器(時鐘源為內部時鐘) 1:計數器(時鐘源為T1引腳的外部時鐘)
#define T1_M0 0x00 //定時器1操作模式0:13位定時器
#define T1_M1 0x10 //定時器1操作模式1:16位定時器
#define T1_M2 0x20 //定時器1操作模式2:8位自動重載定時器
#define T1_M3 0x30 //定時器1操作模式3:定時器1停止
#define GATE0 0x08 //定時器1啟動控制位,0:TR0為1時啟動定時器1 1:TR0為1且INT0為高電平時才啟動定時器0
#define C_T0 0x04 //定時器/計數器選擇位,0:定時器(時鐘源為內部時鐘) 1:計數器(時鐘源為T0引腳的外部時鐘)
#define T0_M0 0x00 //定時器0操作模式0:13位定時器
#define T0_M1 0x01 //定時器0操作模式1:16位定時器
#define T0_M2 0x02 //定時器0操作模式2:8位自動重載定時器
#define T0_M3 0x03 //定時器0操作模式3:TL0和TH0為兩組獨立8位定時器
/////////////////////////////////
sfr TL0 = 0x8a; //定時器0的低8位計數值 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr TL1 = 0x8b; //定時器1的低8位計數值 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
/////////////////////////////////
sfr TH0 = 0x8c; //定時器0的高8位計數值 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
//初始值=0000,0000 0 0 0 0 0 0 0 0
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -