ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:149.35KB ,
资源ID:6929019      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6929019.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(甲乙两机串口通信双向控制系统软件设计及系统仿真.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

甲乙两机串口通信双向控制系统软件设计及系统仿真.docx

1、甲乙两机串口通信双向控制系统软件设计及系统仿真1.题目设计要求:甲乙两机串口双向通信设计要求:利用51单片机,RS232芯片,LED灯,数码管进展双机通信设计。甲机可按键控制乙机的LED显示;乙机可按键控制甲机的数码管显示。完成以下设计环节: 1使用Altium Desinger开发工具,设计电路原理图。 2使用Uvision2开发平台,采用C语言或汇编语言设计软件程序。 3使用PROTEUS仿真软件,设计仿真原理图并运行软件程序,完成系统仿真。2.系统的组成及工作原理2.1系统组成 本次设计是用两个单片机称为甲机和乙机之间采用方式1双向串行通信。 甲机的按键可通过串口控制甲机、乙机的2个LE

2、D灯,按一次甲机、乙机的LED1点亮,LED2灭,按两次甲机、乙机LED1灭,LED2点亮,按三次甲机、乙机的LED1和LED2全亮。 乙机的按键课控制串口向甲机发送按下的次数,按下的次数通过串口显示在甲机P0口的数码管上,由此设计出总体框图。图2.1 总体框图2.2工作原理双机通信系统通过甲乙单片机的串行口来实现数据的收发。甲单片机通过开关电路来启动发送程序,甲机当开关按下时向乙机发送一个数据,乙机上蜂咛器发出声音提示有数据发送过来,乙机通过接收中断来接收和开关判断是否接收甲机发送过来的数据,并通过编写好的数据代码在8个发光二极管上显示主机发送过来的数据。乙单片机通过开关电路来启动发送程序,

3、乙机给甲机发送一数据,甲机上蜂咛器发出声音提示有数据发送过来,甲机通过接收中断来接收和开关判断是否接收乙机发送过来的数据,并通过编写好的数据代码在8个发光二极管上显示乙机发送过来的数据。2.3双机通讯的方案设计方案: 该系统采用主从共两片AT89C51单片机来实现上位机对下位机的控制,由于是近距离的双机通信,我们采用单片机直接穿插连接的方式,上位机发送的数据由串行口TXD端输出,直接由下位机的串行口数据接收端RXD接收。需要注意的是一定要保证主从机一样的数据传输速率,即要求设置一样的波特率。电路分为数码管显示模块,指示模块、以及单片机工作的根本复位、晶振模块。 甲机由3个数码管,4个独立键盘开

4、关,1个蜂咛器组成。 乙机由8个发光二极管,一个蜂咛器,1个数字温度传感器DS18B20组成。 单片机上最根本的两个电路: 复位电路图2.2和晶振电路图2.3图2.2 复位电路图图2.3晶振电路图3. 系统硬件电路第一步将两组按键和LED灯分别连接到单片机U1、U2的P1口,第二步将单片机U1的P0口分别连接到数码显示管上进展显示,第三步将单片机U1的P0口连接到排阻上,第四步分别将单片机U1、U2的P3口连接到各自的线驱动器/接收器上,第五步将两个线驱动器/接收器分别连接到各自的DB-9接口上,最后再将单片机U1、U2通过DB-9连接器进展连接,来实现双机通讯。图3.1 线路原理图4. 软件

5、设计本系统的软件设计流程图。系统设计代码分为以下几个局部:初始化串行、发送数据、接收数据、键盘输入、数值转换、LED显示,数码管显示,用keil编译。4.1甲机程序设计甲机程序设计框图如下图4.1,开场将两个单片机进展初始化。然后按动按键K1,甲机发送信号,乙机查询接收后回送应答,甲机中断接收应答,两机的LED闪烁。再次按动按键K1,重复上述过程。图4.1甲程序设计框图甲机程序:/-甲机程序代码-#include#define uint unsigned int#define uchar unsigned charsbit led1=P10;sbit led2=P13;sbit key=P17

6、;/-共阳极数码管段码-uchar code table=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff;uchar num;/-延时-void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);/-串行口发送函数-void transfer(uchar c) SBUF=c; while(TI=0);TI=0;void main() /主函数 num=0; P0=0x00; SCON=0x50; /串行口工作在方式1,既可以发送数据,也可以接收数据 TMOD=0x20;

7、/定时器T1工作在方式2PCON=0x00;TH1=(256-253)/32;TL1=(256-253)%32;RI=0;TI=0;TR1=1; IE=0x90; /串行口中断翻开while(1) if(key=0) while(key=0); num=(num+1)%4; switch(num) case 0: transfer(D); led1=1; led2=1; break; case 1: transfer(A); led1=0; led2=1; break; case 2: transfer(B); led1=1; led2=0; break; case 3: transfer(C

8、); led1=0; led2=0; break; delay(100); void recieve() interrupt 4 if(RI=1) RI=0; P0=tableSBUF; 4.2乙机程序设计乙机程序设计框图如下图4.2,开场将两个单片机进展初始化。然后按动按键K2,乙机发送信号,甲机查询接收后回送应答,乙机中断接收应答,甲机的数码管开场计数。再次按动按键K2,重复上述过程。图4.2乙机设计框图乙机程序:/-乙机程序代码-#include#define uint unsigned int#define uchar unsigned charsbit led1=P10;sbit l

9、ed2=P13;sbit key=P17;uchar num=10;/-延时-void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void main() /主函数 SCON=0x50; /串行口工作在方式1,既可以发送数据,也可以接收数据 TMOD=0x20;/定时器T2工作在方式2 PCON=0x00;TH1=(256-253)/32;TL1=(256-253)%32;RI=0;TI=0;TR1=1; IE=0x90;/串行口中断翻开 led1=led2=1; while(1) if(key=0) while(key=0)

10、; num=(num+1)%11; SBUF=num; while(TI=0);TI=0; void recieve() interrupt 4 if(RI=1) RI=0; switch(SBUF) case A: led1=0; led2=1; break; case B: led1=1; led2=0; break; case C: led1=0; led2=0; break; case D: led1=1; led2=1;/ delay(100); else led1=led2=1;5. 系统仿真调试 编译好代码后,用Proteus ISIS画好原理图,把编译好的甲乙两机程序的HEX文

11、件,下载到原理图的单片机U1、U2中,点击运行系统仿真,查看显示效果,当按动K1时甲乙两机的LED发生变化,当按动K2时甲机的数码显示管开场计数。经过测试显示结果与预期结果一致,系统运行正常。图5.1 测试结果图6. 设计体会和收获最初选择双机串行通信这个实验时,由于从未接触过这类设计,感到新鲜的同时不乏挑战性。现在终于将它完成了,感到受益颇多。第一,这是一份考验我们自觉性、动手能力与协作意识的任务。第二,未知并不可怕,可怕的是因未知而止步。我们在课堂上所学的知识是非常有限的,这次的课程设计就是个很好的表达。很多函数的运用我们还没掌握,一些简单的循环语句都可能出错。实践后才能真的知道我们真正掌握了多少。第三,团结就是力量一点都不假。在团组合作时我们更便于互相取长补短,相互讨论,效果很好。通过本次课设实验我们对自身进展了查缺补漏,是自己对单片机这门课程有了更深的了解,对我们以后的工作有了很大的帮助。同时通过教师对我们的讲解,对各种知识的理解进一步加深,在此对教师深表感。总之在这次的实验中我们更加丰富了自己使自己有了进一步的提高。7. 参考文献1.?单片机语言C51典型应用设计? 人民邮电;文涛编著 2021 .102.?Vision2单片机应用程序开发指南?科学;勇 宇编著 2021.23.?单片机原理与应用系统设计?清华大学:马秀丽编著 2021.10

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1