基于单片机自助订餐终端设计(编辑修改稿)内容摘要:

打印模块接口定义 表 3. 3打印模块接口定义 引脚 信号 方向 说明 1 STB 入 数据选通触发脉冲,上升沿时读入数据 3,5,7,9,11, DATA1DATA8 入 这些信号分别代表并行数据的第一至第八中北大学 2020 届毕业设计说明书 第 15 页 共 58 页 13,15,17 位信号 19 ACK 出 回答脉冲,低电平表示数据已被接收 21 BUSY 出 高电平表示打印机忙,不能接收数据 23 PE 出 缺纸信号,高电平表示打印机缺纸 25 SEL 出 高电平表示打印机在线 4 ERR 出 高电平打印机无故障 2,6,8 空脚 1026(偶数) GND 接地 打印机设置与命令介绍 打印机设置 打印机有两个功能键: LF 键和 SET 键,一个指示灯:绿灯。 绿灯本身即为 LF 键,上电后按一下 LF键,打印机向前走纸一段。 SET 键在打印机背部通信接口左侧孔内。 绿灯上电后为常亮状态,缺纸时为闪烁状态。 打印机断电,按 LF键不放,给打印机加电,松手,打印机会打印出自检条。 打印机断电,按 SET 键不放,打印机加电,按 LF键改变波特率: 1200,2400,4800,9600,19200bps,设置完成后需重新加电。 打印机命令详解 ESC 6: 该命令使打印 机打印字符集 1 中的字符,字符集 1中有字符 224 个,代码范围 20HFFH。 包括 ASCII 字符,及各种图形符号等。 FS amp。 :该命令用于进入汉字 方式,在中文打印方式时,打印机接收的汉字代码为标准机内码,根据代码寻找打印机内的汉字字模,如找到则打印,否则不打印。 打印机接收到单字节的 ASCII 码时,打印出相应的 ASCII 字符,与汉字等高。 CR: 回车命令,打印机收到本命令后,即对缓冲区内的命令和字符进行处理,按要求打印缓冲区内的全部字符或汉字,并换行。 ESC p n: 该命令是设定字符之间的空点,默认方式为 0, n为字符间空点数, n在0~ 255 之间。 ESC I n:是否允许反白 打印命令, n=1 允许反白打印, n=0 禁止反白打印,上电后初始化后 n=0,允许反白打印后的字符和汉字将以黑底白字打印出来。 中北大学 2020 届毕业设计说明书 第 16 页 共 58 页 GS W n1 n2:设置条形码宽度尺寸, n1 为条形码窄条尺寸,以点为单位, n2 为条形码宽条尺寸。 GS h n:设置打印条形码的高度 n=0~ 255,以点为单位, n=0 为 256 点 [22]。 通信模块 通信模块电路图 R1RE2DE3D4GND5A6B7V C C8U3S N 7 5 1 7 610KR7100R8123P _ M A X 1GNDABV C CBAGNDR X D 1D _ 4 8 5T X D 1V C C 图 通信模块电路图 该电路图为 RS485 通信方式电路图,在毕业设计阶 段,由于没有购买 GW200KB 无线通信模块,选用了 RS485 通信方式来替代并完成了相关的设计与制作。 RS485 通信方式: RS485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点 ,所以它 成为首选的串行接口。 因为 RS485 接口组成的半双工网络,一般只需二根连线,所以 RS485 接口均采用屏蔽双绞线传输 [23]。 在要求通信距离为几十米到上千米时,广泛采用 RS485 串行总线。 RS485 采用平衡发送和差分接收,因此具有抑制共模干扰的能力。 RS485 采用半双工工作方式,任何时候只能有一点出于发送状态 ,因此,发送电路必须由使能信号加以控制。 RS485用于多点互联时非常方便,可以省掉许多信号线。 应用 RS485 可以联网构成分布式系统。 RS485 具有以下特点: RS485 的电气特性:逻辑“ 1”以两线间的电压差 +2V~ +6V表示,逻辑“ 0”以两线间的电压差 6V~ 2V 表示。 接口信号电平比 RS232 降低了,就不容易损坏接口的电路芯片,且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。 中北大学 2020 届毕业设计说明书 第 17 页 共 58 页 数据最高传输速率为 10Mbps。 在使用 RS485 接口时对于特定的传输线路,从 RS485 接口到负载其数据信号传输所允许 的最大电缆长度与信号传输的波特率成反比,这个长度数据主要 是受信号失真及噪声等影响。 理论上,通信速率在100Kpbs 及以下时, RS485 的最长传输距离可达 1200 米,但在实际应用中传输的距离也因芯片及电缆的传输特性而所差异。 在传输过程中可以采用增加中继的方法对信号进行放大,最多可以加八个中继,也就是说理论上 RS485 的最大传输距离可以达到 公里 [24]。 RS485 接口采用平衡驱动器和差分接收器的组合,抗共模干扰能力强,即抗噪声性能好。 RS485 接口在总线上允许连接多达 128 个接收器,即具有多站 能力,这样用户可以利用单一的 RS485 接口方便的建立设备网络。 本系统经过比较选择 RS485 通信方式, RS485 通信采用 SN75176 芯片 ,此芯片 的结构和引脚都非常简单 ,内部含有一个驱动器和接收器。 R和 D端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的 RXD1和 TXD1相连即可 , /RE和DE端分别为接收和发送的使能端,当 /RE 为逻辑 0时,器件处于接收状态;当 DE 为逻辑 1 时,器件处于发送状态,因为 MAX485 工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可; A端和 B 端分别为 接收和发送的差分信号端 ,当 A引脚的电平高于 B时,代表发送的数据为 逻辑 1;当 A 的电平低于 B 端时,代表发送的数据为逻辑 0。 在与单片机连接时接线非常简单。 只需要一个信号 D_485 控制 SN75176 芯片 的接收和发送即可。 同时将 A和 B端之间加匹配电阻,一般可选 100Ω 的电阻 [25]。 通信模块与单片机的串口 1相连接,实现单片机与上位机通信。 波特率为 9600bps,数据格式为 1个起始位, 8个数据位, 1个停止位,无奇偶校验位。 读卡模块 读卡模块电路图 中北大学 2020 届毕业设计说明书 第 18 页 共 58 页 1234P _I R F 1I R FC510KR E F 210KR R F 1V C CGNDR X D 0T X D 0V C CV C C 图 读卡模块电路图 读卡模块实 物图 图 读卡模块实物图 读卡模块接口协议 该读卡模块采用 125K射频基站。 当有卡靠近模块时,模块以韦根或 UART或键盘接口方式输出 ID卡号,用户仅需简单的读取即可,该读卡模块完全支持 EM、 TK及其兼容卡片的操作。 数据通讯协议: UART通信协议: UART接口一帧的数据格式为: 1个起始位, 8个数据位,无奇偶校验位, 1个停止位,波特率为 9600bps或 19200bps。 输出的数据格式为 5字节数据,高位在中北大学 2020 届毕业设计说明书 第 19 页 共 58 页 前,格式为四字节数据 +1字节异或和。 例如:卡号数据为 12345678,则读卡模块输出 为0X12 0X34 0X56 0X78 0X08,当有卡进入该射频区域内时,主动发出以上格式的卡号数据 [26]。 韦根接口:韦根协议是国际上统一的标准,是由摩托罗拉公司制定的一种通讯协议。 它使用于涉及门禁控制系统的读卡器和卡片,它有很多格式,标准的 26bit是最常用的格式。 韦根数据输出由二根线组成,分别是 DATA0和 DATA1;而根线分别输出逻辑 0和逻辑 1。 输出逻辑 0时: DATA0线上出现负脉冲;输出逻辑 1时: DATA1线上出现负脉冲 [27]。 键盘口协议:当选择键盘口模块后,模块会采用标准 PS2键盘口通 信协议,向外输出 ID卡号。 PS2 通讯协议是一种双向同步串行通讯协议。 通讯的两端通过 Clock(时钟脚 )同步,并通过 DATA(数据脚 )交换数据。 任何一方如果想抑制另外一方通讯时,只需要把 Clock(时钟脚 )拉到低电平。 如果是 PC机和 PS2键盘间的通讯,则 PC机必须做主机,也就是说, PC机可以抑制 PS2键盘发送数据,而 PS2键盘则不会抑制 pc机发送数据。 一般两设备间传输数据的最大时钟频率是 33KHz,大多数 PS2设备工作在 10~ 20KHz。 推荐值在 15KHz左右,也就是说, Clock(时钟脚 )高、低电平的持续 时间都为 40μs。 每一数据帧包含 11~ 12个位 , 1个起始位, 8个数据位, 1个奇偶校验位, 1个停止位 [29]。 图 韦根结构与波形图 中北大学 2020 届毕业设计说明书 第 20 页 共 58 页 本次设计采用 USART通信,通信波特率为 9600bps。 接口与单片机的串口 0相连接,实现单片机读取卡号信息。 中北大学 2020 届毕业设计说明书 第 21 页 共 58 页 4 设计结果 自助订餐终端 图 图 中北大学 2020 届毕业设计说明书 第 22 页 共 58 页 图 图 中北大学 2020 届毕业设计说明书 第 23 页 共 58 页 图 终端与上位机通信结果 图 终端与上位机通信结果 中北大学 2020 届毕业设计说明书 第 24 页 共 58 页 5 总结 为期三个月的毕业设计,从一开始通过李老师的简单介绍,到对于这个课题的兴趣日益浓厚,再到从零开始学习软件、绘制电路图、调试程序、制作实物,很高兴能够在李老师的帮助下比较完满的完成了这次毕业设计,当然更重要的是在这个过程中我学到的知识以及获得技术与感悟。 关于设计,我的毕业设计题目是基于单片机的自助订餐终端的设计,拿到题目便开始考虑这个设计的意义所在。 有时候一个好的想法是最最关键的部分,基于目前我国医院住院部的现实情况,开 发这样的一个产品其实是很有市场的,它能够带来更方便快捷且人性化的服务。 综合大学四年的学习,这个基于单片机的设计有了雏形,在老师的指导下我将整个设计进行模块划分,综合实际需要选定了各个模块需要的器件,并且通过了解网上的相关信息找到了适合的产品与芯片。 这个过程让我了解了从生活发现可以利用所学知识实现一些目前还是空白的事情是很重要的,而如何为自己的理想买单,即如何让想法变成现实就是之后在整个设计的实现过程中我所学会的东西。 关于整个设计的实现过程,我认为就是一个学习、应用的不断循环的过程。 本科的学习中仅仅是了解了 有关单片机的基本知识,对于真正用程序实现功能,选用各个器件并使其能够在一整个系统中良好的运行,并制作出实物使其真正的能够在生活中发挥作用对于我们来说并不是一件简单的事情。 在这三个月左右的时间里,我便是一边学习,一边进行设计,很多时候学起来很容易的东西在实践时会出现各种各样的问题,软件也好、硬件也好,只有在亲自制作时才真正的知道我们所学的知识究竟能够用来做什么,而我们距离掌握这项技术究竟还差多远。 大学的学习生活就要结束了,但是学习不会止步,在今后的工作生活中我仍然会带着中北大学赋予我的学习精神不断学习不断进 步。 中北大学 2020 届毕业设计说明书 第 25 页 共 58 页 附录 A 自助订餐终端源程序 /* 自助订餐终端源程序 芯片: ATMEGA128 晶振: */ include include avr/ include avr/ include util/ include avr/ define uchar unsigned char define uint unsigned int define ulong unsigned long define NOP() asm(nop) /*端口定义 */ define LCD_RS_L PORTFamp。 =~(17) define LCD_RS_H PORTF|=(17) //液晶指令、数据选择线 高 数据 低 指令 define LCD_RDN_L PORTFamp。 =~(16) define LCD_RDN_H PORTF|=(16) //液晶读命令 低 有效 define LCD_WRN_L PORTFamp。 =~(15) define LCD_W。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。