📄 communication.h
字号:
/*
波特率计算方法:
最常用的定时1用于波特率发生的规则:
典型的波特率发生器应用是使用模式2,TH/TL自动重装,波特率计算公式如下
2(smode)*振荡器频率/[12*32*(256-TH1)]
下面的表格给出常用的
smode TH/L1 晶体频率 波特率
0 0xff 11.0592 28.8kbps
0 0xfe 11.0592 14.4kbps
0 0xfd 11.0592 9.6kbps
0 0xfc 11.0592 7.2kbps
0 0xfb 11.0592 5.76kbps
0 0xfa 11.0592 4.8kbps
1 0xff 11.0592 57.6kbps
1 0xfe 11.0592 28.8kbps
1 0xfd 11.0592 19.2kbps
1 0xfc 11.0592 14.4kbps
1 0xfb 11.0592 11.52kbps
1 0xfa 11.0592 9.6kbps
0 0xff 22.1084 57.6kbps
0 0xfe 22.1084 28.8kbps
0 0xfd 22.1084 19.2kbps
0 0xfc 22.1084 14.4kbps
0 0xfb 22.1084 11.52kbps
0 0xfa 22.1084 9.6kbps
1 0xff 22.1084 115.2kbps
1 0xfe 22.1084 57.6kbps
1 0xfd 22.1084 38.4kbps
1 0xfc 22.1084 28.8kbps
1 0xfb 22.1084 23.04kbps
1 0xfa 22.1084 19.2kbps
一:显示板与主控板通信协议:
1)格式:命令+数据
2)采用串行通信方式,波特率为9.6kbps;晶体频率:11.0592MHZ; mode"0": TH/L1=0xFF。
具体说明如下:
a):铣刀/开关转换键+数据 -----》0X11+0X55(开关开);0X11+0XAA(开关关)。
b):启动键+数据 -----》0X22+0X55。
c):手动/自动转换键+数据 -----》0X33+0X55(手动); 0X22+0XAA(自动);
d):保温键+数据 -----》0X44+0X55。
e):设定温度+数据 -----》0X66+设定的温度数据。
f):夹钳时间+数据 -----》0X77+夹钳时间数据。
g):夹钳压力+数据 -----》0X88+夹钳压力数据。
h):待书时间+数据 -----》0X99+待书时间数据。
i):封面时间+数据 -----》0XBB+封面时间数据。
3):当数据设定完100ms后连续发送三次
*/
#define RxBufSize 6
#define TL0LOAD 0xb0
#define TH0LOAD 0x3c//50ms定时器, 0xffff-(50000*12/12)+1=0x3cb0,实际时间为:(0xffff-0x3cb0)*12/12=49999us
#define MotorOpen 1
#define MotorClose 0
#define BAUD_RATE_SET 0xff
#define ComndXiDao 0X11
#define ComndStartWork 0X22
#define ComndOutoHand 0X33
#define ComndKeepTemp 0X44
#define ComndSetTemp 0X66
#define ComndJiaTime 0X77
#define ComndJiaYaLi 0X88
#define ComndWaitTime 0X99
#define ComndFengMianTime 0XBB
//加热
sbit OutHeat=P1^0 ;
//sbit RstUSB=P1^1 ;
//sbit RstUSB=P1^2 ;
//直本台反转
sbit OutBenInversion=P1^3 ;//
//置本台正转
sbit OutBenForward=P1^4 ;
//主电机反转
sbit OutMainInversion=P1^5 ;
//主电机正转
sbit OutMainForward=P1^6 ;
//平台电机反转
sbit OutPingInversion=P1^7 ;
//铣刀电机
sbit OutXi=P2^0 ;
//胶锅电机
sbit OutJiao=P2^1 ;
//平台电机正转
sbit OutPingForward=P2^2 ;
//急停
sbit InStopWork=P2^3 ;
//读本台光电
sbit InBenG=P0^2 ;
//读左限位
sbit InLeft=P0^3 ;
//读右限位
sbit InRight=P0^4 ;
//读平台光电
sbit InPingG=P0^5 ;
//读平台限位
sbit InPingX=P0^6 ;
//读本台开
sbit InBen=P0^7 ;
//sbit InTemprature=P0^1 ;
//读温度及电位器的值
sbit InTemprature=P3^4 ;
void InitSerialPort(void);
void InitPort(void);
void TestSignal(void);
void OutDoWork(void);
void StopWork(void);
void CountDoWork(void);
void CompearTemprature(void);
void PrintChar(unsigned char ch);
void InitTimer0(void);
void delay(void);
void DoWithRxData(void);
void PrintChar(unsigned char ch);
void EX1interrupt(void);
void EX0INTER(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -