图2.9 系统PCB正面
图2.10 系统PCB图背面
11
第六节 安装调试注意事项
由于本系统涉及到了强电,所以在上电之前请务必将保险管安装到位,同时对涉及到220V的接线端子,请务必使用耐压参数合格的产品。系统板实物图如图2.11
图2.11 系统版实物图
在系统加电之前,请检查好保险管的规格参数,这里使用的1A的保险管。根据本
作品的设计,输入和输出的一根线是接通的,另一根线由继电器控制,所以为了确保安全,在改变负载之前请确保电源已经彻底断开。
系统连接实物图如图2.12所示
12
图2.12 系统连接实物图
13
第三章 作品软件系统设计
第一节 程序流程图介绍
1.程序流程图
图3.1 系统总流程图
图3.2 中断服务程序流程图
14
程序流程说明:由于控制继电器的I/O口采用的下拉方式,所以控制程序使用改变I/O方向的方式来改变输出电平。例如,需要将P1.6口输出高电平时,需要将P1.6输出设为高,同时将方向设置为输出模式;如果希望P1.6输出低电平,则将P1.6口方向置为输入即可。这样可以保证在系统复位时也有确定的低电平输出。 2.程序代码及注释 #include\
void Sys_Clk_Init();
void Delay(unsigned int time); void Port_Init();
//对I/O操作口进行宏定义,方便后面的操作
#define CONTROL_1_HIGH P1DIR|=BIT6 //将P1.6口设置为输出模式,输出高 #define CONTROL_1_LOW P1DIR&=~BIT6 //将P1.6口设置为输入模式,通过下来电阻使其输出低
#define CONTROL_2_HIGH P1DIR|=BIT7 #define CONTROL_2_LOW P1DIR&=~BIT7 #define CONTROL_3_HIGH P2DIR|=BIT7 #define CONTROL_3_LOW P2DIR&=~BIT7 #define CONTROL_4_HIGH P2DIR|=BIT6 #define CONTROL_4_LOW P2DIR&=~BIT6
unsigned char PushCnt=0; //记录按下的次数,该变量决定了I/O口的反转
void main() {
WDTCTL=WDTPW+WDTHOLD; //关闭看门狗 Sys_Clk_Init(); //系统时钟初始化
Delay(60000); //略微延时等待系统时钟稳定 Port_Init(); //I/O口初始化设置 _EINT(); //打开系统总中断
15