自己在校期间做的51单片机主从式串行通信的课程设计,想要学习参考的同学可以拿去,关于设计可以交流学习。
主从式串行通信仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
通信协议的设计是本课题的重点难点,本题通信协议主要是区别主机和从机。 经查找资料,实现此多机通信的功能的方式是通过单片内硬件实现,下面对这种方式进行简单的介绍
多机通信协议:
由于串口的方式2、3发送和接收都是11位其第九为可编程置位可以此作为区分地址帧与数据帧从而实现主机与从机,从机与从机的区别。通信协议同样要规定相同通信速率,编写如下的通信协议:
1、数据传输的双方均使用4800b/s的速率传送数据,使用主从式通信,从机发送数据,,双方在发送数据时使用查询方式。主机接受数据使用中断接收。
2、双机开始数据传输时,从机发送地址帧呼叫主机。
3、各从机开始都处于发送地址帧状态。发送地址帧后,主机将接收到的地址内容和本机地址比较,如果地址相同,则向从机返回本机地址作为确认信息,并开始接收数据;如果不同,则继续等待。
4、主机在接收地址帧后等待,如果接收到的应答信息中的内容和所发地址帧的内容相同,就开始接收数据,如果不一致,从机将继续发送地址帧。如多次应答仍无回应则认为出错则主机跳出本次通信。
需要说明的是,从机通过ADC0832采集滑动变阻器的电压,经由AD转换后将8位电压数据发送到从机,从机在接收到主机的请求指令之后,将采集到的电压数据发送给主机,主机控制lcd液晶显示屏显示电压数据。
单片机源程序如下:
所有资料51hei提供下载:
单片机主从串行通信.rar
(1.4 MB, 下载次数: 226)
|