电子设计竞赛优秀作品选登D题1.docx

上传人:b****1 文档编号:15145886 上传时间:2023-07-01 格式:DOCX 页数:33 大小:230.93KB
下载 相关 举报
电子设计竞赛优秀作品选登D题1.docx_第1页
第1页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第2页
第2页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第3页
第3页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第4页
第4页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第5页
第5页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第6页
第6页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第7页
第7页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第8页
第8页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第9页
第9页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第10页
第10页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第11页
第11页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第12页
第12页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第13页
第13页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第14页
第14页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第15页
第15页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第16页
第16页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第17页
第17页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第18页
第18页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第19页
第19页 / 共33页
电子设计竞赛优秀作品选登D题1.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

电子设计竞赛优秀作品选登D题1.docx

《电子设计竞赛优秀作品选登D题1.docx》由会员分享,可在线阅读,更多相关《电子设计竞赛优秀作品选登D题1.docx(33页珍藏版)》请在冰点文库上搜索。

电子设计竞赛优秀作品选登D题1.docx

电子设计竞赛优秀作品选登D题1

黄鹤松教授点评:

系统扩展了两块液晶显示屏、PS/2键盘、条形码扫描器、微打、SD卡等部件,利用大赛组委会指定的32位的ARM2138作为核心器件,能很好地完成条码输入,汉字输入,实现了4种销售和清单打印,测试效果好。

系统利用小液晶屏实现了顾客总价显示,与凌阳单片机SPEC061A相结合实现了销售总价语音播放、自动开关钱箱的等扩展功能。

简易超市收银机

中国海洋大学

孟德宝何文举衣红娟

目录

摘要…………………………………………………………………………………6

一、方案论证……………………………………………………………………7

1.控制器模块选型…………………………………………………………7

2.键盘模块方案选择………………………………………………………7

3.液晶模块方案选择………………………………………………………7

4.存储模块方案选择………………………………………………………8

5.温度测量模块方案选择…………………………………………………8

二、详细硬件电路设计……………………………………………………8

1.液晶显示设计………………………………………………………………9

2.条形码输入器接口电路设计……………………………………………10

2.键盘输入设计……………………………………………………………11

3.打印机电路设计…………………………………………………………12

4.存储模块设计……………………………………………………………12

5.温度测量设计……………………………………………………………13

6.湿度测量设计……………………………………………………………14

7.日历时钟设计……………………………………………………………14

8.语音播放设计……………………………………………………………15

三、系统软件设计…………………………………………………………16

1.主程序流程………………………………………………………………16

2.键盘输入程序流程………………………………………………………16

3.SD卡读写程序流程………………………………………………………18

4.打印机程序流程…………………………………………………………19

5.测温程序流程……………………………………………………………19

6.测湿程序流程……………………………………………………………21

7.日历时钟程序流程………………………………………………………22

四、理论分析与计算………………………………………………………………23

1.SD卡存储空间分配………………………………………………………………23

2.提高DS18B20的分辨率…………………………………………………23

五、测试…………………………………………………………………………24

1.开机屏测试…………………………………………………………………24

2.存货测试及销售测试………………………………………………………24

3.销售记录部分测试…………………………………………………………25

4.打印机测试…………………………………………………………………25

5.温度测试……………………………………………………………………26

6.分析…………………………………………………………………………26

六、结论…………………………………………………………………………26

七、附录…………………………………………………………………………27

1.硬件清单…………………………………………………………………27

2.参考文献…………………………………………………………………27

 

2006年山东省电子设计竞赛试题

D题简易超市收银机

一.任务

采用广州周立功单片机发展有限公司赞助的ARM2138实验开发仪为主机板,设计制作一个简易超市收银机。

系统组成框图如下:

 

二.要求

1.基本要求

本题必须采用广州周立功单片机发展有限公司赞助的ARM2138实验开发仪为主机板;并扩展显示器、键盘、打印机等相应接口;超市的物品使用13位数字编码(每件物品均有相对应的条形码)。

(1)简易超市收银机具有可设置100个商品价目表(PLU),并具有掉电保护。

商品的数字编号、品名(数字或英文字母)、单价等信息可输入;具有200条销售日志。

(2)扩展键盘实现数字和英文字符输入;

(3)扩展打印机打印商品销售记录(包括售货日期、时间、商品名称、单价、合计等);

(4)显示器上可通过键盘切换显示环境的温度,并可进行温度超限报警;(温度误差:

<±0.5℃)。

2.发挥部分

(1)简易超市收银机具有可设置1000个商品价目表(PLU),并具有掉电保护。

具有2000条销售日志。

(2)扩展条形码输入设备,实现商品的条形码输入;

(3)扩展键盘可实现全拼汉字、中英文和数字输入;

(4)具有多功能销售操作,实现单次销售、多件批发、退货销售、单向折扣等销售;

(5)汉字打印每笔交易的商品名、商品单价、销售数量、销售金额、小计金额、商店店名、单据流水号、交易日期和时间等等;

(6)其它发挥功能。

三.评分意见

项目

满分

基本要求

设计与总结报告:

方案设计与论证,理论分析与计算,电路图,测试方法与数据,对测试结果的分析

50

完成第

(1)项

20

完成第

(2)项

5

完成第(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完成温度测量,精确的日历时钟芯片PCF8563作为实时时钟源。

同时我们用SD卡极大扩充了系统内存存储空间,可以充分满足存储1000个商品价目表以及2000条销售日志的要求。

收银机的液晶显示采用LCM240128ZK液晶屏,可滚动显示扫描到的购物条目信息,并利用OCM4X8C液晶显示器来突出显示最后总价,方便顾客看到,使我们的设计作品更加成熟。

此外,我们利用凌阳单片机SPCE061A强大的语音播放功能,增加收银机的语音播放特色。

关键词:

EasyARM2138收银机扫描仪打印机SD卡

Abstract:

ThisdesignrealizesreadingininformationaccordingtoPS/2keyboardandbarcodeinformationfromscanneraswellasprintinginChineseandEnglish,measuringthetemperature,displayingwithdoubleLCDscreensandhugeroomforSDcardstorageisalsoincluded.Thisdesignachievesalloftherequestssuchasthebasicandtheexertionsegment,hasitsownbrightcharacteristic,suchasmeasuringthehumidity,recognisingandplayingthesound,swtichingonandoffcashboxautomatically.

ThesystemtakestheEasyARM2138experimentboardasthecorecontrollertocompletethesimplesupermarketcashregistereachfunctionrequest.Itcanrealizethemostbasicfunctionsofcashregister,suchasreadinginmanykindsofsales’informationaccordingtothePS/2agreementfromthekeyboardandbarcodeinformationfromscanneraswellasprintingshoppingdetailedlistandsoon.Thissystem’skeyboardsupportsChinese,Englishaswellasdigitalinput.Thefunctionisformidableandtheperformanceisstable.TheprintersupportChineseprinting,andmayfurtherprintthestore’sname,thebillnumber,thepresenttimeandsoon.UsetheaccuratedigitaltemperaturesensorDS18B20toreporttosurveythetemperature.UsetheprecisecalendarclockchipPCF8563tobethereal-timeclocksource.SimultaneouslyweusedtheSDcardtoexpandthesystem’smemorystoragespacewhichenormouslysatisfyfullythespacerequestof1000commoditypricelistsaswellas2000shoppingdiary.Ourcashregister’sLCDscreenistheLCM240128ZK.Wemakeitrolltheshoppingclauseinformationthatthedemonstrationscans.ThefinaltotalpriceisalsodisplayedbytheOCM4X8C.Theconvenientforcustomertoseetheresultcausesourdesignworktobematurer.Inaddition,wemakeuseoftheSPCE061A’sformidablepronunciationbroadcastfunctiontoimprovethecashregister’spronunciationbroadcastcharacteristics.

Keywords:

EasyARM2138cashregisterscannerprinterSDcard

一、方案论证

根据竞赛的试题要求,我们对简易超市收银机所需方案的各个部分进行设计论证如下:

1.控制器模块选型

方案一:

采用传统的8位的51系列单片机作为系统控制器。

P89C51RD2单片机是一款具有ISP/IAP功能的单片机,它的片内具有64K字节Flash程序存储器、1K字节数据存储器、3个16位定时/计数器,6个中断、1个全双工串行口等资源。

无论是从内部构造还是编程方面51系列单片机都相对简单,容易掌握和使用。

但其端口资源和功能相对不够丰富,难以满足我们的设计需要。

方案二:

采用32位的ARM2138作为收银机的控制核心。

ARM2138具有强大的存储空间,内嵌32K片内静态RAM和512K的flash存储器,可以实现在系统可编程(ISP)、在应用可编程(IAP),2个8路10位A/D转换器,1个D/A转换器,转换迅速准确,引脚资源丰富,多达47个可承受5V电压的通用I/O口,多个串行接口,包括2个16C550工业标准UART、2个高速I2C借口(400Kb/s)、SPI和具有缓冲作用和数据长度可变功能的SSP。

ARM2138的这些特点非常有利于进行本设计。

综上分析,由于ARM2138的强大功能,并且可以移植各种操作系统,是控制器工作可靠,因此,控制器模块选择方案二。

2.键盘模块方案选择

方案一:

用一块74LS138译码输出8路扫描信号,3路扫描返回信号线接I/O口输入(我们设计的是3*8的键盘)。

这种设计方案电路设计非常的简单,但是软件的编写要考虑软件去抖等,会比较复杂而且占用大量的CPU资源。

方案二:

系统采用微机使用的标准PS/2键盘,仅仅占用四根口线,更重要的是键盘资源十分丰富,正好切合本设计的需要。

基于以上两种方案比较,采用方案二。

3.液晶模块方案选择

方案一:

采用OCM4X8C作为主液晶显示器。

OCM4X8C液晶显示模块是128×64点阵的汉字图形型液晶显示模块,可显示汉字及图形,可与CPU直接接口,提供两种界面来连接微处理机:

8-位并行及串行两种连接方式。

而且具有多种功能:

光标显示、画面移位、睡眠模式等。

但是显示界面难以满足我们的设计需要。

方案二:

采用LCM240128ZK作为主液晶显示器。

LCM240128ZK液晶显示模块是240×128点阵的汉字图形型液晶显示模块,可显示汉字及图形,内容15x8行,内含7602个简体中文字型,支持4/8位6800/8080MPU接口,提供中/英文文字对齐功能,内建粗体字形与行距设定,对比度软件调节,用户可自建字库。

比较两种方案,LCM240128ZK液晶显示模块的的显示功能更完善强大,而且其外观尺寸、视域尺寸以及显示内容都比OCM4X8C大的多,其内涵的中文字库亦比OCM4X8C丰富,更适合作为本设计比较复杂的显示要求,所以我们选择方案二。

同时,我们选用OCM4X8C作为小液晶显示器,用来作为收银机向顾客显示所购买商品总计金额的窗口。

此时的要求相对简单,OCM4X8C完全可以满足。

4.存储模块方案选择

鉴于收银机的某些功能,本设计要求系统的存储容量要足够。

单凭控制器内部的存储空间根本不能满足商品价目表以及购物日志等信息的存储要求。

为此,我们采取连接SD卡扩展系统存储空间,SD卡存储空间大,配合EasyARM2138的SPI串行总线,使SD卡的读写方便易行,传输数据可靠且速度快。

将数据资料存储在SD卡中亦实现了数据资料的掉电保护。

此外,它还具有加密功能,可以保证数据资料的安全性。

5.温度测量模块方案选择

方案一:

采用PT100作为测温电路的温度传感器。

PT100传感器是利用铂电阻的阻值随温度变化而变化、并呈一定函数关系的特性来进行测温的,具有抗振动、稳定性好、准确度高、耐高压等优点。

但使用起来比较复杂。

方案二:

采用DS18B20作为测温电路的温度传感器。

DS18B20的数字温度输出通过“一线”总线(1-Wire是一种独特的数字信号总线协议,它将独特的电源线和信号线复合在一起,仅使用一条口线;每个芯片唯一编码,支持联网寻址、零功耗等待等,是所需硬件连线最少的一种总线)这种独特的方式,可以使多个DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大可能性。

它在测温精度、转换时间、传输距离、分辨率等方面比其他温度传感器有了很大的进步,给用户带来了更方便的使用和更令人满意的效果。

通过比较,DS18B20直接输出数字温度值,不需要校正,因此选择方案二。

综上所述,我们选择以32位的ARM2138作为收银机的控制核心,扩展微机使用的标准PS/2键盘、扩展LCM240128ZK中文点阵液晶显示屏实现汉字及图形显示、使用SD卡扩展系统存储资源、扩展微型汉字打印机等实现简易超市收银机的制作。

二、详细硬件电路设计

根据题目要求和本系统的设计思想,系统主要包括图2.1所示的模块。

图2.1系统结构框图

●液晶显示设计

采用LCM240128ZK中文点阵液晶显示屏显示收银机工作的各种情况。

它是240×128点阵的汉字图形型液晶显示模块,可显示汉字及图形,显示汉字内容15x8行,内含7602个简体中文字型,支持4/8位6800/8080MPU接口,提供中/英文文字对齐功能,内建粗体字形与行距设定,对比度软件调节,用户可自建字库。

为了节约I/O资源,我们在设计时增加了串入并出的集成芯片74HC164,液晶与I/O口线的实物连接图如下:

图2.2LCM240128ZK液晶实物电路连接图

采用OCM4X8C液晶显示屏为顾客观察使用。

显示物品的单价和总价等信息。

LCD采用串行接口电路,电路连接如图2.3所示

图2.3LCM4*8C实物连接图

●条形码输入器接口电路设计

我们使用AS-8110条码阅读器,外形如下图所示。

图2.4AS-8110条码阅读器外形图

AS-8110条码阅读器功能:

手持近距虹光条码阅读器,内置解码器,准确识读各种一维条码。

本条码阅读器符合人体工学设计,独特枪式握持手柄,舒适的操作手感,长期使用不易疲劳。

8110条码阅读器拥有7种提示音和音量可调的蜂鸣器,可根据使用环境的调节蜂鸣器的音量。

8110条码阅读器多个内置接口(RS-232、键盘接口、光笔及先进的USB接口)。

我们采用标准键盘PS/2接口与ARM2138接口与PC机标准键盘并线使用,接口简单。

接口电路如图2.5所示。

图2.5键盘和条形码扫描器接口电路图

●键盘输入设计

在本系统中,针对超市收银机对键盘的特殊需要,我们采用PS/2键盘。

PS/2键盘对应着固定的协议,只要我们能了解其内部的协议,我们就可以在此基础上,做一些扩展,不光节省了口线资源,方便实用,美观大方,重要的是提供了足够的按键供使用。

应用在我们的收银仪上,满足了我们收银仪需要汉字输入、货物存储等等一系列功能的需要,应该说是非常适合。

数据位在Clock(时钟脚)的下降沿被PC机读入,接受时使用外部中断EXT0。

图2.6时序图

引脚连接如下图2.7所示:

●打印机电路设计

针式打印机接收主机送来的代码,经过打印机输入接口电路的处理后送至打印机的主控电路,在控制程序的控制下,产生字符或图形的编码,驱动打印头打印一列的点阵图形,同时字车横向运动,产生列间距或字间距,再打印下一列,逐列进行打印;一行打印完毕后,启动走纸机构进纸,产生行距,同时打印头回车换行,打印下一行;上述过程反复进行,直到打印完毕。

我们使用串行接口的打印机,打印机的接线原理极为简便,只要将打印机数据接收线和EasyARM2138串口的发送数据线相连,地线相连,就可以实现打印机与主机之间的通信.接线方式如下图:

图2.8打印机与异步串口通信

●存储模块接口电路设计

SD卡拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。

通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记忆的信息。

在SPI模式下,主机使用SPI总线直接对卡进行访问。

下图为SD卡与LPC2138通讯的接口电路连接图(SPI模式)

图2.9SD卡存储引线连接图

●温度测量接口电路设计

DS18B20的特点如下:

a、一线制器件——独特的接口,使分布式温度检测得以简化。

b、每片DS18B20都有唯一的产品号(64位)。

c、温度测量范围为-55˚C~+125˚C。

d、可达12位的数字值,分辨率为0.0625˚C。

e、用户可定义的,非易失性的温度告警设置。

 DS18B20可以设置成两种供电方式,即数据总线供电方式和外部供电方式。

采取数据总线供电方式可以节省一根导线,但由此带来的缺点是完成温度测量的时间较长;而采取外部供电方式则多用一根导线,但测量速度较快。

本设计采用一总线2路温度测量使用外部供电,如下图所示。

图2.10DS18B20的硬件连接图

●湿度测量接口电路设计

设计中,采用电容式湿度传感器HS1101作为湿度测量器。

通过555时基电路由电容式湿度传感器构成多谐振荡器,通过测量频率,内部数据处理,计算环境湿度。

硬件实物连接图如下:

图2.11湿度传感器硬件连接图

●日历时钟接口电路设计

PCF8563是PHILIPS公司推出的一款工业级内含I2C总线接口功能的具有极低功耗的多功能时钟/日历芯片。

PCF8563的外围电路极其简洁,而且芯片可靠性强,同时每次读写数据后,内嵌的字地址寄存器会自动产生增量。

将I2C模式设置为主接收器模式,进入中断模式,进行主机与PCF8563通过I2C总线的实时通信。

硬件连接图如下:

图2.12PCF8563实时时钟接线图

●语音播放接口电路设计

凌阳单片机的语音播放功能非常强大,所以本设计运用了它的声音特色,添加了许多信息提示声音。

只须调用库函数即可以实现音频编程或自己录制语音资源就可以实现独具特色的语音播放以及语音识别功能。

凌阳SPE061A单片机自带双通道DAC音频输出,DAC输出为电流型输出,经SPY0030音频放大,即可驱动喇叭放音,放大电路如图:

图2.13语音播放电路设计

三、系统软件设计

●主程序流程:

图3.1系统主程序流程

 

●键盘输入流程

图3.2键盘输入流程

软件设计如下(PS/2键盘子程序):

void__irqIRQ_Eint0(void)

{n++;

keybuffer[j]>>=1;

if(IO0PIN&DATA)keybuffer[j]|=0x8000;//读数据,为1则最高位置1.

if(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(ke

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2