毕业论文-基于at89c51单片机的简易收款机的设计_第1页
毕业论文-基于at89c51单片机的简易收款机的设计_第2页
毕业论文-基于at89c51单片机的简易收款机的设计_第3页
毕业论文-基于at89c51单片机的简易收款机的设计_第4页
毕业论文-基于at89c51单片机的简易收款机的设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

XXXXX大学本科毕业设计基于单片机的简易收款机的设计学生姓名所在系专业名称班级学号指导教师基于单片机的简易收款机的设计学生指导教师内容摘要随着全球信息化的发展,人们的生活水平也不断在提高,人们所需要的商品也越来越多,各大规模的超市也随之涌现,超市里的商品品种和数量数不胜数,以致于不可能完全依靠人来管理。本设计正是基于此,解决超市人工收款任务不方便的问题本设计是基于ATMEL公司AT89C51的简易超市收款机控制的设计。通过4X4矩阵键盘,液晶显示器(字符型1602),串行铁电存贮器(24C64),串行通讯口和单片机(AT89C51)的配合,以程控的方式完成收款的目的,系统采用ATMEL公司1989年生产的AT89C51单片机为核心控制器,完成简易超市收款机的基本功能。通过矩阵键盘输入商品号,系统经过一系列的分析处理,输出商品号,数量,单价和总价等基本信息关键词矩阵键盘字符型液晶显示铁电存贮I2CSIMPLECASHREGISTERBASEDONSINGLEDESIGNABSTRACTWITHTHEDEVELOPMENTOFGLOBALINFORMATION,PEOPLESLIVINGSTANDARDSHAVEALSOCONTINUEDTOIMPROVE,PEOPLENEEDMOREANDMOREMERCHANDISE,THELARGESCALESUPERMARKETSALSOTHEEMERGENCEOFTHESUPERMARKETVARIETYANDQUANTITYOFMERCHANDISEJUSTTONAMEAFEWTHATDONOTMAYCOMPLETELYRELYONTOMANAGEPEOPLETHEDESIGNISBASEDONTHIS,THESETTLEMENTOFRECEIVABLESDESIGNARTIFICIALSUPERMARKETTHROUGHTHE4X4MATRIXKEYBOARD,LIQUIDCRYSTALDISPLAYCHARACTER1602,SERIALFERROELECTRICMEMORY24C64,USINGATMELCORPORATION1989PRODUCTIONAT89C51SINGLECHIPMICROCOMPUTERASTHECORECONTROLLER,COMPLETETHESUMMARYOFTHEBASICFUNCTIONSOFSUPERMARKETCASHREGISTERS,THROUGHTHEMATRIXKEYBOARDINPUTNOMERCHANDISE,THESYSTEMTHROUGHASERIESOFANALYTICALPROCESSING,THEOUTPUTOFGOODSNUMBER,QUANTITY,UNITPRICE,TOTALPRICEOFSUCHBASICINFORMATIONKEYWORDSMATRIXKEYBOARDCHARACTERLCDFERROELECTRICMEMORYI2C目录一、引言1(一)本设计的背景1(二)本设计的目的和意义1二、总体方案设计2(一)方案设计2(二)方案论证与选择2三、系统硬件电路设计4(一)单片机及其外围电路设计4(二)键盘电路的设计5(三)、显示电路的设计6(四)存储器电路的设计10(五)串行通信接口电路的设计12四、系统软件程序设计14(一)单片机内部数据处理程序14(二)键盘处理程序15(三)LCD液晶显示程序16(四)串口通信程序17(五)存储器程序18五、设计总结19六、致谢19附录20附录一硬件原理图20附录二硬件PCB图21附录三原程序代码22参考文献30一、引言(一)本设计的背景当前,单片机被广泛地应用于人们生活的各个领域。单片机实际就是一台微型计算机,虽然功能没有普通的计算机那么强大,可是它的体积很小,在很多场合下普通计算机不能完成的工作,单片机却能出色的完成。单片机是一种集成电路芯片,采用超大规模技术把具有数字处理能力(如算术运算,逻辑运算,数据传送,中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小然而完善的计算机系统。由此来看,单片机有着微处理器所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。单片机在外观上与常见的集成电路块一样,体积很小,多为黑色长条状,条状两侧各有一排金属引脚,可与外电路连接。只需在电路中添加少许元器件,通过编写程序就可以实现多种功能的单片机自动控制。比如说,单片机接上键盘可以进行信号输入;接上显示器可以实现数据显示;接上喇叭可以实现声音输出等等。由于单片机体积小巧、功能强大、应用灵活、价格便宜,所以应用十分广泛。随着人们的生活水平的不断提高,对各种围绕人们生活圈的设备要求也是越来越高,同时随着工业化大发展,一切家用设备、工业设备和商业设备都要求智能化,傻瓜化,比如说数码相机,全自动洗衣机,电冰箱等;工业自动化设备,那就是太多了,数控机床,智能化生产线等等;商业设备也是一样,自动取款机,自动条码检测系统,自动收款机等等。伴随着人们生活水平的提高,人们所需要的必须品也越来越多,各种规模的超市也数不胜数,超市里的商品品种和数量也太多,以致于不可能完全用人来管理。本设计正是基于此,研究超市现在流行的简易收款机。(二)本设计的目的和意义超市收款机的主要任务就是,将各种商品的基本信息存贮起来,当识别到外部输入的商品后,自动调出相关信息,比如说,商品的名称,商品货号,商品单价,商品数量。通过用单价来乘上相应的商品的数量,计算出商品总价,来达到收款的目的,完成整个收款的过程。根据上述,本设计的目的就是要完成超市收款机简单的基本信息存贮,键盘输入数据,显示器显示相关内容,数据能够和PC机通信的功能。二、总体方案设计(一)方案设计总体电路设计应该完成五个部分电路1、单片机及外围电路,2、键盘电路,3、显示电路,4、存储器电路,5、串行通信接口电路。单片机采用较流行的八位机AT89C51,根据内部的特性,完全能满足功能要求;因为需要输入的数字量比较多,所以键盘采用4X4矩阵键盘;显示器使用液晶显示器;存储器采用铁电存储器,操作方便,可靠,掉电可保存数据。图1为电路组成框图。单片机AT89C51矩阵键盘数据存储器LCD显示器串行通信口图1系统组成框图(二)方案论证与选择1键盘模块的选择键盘的作用有两个,一是输入数据,二是功能操作。基于此,有很多种方案实现这一操作。方案一、采用直接式独立按键操作。这种方案的操作过程,就是直接从单片机I/O口引出通上拉电阻,接一按键,当按键按下时,单片机该端口为“0”,单片机通过对此端口逻辑“0”判断,来完成按键的识别,达到数据的输入,功能的实现。从这一过程可知,完成任务需要单片机很多I/O口,花费了很多CPU资源,此种方案不可取。方案二、矩阵键盘。矩阵键盘,这里采用4X4矩阵键盘,一共有16组情况,实现的方法也是利用单片机的I/O口,通过上拉电阻相接,4X4正好用到了单片机一个端口。采用这种方案既节约资源又方便,而且能够满足本设计的需要。综上所述,在本设计中采用方案二。2显示电路模块的选择显示电路的主要任务是反应出操作结果和相关商口的信息。根据此,有四种方案可完这一工作。方案一,可用七段共阳极LED数码显示,将商口名称、单价等显示出来,可以完成,将多个LED数码管的段选线相应并联在一起,由一个8位I/O口控制,而各位的共阳极或共阴极分别由相应的I/O口线控制,实现各位的分时选通,这就是动态扫描显示方式,采用动太扫描显示方式,每一位LED的选通时间为12MS。这个时间不能太短,因为发光二极管从导通到发光有一定的延时,导通时间太短,发光太弱人眼无法看清,这个时间也不能太长,否占用CPU时间太长,由于人眼有视觉暂留现象,只要每一位显示时间足够短,就能够造成多位同时显示的假象,每一位显示的时间间隔不能超过20MS,若时间间隔太长,就会造成闪烁现象,采用动态扫描方式,可降低功率消耗。此系统,所需数码管较多,操作麻烦,并且不直观,当然其发光数码管价格较便易。在本系统中,此方案不可取。方案二,用LED数码管矩阵方式显示,这种方案的显示的原理和方案一都差不多,用16X16点阵排列,将字型分成上下两个半部,上半部16列,每列用一个字节表示(8个点),下半部也是16列,每列也用一个字节表示(8个点),因此每个字需要32个字节来表示。当然这样主就可以显示汉字,但时和单片机相连较为复杂,本系统要许多块这样的16X16点阵,同时这种LED点阵方式显示,造价较高,作为本电路,也是不可取的。方案三,采用带中文字库的LCD液晶显示器来完成显示,128X64这种显示器作为本系统设计,当然最好。便考虑到系统成本的问题,带中文字库的LCD价格一般都比较贵,采用这种方案,势必会增加设计成本。本文也不采用这种方案。方案四,采用两行字符型显示器,这种显示器,用英文显示相关信息,操作方便,价格又较适中,二十多元钱一块,作为本设计,是最合适不过。因此,结合上述方案,在本设计中,采用两行字符型1602显示器。3存储器电路模块的选择存储器的作用在本设计中主要起到基本商品信息的存储,和最后商品的出入信息的存贮。完成这一项工作方案也是多种多样的。方案一,用紫外线存储器ROM,这个存储器操作不方便,同时,本设计的数据是不断变化的,因此这种方案不可取。方案二,可以用海量存贮器来完,当然这个完全是可行的,掉电后信息也不会掉失。它具有低功耗、大容量、擦写速度快、可整片或分扇区在系统编程、擦除等特点。并且可由内部嵌入的算法完成对芯片的操作,因而在各种嵌入式系统中得到了广泛的应用。作为一种非易失性存储器,它在系统中通常用来存放程序代码。这种存贮器当然很好,但是,价格较贵,同时和本设计的单片机也不容易实现接口,因为数据线和地址较复杂。方案三,采用串行铁电存贮器,可在系统中读写,掉电可保存数据,用I2C总线进行操作,因此需用的单片机端口较少,站用CPU资源较少,同时价格也不贵,美中不足之处就是存贮容量没有海量存贮器大。根据上述三种方案,兼顾价格、容量和可操作性,本设计选用第三种方案,也就是用串E2ROM。4串行通信接口电路的选择串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS232标准的基础上经过改进而形成的。所以,以RS232C为主来讨论。RS323C标准是美国EIA电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000B/S范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通信设备厂商都生产与RS232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。这里使用RS232C。三、系统硬件电路设计本系统由五部分组成单片机、键盘处理电路、显示器电路、存储器电路、串行通信口等。下面将详细讨论这几部分电路的设计过程。(一)单片机及其外围电路设计微处理电路采用AEMEL公司的单片机,价格便宜、功能齐全、可靠性高、使用普遍。AT89C51单片机是ATMEL公司8位单片机系列产品之一,是一种40引脚双列直插式芯片。AT89C51有4KFLASH;128字节RAM;32条I/O引线;2个16位定时器/计数器;一个5向量2级中断结构;一个全双工串行口;一个片内震荡器和时钟电路。此外,AT89C51是用可降到0频率的静态逻辑操作设计的,并支持两种可选的软件节能工作方式。空闲方式停止CPU工作,但允许RAM、定时器/计数器、串行口和中断系统继续工作。掉点方式保持RAM内容,但振荡器停止工作,并禁止所有其他部件的工作直到下一个硬件复位。它含有4KB可反复烧录及擦除内存和128字节的RAM,有32条可编程控制的I/O线,5个中断源,指令与MCS51系列完全兼容。选用它作为核心控制新片,可使电路极大地简化,而且程序的编写及固化也相当方便、灵活。主要性能4KB可重编程FLASH存储器;耐久性1000次写/擦除;276V的操作范围;全静态操作0HZ24MHZ;2极加密程序存储器;1288位内部RAM;32条可编程I/O引线;2个16位定时器/计数器;6个中断源;可编程串行UART通道;直接LED驱动输出;片内模拟比较器;低功耗空载和掉电方式。本系统设计电路图2所示图2单片机电路图如图2所示,P0口为LCD的八根数据总线,P25、P26、P27三根线为LCD的读写控制线和使能端。P36、P37为存贮器的两根总线,主要用于数据的读取与存贮。P1口为矩阵键盘列线与行线的接口,实现4X4键盘,完成相关的工能操作,比如说,数字的输入,功能操作等。XTAL1和XTAL2口接外部晶体振荡器,保证单片机内部各部分有序的工作。P30、P31口接串行端口,分别作串行数据的接收端和发送端。RST与VSS之间连接一个下拉电阻,与VCC之间连接一个电容,目的是保证可靠的复位。(二)键盘电路的设计这里采用的是矩阵键盘。如图3所示图3矩阵键盘实物图矩阵键盘的实现可采用查询的办法,也可以采用中断的方法。4X4的意思即4根列线,4根行线,列线通上拉电阻接到电源上,因此无按键按下时,各列线均为高电平。当行线分别输出低电平时,有健按下,相应的列线上会出现低电平。根据此原理,CPU对整个键盘进行扫描。所谓扫描,即CPU不断轮流对行线置低电平,然后检查列线输入状态,确定按键情况。电路如图4所示图4矩阵键盘图如图4所示,4X4矩阵键盘,一共有16个按键,用单片机的P1口,其内部有上接电阻,在此可不用,在确定有按键按下后,先把H1置为低电平,其它都为高电平,再读入H5、H6、H7、H8的值。若H5为“1”,其它都为“0”,则“F”按下。依次类推,当H8为“1”,其它都为“0”,则“3”按下。根据此道理,可判断,哪个按键按下。本设计就是根据此,判断数据的输入和各功能的实现。按键“A”、“B”、“C”、“D”、“E”、“F”为功能键,其它的为数字键。(三)、显示电路的设计这里采用的是两行字符型1602显示器,下面详细介绍1602及其使用。1字符型点阵式LCD液晶显示屏LCD的应用很广泛,简单如手表上的液晶显示屏,仪表仪器上的液晶显示器或者是电脑笔记本上的液晶显示器,都使用了LCD。在一般的办公设备上也很常见,如传真机,复印机,以及一些娱乐器材玩具等也常常见到LCD的足迹。本设计要介绍的LCD为字符型点阵式LCD模块(LIQUIDCRYSTALDISPLAYMODULE)简称LCM,或者是字符型LCD。字符型液晶显示模块是一类专门用于显示字母,数字,符号等的点阵式液晶显示模块。在显示器件上的电极图型设计,它是由若干个57或511等点阵符位组成。每一个点阵字符位都可以显示一个字符。点阵字符位之间有一空点距的间隔起到了字符间距和行距的作用。目前市面上常用的有16字1行,16字2行,20字2行和40字2行等的字符模块组。这些LCM虽然显示字数各不相同,但是都具有相同的输入输出界面。本设计将以WINTECH162字符型液晶显示模块WMC1602N为例,详细介绍字符液晶显示模块的应用技术。一般字符LCD模块的控制器为日本日立新华通讯社的HD44780及其替代集成电路,驱动器为HD44100及其替代的集成电路。2LCD液晶显示屏的内部结构液晶显示模块WNC1602N的内部结构可以分成三部分LCD挖掘器、LCD驱动器和LCD显示装置。如图5所示图5LCD内部结构图目前大多数的LCD液晶显示器的控制器都有采用一颗型号为HD44780的集成电路作控制器。HD44780是集控制器,驱动器于一体,专用于字符显示控制驱动集成电路。HD44780是字符型液晶显示控制器的代表电路,HD44780集成电路的特点有(1)HD44780不仅作为控制器而且还具有驱动4016点阵液晶像素的能力,并且HD44780的驱动能力可通过外接驱动器扩展360列驱动。(2)HD44780的显示缓冲区及用户自定义的字符发生器CGRAM全部内藏在芯片内。(3)HD44780具有适用于M6800系列MPU的接口,并且接口数据传输可为8位数据和4位数据传输两种方式。(4)HD44780具有简单而功能较强的指令集,可实现字符移动,闪烁等显示功能。由于HD44780的DDRAM容量所限,HD44780可控制的字符高达每行80个字,也就是580400点,HD44780内藏有16路行驱动器和40路列驱动器,所以HD44780本身就具驱动有1640点阵LCD能力(即单行16个字符或两行8个字符)。如果在外部加一HD44100外扩展多40路/列驱动,则可驱动162LCD。HD44780内藏的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。比如数字“1”的代码是00110001B(31H),又如大写的英文字母“A”代码是01000001B(41H)。表1WMC1602N的CGRAM字符图形代码对应表3LCD的应用液晶显示模块LCD1602在显示“1”时,则只需将ASCII码31H存入DDRAM即可。显示时模块把地址31H中的点阵字符图形显示出来,就能看到数字“1”了。DDRAM有80BYTES空间,共可显示80个字,地址与实际显示位置的排列顺序跟LCD的型号有关。1602采用标准的16脚接口,如表2所示。其中VSS为地电源,VDD接5V正电源,VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。表2LCD1602引脚说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2DATAI/O2VDD电源正极10D3DATAI/O3VL液晶显示偏压信号11D4DATAI/O4RS数据/命令选择端H/L12D5DATAI/O5R/W读/写选择端H/L13D6DATAI/O6E使能信号14D7DATAI/O7D0DATAI/O15BLA背光源正极8D1DATAI/O16BLK背光源正极本设计电路如图6所示图6LCD1602电路连接图如图6所示,有八根数据线与单片机的P0口相连,三根读写控制线,背光调节电位器,可调节背光亮度。(四)存储器电路的设计本设计采用串行铁电存贮器FRAM,采用I2C总线工作方式。FRAM铁电存储器的核心技术是美国RAMTRON公司研制的铁电晶体材料。这一特殊材料使得铁电存储产品同时拥有随机存储器(RAM)和非易失性存储器(EPROM、E2ROM、FLASH)的特性。1铁电晶体材料的工作原理当把电场加载到铁电晶体材料上,晶阵中的中心原子会沿着电场方向运动,达到稳定状态,一个状态存储逻辑0,另一个状态存储逻辑1。中心原子在常温下没有电场的作用时停留在此状态达一百年以上,铁电存储器不需要定时刷新,断电情况下能保存数据不变。由于在整个物理过程中没有任何原子碰撞,铁电存储器(FRAM)拥有高速读写,超低功耗和无限次写入等特性。2存储器的基础知识传统存储器有两大类易失存储器(VOLATILEMEMORY)和非易失存储器(NONVOLATILEMEMORY),易失性存储器像SRAM和DRAM存储器在没有电源的情况下都不能保存数据,但这种存储器拥有高性能,存取速度快和无限次的写入次数,易用等优点。非易失性存储器像EPROM、E2ROM和FLASH能在断电后保存数据不变,但由于所有这些存储器均起源只读存储器(ROM)技术,因此它们都有写入速度慢,写入次数有限和使用时功耗大等缺点。表3是16K位铁电存储器(FRAM)的性能和16K位E2ROM性能比较情况,FRAM第一个最明显的优点是FRAM可以跟随总线速度写入,无需任何等候时间,而E2ROM需等几毫秒(MS)才能写入一下数据。FRAM第二大优点是几乎无限次的写入。E2ROM的写入次数是每百万次(10的6次方),而新一代的铁电存储器(FRAM)却是一亿亿次(10的6次方)写入寿命。FRAM的第三大优点是超低功能。E2ROM的慢速和高电流写入一个字节令它需要高出FRAM2500倍的能量。表3性能比较表型号待机电流写入电流写入次数字节写入时间整片写入时间FM2401610UA150US1E1372US47AMSAT24C1618UA3MA1E610MS13SST24C16300UA3MA1E610MS13S24AA16100UA3MA1E610MS13SX24C16150UA3MA1E610MS13S3铁电存贮器FRAM的应用FRAM无限次快速擦写和非易性的特点,令它的系统工程师可以把现在在电路上分离的SRAM和E2ROM两种存储器整合到一个FRAM里,为整个系统节省了功耗,降低了成本,减小了体积,同时增加了整个系统的可靠性。典型应用包括仪器仪表、工业控制、家用电器、复印机、打印机、机顶盒、网络设备、游戏机、计算机等等。4I2C总线知识该存贮器采用I2C总线方式工作,在软件操作时,就得用I2C总线方式进行读写。I2C总线是由PHILIPS公司发明的一种高性能芯片间串行同步传输总线。与SPI、MICROWIRE接口不同,它仅仅需要两根信号线(串行数据线SDA和串行时钟线SCL),就实现了完善的双工同步数据传送,能够极其方便地构成多机系统和外围器件扩展系统。I2C总线采用了器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址端,从而使硬件系统具有更简单、更灵活的扩展方法。鉴于I2C总线的众多功能优越性,目前,以PHILIPS公司为主的许多著名半导体制造公司,纷纷研制出了大量的种类繁多的(已经达数百种型号)带有I2C总线硬件接口的单片机、通用外围器件,例如RAM、EEPROM、NVRAM、I/O、ADC、DAC、日历时钟RTC、LED驱动器、LCD驱动器、温度传感器等等。另外,还开发了面向一些特殊应用系统中专用配套的I2C总线芯片,例如无线电、无绳电话、移动手机、电视机、音响系统、家庭影院等系统中的双音多频(DTMF)拨号器、语音合成器、数字调谐器、编码器、解码器、图像处理器、频率合成器、音调控制器、立体声处理器等等。本设计电路如图7图7存储器电路图如图7所示,电路用24C64存贮器,A0、A1、A2为地址选择端,主要作用是用于级连,在总线上挂接多个这样的存贮器时使用,VSS为接地端,VCC为电源正极连接端,WP为写保护控制端,SCL、SDA分别为I2C总线的串行时钟连接端和串行数据连接端,数据的写入与读出就是通过这个端两个端操作的,同时电路中在这两个端口加了两只上接电阻,作用是由于存贮器内部是采用开漏输出的。(五)串行通信接口电路的设计串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS232C标准的基础上经过改进而形成的。RS323C标准是美国EIA电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在020000B/S范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与RS232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。RS232C标准(协议)的全称是EIARS232C标准,其中EIAELECTRONICINDUSTRYASSOCIATION代表美国电子工业协会,RS(ECOMMEDEDSTANDARD)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有EIARS232C、EIARS422A、EIARS423A、EIARS485。这里只介绍EIARS232C(简称232,RS232)。例如,目前在IBMPC机上的COM1、COM2接口,就是RS232C接口。1RS232C电气特性RS232C标准(协议)的全称是EIARS232C标准,其中EIAELECTRONICINDUSTRYASSOCIATION代表美国电子工业协会,RS(ECOMMEDEDSTANDARD)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有EIARS232C、EIARS422A、EIARS423A、EIARS485。这里只介绍EIARS232C(简称232,RS232)。例如,目前在IBMPC机上的COM1、COM2接口,就是RS232C接口。EIARS232C对电器特性、逻辑电平和各种信号线功能都作了规定,如下(1)在TXD和RXD上,逻辑1MARK3V15V;(2)逻辑0SPACE315V;(3)在RTS、CTS、DSR、DTR和DCD等控制线上;(4)信号有效(接通,ON状态,正电压)3V15V;(5)信号无效(断开,OFF状态,负电压)3V15V。以上规定说明了RS323C标准对逻辑电平的定义。对于数据(信息码)逻辑“1”(传号)的电平低于3V,逻辑“0”(空号)的电平告语3V;对于控制信号;接通状态(ON)即信号有效的电平高于3V,断开状态OFF即信号无效的电平低于3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于33V之间的电压无意义,低于15V或高于15V的电压也认为无意义,因此,应保证电平在315V之间。2连接器的机械特性连接器由于RS232C并未定义连接器的物理特性,因此,出现了DB25、DB15和DB9各种类型的连接器,其引脚的定义也各不相同。下面分别介绍两种连接器。(1)DB25PC和XT机采用DB25型连接DB25连接器定义了25根信号线,分为4组异步通信的9个电压信号(含信号地SG)2,3,4,5,6,7,8,20,22;20MA电流环信号9个(12,13,14,15,16,17,19,23,24);空6个(9,10,11,18,21,25);保护地(PE)1个,作为设备接地端(1脚)。(2)DB9连接器在AT机及以后,不支持20MA电流环接口,使用DB9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB25型连接器的引脚分配与DB25型引脚信号完全不同。因此,若与配接DB25型连接器的DCE设备连接,必须使用专门的电缆线。电缆长度在通信速率低于20KB/S时,RS232C所直接连接的最大物理距离为15M(50英尺)。最大直接传输距离说明RS232C标准规定,若不使用MODEM,在码元畸变小于4的情况下,DTE和DCE之间最大传输距离为15M(50英尺)。可见这个最大的距离是在码元畸变小于4的前提下给出的。为了保证码元畸变小于4的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500PF。3RS232C的接口信号RS232C规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线。在本设计中电路连接图如图8所示图8串行通信口连接图如图8所示,MAX232中电平转换芯片。将差分电平,转换成单片机等可识别的TTL电平,电路中RXD、TXD两根线分别和单片机相连P3口的串行通讯口相连,RXD为数据据接收端,单片机通过这个端口读取PC机等送来的信号,TXD为数据发送端口,主要向PC等设备发送信号。图右边还有一个9针串行通信口,主要和PC机相连。四、系统软件程序设计本设计程序共分成五个部分键盘处理程序、LCD显示程序、单片机内部数据处程序、存贮程序、串口和PC机通信程序。(一)单片机内部数据处理程序单片机内部数据处理程序,即是系统的主程序。当插上电源后,单片机对系统进行一系列的初始化,包括LCD显示初始化,串口初始化和菜单的初始化,以及判断有无按键按下,并做出相应的处理。主程序流程图如图9图9主程序流程图(二)键盘处理程序键盘处理程序,主要作用就是通过用户的按键识别,判断当前的系统任务,通过前面的硬件分析,采用4X4矩阵,一共十六组状态。一方面是数字的输入输出,另一方面的一系列的功能操作。经过键盘扫描程序扫描是否有按键按下,如果有再判断是数字键还是功能键,并做出相应的处理;如果没有则返回继续检查有克按键按下。键盘处理程序流程图如图10所示。图10键盘处理程序流程图(三)LCD液晶显示程序LCD处理程序,完成信息的显示,包括商品号,单价,数量,总计金额等这些资料。LCD根据键盘处理程序中按键的性质(数字键还是功能键)来操作。流程图如图11图11LCD显示流程图(四)串口通信程序串口通信程序,完成将完交的数量,以及总金额,卖出与进入的商品告知PC机完成汇总。流程图如图12图12串口通信流程图(五)存储器程序存贮器程序,完成对24C64的数据读取与写入,同时要有掉电保存的功能。流程图如图13图13存储器流程图五、设计总结本系统的制作,性能和效果都比较好,通过键盘有操作,LCD直观的显示,和串口的通信及信息的存贮都能达到设计的要求,实现超市简易的收款工作。本设计的成本较低,操作简单。但是,本设计也存在上些不足,比如LCD字符型液晶显示器不带有中文字库,不能显示中文,这样显示的内容不是很直观。再如,系统没有留出打印口,不能打印出凭条等等。不过,在本设计的基础上很容易通过改善设备,对系统进行升级,使功能更齐全,设计更完美。通过这次的毕业设计,我体会到应该掌握丰富的理论知识,理论知识是设计的前提。但同时又决不能局限于理论。在设计过程中,深深感受到自己在对一些器件的了解上,还存在很大差距,对他们的功能,参数都不是太熟悉。但是通过这次理论与实际的结合之后,认识比以前有不少提高。六、致谢本毕业设计,在设计过程中,从理论到实践,从画框图,到具体电路,从学习认识元器件,到最后完成一个系统,从中学习了许多新的专业知识,同时也学会了许多社会人文知识。在此,对我毕业设计提拱指导帮助的所有老师,表示是忠心的感谢,对在设计过程中遇到困难时,得到同仁们帮助的朋友、同学,表示诚挚的谢意真诚感谢成都学院的领导和老师,感谢电信教研室的各位老师,他们在我平常的学习与日常生活中,给了我许多关心与帮助。在此我表示深深的感谢附录附录一硬件原理图附录二硬件PCB图附录三原程序代码1、主程序代码INCLUDEUNSIGNEDCHARW,CC0UNSIGNEDCHARSTR160/液晶显示显存INCLUDE“LCDH“/包含液晶显示器的一些操作函数INCLUDE“IICH“/24C64的读写函数INCLUDE“URATH“/串行口的操作函数INCLUDE“MANAGEH“/按键功能函数INCLUDE“KEY4H“/按键检测和键值读取函数/BITW24C64,R24C64VOIDMAININITLCD/初始LCDINITURAT/初始串口MENU/初始菜单/INORDER0XC0/INDATA0X38/测试LCD第二行是否显示WHILE1KEY1IFW0/如果有键按下则读键值KEY2W/读键值/结束/2、键盘代码UNSIGNEDCHARW1,W2VOIDKEY1VOIDP10X0FW1P1IFW10X0F/按键DELAY100IFW10X0F/再一次检测按键P10XF0W2P1WW1|W2ELSEW0/未按键/UNSIGNEDCHARVOIDKEY2UNSIGNEDCHARJUNSIGNEDCHARISWITCHJ/以下为数字键CASE0X77I0X30INDATAISTRCC0BREAKCASE0X7BI0X31INDATAISTRCC1BREAKCASE0X7DI0X32INDATAISTRCC2BREAKCASE0X7EI0X33INDATAISTRCC3BREAKCASE0XB7I0X34INDATAISTRCC4BREAKCASE0XBBI0X35INDATAISTRCC5BREAKCASE0XBDI0X36INDATAISTRCC6BREAKCASE0XBEI0X37INDATAISTRCC7BREAKCASE0XD7I0X38INDATAISTRCC8BREAKCASE0XDBI0X39INDATAISTRCC9BREAK/以下为功能键CASE0XDDMANAGE_KEY1I0BREAK/A写24C64CASE0XDEMANAGE_KEY2I0BREAK/B读24C64CASE0XE7MANAGE_KEY3I0BREAK/C串行通讯,发送数据CASE0XEBMANAGE_KEY4I0BREAK/D串行通讯,接受数据CASE0XEDMANAGE_KEY5I0BREAK/E显示计算结果CASE0XEEMANAGE_KEY6I0/F清屏WHILE1/等待按键的释放KEY1IFW10X0FDELAY10IFW10X0FBREAK/结束/3、液晶显示器代码INCLUDEDEFINERSP2_5/定义LCD控制口DEFINERWP2_6DEFINEEP2_7DEFINEXSP0VOIDBUSYVOID/检查忙信号_NOP_DOXS0XFFRS0RW1E0_NOP_E1WHILEP0_7VOIDINORDERUNSIGNEDCHARORDER/写命令XSORDERRS0RW0E0BUSYE1VOIDINDATAUNSIGNEDCHARDATAR/写数据XSDATARRS1RW0E0BUSYE1VOIDINITLCDVOIDINORDER0X01INORDER0X38/8位2行5X7点阵INORDER0X0F/显示器开,光标开,闪烁开INORDER0X06/文字不动,光标自动右移INORDER0X01/清显示/显示处理程序VOIDXIANSHIVOIDUNSIGNEDLONGX,Y,Z,SUMXSTR0100STR110STR2/得到“货号”YSTR31000STR4100STR510STR6/得到“单价”值(3位数)ZSTR7100STR810STR9/得到“数量”值(3位数)SUMYZ/总价单价数量STR10SUM/100000/十万位STR11SUM100000/10000/万位STR12SUM10000010000/1000/千位STR13SUM100000100001000/100/百位STR14SUM100000100001000100/10/十位STR15SUM10000010000100010010/个位/菜单显示/在第一行显示NOPRICEAMOUNTSUM)VOIDMENUVOIDINORDER0X80/光标指向LCD第二行首地址INDATA0X4E/NOINDATA0X4FINDATA0X20/空格INDATA0X44/PRICEINDATA0X4AINDATA0X20/空格INDATA0X20/空格INDATA0X53/AMOUNTINDATA0X4CINDATA0X20/空格INDATA0X53/SUMINDATA0X75INDATA0X6DINDATA0X28INDATA0X5CINDATA0X29INORDER0XC0/光标指向LCD第二行首地址/结束/4、串行口程序代码DEFINEUCHARUNSIGNEDCHARVOIDINITIALVOIDSENDDVOIDRECEIVED/串行口初始化/VOIDINITURATVOIDTMOD0X20TL10XE8TH10XE8SCON0X50TR11/发送数据/VOIDSENDDUCHARIFORI0IDEFINEUCHARUNSIGNEDCHARDEFINESDAP3_6/定义SDA口DEFINESCLP3_7/定义SCL口/VOIDDELAYUCHARA/24C64和其他一些地方需要的延时函UCHARB,CFORB0BABFORC0C225C/VOIDSTARTVOID/开始总线的活动SDA1SCL1_NOP_NOP_NOP_NOP_SDA0_NOP_NOP_NOP_NOP_/VOIDSTOPVOID/停止总线活动,器件进入低功耗状态SDA0_NOP_NOP_NOP_NOP_SCL1_NOP_NOP_NOP_NOP_SDA1_NOP_NOP_NOP_NOP_/VOIDACKVOID/应答信号SDA0_NOP_NOP_NOP_NOP_SCL1_NOP_NOP_NOP_NOP_SCL0/允许从器件改变当前SDA的状态,以便于下一次的读入/VOIDNOACKVOID/无应答信号SDA1_NOP_NOP_NOP_NOP_SCL1_NOP_NOP_NOP_NOP_SCL0/VOIDCHECKACKVOID_NOP_NOP_NOP_NOP_SCL1IFSDASCL0ELSE_NOP_NOP_NOP_NOP_SCL0/VOIDSENDUCHARKK/写入一个字节UCHARBITCOUNTER8UCHARTEMPDOTEMPKKSCL0_NOP_NOP_NOP_NOP_IFTEMPELSESDA0SCL1TEMPKK1KKTEMPBITCOUNTERWHILEBITCOUNTERSCL0UCHARREADVOID/读出一个字节UCHARTEMP0UCHARTEMP10UCHARBITCOUNTER8SDA1DOSCL0_NOP_NOP_NOP_NOP_SCL1_NOP_NOP_NOP_NOP_IFSDATEMPTEMP|0X01/数据的读入为高位在前,低位在后ELSETEMPTEMPIFBITCOUNTER1TEMP1TEMP1TEMPTEMP1BITCOUNTERWHILEBITCOUNTER/读入8位RETURNTEMP/发送命令和操作对象给24C64VOIDWRITENBYTEUCHARADATA,UCHARADDRESSUCHARBB/定义写字节数变量BBFORBB0BB16BB/写入16个字节START/器件地址SEND0XA0CHECKACKSEND0X00/从器件内部高地址CHECKACKSENDADDRESSBB/从器件内部地址低位CHECKACKSENDADATABBCHECKACKSTOPDELAY40VOIDREADNBYTEUCHARADATA,UCHARADDRESSUCHARI/定义读字节数变量IFORI0I16ISTARTSEND0XA0ACKSEND0X00/从器件内部高地址ACKSENDADDRESSI/从器件内部地址低位ACKSTARTSEND0XA1ACKADATAIREAD/读取操作数SCL0NOACKSTOP/结束/参考文献1余永权ATMEL89系列单片机应用技术北京航空航天大学出版社2何立民单片机应用程序设计技术北京航空航天大学出版社3康光华数字电路华中科技大学出版社4康光华模拟电路华中科技大学出版社5宁改娣,危建国C51程序设计科学出版社6谭浩强C语音程序设计(第二版)清华大学出版社GANEMPLOYMENTTRIBUNALCLAIMEMPLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTITIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENTTRIBUNALCHALLENGINGIFYOUARETHINKINGABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,YOUSHOULDGETHELPSTRAIGHTAWAYFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPIFYOUAREBEINGREPRESENTEDBYASOLICITORATTHETRIBUNAL,THEYMAYASKYOUTOSIGNANAGREEMENTWHEREYOUPAYTHEIRFEEOUTOFYOURCOMPENSATIONIFYOUWINTHECASETHISISKNOWNASADAMAGESBASEDAGREEMENTINENGLANDANDWALES,YOURSOLICITORCANTCHARGEYOUMORETHAN35OFYOURCOMPE

温馨提示

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

评论

0/150

提交评论