欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    超市储物柜系统驱动板设计-毕业设计.docx

    • 资源ID:29924107       资源大小:2.16MB        全文页数:77页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    超市储物柜系统驱动板设计-毕业设计.docx

    超市储物柜系统驱动板设计摘 要在空间狭小、物品繁多的室内场合,传统的储物柜和物品管理方式显得捉襟见肘。在通过利用室内高处空间、提高物品摆放密度等方法,提高物品的利用率。同时也会对整套储物系统的易用性、自动化程度提出更高的要求。然而超市里的储物柜(存包柜)给予了我们极大的方便。因此为满足人们的日常需求,基于实际应用设计一种超市储物柜系统。此系统也广泛应用于图书馆、游泳馆、车站、码头等,为广大顾客提供短期寄存保管服务。本课题设计一种基于红外条形码识别技术的超市储物柜系统的驱动板,用来驱动储物柜单元的电磁锁、红外传感器等。采用STC89C52-LQFP工业级芯片作为控制核心,保证了系统的稳定性。并且具有较多的I/O口资源,实现一块驱动板能够同时检测8个储物柜单元的当前储物状态(柜内是否有物品、柜门电磁锁状态、柜门是否锁上)。驱动板能够通过485总线与系统主控板进行通信,将储物柜单元的状态及时准确地反馈给主控板,以便判断可用柜子的号码及个数。检测部分采用漫反射红外传感器检测柜子的储物状态,用限位开关检测柜门是否锁上。进而完成整个驱动板的设计,与主控板协同完成存取物品的整个过程。关键词:储物柜,STC89C52-LQFP,485总线,驱动板 IVThe Design of Supermarket Locker System Driver Board ABSTRACTIn the narrow space, many items of indoor occasions, traditional lockers and goods management is difficult. By increasing the density of the display of goods and using the indoor high space, we improve high utilization rate of the goods, also on the set of storage system easy to use,automation demands. However, the supermarket locker(storage) gives us great convenience. In order to meet the daily needs of people, we design a supermarket locker system based on actual application. This system is also widely used in the library, swimming pool, station, wharf,provide short-term safe custody service for our customers.This project is to design a driving plate supermarket locker system infrared bar code recognition technology based on electromagnetic drive unit, used for cabinet lock, infrared sensor. Using industrial grade STC89C52-LQFP chip as the control core, ensure the stability of the system. And have more I/O resources, a driver can detect the current storage status 8 lockers unit (if there is any,cabinet doors, door electromagnetic lock state is locked).Drive plate to communicate via the 485 bus with the system main control board, the cabinet unit state timely and accurate feedback to the main control board, in order to determine the number and the number of available.The detection part of the diffuse reflectance infrared sensors to detect the cabinet storage state, with a limit switch detection door is locked. Then complete the drive plate design, the whole process collaboration and the main control board access items completed.KEY WORDS: Lockers, STC89C52-LQFP, 485bus, The driver board目录前言1第1章 系统设计要求与设计方案31.1 设计要求31.2 设计方案比较与论证3第2章 硬件电路设计72.1 STC89C52RC-LQFP单片机介绍72.2 驱动板系统各部分电路原理图102.2.1 单片机最小系统102.2.2 拨码开关电路112.2.3 电磁锁驱动电路112.2.4 SP485与单片机的连接122.3 PCB电路板的制作122.4 门控电磁锁原理及选型15第3章 SP485原理与多机通信183.1 SP485介绍183.2 数据通信基础193.2.1 数据通信的概念193.2.2 串行通信的传送方式203.3 SP485多机通信21第4章 软件设计234.1 系统软件设计234.1.1 通信协议设计234.1.2 多机通信时的分时说、听234.2 主程序流程图244.2.1 串口中断子程序264.2.2 解码子程序284.3 Modbus协议简介30第5章 系统调试335.1 硬件调试335.2 软件调试335.3 总体调试34结 论36谢 辞37参考文献38附 录40外文资料翻译41前言近来国外超市试行“快递储物柜”,将储物柜与快递相结合,顾客可以在网上购物然后到超市储物柜取自己的商品,不仅为超市提高了效益,也为顾客提供了方便,国内也将试行这一新方法,将储物柜与网络相连接实现远程控制为顾客提供服务,通过短信密码打开自己的储物柜取出商品。对电商和快递来说无疑降低了运送成本,对于消费者来说避免了在家坐等送货上门的不变,大大缩短了交易时间。在超市、商场、图书馆、车站等物品繁多的室内场合,人流量相对较大,为了给顾客带来便利储物柜便应运而生。超市里的储物柜(存包柜)给予了我们极大的方便,可是在享受这种方便的同时,总是出现各种各样的小问题。也许你和我都碰到过这样的状况:扫描条码的存包柜在按下存包键后没有反应、取包时扫描器却无法读取条码、这么多的柜子却永远满箱同时,大多是因为超市顾客遗失纸质条码,带来了各种麻烦以及损失、无意或恶意占空箱导致其他人无法使用储物柜,储物柜得不到合理有效的利用,不能满足寄物需求,顾客抱怨颇多,对超市的形象非常不利。针对这些问题我们对储物柜的控制方案以及突发事件进行评估并作出拟解决方案,优化软硬件避免非人为因素对顾客造成的损失。主要设计一种基于红外条形码识别技术的超市储物柜系统的驱动板,要求一块驱动板能够同时检测8个储物柜单元的当前储物状态、柜门电磁锁状态,保证储物柜能准确无误的实现存储,充分利用储物柜的价值。使驱动板够通过485总线与系统主控板进行通信,将检测到的状态信息告知主控板,并能够根据主控板发送的指令,送出驱动信号打开相应电磁锁。选择合适的红外传感器,能够通过红外检测技术判断储物柜的当前储物状态,传感器的安装位置及其检测的准确度,是否受其他外界条件的影响而误测等;选择合适的电磁锁,驱动板能够检测电磁锁的状态,能准确判断储物柜是否锁好以及是否正常打开,能够准确执行主控板发来的命令;能够与主控板通过485总线准确通讯,并反馈储物柜的状态和电磁阀状态的信息,保证顾客存取物品的快捷、方便和安全;合理设计红外传感器和电磁锁的驱动电路;绘制原理图和PCB图并制出驱动板实物;设计驱动软件程序能与主控板协同工作。本设计是基于这些问题的存在进一步提出解决超市存储问题,使顾客存储物品变得更方便、快捷,顾客容易操作并具有更高的可靠性、安全性等,可以有效防止顺手牵羊,避免物品丢失,减少偷盗行为的发生。从而使超市更高效的为顾客提供优质的服务,大大提高了超市工作人员的工作效率。73第1章 系统设计要求与设计方案1.1 设计要求本课题设计一种基于红外条形码识别技术的超市储物柜系统的驱动板,要求一块驱动板能够同时检测8个储物柜单元的当前储物状态、柜门电磁锁状态、并能够通过485总线与系统主控板进行通信,将检测到的状态信息告知主控板,并能够根据主控板发送的指令,送出驱动信号打开相应电磁锁。选择合理可行的系统硬件设计方案、规划各功能模块的实现方法,绘制原理图和PCB版图,制作出驱动板实物;设计驱动板软件程序,能够和主控板协同工作。1.2 设计方案比较与论证STC89C52RC是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含8KB的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚1。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,具有高性价比。且价格便宜,采用LQFP封装使得芯片的稳定性更高,本设计采用STC89C52RC-LQFP作为控制板核心芯片,其I/O口已满足设计功能的需要。(1) 电磁锁。首先在选择合适的电磁锁,本系统选择了该类电磁锁:电磁铁通电,磁铁吸和,柜门打开;不通电,则在弹簧作用力下,柜门关闭。(2) 红外接近开关。采用市场上常用的E18-D50NK漫反射式红外光电开关,其检测距离可调,当有物体挡到前面时,该红外光电开关会输出一个低电平信号,有此判断柜内是否有物。(3) 限位开关。限位开关选择与家用冰箱内的门限开关开关类似,安装在门上合适的位置用来检测柜门是否关上。方案一:指纹密码控制各种箱柜1. 操作简单,管理方便,无需携带任何凭证;存物:按“存”键-指纹录入区内按压指纹-自动开门-存入物品-关箱门取物:指纹录入区内按压指纹-自动开门-取出物品-关箱门2. 存取快捷,提高客流量和设备使用效率;3. 管理系统可开箱检查,设置时间;4. 自动开门,机械强开门,自动安排空箱,有自动探测系统,避免无存现象;5. 记录查询功能:可为管理员提供界面查询顾客存取记录;6. 中央控制与箱锁控制部分分离,采用总线方式扩展,扩展方式灵活;7. 安全性能高,活体指纹,难以复制;8. 无需消耗各类耗材,节省的同时更环保;9. 停电的情况可紧急开启所有柜门,也可连接备用电源,备用电源正常部不少于6小时。方案二:手机短信控制各种箱柜一种基于GSM网络的新型存包柜,采用短信收发等方式来存取物品,克服了已有存包柜的成本高、不够低碳环保、密码纸条容易丢失等缺点,使存包柜的使用变得更为方便和人性化。此外,柜子中还装有红外感应系统,可随时监测柜中是否有物品。而柜子外侧的LED灯显示柜中是否存有物品,在很大程度上能够帮助存物人避免遗漏物品。该功能主要是通过GSM拈来实现。当存包人输入自己的手机号并确认后,会生成一个随机密码发送到用户指定的手机上;如果用户想开箱,可以回复刚刚收到的密码短信,GSM拈收到短信以后先判断号码是否来自存包的用户之一,如果是,则打开相应的柜子,如果不是,则不作任何响应。针对没有带手机或手机一同被存在存包柜的情况,我们设立了一种特殊的开箱方式:只要再次输入一次手机号码即可。如果输入的手机号和某个存包柜记录的电话号码一致,则打开响应的柜子。方案三:射频卡控制各种箱柜RF卡(射频卡)储物柜系统利用目前技术最先进的射频卡,操作简单方便,应用广,加密性能好,抗干扰能力强,将射频识别技术与IC卡技术相结合,它不仅为用户带来了方便,也使企业的管理更加规范、有效,尤其是“一卡通用”更是使企业管理再上新台阶,为企业产生了一定的经济效益和社会效益,以用于工厂、医.院、校园、智能大厦、小区等、还可以应用于娱乐场所、机场等客流量较大、流动性大的场所该产品极大地提高了财物保管、使用的安全性和方便性。1. 支持使用二代身份证或校园卡等射频卡进行存、取包相应操作,缩短顾客存取物的使用时间;2. 系统人机界面简洁、友好大方;支持语音提示操作;采用触摸式按键使系统更加经久耐用,外形更加美观;3. 系统可实时显示柜门使用状况:包括柜子是否占满,用户存取物品操作的柜子及时间;通过点击软件上的柜体,便可轻松查询某柜子最近一次存物记录;4. 日志功能,能保存各种操作记录;5. 可设置使用用户的超时时间、自动清柜时间;6. 使用方法。(1) 存物:按“存”键,把身份证放在感应区停留1秒钟,柜门自动打开。(2) 取物:按“取”键,把身份证放在感应区停留1秒钟,柜门自动打开。方案四:条码扫描控制各种箱柜又称机设条码自助寄存柜,是在密码型的基础上开发的换代产品。由图形代替数字,从扫描器读入代替键盘输入,利用随机产生条码打印在条码纸上,安全可靠。内部微型计算机控制箱柜存取操作,液晶显示屏显示存物箱号、操作步骤提示、各箱内状态、通讯状态、日期及时间等信息,人机交互性强,操作界面友好。1. 操作简单存物:按“存”键-取条码-自动开门-存入物品-关箱门取物:条码靠向读码口扫描-打开箱门-取出物品-关箱门2. 全套密码管理系统:管理人员只需通过管理密码即可轻松进行管理;3. 采用优质冷轧钢板,外表静电粉沫喷塑,柜体结构紧固牢靠,表面无可拆卸螺钉,安全便利。根据各方面考虑,选择用方案四,不仅价格上较便宜,而且使用方便,相对比较安全。图1-1 总体方案框图第2章 硬件电路设计2.1 STC89C52RC-LQFP单片机介绍 STC89C52RC-LQFP单片机及其引脚说明。图2-1 单片机引脚图VCC 电源电压。GND 接地。SPT 复位输入。当SPT变为高电平并保持2个机器周期时,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISKRTO位缺省为RESET输出高电平打开状态2。XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 来自反向振荡放大器的输出。P0口 一组8位漏极开路型双向I/O口。也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻,P0口作为8个红外接近开关的输入3。P1口 一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)4。Flash编程和程序校验期间,P1接收低8位地址。P1口部分端口引脚及功能如表2-1所示,P1口接电磁锁。表2-1 P1口特殊功能P1口引脚特殊功能P1.5MOSI(用于ISP编程)P1.6MOSI(用于ISP编程)P1.7SCK(用于ISP编程)P2口 一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容在整个访问期间不改变。Flash编程和程序校验期间,P2亦接收低8位地址。本设计中将P2口接上拉电阻,与限位开关相连接。P3口 一个带内部上拉电阻的8位双向I/O口。P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写“1”时,它们被内部的上拉电阻把拉到高电并可作输入端口。作输入端口使用时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表2-2所示。P3口还接收一些用于Flash闪速存储器编程和程序校验期间的控制信号。表2-2 P3口特殊功能P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)PSEN/ 程序储存允许输出是外部程序存储器的读先通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN/有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN/信号5。EA/VPP 外部访问允许。欲使CPU仅访问外部程序存储器,EA端必须保持低电平,需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。Flash存储器编程时,该引脚加上+12V的编程电压VPP。表2-3 P4口特殊功能P4口引脚特殊功能P4.0标准I/O口P4.1标准I/O口P4.2INT3(外部中断3)P4.3INT2(外部中断2)P4口 STC89C52RC-LQFP增加有P4口,P4口接拨码开关用来设置硬件地址。2.2 驱动板系统各部分电路原理图2.2.1 单片机最小系统图2-2 最小系统原理图单片机最小系统包括复位电路、晶振电路,是保障单片机正常运行的关键,其中晶振选用11.0592MHz,就构成单片机的最小系统。单片机最小系统电路组成是每一部分必不可少的,即没有电源、复位电路和时钟电路单片机就无法工作。在单片机的最小系统基础上,在加上用户需它完成一定工作的电路,单片机控制电路就形成了。2.2.2 拨码开关电路图2-3 拨码开关与单片机连接电路图拨码开关与单片机的P4口相连,通过设置P4口的值设置相应的从机硬件地址,当P4口拨到on位置时P4口全为高电平,反之全为低电平,从而通过检测P4口的值来确定本机地址。2.2.3 电磁锁驱动电路图2-4 电磁锁驱动电路电磁锁驱动采用普通的三极管放大电路,5V电源供电,电磁锁上并联有二极管用来防止逆电流和吸收自感应电流6,从而保证电磁锁正常工作。2.2.4 SP485与单片机的连接图2-5 SP485与单片机连接电路图485与单片机连接时,RO、DI只需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,将二者与单片机的P3.6相连作为485的收发使能端。2.3 PCB电路板的制作PCB设计的基本原则 :印制电路板设计首先需要完全了解所选用元件及各种插座的规格、尺寸、面积等。当合理地、仔细地考虑各部件的位置安排时,主要是从电磁兼容性、抗干扰性的角度,以及走线要短、交叉要少、电源和地线的路径及去耦等方面考虑7。首先是电路板的制作,采用Protel DXP 2004绘制电路原理图及PCB板,原理图设计流程:图2-6 PCB电路板设计流程图  印制电路板上各元件之间的布线应遵循以下基本原则8:(1) 印制电路中不允许有交叉电路,对于可能交叉的线条,可以用“钻”、“绕”两种办法解决。  (2) 电阻、二极管、管状电容器等元件有“立式”和“卧式”两种安装方式。  (3) 同一级电路的接地点应尽量靠近,并且本级电路的电源滤波电容也应接在该级接地点上。  (4) 总地线必须严格按高频、中频、低频一级级地按弱电到强电的顺序排列,切不可随便乱接。 (5) 强电流引线(公共地线、功放电源引线等)应尽可能宽些,以降低布线电阻及其电压降,减小寄生耦合而产生的自激。 (6) 阻抗高的走线尽量短,阻抗低的走线可长一些,因为阻抗高的走线容易发射和吸收信号,引起电路不稳定。  (7) 各元件排列、分布要合理和均匀,力求整齐、美观、结构严谨。电阻、二极管的放置方式分为平放和竖放两种,在电路中元件数量不多,而且电路板尺寸较大的情况下,一般采用平放较好。   (8) 电位器。电位器的安放位置应当满足整机结构安装及面板布局的要求,因此应尽可能放在板的边缘,旋转柄朝外。 (9) IC座。设计印制板图时,在使用IC座的场合下,一定要特别注意IC座上定位槽放置的方位是否正确,并注意各个IC脚位是否正确。  (10) 进出接线端布置。相关联的两个引线端不要距离太大,一般为2/103/10 inch左右较合适。进出线端尽可能集中在12个侧面,不要太过离散。 (11) 要注意管脚排列顺序,元件引脚间距要合理。如电容两焊盘间距应尽可能与引脚的间距相符。 (12) 在保证电路性能要求的前提下,设计时尽量走线合理,少用外接跨线,并按一定顺序要求走线。走线尽量少拐弯,力求线条简单明了9。 (13) 设计应按一定顺序方向进行,例如:可以按从左往右和由上而下的顺序进行。 (14) 线宽的要求。导线的宽度决定了导线的电阻值,而在同样大的电流下,导线的电阻值又决定了导线两端的电压降。最终绘制的PCB电路图如图2-7所示。图2-7 绘制成的PCB电路图2.4 门控电磁锁原理及选型图2-8 门控电磁锁原理利用简单的三极管放大作为电磁锁的驱动电路,采用5V供电2A的适配器供电;当单片机的P口输出低电平时L1处是高电平,此时电磁锁带电吸合,电磁锁常态是放开状态,只有带电时才吸合。电磁铁通电,磁铁吸和,柜门关闭;不通电,则在弹簧作用力下,柜门打开10。电磁锁及其他配件推荐配置: 图2-9 门控机械装置柜门锁柜门锁(备选)柜门锁(备选)图2-10 组合柜门示意图第3章 SP485原理与多机通信3.1 SP485介绍图3-1 SP485引脚图图中显示的是SP485引脚图,SP485采用差分信号负逻辑,+2V+6V表示“0”,-6V-2V表示“1”,SP-485有两线制和四线制两种接线四线制只能实现点对点的通信方式,线很少采用,现在多采用的是两线制接线方式这种接线方式为总线式拓扑结构,在同一总线上最多可以挂接32个结点。在485通信网络中一般采用的是主从式通信方式,即一个主机带多个从机。很多情况下,连接SP485通信电路只是简单地用一对双绞线将各个接口的“A”、“B”端起来了11。采用单一电源+5 V工作,额定电流为300 A,采用半双工通讯方式。它完成将TTL电平转换为SP485电平的功能。从图中可以看出,485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为SP485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制SP485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选120的电阻12。由于MAX232的种种缺点,新的串行通讯接口标准RS449被制定出来,与之相对应的是SP485的电气标准。SP485是美国电气工业联合会 (EIA)制定的利用平衡双绞线作传输线的多点通讯标准。它采用差分信号进行传输;最大传输距离可以达到1.2 km;最大可连接32个驱动器和收发器;接收器最小灵敏度可达±200 mV;最大传输速率可达2.5 Mb/s。由此可见,SP485协议正是针对远距离、高灵敏度、多点通讯制定的标准13。图3-2 485多机通信示意图3.2 数据通信基础3.2.1 数据通信的概念随着多微机系统的应用和微机网络的发展,通信功能越来越显得重要。通信是指计算机与外界的信息交换,它既包括计算机与外部设备之间,也包括计算机之间的信息交换,所有这些信息交换都可称之为数据通信。数据通信的方式有两种,即并行数据通信和串行数据通信。通常根据信息传送的距离决定采用哪种通信方式14。3.2.2 串行通信的传送方式在串行通信中,数据通常是在两个站(点对点)之间进行传送,按照数据的方向可分成三种传送模式:全双工、半双工、单工。下面就简单介绍三种传送模式。(1) 全双工(Full Duplex)。图3-3 全双工通信示意图数据的发送和接收分别由两根可以在两个不同的站点同时发送和接收,通信双方都能在同一时刻进行发送和接收15。(2) 半双工(Half Duplex)。图3-4 半双工通信示意图使用同一根传输线,通信双方即可发送数据又可接收数据但不能同时接收和发送数据,本文设计的SP-485通信接口芯片采用半双工的传送方式。(3) 单工(Simplex)。甲乙双方只能单向传送数据,发送方和接收方固定。图3-5 单工通信示意图 3.3 SP485多机通信图3-6 485多机通信示意图一主机多从机时:单片机的RXD接SP485的RO,单片机的TXD接SP485的DI;SP485的DE和RE接单片机IO口上(只接在一个IO口即可,因为是半双工通信)16。主机SP485与从机SP485:主机A接从机A,从机B接主机B。(SP485的A和B之间接一匹配电阻大小120欧)。第4章 软件设计4.1 系统软件设计4.1.1 通信协议设计为保证通信正常进行,首先做到单片机的串行口与主控串行口的设置保持一致,即数据格式一致、通信波特率相同。多机通信时每个从机分配一个硬件地址,即用拨码开关设置硬件地址。系统中有两种帧格式,主机想从机发送一帧数据有7个字节组成帧头、地址、查询/功能码、数据、CRC校验(高、低字节)、帧尾,从机接收到一帧数据后进行解码分析,若帧头、帧尾、地址和校验都正确,则从机进行相应的动作,否则清空接收缓存区准备接收下帧数据;同时响应的从机接收到查询码时将自己的柜子状态发送给主机,也以一帧数据的格式8字节,包括帧头、本机地址、红外光电开关、电磁锁、限位开关、校验码、帧尾。主机发送数据帧格式:帧头地址查询/功能数据校验码帧尾从机回应数据帧格式:帧头本机地址红外光电开关电磁锁限位开关校验码帧尾 主机与从机构成多机通信系统采用主从结构。数据通信总是有主机发起,主机处于发送状态“说”时,从机总是处于“听”的状态。若从机接收到的地址与本机相符,则接受该数据,否则清空缓存区,继续“听”总线上的数据17。若从机需要发送数据时必须等到主机查询本机地址,才可以提出申请,这样就不会产生错误的响应,系统上电或复位后,所有从机只处于监听状态,主机向向从机发送一帧信息,从机接收到地址帧后与本机地址比较,判断是否一致。若与本机地址相符,则继续执行相应的动作,不符,则清缓存区,继续监听总线上的数据。4.1.2 多机通信时的分时说、听多机传送时,通信协议要合理地协调总线的分时公用,采用SP-485总线连接多个站点,由于485总线是异步半双工的通信线。在某一时刻,总线智能呈现一种状态,总线上只有一个站点在说,则数据将在通信总线里碰撞结果处于接收状态的站点无法接收到正确的数据。必须遵从以下几点:(1) 复位时所有从机都应处于接收状态。(2) 控制端RE、DE的信号有效脉冲宽应大于发送或接收一帧信号的宽度。(3) 总线上所有从机的发送控制信号在时序上完全隔离,每个从机都有自己的独特的地址,轮询信息中包含字的通信地址,此节点对此真进行应答,其他节点忽略此帧,不做处理。4.2 主程序流程图图4-1 主程序流程图void Init_Timer0(void)PT0=0;/定时器0优先级0IPH&=0XFD;TMOD|=0x01;/使用模式1,16位定时器 TH0=T50MS>>8;/131msTL0=T50MS;TR0=1; /定时器0开关先关闭ET0=1; /定时器0中断打开void Init_Uart(void)PS=1;/串口优先级1IPH&=0XEF;/*定时器1作为波特率发生器*/SCON = 0X50; / SCON: 模式 1, 8-bit UART, 使能接收 TMOD |= 0x20; / TMOD: timer 1, mode 2, 8-bit 重装TH1 = 0xFD; / TH1: 重装值 9600 波特率 晶振 11.0592MHz TR1=1;/ 开定时器1EA = 1;/开启总中断void main (void)addr=P4&0x0F;/获取硬件地址 Init_Uart(); Init_Timer0();RS485_Config(0);/485默认工作在接收状态ES = 1; /打开串口中断while (1) 串口中断设为最高优先级,定时器1作为波特率发生器,波特率设置为9600kbps,SP485_EN=0,从机全都设置为接收状态,等待主机的轮询。4.2.1 串口中断子程序图4-2 中断子程序流程图void Uart_ISR(void) interrupt 4 /串行中断服务程序 ES = 0; /进入串口中断子函数后关闭串口中断if(RI) /判断是接收中断产生 RI=0; /标志位清零Rec_BuffRec_Count = SBUF;if(Rec_Buff0 = 0x5a) /判断帧头表示是主机发送时接着接数据Rec_Count +;if(Rec_Count >= 7) Rec_Count = 0; Frame_Decoding();/接收了一帧7个字节后,对该帧进行解码并触发相应操作elseRec_Count = 0;if(TI) /如果是发送标志位,清零TI=0;ES = 1; 进入中断函数后先关闭中断,避免在接收数据过程中在发生中断,将接收到的数据存在Rec_Buff中以便之后的解码,同时接收主机的一帧数据是7个字节,当全部接收完时,将字节计数变量Rec_Count清零,准备响应主机的下次呼叫,然后进入解码子程序。4.2.2 解码子程序图4-3 解码子程序流程图void Frame_Decoding(void)uchar i = 0;if(Rec_Buff0)=0x5A && (Rec_Buff6=0x0D)/检验帧头、帧尾 if(Rec_Buff1 = My_Addr) if(GetCRC16(Rec_Buff,4) = (uint)(Rec_Buff5<<8 | Rec_Buff4)/CRC校验 switch(Rec_Buff2)/功能码判断case 0x01:Frame_Coding_Send(); P1 = Dlock_value();TR0=1;break;case 0x00:Frame_Coding_Send();/仅返回状态break;default:break;for(i=0;i<7;i+)/处理完后清空接收缓冲数组Rec_Buffi = 0; void Frame_Coding_Send(void)uchar i = 0;uint CRC_temp = 0;Send_Buff0 = 0x0A;/帧头Send_Buff1 = My_Addr;/本从机地址Send_Buff2 = Isensor;/红外Send_Buff3 = Dlock;/电磁锁Send_Buff4 = LitSW;/限位开关CRC_temp = GetCRC16(Send_Buff,5);/产生CRC校验Send_Buff5 = (uchar)(CRC_temp & 0x00ff);/放入发送缓冲数组Send_Buff6 = (

    注意事项

    本文(超市储物柜系统驱动板设计-毕业设计.docx)为本站会员(豆****)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开