资源描述:
《实验报告--双机通信及PCB设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、学生实验报告学院:课程名称:专业班级:姓名:学号:学生实验报告学生姓名学号同组人实验项目双机通信及PCB设计■必修□选修□演示性实验□验证性实验■操作性实验□综合性实验实验地点实验仪器台号指导教师实验日期及节次一、实验综述1、实验目的及要求熟悉51单片机的基本输入和输出应用,掌握ProteusISIS模块的原理图推图方法及单片机系统仿真运行方法。1、按照P241图A.72绘制电路原理图1,将第6章实例2中2#机的查询法收发程序改为中断法(1#机发送过程不变)并实现原有功能;2、按照图A7.3和表A7.3绘制电路原理图2,并定义电源端口;
2、3、采用ARES软件完成电路原理图2的PCB设计,形成光绘(Gerber)输出文件,其中BCD数码管需按照图A.74所示尺寸进行PCB自定义封装;4、完成实验报告2、实验仪器、设备或软件电脑Keil4ProteusISIS二、实验过程(实验步骤、记录、数据、分析)实验步骤:1.提前阅读与实验六相关的阅读材料2.完成电路原理图的绘制3.编写和编译程序4.利用ISIS调试功能检查程序的语法和逻辑错误5.观察仿真结果,检验程序与电路的正确性程序:主机:#includeunsignedcharcodeled[]={0x3f,0
3、x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};voiddelay(unsignedinttime){unsignedintj=0;for(;time>0;time--)for(j=0;j<125;j++);}voidmain(void){unsignedcharcounter=0;//定义计数器TMOD=0x20;//T1定时方式2TH1=TL1=0xf4;//2400b/sPCON=0;//波特率不加倍SCON=0x50;//串口方
4、式1,TI和RI清零,允许接收TR1=1;//启动T1while(1){SBUF=counter;//发送联络信号while(TI==0);//等待发送完成TI=0;//清除TI标志位while(RI==0);//等待乙机回答RI=0;if(SBUF==counter)//若返回值与发送值相同,组织新数据{P2=led[counter];//显示已发送值if(++counter>15)//修正计数器值counter=0;delay(500);}}}从机:#includeunsignedcharcodeled[]={0x
5、3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};unsignedcharreceiv=0;//定义计数器voiddisplay()interrupt4{if(RI=1){RI=0;//清RI标志位receiv=SBUF;//取得接收值SBUF=receiv;//结果返送主机if(TI==0);//等待发送结束TI=0;//清TI标志位P2=led[receiv];//显示已发送值}}voidmain(void){P2=0xff;
6、TMOD=0x20;//T1定时方式2TH1=TL1=0xf4;//2400b/sPCON=0;//波特率不加倍SCON=0x50;//串口方式1,TI和RI清零,允许接收TR1=1;//启动T1ES=1;//中断开启EA=1;//总允许while(1);}三、结论1、实验结果2、分析讨论1.要熟悉ISIS模块的语言编辑、编译与调试过程2.多练习ISIS程序调试方法,并最终实现实验六的预期功能3.掌握了中断定时/计数器的工作原理,熟悉C51单片机的编程与调试方法,掌握ProteusISIS模块的原理图绘图方法及及单片机系统仿真运行方法四
7、、指导教师评语及成绩:评语:干的不错,继续努力!成绩:指导教师签名:批阅日期: