实验6 双机通信.docVIP

  • 106
  • 0
  • 约1.3千字
  • 约 4页
  • 2018-05-18 发布于河南
  • 举报
实验6 双机通信

洛阳理工学院实验报告 系别 计算机系 班级 B110508 学号 姓名 洪银江 课程名称 单片机原理及应用 实验日期 2013.10.28 实验名称 双机通信及PCB设计 成绩 实验目的:熟悉proteus仿真软件,掌握单片机原理图的绘图方法 实验内容: 掌握串行通信原理和中断法通信软件编程。 完成实验6的C51语言编程。 学习使用ARES软件,完成实验6 1#机电路PCB设计。 实验步骤: 提前阅读与实验6相关的阅读材料。 在ISIS中完成电路原理图的绘制。 采用uVision3串行通信编程和调试。 对1#机的电路进行PCB设计,生成Gerber输出文件。 实验结果: 实验编译调试程序为: 1#机的编程: #includereg51.h #define uchar unsigned char void delay (unsigned int time){ unsigned int j=0; for(;time0;time--) for(j=0;j125;j++); } void main(void){ uchar counter=0; P2=0x3f; TMOD=0x20; TH1=0xf4; TL1=0xf4; PCON=0x00; TR1=1; SCON=0X50; while(1){ SBUF=counter; while(TI==0); TI=0; while(RI==0); RI=0; if(SBUF==counter){ P2=counter; if(++counter15) counter=0; delay(500); } } } 2#机的编程: #includereg51.h #define uchar unsigned char void main(void){ uchar receiv; P2=0x3f; TMOD=0x20; TH1=0xf4; TL1=0xf4; PCON=0x00; TR1=1; SCON=0X50; while(1){ while(RI==0);{ RI=0; receiv=SBUF; SBUF=receiv; while(TI==0); TI=0; P2=receiv; } } } 实验仿真电路如图1所示: 图1 实验总结:此次的单片机的试验,让我明白了串行通信电路是怎么实现的:甲机循环发送数字0~F,乙机接收后返回接收值。若发送值与返回值相等,继续发送下一数字,否则重复发送当前数字。采用查询法检查收发是否完成。发送值和接收值分别显示在双方LED数码管上的功能,显示了串行功能的所在。注重程序的调试,掌握在调试中的一些方法很重要。

文档评论(0)

1亿VIP精品文档

相关文档