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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机双机通信课程设计报告.docx

1、单片机双机通信课程设计报告1.题目设计要求.42.系统的组成及工作原理.42.1系统组成42.1工作原理.42.3双机通讯的方案选择.53.器件的功能及作用.6 3.1硬件设计6 3.2电气设置8 3.3DB-9连接器.84.系统硬件设计.105.软件设计.116.系统仿真调试.187.设计体会和收获.188.參考资料.191.题目设计要求:甲乙两机串口双向通信设计要求:利用51单片机,RS232芯片,LED灯,数码管进行双机通信设计。甲机可按键控制乙机的LED显示;乙机可按键控制甲机的数码管显示。完成以下设计环节: 1)使用Altium Desinger开发工具,设计电路原理图。 2)使用U

2、vision2开发平台,采用C语言或汇编语言设计软件程序。 3)使用PROTEUS仿真软件,设计仿真原理图并运行软件程序,完成系统仿真。 2.系统的组成及工作原理 2.1系统组成 图2.1 总体框图 2.2工作原理双机通信系统通过甲乙单片机的串行口来实现数据的收发。甲单片机通过开关电路来启动发送程序,甲机当开关按下时向乙机发送一个数据,乙机上蜂咛器发出声音提示有数据发送过来,乙机通过接收中断来接收和开关判断是否接收甲机发送过来的数据,并通过编写好的数据代码在8个发光二极管上显示主机发送过来的数据。乙单片机通过开关电路来启动发送程序,乙机给甲机发送一数据,甲机上蜂咛器发出声音提示有数据发送过来,

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

4、器,1个数字温度传感器DS18B20组成。 单片机上最基本的两个电路: 复位电路(图2.2)和晶振电路(图2.3)图2.2图2.33.器件的功能及作用3.1 硬件设计 3.1.1 AT89C52和RS23说明 At89c52单片机内部有1个功能很强大的全双工串行口,可以同时发送和接收数据。串行口的内部有数据接收缓冲器和数据发送缓冲器,数据接收缓冲器只能读出不能写入,数据发送缓冲器只能写入不能读出,这两个数据缓冲器都是用SBUF来表示,地址都是99H,CPU对特殊功能寄存器SBUF执行写操作就将数据写入发送缓冲器,对SBUF执行度操作就是读出接收缓冲器中的内容。特殊功能寄存器SCON参访串行口的

5、控制状态信号,串行口用T1或者T2作为波特率发生器(发送和接收时钟),特殊功能寄存器PCON的最高位SMOD为串行口波特率的倍率控制位。SCON:串行口控制寄存器寄存器地址98H,位寻址9FH98H。位地址9F9E9D9C9B9A9998位符号SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作方式选择位SM2:多机通信控制位REN:允许/禁止串行口接收的控制位TB8:在方式2和方式3中,是被发送的第9位数据,可根据需要由软件置1或清零,也可以作为奇偶校验位,在方式1中是停止位。RB8:在方式2和方式3中,是被接收的第9位数据(来自第TB8位);在方式中,RB8收到的是停止位

6、,在方式0中不用。TI串行口发送中断请求标志位: 当发送完一帧串行数据后,由硬件置1;在转 向中断服务程序后,用软件清0。RI串行口接收中断请求标志位: 当接收完一帧串行数据后,由硬件置1;在转 向中断服务程序后,用软件清0。SM0、SM1:串行口工作方式选择位,其组合含义如下所示: PCON的D7位作为串行波特率系数SMOD控制位,PCON不可位寻址,其地址为87H,当SMOD=1时,波特率加倍。SMOD在PCON中的位置如下所示: RS232近程通讯总线适合于数据传输速率在020000b/s范围内的通信,由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已

7、在微机通信接口中广泛采用。如图3.1所示: 图3.1 DB93.2 电气特性EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。在TxD和RxD上:逻辑1(MARK)=-3V-15V逻辑0(SPACE)=+315V在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)+3V+15V信号无效(断开,OFF状态,负电压)=-3V-15V RS232C与TTL转换:EIA-RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进

8、行电平和逻辑关系的变换。 最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m(50英尺。3.3 DB-9连接器使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB-25型连接器的引脚分配与DB-25型引脚信号完全不同。因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。 用RS-2

9、32总线连接系统有近程通讯方式和远程通讯方式两种,近程通讯是指传输距离小于15米的通讯,可以用RS-232 电缆直接连接。15米以上的长距离通讯,需要采用调制调解器。 当计算机与终端之间利用RS-232作近程连接时,有几根线实现交换连接。本次实验不需要检测数据等信号状态的 RS-232是异步通讯中最广泛的标准总线,适用于数据中端设备(DTE)和数据通讯设备(DCE)之间的接口。在微机通讯中,通常使用 的RS-232接口信号是九根引脚。如图3:各引脚功能如下:引脚号符号方向功能1DCD输入载波检测2RXD输入接收数据3TXD输出发送数据4DTR输出数据终端就绪5GND信号地6DSR输入数据装置就

10、绪7RTS输出请求发送8CTS输入清除发送9RI输入振铃指示 图3.2 DB9管脚说明 用RS-232总线连接系统有近程通讯方式和远程通讯方式两种,近程通讯是指传输距离小于15米的通讯,可以用RS-232 电缆直接连接。15米以上的长距离通讯,需要采用调制调解器。 计算机和终端用RS-232连接的交叉图4如下,图中“发送数据”与“接收数据”是交叉相连的,是得两台设备都能正常的发送和接收。 图3.3 通讯连接 数据发送与接收线: 发送数据(TxD)通过TxD终端将串行数据发送到MODEM。 接收数据(RxD)通过RxD线终端接收从MODEM发来的串行数据。4.系统硬件设计线路原理图5. 软件设计

11、本系统的软件设计流程图。系统设计代码分为以下几个部分:初始化串行、发送数据、接收数据、键盘输入、数值转换、LED显示,数码管显示,用keil编译。甲机程序设计框图(图5.1):开始 图5.1甲程序设计框图甲机程序:/-甲机程序代码-#include#define uint unsigned int#define uchar unsigned charsbit led1=P10;sbit led2=P13;sbit key=P17;/-共阳极数码管段码-uchar code table=0xC0,0xF9,0xA4,0xB0,0x99, 0x92,0x82,0xF8,0x80,0x90,0xff

12、;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; /定时器T1工作在方式2 PCON=0x00; TH1=(256-253)/32; TL1=(256-253)%32; RI=0; TI=0; TR1=1; IE=0x90;

13、 /串行口中断打开 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); led1=0; led2=0; break;/ delay(100); void recieve() interrupt 4 if(RI=1) RI=0;

14、 P0=tableSBUF; 乙机程序设计框图(图5.2): 图5.2乙机设计框图乙机程序:/-乙机程序代码-#include#define uint unsigned int#define uchar unsigned charsbit led1=P10;sbit led2=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; TMOD=0x20; PCON=0x00; TH1=(256-253)/32; TL1=(25

15、6-253)%32; RI=0; TI=0; TR1=1; IE=0x90; led1=led2=1; while(1) if(key=0) while(key=0); 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

16、;/ delay(100); else led1=led2=1;6.系统仿真调试 最后用Proteus画好原理图,把编译好的甲乙机程序HEX文件,下载到原理图里,点击运行仿真,查看效果!7.设计体会和收获最初选择双机串行通信这个实验时,由于从未接触过这类设计,感到新鲜的同时不乏挑战性。现在终于将它完成了,感到受益颇多。第一,这是一份考验我们自觉性、动手能力与协作意识的任务。第二,未知并不可怕,可怕的是因未知而止步。我们在课堂上所学的知识是非常有限的,这次的课程设计就是个很好的体现。很多函数的运用我们还没掌握,一些简单的循环语句都可能出错。实践后才能真的知道我们真正掌握了多少。第三,团结就是力量一点都不假。在团组合作时我们更便于互相取长补短,相互讨论,效果很好.通过本次课设实验我们对自身进行了查缺补漏,是自己对单片机这么课程有了更深的了解,对我们以后的工作有了很大的帮助。同时通过老师对我们的讲解,对各种知识的理解进一步加深,在此对老师深表感谢。总之在这次的实验中我们更加丰富了自己使自己有了进一步的提高。8. 参考文献 1.单片机语言C51典型应用设计 人民邮电出版社;刘文涛编著 2005.10 2.Vision2单片机应用程序开发指南科学出版社;尹勇 李宇编著 2005.2 3. 单片机原理与应用及C51程序设计(第2版)清华大学出版社:谢维成

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

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