qhC单片机的串行口重点.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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)

tt435678 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档