简易超市收银机设计报告.doc_第1页
简易超市收银机设计报告.doc_第2页
简易超市收银机设计报告.doc_第3页
简易超市收银机设计报告.doc_第4页
简易超市收银机设计报告.doc_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2006年山东省大学生电子设计竞赛(D题)简易超市收银机设计报告 设 计 者: 甘亚辉 刘丙利 赵建 赛前辅导教师: 姚福安 万鹏 参 赛 院 校: 山东大学控制科学与工程学院参赛队伍编号: D甲1033 2006年9月11号目录一 .方案设计与论证4(一)系统总体方案论证4(二)主要模块的选择和论证41键盘方案52数据存储方案53显示方案54温度检测方案55打印机方案5二参数计算及基本实现电路61电源模块62温度检测模块63湿度检测模块74LCD显示模块85键盘模块86掉电保护模块97打印机和扫描器模块98实时时钟模块10三系统软件设计及流程图11四系统测试与调试14五测试结果分析161.温度检测结果分析162.湿度检测结果分析16六操作说明161按键功能说明162操作方式说明18七设计总结18八参考文献19简易超市收银机(D题)摘要:本设计采用LPC2138 ARM处理器作为主控制单元,通过扩展条形码阅读器实现商品信息的自动输入,并采用ZLG7289键盘LED管理芯片扩展了24个按键,配合按键功能复用技术可实现全拼汉字输入、英文输入以及数字输入等多种输入功能。整个系统的执行结果可以通过TL58热敏打印机的打印结果查看,能够实现汉字打印每笔交易的商品名、销售金额、交易时间等信息。系统还能够实现多功能销售操作,如单次销售、多件批发、单向折扣等。采用温度传感器AD590、湿度传感器HS1101能够准确检测环境的温度和湿度,并通过键盘切换显示在LCD上。系统显示功能采用OCMJ4X8C点阵液晶,能实现友好的人机界面。采用2Mbit串行Flash芯片M25P20可实现商品信息和销售日志的掉电保存。关键词: LPC2138 条形码扫描器 中文汉字输入法 温度传感器AD590 湿度传感器HS1101 TL58打印机 串行Flash芯片M25P20 液晶OCMJ4X8CAbstract: This design is implemented with the advanced ARM processor LPC2138 as the main controller. Using bar code reader, we can get the sale information automatically. At the same time, we use ZLG7289 KEY and LED management chip to extend 24 keys. Combined with multi-function key technique, we achieve the request of Chinese character input, English char input and digital number input. The output of the whole system can be checked by the printed contents of TL58 printer, including the goods name, sale time, etc. The system can still realize multi-function sale operation, such as the single sale, discount, group sale, etc. Adopting the temperature sensor AD590 and the humidity sensor HS1101, the system can detect the current environmental temperature and humidity accurately. We use the dot array LCD OCMJ4X8C to display the system information, constructing friendly man-machine interface. Adopting the 2Mbit serial Flash M25P20, we realize the request of saving goods information from power down.Keywords: LPC2138 bar code reader Chinese character input TL58 printer temperature sensor AD590 humidity sensor HS1101 serial Flash M25P20LCD OCMJ4X8C一 .方案设计与论证(一)系统总体方案论证方案一:采用AT89S52单片机。51系列单片机价格便宜,使用简单,开发软件以及硬件调试器型号众多,应用广泛而普遍。但是51系列单片机RAM,ROM等资源少,外围模块少,运算速度较慢,无法满足系统设计对运算速度和存储容量的要求。方案二:选用LPC2138ARM。LPC2138是32位微控制器,内部具有32K的SRAM,512K的高速FLASH,并且可使用16位Thumb指令,有效提高指令执行速度。同时LPC2138集成有多种片内外设,如SPI、I2C等接口,可方便扩展各种芯片。选择ARM处理器有利于编写运算量较大、算法复杂的程序,并保证程序运行的实时性。综合考虑到收银机数据处理量大,算法复杂,对RAM和ROM都有较大的要求,我们决定选用方案二。根据题目要求系统可分为:LPC2138主控制单元、键盘LED显示模块、掉电保存模块、打印机模块、温度检测模块、湿度检测模块、LCD显示模块、条形码扫描器模块八个基本模块,系统框图如图 1-1所示:LPC2138微处理器打印机扫描器 掉电保存LCD显示键盘LED显示温度检测湿度检测图 1-1 收银机的基本方框图(二)主要模块的选择和论证为实现各个模块的功能,达到系统设计的要求,我们分别选用几种不同方案进行论证:1键盘方案键盘在整个设计中应用最多,操作也最为复杂。因此键盘方案的选择也显得格外重要。我们可选用如下三种方案:方案一:不使用任何专用芯片。用一块74LS138译码输出8路扫描信号,3路扫描返回信号线接I/O口输入(我们设计的是3*8的键盘)。这种设计方案电路设计非常的简单,但是软件的编写会比较复杂而且占用大量的CPU资源。方案二:选用标准键盘。标准键盘具有整齐美观,易于买到,使用方便等优点,但键盘接口与LPC2138连接不便,键盘管理协议不统一,需要熟悉标准键盘的协议,短时间内难以熟练使用。方案三:选用自备键盘。采用ZLG7289可扩展64个按键,8个LED,在本次设计中要用到大量按键,但按键数目太多显得系统庞杂不美观。我们采用ZLG7289外扩24个按键并采用按键功能复用技术,可满足系统对按键的要求,并减少了冗余度。考虑到大赛时间的限制我们拟选用方案三。2数据存储方案本题要求可设置1000个商品价目表(PLU),同时能存储2000条销售日志,并具有掉电保护功能。系统要求存储量大,对此我们可选用如下两种方案:方案一:选用SD卡。SD卡具有数据存储量大、携带方便,低功耗,非易失性等特点,支持SPI模式和SD模式。 但其读写协议复杂,存储区划分复杂,软件设计不便。方案二:选用M25P20串行FLASH。M25P20 是2Mbit 串行FLASH,支持SPI通讯模式,存储、删除数据时间都较快,可连续擦写10万次以上,存贮时间超过20年。采用M25P20可很好的满足题目的要求,1000个商品的信息,2000条销售日志,均可方便的写入和读出,并可在此基础上进一步扩充存储信息。综合比较,选用方案二可以很好地满足题目要求。3显示方案方案一:采用传统的8位数码管LED显示。方案二:采用点阵式液晶显示器LCD显示各种相关信息。以上两种方案中,方案一编程简单,硬件电路调试方便,而且可以用ZLG7289进行外扩,但其显示信息量少,功耗较大,而方案二中的点阵式液晶显示器属于低功耗器件,且显示界面友好,显示信息量大。综合考虑到系统显示信息量大的特点,我们决定同时选用两种方案,以LCD为主显示器,同时辅以LED显示少量信息。4温度检测方案方案一:选用数字式温度传感器DS18b20。DS18b20是一总线型器件,其操作时序复杂、严格,需要精确计算脉冲宽度,编程较为复杂,且无法实现校准。方案二:选用模拟温度传感器AD590。AD590是电流输出型器件,支持长距离传输。通过选择合适的电阻,可以方便的得到合适的输出电压,温漂较小,测温准确。综合考虑,我们决定选用方案二。5打印机方案方案一:选用传统针式打印机。针式打印机价格便宜,但工作噪声大,打印质量差,打印字迹不够清晰。方案二:选用热敏打印机。热敏打印机具有工作噪声低,打印字迹清晰,无需使用墨盒等优点,方便超市使用。综合考虑,我们决定选用方案二。二参数计算及基本实现电路1电源模块电源模块是整个系统稳定工作的前提和关键,在本次设计中LPC2138及CCD条形码扫描器均需要+5V电源供电,温度检测中运放OP07、AD590、7555需要+12V,-12V电源供电,打印机用220V电源供电,考虑到本题目对电源要求并不苛刻,自制稳压电源完全可满足要求。我们选用L7805、L7905,L7812、L7912自制稳压电源,原理图如图2-1-1:图2-1-1 电源电路2温度检测模块我们在温度检测模块中选用AD590。 AD590是一种二端式的集成温度传感器,测温范围为-55+150C,工作电压为+4+30V。AD590校准精度可达0.5C,在全温区范围内,线性度可达0.3C(AD590M),能够满足题目的要求。参数计算:通过特定电路可以将AD590由电流与热力学温度(K)的线性关系转换为电压与摄氏温度(T)的线性关系(即进行0C校验)。其电路图为图2-2-1所示。电路中,电阻R4,RP1参数的选取:基准源我们选取TL431,基准电压2.5V,并进行0C校验,即当温度为0C时,对应绝对温度273.15K,转换为电流273.15uA,我们通过R4、RP1和基准源部分抵消这部分电流。 得: R4+RP1=9.15K在此我们选择电阻R4为8K,电位器RP1用2K,将AD590接触冰水混合物,调节RP1使Vout为0V,实现0C校验。R6选用20K的0.1%精密电阻,此时对应的输出电压Vout=0.02*T(C), Vout经过LPC2138 的10位AD采样后转换数字量,进一步处理后转化为当前温度显示。同时当温度高于上限时蜂鸣器报警。 图2-2-1 温度检测模块电路3湿度检测模块湿度测量采用高灵敏度可变电容式湿度传感器HS1101,用7555定时器(CMOS型的555,本设计必须要用CMOS类型的555)构成多谐振荡器,将产生的频率送入LPC2138的定时/计数器1,测出其频率,并根据频率与充放电回路中电容和电阻的关系,计算出电容值,进而根据湿度与电容的关系得到当前的湿度值。湿度测量模块的具体实现电路如图2-3-1。 图2-3-1 湿度检测模块电路根据多谐振荡器的工作原理可以得到 (1)电容与湿度的关系可以用以下公式来表示: (2)由于 故可以得出 (3)由公式(3)可得,湿度与电容的变化呈线性关系此结论亦可由图2-3-2得出。 图2-3-2 电容与湿度连接曲线由公式(1)、(3)可以得出频率与湿度的近似关系为:RH=3154697/f-411.2 (4)公式(4)即为实际测量中应用的公式,根据测得的频率即可以得出相应的空气湿度 。4LCD显示模块液晶显示模块我们选用金鹏公司的OCMJ4X8C,每屏最多可实现32个中文字符或64个ASCII码字符的显示。OCMJ4X8C内部提供1282字节的字符显示RAM缓冲区(DDRAM)。具体使用中OCMJ4X8C采用串行工作方式,考虑到背光源打开后,功耗会较大,故不使用液晶背光。OCMJ4X8C与LPC2138的连接图如图2-4-1所示: 图2-4-1液晶与LPC2138连接图5键盘模块键盘电路采用ZLG7289键盘LED管理芯片。标准的键盘显示应用电路如图2-5-1所示。ZLG7289最多可扫描64个按键,实际使用中只用了24 个按键,并采用按键功能复用完成系统要求。图2-5-1 键盘扩展电路图6掉电保护模块掉电保存模块选用串行FLASHM25P20。M25P20有2Mbit存储容量,采用SPI接口。在商品记录和销售日志都采用32字节的结构体保存的情况下,最多可保存8096个商品信息和销售日志。M25P20与LPC2138的连接电路如图 2-6-1所示图 2-6-1 M25P20与LPC2138连接图7打印机和扫描器模块打印机选用TL58热敏打印机,它自带钱箱接口,需要时可以外扩钱箱。该打印机同时支持串行和并行连接方式,我们采用了并行接口方式。TL58与LPC2138的连接电路如图2-7-1所示 : 打印机图2-7-1 打印机与LPC2138连接图我们使用CCD条形码扫描器作为商品信息的输入设备。它通过串行接口与LPC2138的UART1相连。扫描器每读一次商品条码传送14个字节的信息到LPC2138,条形码扫描器与LPC2138的连接电路如图2-7-2所示:LPC2138扫描器图2-7-2 扫描器与LPC2138 通讯连接图8实时时钟模块LPC2138片内有实时时钟RTC。可选择使用外部晶振(32768Hz)和独立电源(3.3V电池)供电,为系统提供精确的时间和日期信息,并且不会由于系统掉电而复位。实际设计中我们就是采用了RTC的独立工作方式,完全满足了系统对于时间的要求。三系统软件设计及流程图本系统采用LPC2138微处理器作为主控制单元,系统复位后首先对各功能部件初始化,然后读取保存到M25P20上的商品信息。读取信息完毕后系统处于循环检测按键的状态,当有键按下时则读取相应的键值,并根据读取的键值调用相应的子程序。子程序处理完毕后系统依然返回到循环检测按键的状态。同时系统还使用了定时器0中断和UART1中断,并在中断中对输入系统的信息作相应的处理,处理完毕后返回断点处继续执行。系统主程序流程图及中断程序流程图如下:主程序开始系统初始化扫描按键模式键按下?工作模式变换并显示当前工作模式确认键按下?下一位顾客标志置1并清零上次纪录下一位键按下?当前工作模式为1?调用自动获取商品条码子程序调用手动输入商品条码子程序打印键按下?调用实付款程序调用打印程序NYYNYNYNYN创建商品记录键按下?当前工作模式为1?调用创建英文名称商品程序调用创建中文名称商品子程序团购键按下?调用团购处理子程序YNYNYNY清零销售日志键按下?显示温湿度键按下?切换LCD显示当前环境温度和湿度打折键按下?进入打折处理子程序打印销售日志键按下?打印最近一次的销售日志清零最近输入的日志NYYNNYN其他键按下切换计算器键按下?进入计算器服务子程序YN 图3-1 系统主程序流程图查找对应的商品信息UART中断返回读取条形码条码号将查找到的信息复制到购买数组开始图3-2 UART1中断服务程序流程图 N开始读取T1TC的值,计算湿度传感器的频率清零T1TC并重新启动计数器1计算当前温度值重新启动AD转换温度超限?报警显示标志为1?在LCD上显示温湿度及时间中断返回NYY 图3-3 定时器0中断服务程序流程图四系统测试与调试测试环境 : 26 ,室内测试日期 : 2006年9月10日测试仪器 : 示波器 TDS3012B数字万用表 FLUKE175 仿真器 H-JTAG温湿度检测仪 HTC-1PC机一台 本系统设计成功地实现了题目要求,能够设置1000个商品的基本信息,同时能保存最多2000条销售日志,并有掉电保护功能。系统还扩展了条形码输入设备,能够实现商品条形码的自动输入,在条形码阅读器无法识别条码的情况下还可以实现键盘的手动输入。本设计在创建商品纪录时扩展键盘输入功能,可实现全拼汉字、英文以及数字输入。系统在设计之初支持多功能销售操作,可实现商品的单次销售、多件批发、以及单向折扣等。所有程序的执行可以通过打印结果加以验证。系统打印的收据内容包括:商店店名、单据流水号、交易日期和时间、每笔交易的商品名、商品单价、销售数量、销售金额、应付总额、实付总额以及找零。本设计还能够检测环境的温度和湿度,通过键盘切换能够显示当前环境的温度、湿度以及时间。并且设定了温度上限,当环境温度超过该上限时可进行温度超限报警,经实际测试温度误差不超过0.5。1.使用条形码阅读器输入八个商品并打印出收据,系统执行结果如图4-1: 图4-1 收据实物图通过图4-1可验证本设计成功地实现了扩展条形码输入设备,并能正确打印销售商品的收据。2.采用键盘输入八个商品的条码并打印出收据,系统执行结果同上,可验证本设计成功地实现了按键输入商品信息功能,并能正确打印销售商品的收据。3.通过键盘创建一条商品纪录,商品名称可为中文或英文操作实现:以输入商品“百事可乐”为例,首先通过数字键输入该商品的序号,例如0890,然后按照LCD的提示信息输入该商品的条形码,商品条码为6933266606102,该码为EAN-13国际标准码。条形码输入完毕后,系统会提示输入该商品的名称。中文汉字输入法采用全拼输入方式,按照提示输入相应的汉字名称“可口可乐”。然后输入商品的价格2.5元。自此商品纪录创建完毕,系统自动保存输入的商品信息到M25P20,实现商品信息的掉电保存。给系统断电后重新上电,然后购买商品可口可乐,同时打印出收据,可验证商品纪录创建成功并能掉电保存。4.按下键盘上的团体购物键、打折键、打印销售日志键、清零销售日志键,并打印出结果,可验证系统实现了商品的单次销售、多件批发、以及单向折扣等功能。 5. 按下键盘上的显示温度键,LCD上显示当前温度、湿度(1). 温度检测模块测试温度检测采用电流型模拟温度传感器AD590,其测温范围为-55+150。测试方法为:将AD590 置于0的冰水混合物中,调节电位器RP1,使输出电压为0,实现温度的0校准。然后采用恒温器从0开始,每隔10记录一次温度检测值和实际温度的读数,至90 为止。并记录数据如表4-1。表4-1 自测温度与实测温度对照表12345678910输出电压(mv)0.0202.3401.4596.6802.71003.91198.41396.11603.01806.2自测温度()010.120.129.840.150.259.969.880.190.3实际温度()0102030405060708090由以上数据可以看出,温度检测模块的误差能够很好的控制在0.5以内,满足题目要求。(2). 湿度检测模块测试湿度检测采用HS1101电容式湿度传感器,其测量范围:0100RH。测试方法为:将自制湿度传感器与标准湿度传感器置于同一环境下,然后不断改变传感器所处环境的湿度,同时记录自制湿度计与标准湿度计的测量值如表4-2:表4-2 自测湿度与实测湿度对照表1234567891011输出频率(Hz)74577350728572017117704269506872674165836413自测湿度12%18%22%27%32%36%43%48%57%68%81%实际湿度10%20%25%30%35%40%45%50%60%70%80%由以上数据可以看出,湿度检测模块的误差能够很好的控制在5%以内。温湿度检测及时间显示结果如图4-2所示: 图4-2 温湿度与时间显示五测试结果分析1.温度检测结果分析:由表4-1的数据可知,AD590的测试结果是非常准确的。但当系统正常工作时,温度显示值会有一点上下波动,经分析表明是由于AD590周围温度稍有变化引起的,这并不会降低温度检测模块的精度。另外,电阻、电位器阻值不够准确对温度显示结果也会稍有影响。2.湿度检测结果分析:由表4-2的数据可知,HS1101的测试结果是比较准确的。但是由于HTC-1温湿度检测仪的测量精度本身并不是很高,再加上电阻精度,元器件误差的影响,本设计的湿度检测模块测量值有一定的误差。但通常在超市环境中,对湿度的要求并不苛刻,此精度完全可以满足使用要求。六操作说明键盘布局如图6-1所示:模式A/W确认B下一位C/X打印D/Y纪录E/Z团体购物/F温湿度显示/G打折/H打印日志0/I清零日志1/J计算器2/K3/L4/M5/N6/O7/P8/Q上页9/R下页S/T/U/V/空格撤销 图6-1 键盘布局图1按键功能说明:模式 A/W 该键的首选功能为工作模式选择键,按下该键可使系统工作模式在1、2之间切换。在字符输入模式下配合确认键,该键可复用为A键和W键。确 认 / B 该键的首选功能为确认键。在字符输入模式下该键可复用为B键。下一位/C/X 该键的首选功能为等待下一位顾客提示键。在字符输入模式下配合确认键,该键可复用为C键和X键。打 印 /D/Y 该键的首选功能为打印收据选择键。在字符输入模式下配合确认键,该键可复用为D键和Y键。纪 录 /E/Z 该键的首选功能为创建新商品记录键。在字符输入模式下配合确认键,该键可复用为E键和Z键。团体购物/F 该键的首选功能为团体购物功能选择键,按下该键可使系统实现多件批发功能。在字符输入模式下该键可复用为F键。温度显示/G 该键的首选功能为温度显示功能选择键,按下该键可以在LCD上显示当前温度、湿度及时间。在字符输入模式下该键可复用为G键。打折 / H 该键的首选功能为打折功能选择键,按下该键可使系统实现打折功能。在字符输入模式下该键可复用为H键。打印日志/0/I 该键的首选功能为打印销售日志键,按下该键可打印最近一笔销售日志。在数字输入模式下该键可复用为0键,在字符输入模式下复用为I键。清零日志/1/J 该键的首选功能为清零销售日志键,按下该键可清零以前的销售日志。在数字输入模式下该键可复用为1键,在字符输入模式下复用为J键。计算器/ 2/ K 该键的首选功能为计算器功能选择键,在数字输入模式下该键可复用为2键,在字符输入模式下可复用为K键。3 / L 在数字输入模式下该键为3键,在字符输入模式下可复用为L键。4 / M 在数字输入模式下该键为4键,在字符输入模式下可复用为M键。5 / N 在数字输入模式下该键为5键,在字符输入模式下可复用为N键。6 / O 在数字输入模式下该键为6键,在字符输入模式下可复用为O键。7 / P 在数字输入模式下该键为7键,在字符输入模式下可复用为P键。8/Q /上页 在数字输入模式下该键为8键,在字符输入模式下可复用为Q键。在汉字输入模式下该键可用于向上翻页寻找合适的汉字。9/R /下页 在数字输入模式下该键为9键,在字符输入模式下可复用为R键。在汉字输入模式下该键可用于向下翻页寻找合适的汉字。S / 在字符输入模式下该键为S键,选中计算器功能时为运算符。T / 在字符输入模式下该键为T键,选中计算器功能时为运算符。U / 在字符输入模式下该键为U键,选中计算器功能时为运算符。V/ 在字符输入模式下该键为V键,选中计算器功能时为运算符。空格 该键可用于输入空格。撤销 该键可用于撤销上一步操作。2操作方式说明:(1)系统复位后

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论