📄 sys_init.c
字号:
#include ".\head\intrins.h"
#include ".\head\CPU161.h"
#include ".\head\define.h"
#include ".\head\global.h"
void InitSys(void)
{
//---------------------------------------------------------------------------------
// IO
//---------------------------------------------------------------------------------
//01 P1.0/INT47 <-> I2C SCL //32 P0.0/INT2 <-- Zero Detect
//02 P1.1/INT44 <-> I2C SDA //31 P0.1/INT3 <-- Fan Speed Detect
//03 P1.2/INT43 -- JTAG(TDO) //30 P0.2/AN0 <-- Current Detect
//04 P1.3/INT42 -- JTAG(TMS) //29 P0.3/AN1 <-- T1 Detect
//05 P1.4/INT41 -- JTAG(TDI) //28 P0.4/AN2 <-- T2 Detect
//06 P1.5/INT40 -- JTAG(TCK) //27 P0.5/AN3 --> VALVE
//07 P1.6/T0 --> LCD_SDA //26 P0.6/T1 --> OutFan
//08 P1.7/RST -- RESET //25 P0.7/INT1/PWM21--> PLASMA
//09 VDD -- 5V //24 P2.7/INT46 --> STEP11
//10 VSS -- GND //23 P2.6/INT45 --> STEP12
//11 P3.4/XTALO --- 8M OSCO //22 P2.5/PWM1 --> STEP13
//12 P3.3/XTALI --- 8M OSCI //21 P2.4/PWM0 --> STEP14
//13 P3.2/T2EX --> LCD_SCK //20 P2.3/PWM2 --> InFan
//14 P3.1/INT0/T2 <-- IR_Rxd //19 P2.2/MOSI/RXD --> Heater
//15 P3.0//SS/FLT --> LCD_CS //18 P2.1/MISO/TXD --> Comp
//16 C --- 1000pf //17 P2.0/SCK/BZ --> Buzz
P0CR = Bin(11000000);
P0PCR = Bin(00000011);
P0 = Bin(00000011);
P1CR = Bin(01000000);
P1PCR = Bin(10000011);
P1 = Bin(11000011);
P2CR = Bin(11111111);
P2PCR = Bin(00000000);
P2 = Bin(00000000);
P3CR = Bin(00000101);
P3PCR = Bin(00000010);
P3 = Bin(00000111);
//---------------------------------------------------------------------------------
// ADC
//---------------------------------------------------------------------------------
ADCON = Bin(10000000); //ADC enable
ADT = Bin(11101110); //T(ad) = 32*(1/8M) = 4us
//T(s) = (14+1)*T(ad) = 15*T(ad) < 16*T(ad)
//T(converse) = 12*T(ad) + T(s) = 108us
ADCH = Bin(00000111); //AN0,AN1,AN2
ADCON |= Bin(00000001); //start converse from AN0~
//---------------------------------------------------------------------------------
// Interrupt
//---------------------------------------------------------------------------------
//Priority
// Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
IPH0 = Bin(00000000); //IEN0 N/A EADC ET2 ES ET1 EX1 ET0 EX0
IPL0 = Bin(00000000); // 00 00 11 00 00 00 01 01
IPH1 = Bin(00000000); //IEN1 N/A N/A EPWM N/A EX4 EX3 EX2 ESPI
IPL1 = Bin(00000000); // 00 00 00 00 00 10 10 00
//enable ADC interrupt
// Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
IEN0 = Bin(01000000); //IEN0 EA EADC ET2 ES ET1 EX1 ET0 EX0
IEN1 = Bin(00000000); //IEN1 N/A N/A EPWM N/A EX4 EX3 EX2 ESPI
}
void InitGlobe(void)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -