首页 单片机多机通信毕业设计

单片机多机通信毕业设计

举报
开通vip

单片机多机通信毕业设计单片机多机通信毕业设计 目 录 摘 要 .................................................................................................................. 3 引 言 .................................................................................................................. 6 ...

单片机多机通信毕业设计
单片机多机通信毕业设计 目 录 摘 要 .................................................................................................................. 3 引 言 .................................................................................................................. 6 1 绪论 ...................................................................................................................... 6 1.1课题研究的背景与意义 ............................................................................... 6 1.2 单片机串行多机通信 .................................................................................. 7 1.2.1 单片机多机通信串并行口比较 ......................................................... 7 1.2.1 单片机多机通信串行通信制式 .................................................................... 8 1.2.3 单片机串口结构 ................................................................................ 9 1.2.4 单片机串口工作寄存器 .................................................................. 10 1.2.5 单片机串口工作方式选定 .............................................................. 13 2 系统总体 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 设计 ............................................................................................. 13 2.1 系统结构及通信协议 ................................................................................ 13 2.2 系统主要器件介绍 ................................................................................... 17 2.2.1 89SC52RC ........................................................................................ 17 2.2.2 ULN2803 .......................................................................................... 18 2.2.3四位7段共阴数码管 ....................................................................... 19 2.2.4 7805三端稳压管 .............................................................................. 19 3系统硬件模块设计 .............................................................................................. 20 3.1串口通信红绿灯模块 ................................................................................ 20 3.2 矩阵键盘模块 .......................................................................................... 21 3.3 数码管驱动显示模块 ............................................................................... 22 3.4 系统电源模块 ........................................................................................................... 23 4 系统软件设计 ..................................................................................................... 24 4.1 公共模块程序设计 ................................................................................... 24 4.1.1 开机自检子程序 ............................................................................................. 24 4.1.2 矩阵键盘线偏法子程序 .................................................................. 25 4.1.3 数码管动态显示子程序 .................................................................. 28 1 4.1.4 奇偶效验数据传输 ........................................................................................ 30 4.2 主机通信主模块设计 ............................................................................................... 31 4.3 从机通信主模块设计 ................................................................................ 33 结论 ........................................................................................................................ 35 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 与体会 ............................................................................................................ 35 谢 辞 ................................................................................................................ 36 参考文献 ................................................................................................................ 36 附 录 ................................................................................................................ 37 附录A 系统源代码......................................................................................... 38 附录B 系统电路总图 ..................................................................................................... 38 材料清单.......................................................................................................... 40 2 摘 要 目前单片机渗透到我们生活的各个领域~在各个环境领域都能找到它的踪迹。生活、医疗、服务等这些都离不开单片机。并且单片机具有体积小、功耗低、价格便宜抗干扰型强等特点。89SC52RC就是其中的一类~它是一种以单片机母片为核心~在片中嵌入更多功能的专用型单片机。多机通信即两个及两个以上的微机处理之间进行数据交互的形式。 本设计主要建立在89SC52RC单片机的基础上来设计串口通信协议~通过其含有的两个物理上独立的串行数据缓冲器SBUF,发送控制器、接收控制器、输入以为寄存器和输出控制门~并采用目前流行的主从机结构~通过理论与实践相结合~经过反复的理论验证及实验操作来实现3个单片机之间的串行通信。于此同时不断改进设计~简化电路降低成本的同时又达到了更好的设计效果~并将设计过程中所涉及的各类问题做了详细的陈述及记录。最后通过将代码带进硬件进行多次实验测试~成功实现了串行多机通信。并且通信速度快~稳定性强。 【关键字】 单片机 多机通信 串行通信 89SC52RC Abstract 3 At present you can find microcontroller in all fields. Our lives、health care、 service get a close relationship. And single-chip microcomputer with small size, low power consumption, low-cost strong anti-interference characteristics. 89SC52RC is one of them, it is a single-chip mother piece as the core, in which the special MCU embedded more functional. Multicomputer communication namely two or more computers processing data interaction in the form. This design is mainly based on 89SC52RC MCU to set up the committee draft for vote, And we benefit from its’ two physically independent serial data buffers SBUF, send controller, receiving controller, input thought registers and output control gates, And make use of the popular master-slaveflip machine structure, After combining the theory with practice and reduplicative theory, experimental operation to realize the serial communication between three microcontroller. At the same time I continuou to improving design, simplify the circuit reduce costs and achieved better design effect, and I collected the all kinds of problems involved and made a detailed statement and notes. Finally through take the code into hardware to test, And I achieved the goal with a high speed, strong stability. Keywords: microcontroller Multi-Computer Communication Serial communication 89SC52RC 4 引 言 目前的社会生活的各个方面都离不开信息之间的传递,所以这就成了我们熟知的信息时代,传递信息自然就需要相互通信,这就使我们迫切的需要找到好的通信方式。单片机因其小巧灵活,成本低,易于产品化等优良特点成功的胜任了这份重任。单片机多机通信的应用意义不仅局限于它的广阔范围及所带来的巨大的经济效益。更重要的意义还在于它的应用正在从根本上改变着人们的生活变化。从前必须由大量模拟电路或数字电路来实现的通信方式,现在能用单片机通过通信协议和软件来实现,这些协议和软件提高了通信的各方面质量因素的同时还极大的降低了成本。多机通信这一概念的出现极大的推动了通信行业乃至整个社会的极大进步,于此同时这项技术也还存在着各方面的问题,还有更多的新问题等着我们去解决,以后必将不断发展,日益完善。 1 绪 论 1(1 课题研究的背景与意义 单片微型计算机(Single Chip Microcomputer)简称单片机,它是一种将完整的计算机系统集成在一个小芯片上的器件,并且它基本拥了一个完整的计算机所拥有的所有功能,只是在体积方面更小且功能稍显薄弱。随着现在对单片机功能要求的不断升级,目前的复杂的单片机已将一些复杂的图形、声音、网络等功能都集成到了一个芯片上。 单片机目前已经广泛的应用于仪器仪表、家用电器、医用设备、航空航天、等众多的尖端及民用科技中,在很多的环境下采用单个的单片机来控制系统已经明显力不从心,所以采用新技术通过多个单片机之间来完成一项任务已显得很迫切。串行通信做为多机通信的一个常用规则正在不断的流行起来,由于其通信编程灵活、硬件简洁并遵循统一的标准, 因此其在工业控制领域得到了广泛的应用。 通过单片机的串口将多个单片机连接在一起,并设定好适宜的工作方式,制定好相应的通信协议,这样就可以实现单片机之间的串行通信了。单片机串行通信方式虽相对并行稍慢,但在远距离传输及抗干扰方面都明显更强,这也是其越来越流行的一个主要原因,所以研究单片机之间的串行通信显得非常具有意义。 5 1(2 单片机串行口多机通信 1(2(1 单片机多机通信串并行口比较 1 . 并行通信:是指数据各位同时传送的方式。 缺点:占有I/O口较多,如需实现其他的功能需采用更多的硬件和软件来实现,这样就增加了设计成本。在远距离传输通信中显得非常捉襟见肘了。并且由于其占用口较多,所以硬件消费也较大。 优点:速度较快,适宜于短距离传输。 P0.7 P0.7 P0.6 P0.6 P0.5 P0.5 P0.4 P0.4 P0.3 P0.3 P0.2 P0.2P0.2 P0.1 P0.1P0.1 P0.0 P0.0P0.0 图1.2.1 并行通信示意图 2 . 串行通信:是指数据一位一位按顺序传送的方式。 缺点:数据传输速度较并行慢。 优点:相比并行通信,它有了你自己突出的优点只需一对信号线进行数据传送,并且串口可以在使用一根线发送数据的同时用另一根线接收数据,这样传送成本明显降低,特别适宜于远距离传输。因为其突出的各方面优点使得其应用面非常广泛,在单片机与单片机或系统之间常采用串行通信。 通过上面的分析比较可以看出串行通信是当前通信领域的主流,同时设计成本也并行更低。正因为其广泛应用的同时也会出现许多新的问题,这也是本设计 6 采用串行实现多机通信的原因。 发送 TXD RXD 接收 RXD TXD 89C51 外设 图1.2.2 串行通信示意图 1 . 2 . 2 单片机多机通信串行通信制式 1 . 单工制式:单工制式是指甲乙双方通信只能单向传送数据。不能实现双向的信息交流,所以对于本设计不采用。 发送器A 接收器B 图1.2.3 单工制式 2 . 半双工(交替双向):半双工制式是指通信双方都具有发送器和接收器,双方既可发送也可接收,但接收和发送不能同时进行,即发送时就不能接收,接收时就不能发送。它对于硬件的要求较低,并且能实现双向的信息交流。 发送 发送 AB接收 接收 端 端 图1.2.4 半双工制式 3 . 全双工制式(全双向):是指通信双方均设有发送器和接收器,并且将信道划分为发送信道和接收信道,两端数据允许同时收发,因此通信效率比前两种高。 7 它要求两端的通信设备都有完整和独立的发送、接收能力,所以对软硬件要求都 比较高。 发送 接收 AB 接收 发送 端 端 图1.2.5 全双工制式 4 . 同步通信与异步通信:前者同步方式要求发送设备的时钟频率需与接收装备一致,硬件较复杂,造价高。异步通信使用则较多,它的数据是一帧一帧的传送。 总结前面大类方式的比较后,得出本设计的最终定型为半双工的异步通信方式,在实现了多机通信的同时,有利的避免了过高的造价输出,在通信方面也能完全满足使用。 1 . 2 . 3 单片机串口结构 单片机串口通信的流行还得益于其结构上的特性,它有两个物理上独立的串行数据缓冲器SBUF(包括发送缓冲器、接收缓冲器)、发送控制器、接收控制器、输入移位寄存器和输出门。 控制门发送TXD缓冲 器 SBUF 发送控制器 TI波内 特部 率总>1串口中断发线 生 器接收控制器 RI 接收 缓冲 器 SBUFRXD移位寄存器 图1.2.6 串口组成结构图 8 数据的基本流程为:发送时,CPU将数据装入发送缓冲器SBUF,在发送控 制器的作用下降数据一位一位地通过TXD发送出去;接收时,传来的数据通过RXD在接收控制器的作用下,一位一位地移入移位寄存器,收到一个完整的字节后,将该字节装入接收缓冲器SBUF,再由CPU读取走。 注意的是:其中发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入,并且两个缓冲器共用一个地址99H。 1 . 2 . 4 单片机串口工作寄存器 MCS-51单片机的串口有四种工作方式,其工作方式和波特率都可通过该特殊功能寄存器进行设置SCON、PCON。 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H SM0 SM1 SM2 TB8 RB8 TI RI SCON N RE 接收中断标志 发送中断标志 接收数据第9位 发送数据第9位 接收控制 0:禁止 1:允许 多机通信 0:双机 1:多机 图1.2.7 串行口控制寄存器SCON 串行控制寄存器SCON用于设置串行口的工作方式、监视串行口的工作状态、控制发送与接收的状态等。它是一个既可以字节寻址又可以位寻址的8位特殊功能寄存器。 ( 1 ) 图中的SM0、SM1的各类组合方式即可反映出工作寄存器的工作方式: SM0 SM1 工作方式 控制状态及功能 0 0 0 8位同步移位寄存器输入/输出,波特率固定为fosc/12 9 0 1 1 10位异步收发,波特率可变(T1溢出率/n,n=32或16) 1 0 2 11位异步收发,波特率固定为f0sc/n,n=64或32) 1 1 3 11位异步收发,波特率可变(T1溢出率/n,n=32或16) 其中10位、11位是指异步通信中的数据帧格式: 10位=1位起始位 + 8位数据位 + 1位停止位 11位=1位起始位 + 8位数据位 + 1位可编译位 + 1位停止位 其中1位可编译位是比较重要的检错标志,将在后面的设计中做详细的介绍,并且为了使设计能显得独立灵活,能够按照设计者的意愿设置相应的波特率等重要参数,工作方式3完美的提供了解决方法。所以本设计采用工作方式3。 (2)REN允许接收控制位 : REN = 1 允许接收 REN = 0 禁止接收 (3)TB8位 TB8为方式2和方式3中要发送的第9位数据。该位由软件置位或复位。在方式2和方式3时,TB8是发送的第9位数据。在多机通信中,以TB8位的状态表示主机发送的是地址还是数据:TB8=1表示地址,TB8=0表示数据。TB8还可用作奇偶校验位。 (4)RB8位 RB8与TB8位为对应的在方式2和方式3中接收的第9位数据,同时也可作为重要的奇偶效验位,在方式1中,若SM2=0,则RB8是接收到的停止位。在方式0中,该位未用。 (5)TI发送中断标志位与RI接收中断标志位 TI:8位数据发送完,开始发送停止位时,由硬件置1,向CPU申请中断。 RI:8位数据接收完,开始接收停止位,由硬件置1。 两者在CPU响应中断后都不能自动清0,必须软件清0,这在编写软件中是 10 很重要的,如不注意会使CPU一直处于中断后的响应状态,不能接收以后的指 令。 ,7,SM2多机通信控制位 本设计需实现多机通信,需经常由软件来置1或0,来控制多机通信的各个流程环节。具体区别为: SM2 RB8,接收可编译位, 控制状态 0 0 均可申请中断 1 1 0 可申请中断 1 不可申请中断 串口做为MCS-51单片机实现串口通信的一重要结构,对于后续的通信方式的设置有着重要的指导及影响,本设计采用的工作方式3将经常运用到各位的设置。 1 . 2 . 5 单片机串口通信波特率设置 根据定时器工作方式寄存器TMOD的M1、M0工作模式控制位可得出,在M1 : M0 = 1 : 1 时,可将定时器T1用作波特率发生器。本设计采用了T1方式2定时产生波特率。 本设计采用的是12MHz晶振,并且将波特率设置在1200bps,从而可计算 860出T1初值=2×12×10/1200×12(32/2)=E6H 这样算出来的波特率值为1202 bps误差仅0.16% ,不影响设计的实现效果。 2 系统总体方案设计 2 . 1 系统结构及通信协议 1 . 本设计的全局结构为: 11 图2.1.1 多机之间连接图 扫描4×4矩阵键盘得出 相应键值 显示数据 数码管显示 MCS-51单片机处理键值 比数据发送 对 完包括从机地址、命令状态成值、数据 发接发发接回收发送至从机 送送收反数数准准馈 据 据 备所有从机收到数据,各自备 比对数据并发回反馈 反反 馈 馈 从机处理指令 从机做出反应 数码管动态显示 取发送数据 (待发送、已收到)数据 送回从机 扫描4×4矩阵键盘 得出相应键值 图2.1.2 系统工作全局结构图 整个系统以MCS-51单片机为核心,数据传输内部采用用SBUF的数据端口 将个单片机连接起来实现数据的交互,同时采用了重要的反馈机制,防止数据的 12 错传及漏传,保证了数据传输的准确性;在表现方面上采用了数码管随时反映出 数据的传输状态,使用的时候能更加直观的看到设计效果。 数据流状态为: 主机动态显示 主机确认发送 主机动态扫描 键盘 从机动态显示 从机接收SBUF 图2.1.3 主机发送数据至从机 从机接收命令 从机动态扫描 从机动态显示 主机显示 主机接收 从机确认发送 图2.1.4 从机发送数据至主机 此结构方式采用目前常用的主从分布式多机通信,主机可以在任意时刻指定一个从机与其进行对话,传递数据,从机之间可以通过主机来进行间接的数据交互。 其主要通信过程就可表示为: (1) 首先对从机进行编号,本设计采用一个主机两个从机的结构,编 号为00H、01H,并设置从机的SM2位1,只允许接收地址帧。 (2) 主机在发送1帧地址信息时,将其中的TB8位置1,作为地址帧 的标志。 (3) 所以的从机此时都能接收到地址信息,并且各自将信息比对,地 址不符,则保持SM2不变;地址相同,则置SM2为0,准备接 收数据帧。 (4) 主机此时发送的数据信息只有地址相同的从机才能对应接收了, 13 这样也就实现了一对一的数据传递,其他的从机就处在等待状态。 2 . 通信协议设计 (1)设置从机地址为00H、01H,并置TB8为1。 (2)设置从机的状态字: ERR=1:表示从机收到非法命令 TRDY=1:表示从机发送准备就绪 RRDY=1:表示从机接收准备就绪 00H:表示从机接收正确 FFH:表示从机接收出错 (3)对从机的命令字 00H:要求从机接收主机数据 01H:要求从机向主机发送数据 FFH:要求从机复位 (4) 设置通信波特率为1200bps。 (5) 本机为实现人性化的发送程序,设置了发送格式,以便于用户与单 片机之间能够显示较好的融合。 (1-2)从机地址 (3-4)命令分类 (4-8)数据内容 (7)本设计还在主系统中加入了动态扫描显示的功能,目的在于能直观的显 示出设计的最终效果。 14 2 . 2 系统主要器件介绍 2 . 2 . 1 89SC52RC单片机 图2 . 2 . 1 89SC52RC引脚图 AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。 • 兼容MCS-51指令系统 • 8k可反复擦写(>1000次)ISP Flash ROM • 32个双向I/O口 • 4.5-5.5V工作电压 • 3个16位可编程定时/计数器 • 时钟频率0-33MHz • 全双工UART串行中断口线 • 256x8bit内部RAM • 2个外部中断源 • 低功耗空闲和省电模式 • 中断唤醒省电模式 • 3级加密位 P0 口:P0口是一个8位漏极开路的双向I/O口。 15 P1 口:可作数据和低八位地址传输 P2 口:准双向口,可传输高八位地址 P3 口:P3口是一个8位双向I/O口,P3口亦作为AT89S52第二功能。如本次实验中用到P3.0(串行输入口)和P3.1 TXD(串行输出口)。 RST——复位输入 本设计采用89SC52是考虑到其具有优异的性能价格比;集成度高;体积小;可靠性高;控制功能强;低电压、低功耗等优良特性,能够在实现功能的同时又节约了设计成本。 2 . 2 . 2 ULN2803 ULN2803含有8个npn达林顿晶体管, 广泛的使用在各类电子产品呢中,是一种集成 的反向输出型电路,输入低电平才能导通。本 设计采用它来驱动四位7段数码管,价格低 廉,稳定性强。 图2.2.2 ULN2803内部结构图 16 2 . 2 .3 四位7段共阴数码管 图2.2.3 四位七段数码管引脚图 四位七段共阴数码管是将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 该型数码管采用发光二极管作为发光单元,具有功耗小,无热量,耐冲击,长寿命等优点。 本设计采用ULN2803驱动四位7段的共阴数码管,能直观的将键盘动态扫描的数据显示出来,让使用者可以看到具体设计效果,模拟出数据交互效果。 2 . 2 . 4 7805三端稳压管 7805是三段正稳压电路,它是固定的5V输出,应用非常广泛,它内部有固定的电流限制,以及过热保护和安全工作区保护,是它基本上不损坏。当接入适当的外部器件后就能获得较稳定的电压、电流输出。 本设计采用此常用的5V三段稳压管供给单片机、数码管动态扫描显示电 17 路、键盘动态扫面电路正常电压,保证了硬件的稳定工作,并且价格低廉。 图2.2.4 三端稳压管7805内部结构图 3 系统硬件设计 3 . 1 单片机多机通信的硬件设计 本设计采用了串口MCS-51单片机串口的特殊功能来实现串口通信,接口简洁,占用I/O口较少,通过RXD、TXD两路接口实现单片机多机通信的数据交互。 主从机发送过程:本设计使用红绿灯信号来模拟数据传送过程,当主机发送数据时,红灯会开始闪烁3次,表明数据已发出,响应的从机接收到数据帧或地址帧的时候,会相应的闪烁绿灯3次,发出反馈,如果没有从机闪烁绿灯,表示数据发送错误,主机检测到软件出错后,会重新发送数据。 主从机接收过程:与接收相对应,监测数据收发过程。 18 图3.1.1 主从机串口连接及红绿灯连接图 3 . 2 矩阵键盘模块 本设计为因使用的按键较多,普通I/O口键盘数量难以满足其使用,并且为节省I/O占用,干扰其它功能的实现,所以采用了矩阵式键盘。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(本设计采用P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显。 通过将列线电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。再通过程序对相应按下键的键值与存储器的数据进行比对,得出键值数据后再跳转到相应的子程序,便实现了相应按键的功能。 本设计对矩阵键盘设置的按键功能为: SA1——SA10 :数字键0到9 SA11——SA12 :确认、删除 19 SA13 :发送 SA14 :接收 SA15、SA16 未设定功能、待后续开发 图3.2.1 矩阵键盘连接图 3 . 3 数码管驱动显示模块 本设计中采用了两个四位7段共阴数码管来显示数据,结合了P0口和P2口来实现数码管的动态显示,并采用ULN2803来对单片机输出的信号进行取反,且ULN2803还能对数码管进行驱动作用,再通过外接5V直流电源来点亮数码管的发光二极管。 20 图3.3.1 数码管驱动电路图 3 . 4 系统电源模块 最后提到的是重要的电源模块,为整个系统提供稳定的5V电压输出是设计实现的关键,一方面稳定的电压源能是单片机保持正常的工作状态;另一方面防止不定时的高压烧坏电路中的元器件。 本设计的输入电压采用了市面上常见的7.5V变压器作为电压源,位保证能得到稳定的5V电压,采用IN4001二极管整流后,配上常用的大小电容方法除去高频内阻,再通入三段稳压器,最后滤波得到稳定5V电压输出。为随时监控 21 到电源的供电情况,再在电路中接上一个发光二极管用做电源指示灯。 图3.4.1 系统电源原理图 4 系统软件设计 4 . 1 公共模块程序设计 4 . 1 . 1 开机自检子程序 为确保硬件在正式工作之前,各硬件之间没有出现短路等一些机械故障(如按键失灵等),所以采用了自检子程序在单片机正式工作前对两部分重要的模块进行检测,包括矩阵键盘和数码管。 具体的实现过程由下面的程序流程图做说明。 22 开始 数码管不正常~返回 数码管全部点亮并闪烁 3次 N Y 返回 图4.1.1 数码管自检子程序流程图 开始 数码管动态扫描显示ERR 键盘粗扫描~判断是否有 键按下 返回 图4.1.2 矩阵键盘自检子程序 通过此两端小程序后可有效的避免硬件问题造成的对设计实现效果的影响,并且不会占用系统很长时间,执行完这两段小程序后,系统才正式进入主程序中。 4 . 1 . 2 矩阵键盘线偏法子程序 矩阵键盘的扫描方法很多,本设计采用的线偏转法,即先将列线全部置低电平,再读出行线的值,如果有键按下则相应行的输出低电平值;同理再将行线全部置低电平,再读出列线的值,如果有键按下则相应列的输出即为低电平值。最后再将行线值与列线值相“与”就可算出键值来,得出相应键的功能。 23 扫描出键值后,还需要进行相应的键值处理,最重要的就是要进行消抖处 理,消抖分为硬件消抖及软件消抖,硬件消抖需要额外的加入元件,这样也就加大了设计开销,本设计为节省硬件开销采取的是软件消抖法。首先检测到有键按下后,即跳转产生一段16ms的延时程序,再检测按键的状态;当按键释放后还需采用软件延时消抖后才能进入到相应的键值处理程序中。 图4.1.3 按键断开和闭合电压信号 通过两段介绍后得出了本设计的基本流程图为: 24 图4.1.4 键盘扫描子程序流程图 通过上面的键盘扫描子程序后,得出的一部分键值跳转到相应的通信程序中实现功能,另外一部分则紧接着跳转到动态显示中用于显示。 4 . 1 . 3 数码管驱动显示模块 本设计采用了总共8位数码管,如果采用静态扫描方式,虽然软件较为简单,显示亮度稍高,但需驱动的电流不够,需采用IC来加大电流接着实现静态 25 显示功能。缺点硬件消费过高,不适应采用在数码管较多的电路中。 动态扫描实现的原理图较静态更简单,第一数码管可以共用七段段码的借口,再通过位码来点亮相应的数码管,在某一时刻,置让某位的为选线处于导通状态,而其他各位的为选线处于关闭状态,同时,段线上输出相应位要显示的字型码,而其他各位则是熄灭的,如此循环下去就可以使各位数码管娴熟出将要显示的字符。通过上述的办法节约了不少硬件成本,系统硬件图更加简洁,同一时刻点亮的只有一个数码管,相对也更加省电。 数码管动态显示 初始化 关显示 显示缓冲器中取数 查表求七段码 26 输出七段码 输出位代码 延时10ms 修改显缓指针 修改位代码 N 8位是否显示完 返回 图4.1.5 数码管动态扫描子程序流程图 27 4 . 1 .4奇偶效验数据传输 首先,奇偶校验的特点是按字符校验,即在发送每个字符数据之后都附加一位奇偶校验位(1或0),当设置为奇校验时,数据中1的个数与校验位1的个数之和应为奇数;反之则为偶校验。收、发双方应具有一致的差错检验设置,当接收1帧字符时,对1的个数进行检验,若奇偶性(收、发双方)一致则说明传输正确。奇偶校验只能检测到那种影响奇偶位数的错误,比较低级且速度慢,一般只用在异步通信中。 其他两种包括累加和效验和循环冗杂码效验,前者无法检验出字节或位序的错误,运用到本设计中对数据的传输的检验不够,所以不予采用;后者在于采用一个特定的数去除它,将余数作校验码附在数据块之后一起发送,对芯片及软件的要求都较高,难以在普通51系列单片机中实现。综合上面的各类因素后本设计就采用了常用的就效验法。 其效验流程为: 码 发送端奇偶效验 发送出错,返回 N 接收端奇偶效验码相加 后与接收端奇偶码相比 较 Y 发送正确 继续下一步 图4.1.6 奇偶效验法检测流程图 28 4 . 2主机通信主模块设计 主机通信模块是整个设计实现功能的核心,也包含了前面所讲的很多内容,包括了定时器中断设计、SBUF数据缓冲的初始化及中间变量设计、奇偶效验误差法等重要的设计。 首先主机的基本工作过程为: 开始 主机初始化设置 开机自检程序 主机扫描键盘 得出键值,实现相应功能 调用显示功能,显示数据 发送数据至从机 返回 图4.2.1 主机总体工作流程图 上面的路程图反应了主机的大概工作过程,主要是在初始化后,主机就再扫描键盘,得出键值后跳转的相应的程序做显示和发送数据至从机。主机做为系统的命令发出者更多的是在面向用户接收指令,从机做则更多的做为数据的接收端,相对操作较少。 下面将表现出主机通信主程序的主要工作流程图: 29 发送功能MAIN_1 初始化串口 从机都能 接收地址 帧 置TB8为1 发送地址帧 N 从机应答 置TB为0 从机地址比对 发送命令帧 N 从机复位 从机应答 N 正确命令, 非法指令 接收命令分类 发送命令 接收命令 从机发送就绪, 从机接收就绪, 主机开始接收数据 主机发送数据 提出就效验码 提取效验码 比对 比对 返回 N N 反馈至程序 反馈至程序 图4.2.2 主机通信模块流程图 上述则为主机的发送程序模块,采用了多环节反馈机制,保证了数据发送 30 的准确性,实现了程序的自动效验数据,在传输大量数据时,增加了传输的稳定 性及可靠性。 4 . 3从机通信主模块设计 首先,从机程序较主机有了很大的不同,从机在未收到数据时都在扫描数据缓冲器SBUF的的TXD,RXD口,并不是在扫描键盘。 开始 从机自检程序 从机初始化相应口 从机扫描SBUF口,等待中断 跳转至从机通信主程序 跳转至相应显示 返回 图4.3.1 从机总体工作流程图 当检测到这两个口有数据来时,产生相应的中断,设置TB8位,比对地址后,与自己相符的话就开始接收相应的数据。 接收的数据分为接收及发送两类,数据为普通的接收时就直接将数据从SBF缓冲器中提取后显示出来就行了;当数据指令为发送指令时,则要跳转到扫描矩阵键盘,待使用者按下相应的键后再发送数据。以下图为通信过程流程图。 31 从机中断程序入口 SM2多机控制位 禁止串口中断,保护现场 N 地址相符 反馈从机地址 接收下一帧 非法指令 接收命令分类 发送指令 接收指令 两组命令未就绪 从机接收就绪, 从机发送就绪, 反馈主机已经就绪 反馈主机已经就绪 接收数据块 发送数据块 接收效验和 计算效验和 从机效验 数据发送完 N 数据来自调用 跳转显示 发送效验和 键盘扫描 置SM2为1,开中断 恢复现场 允许串口中断 返回 图4.3.2 从机通信模块流程图 32 结论 本论文核心在于研究以单片机串口来实现多机通信,整个设计的思路新颖,条路简洁,采用串行通信能实现长距离的数据通信,占用单片机接口较少,并能够在实现智能的自身检错及效验,实现数据的准确传输。并且整个设计再实现的功能的同时,再不影响数据传输性能的大前提下果断的删减部分硬件,采用软件实现其功能,不仅节省了硬件资源的开支也降低了系统功耗。 但技术还在不断的发展,正如开题时所说的,技术不断更新的同时还会出现更多的问题,我们还要不断的深入研究。目前串行通信在传输速度方面还不及并行通信那样快,这一方面是自身硬件结构所决定,还有就是传输线路的问题,从目前的流行趋势来看,三网合一将是发展的趋势,实现数据的交互式传递不再仅限于各自传输是未来的发展方向。无限网络也将是另一个流行趋势,以后的无线上网将由目前正在普及的3G跨越到4G平台,速率不断提升的同时还要降低成本,并要保证信息的保密性,这对于多机通信来说还是一个漫长的过程,需要不断的深入研究。 技术还在不断的更新,今天的新技术或许很快就会被超越甚至遗弃,深化目前技术的同时更应该发展新技术,让我们一起不断进步吧。 总结与体会 通过这次毕业设计我对单片机有了系统的了解,对单片机也有了新的认识,从以前的知其然到现在的知其所以然是这次毕业设计最大的收获。特别是在单片机通信方面简直就是质的飞跃。 随着科技的发展,特别是在工业自动化控制、智能检测等方面的高速发展单片机在其中的应用也就越来越广泛,它起着举足轻重的重用。单片机通信从最初的双机通信到后来的多机通信,随着IBM-PC个人计算机的普及和MCS-51系列单片机在我国的推广应用,把这两种微机用于数据处理和过程控制中构成小型的分散系统或测量系统,在目前的微型计算机应用中是值得重视的一大趋势。在这样的系统中,智能式测量和控制仪表既能独立地完成数据处理和控制任务,又 33 可将数据传输给PC机,PC机则将这些数据形象的显示杂CRT或由打印机打印 成各种报表并将控制命令传送给各台仪表,以实现集中管理和最优控制。多机通信作为PC机与单片机通信的基础所以我们就应该认真学习单片机的多机通信,为进一步的拓展打下基础。 这次毕业设计是即将完了但是它留给我的知识确实无限的,它让我们真正的明白“在学习中成长,在实干中锻炼”的意义,没有这次毕业设计我就不会对单片机以至相关知识有这么多的了解。 谢 辞 通过了3个多月的学习,查阅各类资料,终于将论文完成,这是一次对个人从学习到运用新技术的过程,是人生的一次挑战,不仅教会了自己不少知识,更是让自己学到了许多学习的方法,为即将踏足社会奠定了基础。到此时我的大学生活已接近尾声,用毕业设计做为结尾曲也是在为明天吹响号角。活到老,学到老,学无止境,以后还要继续学习。 在这次毕业设计中我首先要感谢我的指导老师徐竟跃老师,是他给了我设计的方向,在我的设计过程中遇到了许多问题,是他在百忙中帮我解答让我顺利通过一个又一个难关。另外要感谢那些关心和帮助过我的老师与同学们,有了你们的帮助我才能顺利完成这次毕业设计,没有你们就没有我的今天。在次我衷心的对所有热心帮助过我的老师及同学表示感谢~ 参考文献 [1] 曾一江,刘虹,李寿强. 单片机微机原理与接口技术 [M]. 北京:科学教育出版社 2006年2月第一版(2010年1月第三次印刷):135-190 [2] 丁元杰,吴大伟,陈瀛清. 单片机微机原理及应用 [M]. 北京: 机械工业出版社, 2005. 7 (2009.2重印):146-167 [3] 何立民. 单片机应用技术选编 [M]. 北京:北京航天大学出版社,1993:168-175 [4] 曹克澄 单片机原理及应用(高职高专十一五机电类专业规划教材) [M]. 机械工业出版社(2009-01-01第2版):168-199 [5] 康维新 MCS-51单片机原理与应用(高校教材) [M]. 北京: 轻工业出版社 (2009-01-01 第1版):110-119 [6] 陈忠平 单片机原理及接口(高等学校计算机教育规划教材)[M]. 清华大学出版社,2007-3-1:201-221 34 [7] 求是科技编著. 单片机通信技术与工程实践 [M]. 北京: 人民邮电出版社, 2005: 273-315 [8] 杨金岩, 郑应强, 张振仁. 8051单片机数据传输接口扩展技术与应用实例 [M]. 北京: 人民邮电出版社, 2005: 258-318 [9] 杨将新, 李华军, 刘东骏. 单片机程序设计及应用从基础到实践 [M]. 北京: 电子工业出版社, 2006 [10] 李国兴,李伟, 单片机开发应用技术 [M]. 北京:北京大学出版社,2007.08.01 (第1次印刷) [11] 白林峰,李国厚, 单片机原理及应用设计 [M]. 化学工业出版社,2009.03.01 第1版 (第1次印刷): 204-250 附录 附录A:系统源代码 35 附录B:系统线路总图,原理图, 36 附录B:系统线路总图,PCB图, 材料清单: 自制PCB板 1×3 89SC52RC单片机 1×3 弹片按键 18×3 37 四位七段数码管 2×3 五色环电阻 200欧8×3、 4.1千欧4×3、680欧2×3、10千欧1×3 电容 无极性电容30PF 2×3、0.01uF 2×3、 有极性电容10uF 1×3、100 uF 2×3、 LED灯 3×3(红、绿、黄) ULN2803反向驱动管 2×3 IN4001二极管 1×3 12MHz晶振 1×3 7805三端稳压管 1×3 2×3组 导线 电源插座 1×3 7.5V电源 ×1 38
本文档为【单片机多机通信毕业设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_511210
暂无简介~
格式:doc
大小:312KB
软件:Word
页数:36
分类:生活休闲
上传时间:2017-09-27
浏览量:67