- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;*;单片机端的电平转换;与PC机的硬件连接 ;PC机串行口检查 ;连机编程测试;void init(void)
{
SCON = 0x50; //方式1(N,8,1),接收允许
PCON = 0x00; //波特率不倍增
TMOD = 0x20; //置T1为8位自动重装方式
TL1 = 0xfd;
TH1 = 0xfd; //波特率9600
TR1 = 1;
};uchar ReceiveChar()
{
uchar ch;
while (!RI); //等待接收完
ch = SBUF;
RI = 0;
return (ch);
};void SendChar(uchar ch)
{
SBUF = ch; //发送字符
while (!TI); //等待发送完
TI = 0; //清标志
};通信程序的扩充与完善;单片机端程序:;void SendChar(uchar ch)
{
SBUF = ch; //发送字符
while (!TI); //等待发送完
TI = 0;
};void main(void)
{ DataInit();
SPortInit();
InFullFlag = 0;
while(1)
{
if(InFullFlag)
{
switch(InBuff[1])
{//依命令完成相应功能
}
InFullFlag = 0;
}
}
};*;*;Private Sub Timer1_Timer()
Dim buf$
buf = Trim(MSComm1.Input) 将缓冲区数据读入buf变量
If Len(buf) 0 Then 判缓冲区是否有数据
TextReceive.Text =
TextReceive.Text + Chr(13) + Chr(10) + buf
End If
End Sub;6.3.3 单片机与单片机间的通信;通讯协议:
每帧数据为8位,1位起始位,1位停止位,无检验,波特率9600。
申请接收数据的单片机,按下本机的请求键(按键接在P3.5引脚),按下键后有3种按键事件可能发生:短击、长击和双击,分别对应3种请求接收数据的命令,即:“$1”、“$2”和“$3”。3种命令会根据发生的按键事件发送到对方;发送数据的单片机依据接收到的命令完成对应的数据发送任务。数据传送采用“!”为同步字符。 ;Thank You !
文档评论(0)