工厂控制灯光
工厂控制灯光系统(IO串口版)
注意:使用IO接口,就需要将J13中的23端口连接,这样WR恒为低电平0,U25为或门,后面接了一个非门符号,所以想要选通某一个573锁存器,只需要使对应的Yn写入即可。
一、函数声明
# include "reg52.h"
sfr AUXR = 0x8E;
sbit S5 = P3^2;
sbit S4 = P3^3;
unsigned char code SMG_duanma[20]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0x88,0x80,
0xc6,0xc0,0x86,0x8e,0xbf,0x7f};
unsigned char t_h = 0;
unsigned char t_m = 0;
unsigned char t_s = 0;
unsigned char count = 0;
unsigned char command = 0;
unsigned char stat_LED = 0xFF;
/*======================申明子函数=======================
功能:加强代码可读性。
=======================================================*/
void SelectHc573(unsigned char channel);
void InitBeep();
void Delay(unsigned int t);
void LEDRunning();
void SMGRunning();
void DisplaySMG_BIT(unsigned char pos,unsigned char value);
void DelaySMG(unsigned char n);
void DisplayTimer();
void InitTimer();
void InitUart();
void SendByte(unsigned char dat);
void ExecuteCommand();
void ScanKeys();
二、主函数
/*======================主函数===========================
功能:整个工厂灯光控制系统的主函数。
参数:无。
返回:空。
=======================================================*/
void main()
{
InitBeep();
LEDRunning();
SMGRunning();
InitTimer();
InitUart();
while(1)
{
ExecuteCommand();
DisplayTimer();
ScanKeys();
}
}