《双机通信实验报告.doc》由会员分享,可在线阅读,更多相关《双机通信实验报告.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、电子信息工程专业单片机原理及应用课程设计班 级 1004 学 号 姓 名 侯振锋 指导教师 何英昊 日 期 2012.10.14 一、设计题目甲机通过串PC口控制乙机LED(所有的正文均用小四号字)二、设计内容1、内容 本次设计,对于两片89C51,采用RS232进行双机通信。发送方的数据串行口TXD段输出。接受方接受后,灯亮。为提高抗干扰能力,还可以在输入输出端加光耦电阻进行光电隔离。 软件部分,通过通信协议进行发送接收,主机先送AHH给从机,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB16中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的
2、检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码显示管。2、元件清单列表序号标号器件名称型号数量1U1、U2单片机At89c5122R1,R2,R3,R4电阻22043K1,K2开关button24C1,C2,C3,C4电容cap45C5,C6,C7,C8电解电容Cap-pol46Rep1电阻排Respack817D1,D2,D3,D4发光二极管Ledred48U3,U4真RS-232收发器Max323229数字显示器7segcomcatgrn110J1,J29 针插口Conn-d9f2三、软件设计1、流
3、程图2、代码(含注释)/* 名称:甲机串口程序说明:甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上。*/#include#define uchar unsigned char#define uint unsigned intsbit LED1=P10;sbit LED2=P13;sbit K1=P17;uchar Operation_No=0; /操作代码/数码管代码uchar coad DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/延时void DelayMS(uint ms)uchar i;
4、while(ms-) for(i=0;i=0&SBUF=9) P0=DSY_CODESBUF;else P0=0x00;/* 名称:乙机程序接收甲机发送字符并完成相应动作说明:乙机接收到甲机发送的信号后,根据相应信号控制 LED 完成不同闪烁动作。*/#include#define uchar unsigned char#define uint unsigned intsbit LED1=P10;sbit LED2=P13;sbit K2=P17;uchar NumX=-1;/延时void DelayMS(uint ms)uchar i;while(ms-) for(i=0;i120;i+);
5、/主程序void main()LED1=LED2=1;SCON=0x50; /串口模式1,允许接收TMOD=0x20; /T1 工作模式2TH1=0xfd; /波特率9600TL1=0xfd;PCON=0x00; /波特率不倍增RI=TI=0;TR1=1;IE=0x90;while(1)DelayMS(100);if(K2=0)while(K2=0);NumX=+NumX%11; /产生010 范围内的数字,其中10 表示关闭SBUF=NumX;while(TI=0);TI=0;void Serial_INT() interrupt 4if(RI) /如收到则LED 则动作RI=0;switc
6、h(SBUF) /根据所收到的不同命令字符完成不同动作case X: LED1=LED2=1;break; /全灭case A: LED1=0;LED2=1;break; /LED1 亮case B: LED2=0;LED1=1;break; /LED2 亮case C: LED1=LED2=0; /全亮四、仿真分析1、原理图2、 仿真结果图3、结果分析为了保证数码管显示亮度,我们可以考虑增加必要的数码管驱动电路。假如不驱动的话,单片机的低电平仍然可以控制数码管的亮灭,但这时的数码管亮度会比较暗,并且扫描频率很高,仍然有微小的闪动现象。因为单片机的输出电流本身就很弱。在实际情况允许时,增加必要
7、的电平转化芯片来连接两个单片机,则能适应更远距离的数据通信。五、设计总结(就是写心得体会)本次课程设计增强了我查阅资料的方法技巧,更是大大的提高了我的自学能力,同时也增强了我的动手能力。我很清楚这个实验的目的,表面上我最终仅仅是实现了设计要求的基本功能,但我觉得,这次课程设计更加深刻的意义是从这样一个最基本,简单的实验中,从这样一个完整的过程中我了解一种系统设计的流程,甚至说是一种思路,思维。从最初选定题目,分析设计要求以及实现的初步思路,然后去图书馆查阅资料,进行更加具体的设计,无疑需要比较全面的统筹规划。于是,在初步规划后,我开始将系统要实现功能的各个模块单独开来用PROTEUS仿真,并将最终各个模块组合后整体调试。整个过程中我在仿真上花费了较长的时间,因为知道仿真成功是实现真正硬件电路的基础,仿真是从根本上检验设计者的设计逻辑以及思路的,很好的仿真才能使得设计系统在实现要求功能的基础上更加稳定、简单,仿真中我斟酌了电路布线的合理性、简洁性等等。最后非常感谢老师在课堂上的教授与指导,没有老师辛勤的劳动和付出,我自己也是不能这么又快又好的完成这次设计的。在此对老师说一声“您辛苦了!”六、教师评语