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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机串行通信课程设计报告_文档格式.doc

1、让我们不仅将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件等方面的知识进一步加深认识,同时在软件编程、调试、相关仪器设备和相关软件的使用技能等方面得到较全面的锻炼和提高。让我们增加了对单片机的感性认识,加深对单片机理论方面的理解,同时也加深单片机的内部功能模块的应用。使我们了解和掌握单片机应用系统的软硬件设计过程、方法及实现,强化单片机应用电路的设计与分析能力。提高我们在单片机应用方面的实践技能和科学作风;培育我们综合运用理论知识解决问题的能力。(2)课程设计要求 通过对课题的分析,进行系统功能设计,选择器件,划分软硬件的功能,用Proteus软件在PC机上完成硬件原理

2、图设计。用汇编语言,完成软件设计。然后使用Proteus仿真软件在PC机上进行系统仿真,调试电路和修改调试程序,直至达到设计的要求和取得满意的效果。(3)课程设计的内容1).A机控制B机的两个LED闪烁,B机控制A机的数码管加一显示。2).使用DS18B20温度传感器,由B机测量温度后由A机显示. 二、主要步骤及方案(1)主要步骤1) 对题目进行分析2) 确定电路图需要的元件3) 画出电路图4) 写出运行程序5) 加载并调试修改程序(2)主要方案利用AT89C51芯片、复位电路、时钟电路、LED数码管等,使A机控制B机的两个LED闪烁,B机控制A机的数码管加一显示。使用DS18B20温度传感器

3、,由B机测量温度后由A机显示. 把P1口的高7位与数码管相连,绿灯表示通行方向。P2口与LED显示器相连,用来输出显示的数字。 系统的原理框图如下:AT89C51晶振电路复位电路电源LDE显示器LED数码管数码驱动芯片【摘要】串行通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。通信的结果实用数码管进行显示。两个单片机之间采用RS232进行双机通信。在通信过程中,使用通信协议进行通信。【关键字】52单片机,串行通信,接口,DS18B20一、总体设计1.设计要求:(1单片机之间进行串行通信,发送端将0f循环发送到接收端,并在接收端显示。(2)使用DS

4、18B20温度传感器,由B机测量温度后由A机显示. 2.设计方案:本次设计,对于两片AT89C51,采用RS232进行双机通信。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,在数码管上显示接收的信息及利用LED显示通信结果,与此同时由DS18B20测量温度后由另一单片机显示。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。软件部分,通过通信协议进行发送接收,主机先送信号给从机,从机接收信号后发出应答信号并显示相应内

5、容.二、硬件设计151单片机的串行通信图1.AT89C51计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51片机串行接口的结构如下:(1)数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。有两个,一

6、个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。(2)串行控制寄存器(PCON)SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表工作方式功能波特率 08位同步移位寄存器(用于I/O扩展)fORC/12110位异步串行通信(UART)可变(T1溢出率*2SMOD/32)211位异步串行通信(UART)fORC/64或fORC/3

7、23SM2:多机通信控制位。REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。(3)输入移位寄存器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。(

8、4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,52系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。(5)电源控制寄存器PCON其最高位为SMOD。(6)波特率计算当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。由于是定时方式,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。2.MAX232芯片用89C51串行接口通信,如果两台单片机之间的距离很近(不超过1.5m),可以采用直接将两台单片机的串行接口直接相连,利用其自身的

9、TTL电平(0-5V)直接传输数据信息。如果传输距离较远(超过1.5m),由于传输线的阻抗与分布电容,会产生电平损耗和波形畸变,以至于检测不出数据或数据出错。此时可利用 RS232标准总线接口,将单片机输出的TTL电平转换为RS232标准电平(逻辑1为-15-5V;逻辑0为+5-+15V)。用RS232可将传输距离提高到15m,如果想远距离传输,可以采用RS422或者RS485。电平转换芯片MAX232是美信公司(MAXIM)生产,专用于进行将TTL电平转换为RS232电平的芯片,MAX232内部有泵电源,能将+5V电源电压在芯片内提高到RS232电平所需的+10V或者-10V电平。图2.电平

10、转换芯片MAX2323.DS18B20温度传感器数字温度传感器DS18B20介绍 1、DS18B20的主要特性 1.1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电 1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 1.3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温 1.4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 1.5、温范围55125,在-10+85时精度为0.5 1.6、可编程 的

11、分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温 1.7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快 1.8、测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力 1.9、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。2、DS18B20的外形和内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排

12、列如下图1:DS18B20引脚定义: (1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。图2: DS18B20内部结构图 3、DS18B20工作原理 DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的

13、一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。4.整体电路设计最终设计电路如下图3所示,发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接受方接收后,通过P1口在数码管上显示接收的信息

14、。 A机控制B机LED,B机控制A机数码管加一显示 B机 DS18B20温度传感器检测温度送A 机显示三、软件设计1.串行通信软件实现(1)串行口工作于方式1;用定时器1产生9600bit/s的波特率,工作于方式2。(2)功能:将本机ROM中数码表TAB16中的16个数发送到从机,并保存在从机内部ROM中,从机收到这16个数据后送到一个数码管循环显示。(3)通信协议:主机首先发送连络信号(信号),从机接收到之后返回一个连络信号(BBH)表示从机已准备好接收。(4)通信过程使用第九位发送奇偶校验位。(5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,否则返回FFH。(6)

15、主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。(7) 通过通信协议进行发送接收,A机向B机发送操作代码A、B、C或停止发送,对应的开关K1按一下两机 LED1都亮,按第二下两机LED2都亮,再按下时,LED1、LED2全亮,再按则四灯全灭。(8)K2控制B机向A机发送字符,根据按键次数逐次加1至9,10为关闭状态,同时B机接收A机命令,受K1控制LED灯的亮、灭。( 9) 由B机DS18B20测量温度后A机显示测量的温度值.2串行通信的传输方式串行通信的传送方向通常有三种(1)单向(或单工)配置,只允许数据向一个方向传送;(2)半双向(或半

16、双工)配置,允许数据向两个方向中的任一方向传送,但每次只能有一个站点发送;(3)全双向(全双工)配置,允许同时双向传送数据,因此,全双工配置是一对单向配置,它要求两端的通信设备都具有完整和独立的发送和接受能力。3、串行通信工作方式方式1接收时,数据从引脚RXD(P3.0)端输入。接收是在SCON寄存器中REN位置1的前提下,并检测到起始位(RXD上检测到10的跳变,即起始位)而开始的。接收时,定时信号有两种:一种是接收移位时钟(RX时钟),它的频率和传送波特率相同,也是由定时器T1的溢出信号经过16或32分频而得到的;另一种是位检测器采样脉冲,它的频率是RX时钟的16倍,亦即在一位数据期间有1

17、6位检测器采样脉冲,为完成检测,以16倍于波特率的速率对RXD进行采样。4程序流程图(1) 发送端程序流程图主程序开始从机应答程序初始化主机发送信号K1按下主机发送数据输出完成?清除标志位未应答未完成(2)接收方程序流程图接收完成?K2按下,接收数据发送信号接收完成?重新接收显示四、 联合调试在protues上进行仿真实验。首先使用KeilC将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,结果如下图所示,可以看到,接收端已将接受到的数据完整的显示了出来。附录A机控制B机LED#include#define uchar unsigned char#define

18、uint unsigned int sbit LED1=P10; sbit LED2=P13;sbit K1=P17;uchar Operation_No;/操作代码/数码管代码uchar code DSY_CODE=0x3F, 0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; /延时void DelaysMS(uint ms) uchar i; while(ms-)for(i=0;i=0&SBUF=9)P0=DSY_CODESBUF; elseP0=0x00; B机控制A机数码管加一显示sbit K2=P17;uchar NumX=-1; /延时 L

19、ED1=LED2=1; P0=0x00;/ 波特率9600 RI=TI=0; while(1) DelaysMS(100);if(K2=0) while(K2=0); NumX=+NumX%11;/产生010范围内的数字,其中10表示关闭 SBUF=NumX; while(TI=0); TI=0; if(RI) /如收到则LED则动作 switch(SBUF)/根据所收到的不同命令字符完成不同动作 case : /全灭 case LED1=0;/LED1亮 LED2=0;/LED2亮 LED1=LED2=0; /全亮 B机 DS18B20温度传感器检测温度送A 机显示 A机程序#include

20、 #define delayNOP() _nop_();_nop_();sbit LCD_RS = P20;sbit LCD_RW = P21;sbit LCD_EN = P22;uchar code Temp_Disp_Title=Current Temp : ;uchar Current_Temp_Display_Buffer= TEMP: uchar code Temperature_Char8 = 0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00uchar code df_Table= 0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9uchar CurrentT = 0;uchar Temp_Value=0x00,0x00;uchar Display_Digit=0,0,0,0;bit DS18B20_IS_OK = 1;int b;sbit DQ =

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2