简易超市收银系统毕业设计_第1页
简易超市收银系统毕业设计_第2页
简易超市收银系统毕业设计_第3页
简易超市收银系统毕业设计_第4页
简易超市收银系统毕业设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

系统扩展了两块液晶显示屏、PS/2键盘、条形码扫描器、微打、SD卡等部件,32ARM2138作为核心器件,能很好地完成条码输入,汉字输入,实现了4种销售和清单打印,测试效果好。系统利用小液晶屏实SPEC061A自动开关钱箱的等扩展功能。简易超市收银机桂林电子科技大学目录摘要 6一、方案论证 7控制器模块选型 7键盘模块方案选择 7液晶模块方案选择 7存储模块方案选择 8温度测量模块方案选择 8二、详细硬件电路设计 8液晶显示设计… 9条形码输入器接口电路设计 10键盘输入设计 11打印机电路设计 12存储模块设计 12温度测量设计 13湿度测量设计 14日历时钟设计 14语音播放设计 15三、系统软件设计 16主程序流程 16键盘输入程序流程 16-1-SD卡读写程序流程… 18打印机程序流程 19测温程序流程 19测湿程序流程 21日历时钟程序流程 22四、理论分析与计算 23SD卡存储空间分配 23提高DS18B20的分辨率 23五、测试 24开机屏测试… 24存货测试及销售测试… 24销售记录部分测试… 25打印机测试… 25温度测试… 26分析… 26六结论 26七附录 27硬件清单… 27参考文献… 27-2-2006年山东省电子设计竞赛试D题 简易超市收银机一.任务ARM2138设计制作一个简易超市收银机。系统组成框图如下:显示器显示器PHILIPSARM打印机其他功能数据存储键盘二.要求基本要求本题必须采用广州周立功单片机发展有限公司赞助的ARM213813-3-字编码(每件物品均有相对应的条形码。100(PLU,并具有掉电保护。商品的数字编号、品名(数字或英文字母200扩展键盘实现数字和英文字符输入;扩展打印机打印商品销售记录(单价、合计等;(温度误差:<±0.5℃。发挥部分1000PLU2000扩展条形码输入设备,实现商品的条形码输入;扩展键盘可实现全拼汉字、中英文和数字输入;扣等销售;金额、商店店名、单据流水号、交易日期和时间等等;其它发挥功能。三.评分意见项 目项 目满 分设计与总结报告:方案设计与论证,理论分析与计算,基本要求电路图,测试方法与数据,对测试结果的分析完成第(1)项完成第(2)项50205-4-完成第(3)项10完成第(4)项10工艺5完成第(1)项5完成第(2)项10发挥部分完成第(3)项5完成第(4)项10完成第(5)项5完成第(6)项15摘要本设计以ARM2138为控制核心,实现了PS/2协议键盘输入、条形码信息输入、中英SD基本要求和发挥要求,并具有湿度测量、语音识别与播放、自动开关钱箱等鲜明的特色。EasyARM2138实验开发板为核心控制器,完成了简易超市收银机的各项功PS/2协议从键盘读入各种商品信息,从扫描仪读取条形码信息以及间等若干信息。用灵敏的数字温度传感器DS18B20完成温度测量,精确的日历时钟芯片PCF8563SD存储1000个商品价目表以及2000条销售日志的要求。收银机的液晶显示采用LCM240128ZKOCM4X8C液晶显示器来突出显示最后总价,方便顾客看到,使我们的设计作品更加成熟。此外SPCE061A强大的语音播放功能,增加收银机的语音播放特色。关键词:EasyARM2138 收银机 扫描仪 打印机 SD卡ThisThisdesignrealizesreadingininformationaccordingtoPS/2keyboardandbarcodeinformationfromscanneraswellasprintinginChineseandEnglish,measuringthetemperature,displayingwithdoubleLCDscreensandhugeroomforSDcardstorageisalsoincluded.Thisdesignachievesalloftherequestssuchasthebasicandtheexertionsegment,hasitsownbrightcharacteristic,suchasmeasuringthehumidity,recognisingandplayingthesound,swtichingonandoffcashboxautomatically.ThesystemtakestheEasyARM2138experimentboardasthecorecontrollertocompletethesimplesupermarketcashregistereachfunctionrequest.Itcanrealizethemostbasicfunctionsofcashregister,suchasreadinginmanykindsofsales’informationaccordingtothePS/2agreementfromthekeyboardandbarcodeinformationfromscanneraswellasprintingshopping-5-detailedlistandsoon.Thissystem’skeyboardsupportsChinese,Englishaswellasdigitaldetailedlistandsoon.Thissystem’skeyboardsupportsChinese,Englishaswellasdigitalinput.Thefunctionisformidableandtheperformanceisstable.TheprintersupportChineseprinting,andmayfurtherprintthestore’sname,thebillnumber,thepresenttimeandsoon.UsetheaccuratedigitaltemperaturesensorDS18B20toreporttosurveythetemperature.UsetheprecisecalendarclockchipPCF8563tobethereal-timeclocksource.SimultaneouslyweusedtheSDcardtoexpandthesystem’smemorystoragespacewhichenormouslysatisfyfullythespacerequestof1000commoditypricelistsaswellas2000shoppingdiary.Ourcashregister’s LCDscreenistheLCM240128ZK.Wemakeitrolltheshoppingclauseinformationthatthedemonstrationscans.ThefinaltotalpriceisalsodisplayedbytheOCM4X8C.Theconvenientforcustomertoseetheresultcausesourdesignworktobematurer.Inaddition,wemakeuseoftheSPCE061A’sformidablepronunciationbroadcastfunctiontoimprovethecashregister’spronunciationbroadcastcharacteristics.Keywords:EasyARM2138 cashregister scanner printer SDcard一、方案论证根据竞赛的试题要求,我们对简易超市收银机所需方案的各个部分进行设计论证如下:控制器模块选型851P89C51RD2单片机是一款ISP/IAP64KFlash1K字节数据存储316151难以满足我们的设计需要。32ARM2138ARM2138具有强大的存储空间,内嵌32K片内静态RAM和512K的flash存储器,可以实现在系统可编程IS、在810A/DD/A丰富,多达475VI/O口,多个串行接口,包括216C550工业标准UAR、2个高速I2C借口400Kb/、SPI和具有缓冲作用和数据长度可变功能的SS。ARM2138的这些特点非常有利于进行本设计。综上分析,由于ARM2138的强大功能,并且可以移植各种操作系统,是控制器工作可靠,因此,控制器模块选择方案二。键盘模块方案选择74LS138译码输出83路扫描返回信号线接I/O(我3*8的键盘CPU资源。方案二:系统采用微机使用的标准PS/2键盘,仅仅占用四根口线,更重要的是键盘资源十分丰富,正好切合本设计的需要。基于以上两种方案比较,采用方案二。液晶模块方案选择-6-OCM4X8COCM4X8C128×64CPU等。但是显示界面难以满足我们的设计需要。LCM240128ZKLCM240128ZK240×12815x87602个简体中文字4/8位6800/8080MPU/对比度软件调节,用户可自建字库。OCM4X8COCM4X8COCM4X8C作为小液晶显示器,用来作为收银机向顾客显示所购买商品总计金额的窗口。此时的要求相对简单,OCM4X8C完全可以满足。存储模块方案选择间根本不能满足商品价目表以及购物日志等信息的存储要求。为此,我们采取连接SDEasyARM2138SPISDSD护。此外,它还具有加密功能,可以保证数据资料的安全性。温度测量模块方案选择PT100PT100DS18B20作为测温电路的温度传感器。DS18B20的数字温度输出通过“”(1-Wire连线最少的一种总线)DS18B20方便地组建成传感器网络,通过比较,DS18B20直接输出数字温度值,不需要校正,因此选择方案二。32ARM2138PS/2LCM240128ZKSD二、详细硬件电路设计根据题目要求和本系统的设计思想,系统主要包括图2.1所示的模块。-7-图2.1 系统结构框图液晶显示设计采用LCM240128ZK240×128点15x87602个简体4/8位6800/8080MPU/设定,对比度软件调节,用户可自建字库。为了节约I/O资源,我们在设计时增加了串入并出的集成芯片74HC164,液晶与I/O口线的实物连接图如下:-8-J1VoutJ1VoutR10K+5VP0.22+5VP0.21R14.7KVssVdVssVdVORsR/WEN/CS1CS2123456789P0.20BUSY10P0.18C1+5VU112 AB10uFP0.198CLK9Q0Q1Q2Q3Q4Q5Q6MR Q774HC164INT 11/RST 123 DB0 134 DB1 145 DB2 156 DB3 1610DB4 1711DB5 1812DB6 1913DB7 20Vout 21SLA 22SLK 232424PIN图2.2 LCM240128ZK液晶实物电路连接图OCM4X8CLCD2.3-9-J1 21SW1R0

VCC 123CS 4SDAT 5SCLK 67891011121314

J0VSSVDDNCRS(CS)R/WE(SCLK)DB0DB1DB2DB3DB4DB5DB6DB7PSBRES2

NCRSTNCBL+BL-LCD图2.3 LCM4*8C实物连接条形码输入器接口电路设计我们使用AS-8110条码阅读器,外形如下图所示。图2.4AS-8110条码阅读器外形图AS-8110条码阅读器功能:手持近距虹光条码阅读器,内置解码器,准确识读各种一维条码。不易疲劳。81107器的音量。8110条码阅读器多个内置接口(RS-232、键盘接口、光笔及先进的USB接口)。我们采用标准键盘PS/2接口与ARM2138接口与PC机标准键盘并线使用,接口简单。-10-接口电路如图2.5所示。VCCP0.17P0.16P0.27

U1A2 740714U1B 74073Q1R32K

R14.7

R2

SDATSCLK

VCC

J11234KEYB9103P0.28

Q2R4 91032K2.5键盘和条形码扫描器接口电路图键盘输入设计在本系统中,针对超市收银机对键盘的特殊需要,我们采用PS/2键盘。PS/2数据位在Clock(时钟脚)的下降沿被PC机读入,接受时使用外部中断EXT0。图2.6 时序图2.7所示:

-11-打印机电路设计到打印完毕。EasyARM21381616273849DB953 45 67 89 10图2.8 打印机与异步串口通信存储模块接口电路设计SD卡拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记忆的信息。在SPI模式下,主机使用SPI总线直接对卡进行访问。下图为SD卡与LPC2138通讯的接口电路连接图(SPI模式)-12-VCC3.3VCC3.3R1 R210K 10KR3 R447K 47KP0.12_CSP0.6VCC_SDP0.4_SCKP0.5_MISO100P0.10_SD_INSERTR5P0.15_SD_WPR6100SD1SD卡卡座DAT2DAT3/CSCMD/DIVSS1VDDCLK/SCKVSS2DAT0/DODAT1/IRQ10 CARD_INSERT11 GND12 CARD_WPVCC_SDQ1 2SJ355VCC3.3C10.1uFR7 R810k 10kR91KP0.13_SD_POWER图2.9 SD卡存储引线连接温度测量接口电路设计DS18B20的特点如下:ab、每片DS18B20都有唯一的产品号位。c、温度测量范围为-55˚C~+125˚C。d、可达12位的数字值,分辨率为0.0625˚C。e、用户可定义的,非易失性的温度告警设置。DS18B20外部供电方式则多用一根导线,但测量速度较快。本设计采用一总线2路温度测量使用外部供电,如下图所示。-13-123DNQCC123DNQCCGDV4.7KP0.26VCC图2.10 DS18B20的硬件连接图湿度测量接口电路设计设计中,采用电容式湿度传感器HS1101作为湿度测量器。通过555时基电路由电容式湿度传感器构成多谐振荡器,通过测量频率,内部数据处理,计算环境湿度。硬件实物连接图如下:VCCVCCR4R249.9K576KR3FOUT1KU2GNDTRIGOUTRESETTLC555VCC1234VDDDISCHTHRESCONT8765C1VCCHS110R1909K图2.11 湿度传感器硬件连接图日历时钟接口电路设计PCF8563PHILIPS/PCF8563据后,内嵌的字地址寄存器会自动产生增量。将I2C模式设置为主接收器模式,进入中断模式,进行主机与PCF8563通过I2C总线的实时通信。硬件连接图如下:-14-C3 1C3 15PFD14148X132.768KU118OSCI VDD2 7+C2PCF8563R1 R2 R35.1K 5.1K 5.1KVCCOSCOCLKOUT3/INTSCL6P0.11_SCL10uF45P0.14_DATAVSSSDA图2.12 PCF8563实时时钟接线语音播放接口电路设计的语音播放以及语音识别功能。凌阳SPE061A单片机自带双通道DAC音频输出,DAC输出为电流型输出,经SPY0030音频放大,即可驱动喇叭放音,放大电路如图:J14CON31231CADR20

VDDHC42104C20

C41+100uVSS1

C40 875+4224362

U1021SPY0030

J18231DAC1J31K 104

R211K3

C43104

2SPH1SPLSPEAKER图2.13 语音播放电路设计-15-三、系统软件设计主程序流程:开始端口初始化LCD衬始化键盘巳搂好?打印机初始化开槐盘中断SD卡初始化寄存器清零骂示开机屏是否谀SD卡是否婴送显示是否售货结束图3.1 系统主程序流程-16-键盘输入流程图3.2 键盘输入流软件设计如(PS/2键盘子程):voidirqIRQ_Eint0(void){ n++;keybuffer[j]>>=1;if(IO0PIN&DATA)keybuffer[j]|=0x8000; 1if(n==11){ n=0;keybuffer[j]>>=6;keybuffer[j]&=0x00ff;num++;if(keybuffer[(j+41)%42]==0xf0&&keybuffer[(j+13)%15]!=0xe0){keyflag=1;keyvalue=keybuffer[j];}elseif(keybuffer[(j+14)%15]==0xf0&&keybuffer[(j+13)%15]==0xe0){keyflag=-1;keyvalue=keybuffer[j];}j++;if(j==42)j=0;}if(keyflag==1){ keyflag=0;keyprocess1(keyvalue);keyvalue=0; }if(keyflag==-1);{keyflag=0;keyprocess2(keyvalue);-17-keyvalue=0; }EXTINT=0x01; /*清除EINT0中断标志 */VICVectAddr=0; /*向量中断结束 */SD卡读写程序流程SD卡用作存储功能,对它的主要操作就是读写功能,我们在研究这部分功能的时候还加上擦除功能,使SD卡的应用更加的广泛和完善。对SD卡的操作如下图:图3.3 SD卡读写程序流SD卡存储函数main()程序如下:#include"config.h"uint8buffer[512];uint8ret;intmain(void){inti;retSD_Initialize(); //1.SD卡,即启动卡for(i=0;i<512;buffer[i]=0xAA;retSD_WriteBlock(100,buffer); //2.SD100扇区for(i=0;i<512;buffer[i]=0;retSD_ReadBlock(100,buffer); //3.SD100扇区retSD_EraseBlock(100,20); //4.10020return0;}-18-程序略。甘百端口屈性I初始化UMl图3.4 打印机部分程序设计流程测温程序流程温度传感器我们采用的是120.0625CDS18B20测温程序流程如下图:19图3.5 DS18B20程序设计方DS18B20测温程序(部分:/*************************************************************************///DS18B20初始化程序,成功返回1否则返回0./*************************************************************************/uint32DS18B20init(void){IO0DIR|=DQ;IO0CLR=DQ;delay(6000);IO0DIR=IO0DIR&(~DQ);20delay(700);if((IO0PIN&DQ)==0){ return1;}elsereturn0;}/*****************************************************************************///config()//****************************************************************************/voidconfig(void){ uint32flag;flag=DS18B20init();if(flag){DS18B20write(0xcc);DS18B20write(0x4e);DS18B20write(0x02);DS18B20write(0x30);DS18B20write(0x7f);}}测湿程序流程湿度传感器,我们采用的是HS1101,一种电容式湿度传感器。该传感器瞬间反应速度快,并且长时间内维持稳定运行。利用定时器产生一个1秒钟的计时,利用捕获寄存器来计1当前的湿度值。如下表:表3.1 湿度频率映照表主要程序设计如下:#include"config.h"uint32pulse2,pulse1=0,pulse=0;voidirqTimer1_CapInt(void){uint32i=0x00;T1IR=1<<pulse2=0;pulse1=pulse;pulse=T1CR2;pulse2=pulse-pulse1;VICVectAddr=0x00;

//CAP1.2中断标志//向量中断处理结束21}intmain(void){ intx;PINSEL1=1<<2; //P0.17连接捕获1.2,其余连接T1PR =0; //分频系数T1CCR=(1<<7)| //设置CAP1.2下降沿捕(1<<8); //允许产生中断T0MR0 =Fpclk; /*1秒钟定时T1TC =0;T1TCR=0x01; //启动定时器IRQEnable(); //IRQ中断/*Timer1中断*/VICIntSelect=0x00000000; //设置所有的通道为IRQ中断VICVectCntl0=0x20|5; //Timer1分配到IRQslot0,即最高优先VICVectAddr0=(uint32)Timer1_CapInt; //设置Timer1向量地址VICIntEnable=1<<5; //Timer1while(1){ x=557.7-839089.5/pulse2; //不加百分号的湿度}return0;}日历时钟程序流程图3.6 日历时钟部分程序流主要程序下(I2C初始化)intI2C1Init(uint32Fi2c1){ if(Fi2c1>400000)Fi2c1=400000;PINSEL0=(PINSEL0&(~(0x03<<22)))|(0x03<<22)|(PINSEL0&(~(0x03<<28)))|(0x03<<28);I2C1SCLH=(Fpclk/Fi2c1+1)/2; /*设定I2C1时钟 I2C1SCLL=(Fpclk/Fi2c1)/2;22I2C1CONCLR=0x2C;I2C1CONSET=0x40;/*设置I2C1中断允许*/VICIntSelect=0x00000000;VICVectCntl0=(0x20|19);VICVectAddr0=(int32)IRQ_I2C1;VICIntEnable=(1<<19);return0;}

/*使能主I2C1*//*设置所有通道为IRQ中断*//*I2C1通道分配到IRQslot*//*设置I2C1中断向量*//*使能I2C1中断*/四、理论分析与计算SD卡存储空间分配512个字节是一个扇区,这样(论如何也不会有512字节,这样无论是在存货是还是在销售时各条记录之间从不冲突,我们只要按照扇区去读写就绝不会出现什么差池。SD8M8M/512byte16000也就是说我们存储的销售记录与存货纪录总计可达16000存货容量的要求如果是更大型的超市,可以购买更大容量的SD卡。DS18B20的分辨率在DS18B20中,温度是以1/2LSB(最低有效位)的形式表示时,产生以下9种格式:读取温度值,并从得到的值中截去 0.5位(TEMP_READ),再读计数器里面的值(COUNT_REMAIN),再只要知道该温度处每个摄氏度的计数个数就可以根据下式计算温度值。下表是16位温度读数(温度/数据关系:表4.1 温度数据对应表23五、测试开机屏测试PCF8563走实时时钟,断电的时候继续可以敏锐地捕捉到当前温度的变化值,实时地送屏幕显示;用电容式湿度传感器HS1101在本屏,操作员可以清楚地了解到当前的日期、时间、温度值、湿度值;还可以直接更改超市名称、收银员的名字、柜台号等。测试内容:键盘切换实现本屏的显示和名字的键入图5.1 开机屏显示存货测试及销售测试该部分包括键盘输入(汉字全拼输入、数字输入、英文输入(输入位的数据编码。因为扩展SD卡缘故,所以对于商品价目表(PLU)和销售日志可以远远超过题目设置的要求,均可以达到5000条以上,并且可以实现掉电保护。价等。输入时,已存的物品自动编码,屏幕开始滚屏显示。动显示品名和单价,满屏时实现滚屏显示。2

温馨提示

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

评论

0/150

提交评论