单片机双机串口通信.docx

上传人:牧羊曲112 文档编号:5076859 上传时间:2023-06-02 格式:DOCX 页数:15 大小:551.72KB
返回 下载 相关 举报
单片机双机串口通信.docx_第1页
第1页 / 共15页
单片机双机串口通信.docx_第2页
第2页 / 共15页
单片机双机串口通信.docx_第3页
第3页 / 共15页
单片机双机串口通信.docx_第4页
第4页 / 共15页
单片机双机串口通信.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机双机串口通信.docx》由会员分享,可在线阅读,更多相关《单片机双机串口通信.docx(15页珍藏版)》请在三一办公上搜索。

1、单片机原理及接口技术课程设计报告设计题目:两个单片机通信,甲乙可以相互控制学 号:姓 名:指导教师:信息与电气工程学院二零一四年六月单片机串口通信设计单片机行业已经有了很久的历史,随着科学技术的进步和社会的发展,单片 机行业更加迅速的发展起来。不论在工业还是民也上都有很好的发展和应用,得 到大家很好的认可和高度的评价。单片机的通信接口是各台仪表之间或仪表与计 算机之间进行信息交换和传输的联络装置。主要有五种类型,串行通信接口、并 行通信接口、USB接口、现场总线接口以及以太网接口。串行通信按同步方式可分为异步通信和同步通信两种基本通信方式。它是在 数字化的基础上用微处理器装备起来,是计算机技术

2、与电子仪器相结合的产物。 它具有数据存储、运算、逻辑判断能力,能根据被测参数的变化自选量程,可自 动校正,自动补偿,自寻故障等,可以做一些需要人类的智慧才能完成的工作, 既具备了一定的智能,故称为智能仪器。人们习惯将这种内含微型计算机并带有 GP-IB等通信接口的电子仪器称为智能仪器。1. 设计任务结合实际情况,基于AT89C51单片机设计一个两个单片机通信系统。该系统 应满足的功能要求为:(1) 统一用Proteus软件进行仿真,统一用C语言编程,并且每段程序必须 要有注解;硬件仿真图必须准确无误,作图规范;(2) 单片机任意选择,但必须是51或者AVR中的一种;(3) 甲机控制乙机的LED

3、亮灭,同时乙机控制甲机的LED亮灭。主要硬件设备:AT89C51单片机、拨码开关、LED灯、11.0592M晶振、若干 电容和电阻。2. 整体方案设计基本功能:两片单片机之间进行串行通信,发送端将0f循环发送到接收端, 并在接收端显示。原理图:2.1. 数据传输方案比较与选择在串行通信中,数据是在两个站之间传送的。按照数据传送方向,串行通 信可米用三种方案。1)方案一:单工制式单工制式是指甲乙双方通信只能单向传送数据。单工制式如图2发送器A 发送器B图2-1-1单工制式2 )方案二:半双工制式半双工制式是指通信双方都具有发送器和接收器,双方既可发送也可接收, 但接收和发送不能同时进行,即发送时

4、就不能接收,接收时就不能发送。半双工 制式如图3图2-1-2半双工制式3)方案三:全双工制式全双工制式是指通信双方均设有发送器和接收器,并且将信道划分为发 送信道和接收信道,两端数据允许同时收发,因此通信效率比前两种高。全双工 制式如下图4:图2-1-3全双工制式因此,本课设采用方案三全双工制式3. 系统硬件电路设计3.1. 时钟电路时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂 的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制 下严格地按时序进行工作。在MCS-51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XI,输 出端为引脚X2,在芯片的外

5、部跨接晶体振荡器和微调电容,形成反馈电路,就 构成了一个稳定的自激振荡器。此电路采用11.0592MHz的石英晶体。时钟电路 如下图5图3-1时钟电路3.2. 复位电路复位是单片机的初始化操作,进入系统的正常初始化之外,当由于程序运行 出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启 动。RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间 应持续24个振荡周期(即2个机器周期)以上,若使用频率为12MHz的晶振, 教育资料则复位信号持续时间应超过4 s才能完成复位操作。复位操作有上电自动复位和 按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充

6、电来实现 的。按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。在本设计中采用了按键电平方式如下图6。C5皿图3-2按键电平的连接方式3.3单片机串行通信功能51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接 受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如U1下:191892930XTAL1XTAL2RSTPSENALE函P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2

7、.6/A14P2.7/A1539383736353433322122232425P1.0P1.1P1.2P1.3P1.4P1.5P3.0/RXDP3.1/TXDP3.2/lNT0P3.3/1NT1-P3.4/T0P3.5/T12627281077121314(1)接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,P1 - 51单片机串行接口的结P1.7P37/RD用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指 令将SBUF中接收到的数据取出。(2)串行控制寄存器(SCON)SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:SM0

8、SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式选择位,串行接口工作方式可有以下四种工作方式:SM0SM1工作方式功能波特率0008位同步移位寄存 器(用于I/O扩展)fORC/1201110位异步串仃通信(UART)可变(T1溢出率*2SMOD/32)10211位异步串仃通信(UART)fORC/64 或 fORC/3211311位异步串仃通信(UART)可变(T1溢出率*2SMOD/32)定时器TI溢出率=(fosc/12)*(1/ (2”k-初值)式中T1计数率二fORC/12,(2”k-初值)为生溢产出所需机器周期数,K为定时器位数,与定时器设定工作 方式有关:方

9、式0时K=13;方式1时K=16;方式2时K=8。SM2:多机通信控制位。主要用于方式2,3.当SM2=1时可以利用收到的RB8 来控制是否激活RI(RB8=1时收到数据进入数据缓存器,并激活RI在中断服务 中将数据读走;RB8=0时受到信息丢弃);当SM2=0时均可以将数据送入缓存器, 并激活RI。REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或 清0,可以用作数据奇偶效验位,或在多机通信中作地址帧/数据帧标志位。RB8:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9 位数据TB8,使从机根据

10、这一位来判断主机发送的时呼叫地址还是要传送的数 据。TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须 要软件清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须 要软件清零后才能继续接收。(3)输入移位寄存器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接 收SBUF中。(4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时 器T1作为波特率发生器,T1设置在定时方式。波特率是用来表示串行通信数据 传输快慢程度的物理量,定义为每秒钟调制信号变化的次数。(5)电源控制寄存器PCON其最高位为S

11、MOD即波特率倍增位,当SMOD=1时波特率提高一倍,复位时,SMOD=0。3.4输出接LED灯图3-43.5.由拨码开关控制输入图3-53.6.总体硬件图4. 系统程序设计4.1主程序流程图(1)发送端程序流程图图4-1发送端程序流程图(2)接收方程序流程图检验和相等?接收完成?0接收数据,计算检验和发送FFH,重新接收显示发送00H至主机清除标志位程序初始化主程序开始图4-2接收方程序流程图5. 系统调试5.1 Proteus软件仿真调试全高电平时输入时TXD与RXD波形单片机甲为01,010101,单片机乙为1111000全为低电平输入时TXD与RXD波形II5.2 i硬件调试+5VA:

12、RYSTM卜 XTAL1P1DTZ1|22u1*31+*1Za55hilla回1Da7?*8pnn-H.ra PD.1/AD1 pniH.EQ pa.H.ra PD.d*AD+ pniH.re pa.&AM P0.7/AP?PZHhE 叩.1旋 PZZf.H-D PgRTI PZ.4/A-E P2S.H-Q PZjSAU PZ.TWBPlDfRXDP3.1H2 pijiirm 叩MTTP3.1EI P3iT1 P23E硒 Pl.TiTTPU2PDDAra 叩.1版ri PD2iAD2 pnaH.ra PD.4/AD+ PDSAIB PD.ADS PELT 版 PTPZD.hE PW.WA9 P

13、gfE P2JA11 P2.4/A12 P2SAT3 PZJSTAU PW.MtBPgflXD Pl.lfTXD piTrra 叩MTT Pl.TE P35T1 PI.SThGI.P.TiTTFh.TE&:E uTEED16.程序清单IpnnH.ra pn.i/ADi Pna-ADZ pna-Hia p.皿D# PDSAM pn.s-.Hffi Pt .?/AD?pzhhe F2.1/AB PNNHt FZ3fA11 P2.4d*A12 PZSfAQ PZJ9AU PZ.T/ASP 3 UH.:. Li pi.irnj) puiiffin PlZlTffTT pi.+dTn P3ST1 叩gp

14、:XTRLIqXTAI2PBTALEEhpnn-H.ra PD.1/AD1 PniADE pna-Hia PD.AD+ PnSADS PD.9ADS PD.T/AWpsdhe P2.1/AB PZZfAC PgRII PZ.4/A1Z PZSfAQP2J9A1+ PZ.T/AISPin-HXDP3.1Q2 叩 2iTrm P33TITTP3.muP3ST1 P3.SW PI.TiTTF教育资料#define uint unsigned int#define uchar unsigned charuchar state_1;void send(uchar state)SBUF = state;/

15、装进缓存区TI = 0;while(TI=0);/TI=0执行空语句等待/发送软件清零void receive()while(RI=0);state_1 = SBUF;RI = 0;/RI=0时空语句/读数据接送清零void SCON_init(void)SCON0x50;/方式1双机串行通信SM0=0SM1=1REN=1允许串行接送位TMOD = 0x20;PCON = 0x00;TH1=0xfd;/ T1定时/计数器1设置为工作方式2/波特率倍增位/设置波特率/9600=11.0592*1000000/12/(0x100-0xfd)/32TL1 = 0xfd;TI = 0;/装初值时钟11

16、.0592M/TI:发送中断标志位,RI:接收中断标志位。TI=1表示帧发送结束,RI=1表示帧接收完成RI = 0;TR1 = 1;ES = 1;/启动定时器1/串口中断允许位void main()P1 = 0xff;SCON_init();while(1)send(P1);receive();发送P1发送数据P0 = state_1;/接收放入 P07.小结这次单片机课程设计是十分有意义的。我们在课堂上掌握的仅仅是理论知 识,那么如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运 用到实践中去呢?我想做课程设计就为我们提供了良好的实践平台,现在终于将 它完成了,感到受益颇多。第

17、一,这是一份考验我们自觉性、动手能力与协作意识的任务。这次单片机 课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的 知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设 计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有 把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际 动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如 对以前所学过的知识理解得不够深刻,掌握得不够牢固,学习了单片机C语言。第二,未知并不可怕,可怕的是因未知而止步。我们在课堂上所学的知识是 非常有限的,这次的课程设计就是个很好

18、的体现。在做本次课程设计的过程中, 我感触最深的当属查阅大量的设计资料了,无论是课本上的还是网上的都浏览了 不少相关的程序,从中也借鉴了别人的思想,开阔了自己的思路。做单片机课程 设计,对设计者对软硬件的理解和掌握的要求都比较高。在设计程序之前,设计 者必学对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资 源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想 一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成 注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就 能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇 到问题是很正常的,但我们应该将每次遇到的问题记录下来,并分析清楚,以免 下次再碰到同样的问题。在这次课程设计中也有很多不足之处,要不断地完善自我,在程序这部分并 没有考虑到数据传输过程中,数据出现问题如何去纠正的问题,在传输的数据中 加入奇偶校验位能更好的保证数据的准确性,还需要不断地完善和改正。教育资料

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号