当前位置:首页 > 单片机课程设计-双机通信e - 图文
主程序开始 程序初始化 主机发送AAH 从机是否回答BBH? N 主机发送数据,检验和 输出完成? N 清除标志位
(2) 接收方程序流程图
共 16 页 第 9 页
主程序开始 程序初始化 接收数据,计算检验和 N 检验和相等? 发送FFH, 重新接收 发送00H至主机 接收完成? N 清除标志位 显示
共 16 页 第 10 页
四、 联合调试
在protues上进行仿真实验。首先使用KeilC将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,结果如下图所示,可以看到,接收端已将接受到的数据完整的显示了出来。
图4.仿真图
五、 设计小结
经过繁忙而又紧张的课程设计,终于顺利的完成了设计任务。虽然在这段时间里每天都那么繁忙,但是在这忙碌的过程中却得到了许多的收获。
经过课程设计,在查阅资料的过程中,学习了基于单片机的C语言程序设计,了解了单片机串行通信的基本知识,对于以后的学习和工作都有很大的益处。
在学习的过程中,也遇到了一些困难,比如开始的时候,由于发送端和接收端的通信协议没有做好,导致数据不能正确的传输,在解决问题的过程中,对于通信协议的实现有了深刻的认识。
通过这次课程设计,锻炼了自己独立思考的能力。
共 16 页 第 11 页
六、 附录
1. 主机发送程序 #include
#define uchar unsigned char void init(); void send(); ucharTAB[16]
={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uchar i,sum; int j; main() { init(); send();
}
void init(void) { EA=1; ES=1; TMOD=0x20; TH1=0xfd; TL1=0xfd; PCON=0x00; SCON=0x50; TR1=1;
}
void send(void) {do
{ SBUF=0xaa;
共 16 页 第 12 页
共分享92篇相关文档