串口调试助手通信调试原理图PCB及使用手册.docx
- 文档编号:4698083
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:31
- 大小:2.03MB
串口调试助手通信调试原理图PCB及使用手册.docx
《串口调试助手通信调试原理图PCB及使用手册.docx》由会员分享,可在线阅读,更多相关《串口调试助手通信调试原理图PCB及使用手册.docx(31页珍藏版)》请在冰豆网上搜索。
串口调试助手通信调试原理图PCB及使用手册
串口调试助手通信调试原理图PCB及使用手册
【简要说明】
1、 尺寸:
长170mmX宽72mmX高18mm
二、 主要芯片:
单片机,MAX485,MAX232
三、 工作电压:
6V至40V,功耗小于1W
四、 特点:
1、具有稳压电路,输入电压广,具有电源指示灯。
2、具有485通信和232通信及TTL通信。
3、具有数码管数据显示,蜂鸣器提示音
4、波特率可调分别是24004800960019200
5、采用大按键,机械寿命长。
6、单片机编程,提供源代码
7、可发送20组数据
8、具有系统复位按键
9、端子采用螺旋压接端子
10、工作温度-40度至+70度
11、工作湿度40%~80%RH
12、板子静态功耗小于1W
13、具有续流保护
14、具有电磁抗干扰能力
15、板子稳定工作可靠
16、板子可安装在DIN导轨上面
使用说明:
【标注说明】
【功能描述】
【原理图】
【PCB图】
【元件清单】
【应用举例】
【应用举例2】
例如:
将下面一组数据通过串口发送给电脑。
波特率是9600,电脑用串口助手显示出来。
数据是:
A0B2CCFFEFD89088
第一步:
板子供电,串口连接电脑,查看串口号。
如下图:
我的电脑--属性--硬件---设备管理器---端口设备。
第二步:
打开串口助手,设置对应的串口号和十六进制显示。
如下图:
第三步:
从发送板,按下下面一组数据,数据是:
A0B2CCFFEFD89088数据按完之后,按发送键“S2”,如果数据输入错误,可以按”S1”按键清零,重新输入。
如果要发送多遍,重复按“S2”按键。
单遍发送如下图。
【源代码程序】
/*
一次最多发送20组数据,大于这个数据就不再发送
*/
#include
#defineucharunsignedchar
#defineuintunsignedint
/**************************************************************/
unsignedcharT0RH=0;//T0重载值的高字节
unsignedcharT0RL=0;//T0重载值的低字节
externvoidUartDriver();//串口驱动函数,监测数据帧的接收,调度功能函数,需在主循环中调用
externvoidConfigUART(unsignedintbaud);//串口配置函数,baud-通信波特率
externvoidConfigUART1(unsignedintbaud1);//串口配置函数,baud-通信波特率
externvoidUartRxMonitor(unsignedcharms);//串口接收监控,由空闲时间判定帧结束,需在定时中断中调用,ms-定时间隔
externvoidSendString(char*s);
externvoidUartWrite(unsignedchar*buf,unsignedcharlen);//串口数据写入,即串口发送函数,buf-待发送数据的指针,len-指定的发送长度
externvoidfengming();
ucharzh[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
ucharjieshou[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
ucharjj=0;
/*****************************************************************/
sbitout0=P2^0;
sbitout1=P2^1;
sbitout2=P2^2;
sbitout3=P2^3;
sbitin0=P2^4;
sbitin1=P2^5;
sbitin2=P2^6;
sbitin3=P2^7;
sbitsmgk=P3^6;
sbitboma1=P1^1;
sbitboma2=P1^0;
bitd1=1;
bitd2=1;
sbitin4=P1^6;
sbitin5=P1^5;
ucharcodexianshi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf};
uchardangqianzhuangtai[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};
voidt0()interrupt1
{
uchari;
staticucharlie=0;
staticucharsao[2]={1,1};
staticucharsaomiaobaocun[4][4]={{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff},{0xff,0xff,0xff,0xff}};
TH0=0xfc;
TL0=0x67;
UartRxMonitor
(1);//串口接收监控
sao[0]=(sao[0]<<1)|in4;
sao[1]=(sao[1]<<1)|in5;
saomiaobaocun[lie][0]=(saomiaobaocun[lie][0]<<1)|in0;
saomiaobaocun[lie][1]=(saomiaobaocun[lie][1]<<1)|in1;
saomiaobaocun[lie][2]=(saomiaobaocun[lie][2]<<1)|in2;
saomiaobaocun[lie][3]=(saomiaobaocun[lie][3]<<1)|in3;
if(sao[0]==0x00)
{
d1=0;
}
elseif(sao[0]==0xff)
{
d1=1;
}
if(sao[1]==0x00)
{
d2=0;
}
elseif(sao[1]==0xff)
{
d2=1;
}
for(i=0;i<4;i++)
{
if((saomiaobaocun[lie][i]&0x0f)==0x00)
{
dangqianzhuangtai[lie][i]=0;
}
elseif((saomiaobaocun[lie][i]&0x0f)==0x0f)
{
dangqianzhuangtai[lie][i]=1;
}
}
lie++;
lie=lie&0x03;
switch(lie)
{
case0:
out1=1;out2=1;out3=1;out0=0;break;
case1:
out0=1;out2=1;out3=1;out1=0;break;
case2:
out0=1;out1=1;out3=1;out2=0;break;
case3:
out0=1;out1=1;out2=1;out3=0;break;
}
}
voidmain()
{
uchari,j;
bitq1=1;
bitq2=1;
ucharqianyicizhuangtai[4][4]={{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};
smgk=0;
TMOD=0x01;
TH0=0xfc;
TL0=0x67;
TR0=1;
EA=1;
ET0=1;
P0=xianshi[16];
//ConfigUART(9600);//配置波特率为9600
while
(1)
{
UartDriver();//调用串口驱动
if((boma1==0)&&(boma2!
=0))
{
ConfigUART(2400);//配置波特率为1200
}
if((boma2==0)&&(boma1!
=0))
{
ConfigUART(4800);//配置波特率为4800
}
if((boma1==0)&&(boma2==0))
{
ConfigUART(9600);//配置波特率为9600
}
if((boma1!
=0)&&(boma2!
=0))
{
ConfigUART1(19200);//配置波特率为19200
}
if(d1!
=q1)
{
q1=d1;
if(d1==0)
{
if((jj!
=0)&&(jj<=2))
{
zh[0]=jieshou[0]|jieshou[1];
UartWrite(zh,1);
fengming();
}
if((jj>2)&&(jj<=4))
{
zh[0]=jieshou[0]|jieshou[1];
zh[1]=jieshou[2]|jieshou[3];
UartWrite(zh,2);
fengming();
}
if((jj>4)&&(jj<=6))
{
zh[0]=jieshou[0]|jieshou[1];
zh[1]=jieshou[2]|jieshou[3];
zh[2]=jieshou[4]|jieshou[5];
UartWrite(zh,3);
fengming();
}
if((jj>6)&&(jj<=8))
{
zh[0]=jieshou[0]|jieshou[1];
zh[1]=jieshou[2]|jieshou[3];
zh[2]=jieshou[4]|jieshou[5];
zh[3]=jieshou[6]|jieshou[7];
UartWrite(zh,4);
fengming();
}
if((jj>8)&&(jj<=10))
{
zh[0]=jieshou[0]|jieshou[1];
zh[1]=jieshou[2]|jieshou[3];
zh[2]=jieshou[4]|jieshou[5];
zh[3]=jieshou[6]|jieshou[7];
zh[4]=jieshou[8]|jieshou[9];
UartWrite(zh,5);
fengming();
}
if((jj>10)&&(jj<=12))
{
zh[0]=jieshou[0]|jieshou[1];
zh[1]=jieshou[2]|jieshou[3];
zh[2]=jieshou[4]|jieshou[5];
zh[3]=jieshou[6]|jieshou[7];
zh[4]=jieshou[8]|jieshou[9];
zh[5]=jieshou[10]|jieshou[11];
UartWrite(zh,6);
fengming();
}
if((jj>12)&&(jj<=14))
{
zh[0]=jieshou[0]|jieshou[1];
zh[1]=jieshou[2]|jieshou[3];
zh[2]=jieshou[4]|jieshou[5];
zh[3]=jieshou[6]|jieshou[7];
zh[4]=jieshou[8]|jieshou[9];
zh[5]=jieshou[10]|jieshou[11];
zh[6]=jieshou[12]|jieshou[13];
UartWrite(zh,7);
fengming();
}
if((jj>14)&&(jj<=16))
{
zh[0]=jieshou[0]|jieshou[1];
zh[1]=jieshou[2]|jieshou[3];
zh[2]=jieshou[4]|jieshou[5];
zh[3]=jieshou[6]|jieshou[7];
zh[4]=jieshou[8]|jieshou[9];
zh[5]=jieshou[10]|jieshou[11];
zh[6]=jieshou[12]|jieshou[13];
zh[7]=jieshou[14]|jieshou[15];
UartWrite(zh,8);
fengming();
}
if((jj>16)&&(jj<=18))
{
zh[0]=jieshou[0]|jieshou[1];
zh[1]=jieshou[2]|jieshou[3];
zh[2]=jieshou[4]|jieshou[5];
zh[3]=jieshou[6]|jieshou[7];
zh[4]=jieshou[8]|jieshou[9];
zh[5]=jieshou[10]|jieshou[11];
zh[6]=jieshou[12]|jieshou[13];
zh[7]=jieshou[14]|jieshou[15];
zh[8]=jieshou[16]|jieshou[17];
UartWrite(zh,9);
fengming();
}
if((jj>18)&&(jj<=20))
{
zh[0]=jieshou[0]|jieshou[1];
zh[1]=jieshou[2]|jieshou[3];
zh[2]=jieshou[4]|jieshou[5];
zh[3]=jieshou[6]|jieshou[7];
zh[4]=jieshou[8]|jieshou[9];
zh[5]=jieshou[10]|jieshou[11];
zh[6]=jieshou[12]|jieshou[13];
zh[7]=jieshou[14]|jieshou[15];
zh[8]=jieshou[16]|jieshou[17];
zh[9]=jieshou[18]|jieshou[19];
UartWrite(zh,10);
fengming();
}
}
}
if(d2!
=q2)
{
q2=d2;
if(d2==0)
{
jj=0;
jieshou[0]=0x00;
jieshou[1]=0x00;
jieshou[2]=0x00;
jieshou[3]=0x00;
jieshou[4]=0x00;
jieshou[5]=0x00;
jieshou[6]=0x00;
jieshou[7]=0x00;
jieshou[8]=0x00;
jieshou[9]=0x00;
P0=xianshi[16];
fengming();
}
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(dangqianzhuangtai[i][j]!
=qianyicizhuangtai[i][j])
{
qianyicizhuangtai[i][j]=dangqianzhuangtai[i][j];
if(qianyicizhuangtai[i][j]!
=0)
{
jj++;
if((i*4+j)<9)
{
P0=xianshi[i*4+j+1];
}
if((i*4+j)==9)
{
P0=xianshi[0];
}
if((i*4+j)>9)
{
P0=xianshi[i*4+j];
}
fengming();
/******************1组**************************/
if(jj==1)
{
//jieshou[0]=i*4+j;
//jieshou[0]=jieshou[0]<<4;
if((i*4+j)<9)
{
jieshou[0]=i*4+j+1;
}
if((i*4+j)==9)
{
jieshou[0]=0;
}
if((i*4+j)>9)
{
jieshou[0]=i*4+j;
}
jieshou[0]=jieshou[0]<<4;
}
if(jj==2)
{
//jieshou[1]=i*4+j;
if((i*4+j)<9)
{
jieshou[1]=i*4+j+1;
}
if((i*4+j)==9)
{
jieshou[1]=0;
}
if((i*4+j)>9)
{
jieshou[1]=i*4+j;
}
}
/******************2组**************************/
if(jj==3)
{
//jieshou[2]=i*4+j;
if((i*4+j)<9)
{
jieshou[2]=i*4+j+1;
}
if((i*4+j)==9)
{
jieshou[2]=0;
}
if((i*4+j)>9)
{
jieshou[2]=i*4+j;
}
jieshou[2]=jieshou[2]<<4;
}
if(jj==4)
{
//jieshou[3]=i*4+j;
if((i*4+j)<9)
{
jieshou[3]=i*4+j+1;
}
if((i*4+j)==9)
{
jieshou[3]=0;
}
if((i*4+j)>9)
{
jieshou[3]=i*4+j;
}
}
/******************3组**************************/
if(jj==5)
{
//jieshou[4]=i*4+j;
if((i*4+j)<9)
{
jieshou[4]=i*4+j+1;
}
if((i*4+j)==9)
{
jieshou[4]=0;
}
if((i*4+j)>9)
{
jieshou[4]=i*4+j;
}
jieshou[4]=jieshou[4]<<4;
}
if(jj==6)
{
//jieshou[5]=i*4+j;
if((i*4+j)<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串口 调试 助手 通信 原理图 PCB 使用手册