




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要本文设计了一种以STC89C52单片机为核心,采用集中控制方式实现了对自动售货机全过程的自动控制。本系统选择3× 3 矩阵式键盘作为控制按键,实现货物的掉出、退币以及货币数的LCD 显示等功能。关键词:STC89C52,自动售货机,键盘控制,LCD 显示4Design of automatic system of vending machine based onMicrocontrollerAbstractThis paper introduces a design of STC89C52 microcontroller as the core, adopts the centr
2、alized control method to realize the automatic control of the whole process of automatic vending machine. In this system, 3 * 3 matrix keyboard as the control button, realize the goods out of, the coin and currency number LCD display and other functions.Keywords: STC89C52, vending machine, keyboard
3、control,LCD display1 绪 论 12 自动售货机系统总体设计方案22.1 工作原理 22.2 项目要求 32.2.1 硬件设计要求 32.2.2 软件设计要求 43 控制系统的硬件电路设计 53.1 硬件设计概述 53.2 微控制器 53.3 货币识别系统 63.4 LCD 显示系统模块 83.5 提示程序模块 94 控制系统的软件设计 104.1 软件设计概述 104.2 主程序 104.3 键盘程序设计 124.4 字符型液晶显示模块程序设计 134.5 提示模块程序设计 165 结 论 18致 谢 19参考文献20附录1主函数程序 21附录2TC1602AL 显示程序
4、24附录3提示程序 27附录4总原理图 28安徽新华学院2013 届本科毕业论文(设计)1 绪 论自动售货机是一种全新的商业零售形式,20 世纪 70 年代自日本和欧美发展起来。它又被称为24 小时营业的微型超市。从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械,从
5、狭义来讲就是自动销售商品的机械。从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24 小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。此次自动售货机的设计是以单片机为核心的自动化控制装置,它集按键选择技术、单片机技术和显示技术于一体。因此,在商业、生活中得到了广泛的应用。有些自动售货机不仅能够自动识别1 元、 5角硬币,而且能够自动识别20 元、 10 元、 5 元纸币,还会自动找零,人机对话的应用性提高使自动售货机在国内外大面积普及成为可能。随着科技的发展及人们生活水平的
6、提高,自动售货机市场越来越呈现出多元化及个性化的需求。人们通过自动售货机自助购物,这种简单、快捷的方式正逐渐成为市民的一种新的消费时尚,并且满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设能够美化城市环境,方便群众生活,它已经成为城市各角落的一道亮丽风景线。自动售货机必将在国内普及,并成为城市现代文明程度的一种象征性标志。本文详细介绍了如何控制、要求进行自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。2 自动售货机系统总体设计方案
7、该章节对自动售货机的控制系统进行完整的功能需求分析,并确定总体设计方案,这是完成系统设计的前提。这不仅有助于时间的合理计划和安排,还可以避免因盲目进行设计而达不到要求的情况。2.1 工作原理自动售货机是集机、电的独立智能化售货设备,只需顾客进行投币、选货、退币等简单的操作选择,就能够方便快捷地购买到想要的商品。其工作程序如下图 2.1图 2.1 自动售货机的工作时序图自动售货机的工作时序是:顾客从投币口投入货币,然后通过货币识别器采集数据、识别判断货币的真伪并判别面值,并把信息数据传给主控系统通信,启动售货机的货物选择键和退币按钮,并等待顾客按键选择货物。顾客选择货物后,自动售货机把货物准确送
8、出领货口,顾客再取走货物。如果售货机内还有顾客未用完的货币,顾客可以选择按下退币按钮进行取零或者继续买商品;如果款额不够但还有余额,顾客依然可以按下退币按钮取零;如果没有余额,售货机将自动调成售货结束。最后系统复零,完成售货。2.2 项目要求此次自动售货机设计将满足一下几点要求:主控制系统对货币识别器识别的金额进行记录,根据金额数通过LCD 显示器跟踪显示,同时售货机将货物选择权提供用户,用户选择货物后,单片机发出指令将所选商品从储货仓送到取物口。其功能描述:货物种类一共设有8种,这8种物品分别对应着8个不同的按键选择,其中价格不等的物品各3种, 1 元的有3个可选按键,2元的有3个可选按键,
9、3元的有2个可选按键;自动售货机将顾客投的货币进行金额累加。投了几次货币后,这样机器就会把投入的货币总额数目大小输入中央控制元器件,进行处理。如果累计投入的货币数目多于物品的设定价格,机器能够实现找钱功能,或者顾客可以继续选择货物;如果投入的货币没有达到所选择物品的预设价格时,投入的钱将全部退还。2.2.1 硬件设计要求控制系统要完成图2-1 中的各个环节,应具备中央处理模块(微控制器), 键盘输入模块,报警提示模块,数额显示模块、货币识别模块和电机驱动模块等,电机驱动模块是自动售货设计当中比较重要的一块,涉及到送出货物的功能。对于驱动电机是如何设计、如何工作的,在这里将不做进一步的研究。本课
10、题设计主要是要实现自动售货机的投币总数显示、货物选择、出货 (用发光二极管替代)以及找零功能。在本次设计中用P2.0P2.7 作为送出货物输出接口,以发光二极管作为出货状态。这就需要控制系统提供如表2.1 中所列的外设器件。表 2.1 硬件电路接口列表外设名称数量用途备注MDB 货币识别器1货币识别、找零硬币器要符合国际标准MDB 接口键盘输入1输入设备采用3× 3 键盘,和1 个退币按键报警提示1语音提示采用语音提示功能显示模块1显示货币金额采用TC1602 的 LCD 显示器这些外设元器件的总体原理框架如图2.2所示键盘模块语音提示模块2.2 硬件系统总体框架图2.2.2 软件设
11、计要求控制系统的软件应包括主程序、启动退币系统程序、货币数额显示程序以及提示程序四个部分。参照国内外自动售货机的系统设计实例,结合自身硬件特点,系统要编写的程序需满足以下特点和要求:1、 友好的人机交互界面,简易的操作步骤和可靠的销售流程;2、 键盘模块能够激活自动售货机的售货系统,同时完成对商品的选择操作以及对货币识别器的退币系统的启动;3、 语音提示模块要实现选取货物时金额不足的提示功能。本文第四章将重点讲述软件程序的设计。3 控制系统的硬件电路设计3.1 硬件设计概述硬件是控制系统的物理载体,硬件设计是整个设计的基础环节。根据对第3.1.1 节的硬件设计要求可知,此次控制系统的构成模块应
12、包括:中央处理模块(微控制器) ,键盘输入模块,语音提示模块,LCD 显示模块和MDB 货币识别模块。各元器件的选用质量在此次设计中很重要,是否合理直接影响控制系统的设计质量,要以经济适用、稳定可靠为原则进行设计。3.2 微控制器微控制器是将微型计算机的主要部分集成在一个芯片上的单芯片微型计算机。微控制器诞生于20 世纪 70 年代中期,经过30 多年的发展,其成本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例如电机控制、条码阅读器/扫描器、消费类电子、游戏设备、电话、HVAC、楼宇安全与门禁控制、工业控制与自动化和白色家电(洗衣机、微波炉)等。微控制器主要分为单片机、D
13、SP、 ARM 等等,其中单片机体积小、使用灵活方便、价格便宜,主要应用于工业控制和智能仪表等领域;DSP 芯片具高速运算能力,常用来处理大量数据或数字信号;ARM 凭借低功耗、高性能的特点,广泛应用在移动通信和手持设备领域。综合考虑技术指标、接口需求和经济性等因素,本设计采单片机STC89C52最 合 理 。 STC89C52 是 一 种 带 8K 字 节 闪 烁 可 编 程 可 檫 除 只 读 存 储 器( FPEROM-Flash Programable and Erasable Read Only Memory)的低电压,高性能 COMOS8的微处理器,该器件采用ATMEL 搞密度非易
14、失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。该单片机具有以下标准功能:8k字节Flash, 512字节 RAM , 32 位 I/O 口线,看门狗定时器,内置4KB EEPROM, MAX810 复位电路,3个 16 位定时器/计数器,4 个外部中断,一个7 向量 4 级中断结构(兼容传统51 的 5 向量 2 级,全双工串行口。该单片机的引脚配置如图3.1 所示:图 3.1 STC89C52 引脚配置图3.3 货币识别系统货币识别分别有对硬币和纸币的识别,由此在下文中分别介绍说明:我国目前发行的1 元、 5 角和 1 角硬币的金属原材料是为造币而专门使用的电感量的
15、变化将引起振荡频率的变化,与设定值进行比较,确定某种硬币后,32红外光成分达到90%以上,因此, 光源辐射光中起主要作用的实际上是红外辐射。实验中对各种纸币的特征的识别也主要是根据纸币的表面特征对红外辐射的敏感。红外辐射是光辐射中的一种类型,它具有普通光辐射的共性。这主要是因为不同的纸币表面特征不同,所以在相同的光辐射下会呈现不同的反映,从而可以用来识别不同的纸币,具体地说,首先,钞票的纸张材料是特定的,所以同一种钞票具有一定程度的共性;其次,钞票表面的图案差异,对于相同面值的钞票而言,其表明的各种图案相同,不同面值的钞票之间表明图案有较大区别,所以,根据所述的光的辐射理论,也可以根据它们对相
16、同光辐射的不同反映来判断起面值归属;再次,钞票流通过程中所造成的不同程度的污损,就会造成钞票表面特征的变化,接受光辐射的特性就是有所变化。因此,光辐射可以反映钞票的新旧程度;另外,相对于伪币的鉴别,因为伪币的纸张一般都无法满足真钞的纸张特性,而且,伪币中某些图案达不到钞票的实际标准,如水印是在造纸过程中通过特征工艺抄制上去的无色图案,而伪钞的水印则是通过一定方式轧印或描绘上去的等等,这都能在钞票对光辐射的接受信息中反映出来。但是光辐射在传输过程中,会受外界环境的影响而产生能量损失。比如经过大气传输时,就会受到大气成分的吸收,而在不同的环境条件下,大气的成分含量有某些程度的变化,因而导致能量损失
17、的程度不同。所以光辐射到钞票介质的传输距离越短,所造成的能量损失的影响就越微小,如果硬件的性能较好,外界的这种影响可以不予考虑。作为整个货币识别系统的核心部分,纸币控制器必须由一颗功能相对较强的嵌入式微处理器以及一系列外围器件构成。89C52拥有 4 个 I/O 口即P0、 P1、 P2、 P3,它有两个可编程的定时器/计数器,分别称为定时器/ 计数器 0 和定时器/ 计数器 1 。它们都是16 位加法计数结构,分别由TH0和 TL0 及 TH1 和 TL1 两个 8 位计数器组成。其主要功能是:处理器通过控制发光二极管发光,当纸币进入时,入口处发光二极光投射过纸币的光强变化,被相应入口处的光
18、电三极管接受到后转换为电信号,传给89C52 处理器,经过判断,处理器直接控制;当用户按下退币按钮时,单片机将信号发送到MDB中,再施行退币功能。其中注意的是,当选取货物后,货币器能监测到金额的减少,在退币系统启动时退出相应的金额。MDB 的通信接口是全双工的主从式接口,使用标准的专用6针插头连接,其中 4号接口与P3.0相连, CPU 接收到信号并记录金额,5号接口与P3.1 相连,CPU 通过发送信号控制退币系统的运行。由于货币识别器的核心内容是保密的,可供参考的资料较少,因此本系统中的MDB 的使用仅限1 元的投币、退币方式,MDB 接口电路设计如图3.2所示。3.2 MDB 接口电路图
19、3.4 LCD 显示系统模块在用户操作自动售货机时,为了让用户(顾客或运营商)更加简便、容易达成交易,本设计选用广州捷胜吉电子科技公司的TC1602AL 型液晶显示模块实现此功能。其规格参数如下:外形尺寸:80× 36mm;视域尺寸:64.5 × 13.8mm点尺寸:宽×高 =0.52 × 0.6mm本文设计的电路如图3.3所示。3.3 液晶模块电路图表 3.1 液晶显示模块接口说明标号功能说明备注Vss逻辑负电源输入引脚,0VVdd逻辑正电源输入引脚,+5VV0LCD 驱动电源输入引脚,大小可调先是对比度一般接0VE读写使能引脚: 高电平有效,下降沿锁
20、定数据RS数据/指令寄存器选择引脚:RS=“ 1 :数据”D0-D7 与数据寄存器通信RS=“ 0:数据”D0-D7 与指令寄存器通信R/W读 /写选择引脚:高电平:读数据低电平:写数据若不须读操作功 能,该引脚可直 接接地D0 D78 位数据线引脚只要在指令设置上稍加改动,就可驱动各规格的字符型液晶显示模块,因此使用起来非常方便。关于图3.3中各引脚的功能如表3.1 中所描述。3.5 提示程序模块提示模块电路图,如图3.4所示。图 3.4 提示模块电路图1 此次提示电路的功能是当用户投入金额不够并且按下货物选择按键时,暂发出提示音,会给用户提示作用。2参数计算:这是一个报警提示电路它由R4
21、作为保护电阻它的阻值范围:3301K4 控制系统的软件设计4.1 软件设计概述C 语言是编译型程序设计语言的一种,它兼顾了各种高级语言和汇编语言的特点。 使用 C 语言进行程序设计已经成为单片机软件开发的主流。其有以下优点:1 、C语言具有语法简洁的特点2 、运算符丰富,夺得我有时后都分不清3 、数据结构类型丰富4 、结构化,就是想一小块一小块的程序,这样写起来容易5 、语法要求不严格,这样的话相对容易一些,但有时喉也不爽,有错的时候不知道语言的语法错了6 、功能强大,现在诸如nuix这样的操作系统就是用c 语言写的本设计使用被广泛应用的Keil uVision2 C 语言编译器为开发环境,进
22、行了单片机的 C 语言程序设计。综合考虑自动售货机的功能需求和硬件设计,软件程序的编写应该包括以下几个内容:主程序;键盘模块程序;液晶显示模块的程序;提示模块程序。4.2 主程序在程序层次结构方面,当系统上电之后,应先对其进行相关初始化(如对每种饮料价格的设定和商品原始库存数量的设定等)。然后程序应当进入无限循环,再根据相应的触发条件进入相应的子程序,完成相应的状态下的工作。由于系统在多个状态间跳转切换,所以在程序编写时比较适合应用循环结构实现。自动售货机工作的整个流程图如图4.1 所示。4.1 自动售货机的流程图主程序将调用其他子程序以达到自动售货机的完整工作。例如,当用户按下按键并顺利取得
23、货物时,主程序将调用TC1602AL 显示程序,以达到显示余额的功能,再让用户选择是否继续交易。主程序详见附录。4.3 键盘程序设计主程序中将直接对键盘实施控制,当用户在与自动售货机进行交易时,键盘则是重要的人机交互设备,对键盘的识别流程如图4.2。N图 4.2 按键识别模块原理图此次的键盘设计是以3X3 矩阵形式,其中前八个按键是货物选择键,第九个键盘是作为退币系统启动按键,当用户按下键盘,程序通过去抖动的方法来解除干扰,再以行扫描的方式来确定所按键盘,并确定键值,最后再等待顾客释放。4.4 字符型液晶显示模块程序设计TC1602AL 液晶模块的功能相对简单,而控制器的设置也不多,下面就介绍
24、常用的控制驱动特性。TC1602AL 的基本操作分为以下4 种 ,如表3-1 所示。表 3-1 TC1602AL 的基本操作类别名称输入输出状态字的读操作RS=L; RW=H ; EP=HDB0-7 读出为状态字数据读出操作RS=H; RW=H ; EP=HDB0-7 读出为数据指令写入操作RS=L; RW=L ; EP=上升沿无数据写入操作RS=H; RW=L ; EP=上升沿无TC1602AL 指令的描述(其中:L=0, H=1, X=0/1 )AC 为自动加一的输入方式。RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLLLLLLI/DSH功能:设置光标移动方向并指定整体显
25、示是否移动。I/D 表示地址的修改方式,也是光标的移动方式:I/D=1 :光标由左向右移动且AC 自动加一;I/D=0:光标由右向左移动且AC 自动减一。SH 表示是否允许显示画面的滚动方式:SH=0::禁止滚动;SH=1:允许滚动。SH=1 且 I/D=0:显示画面向右移动一个字符。SH=1 且 I/D=1 :显示画面向左移动一个字符。C=1:光标显示开;C=0:光标显示关。B=1:光标闪烁;B=0:光标不闪烁。00:光标左移;01:光标右移。10:所有显示左移:11:所有显示右移。6、功能设置CODE:RSR/WDB7DB6DB5LLLLHDB4DB3DB2DB1DB0DLNFXX功能:设
26、置接口数据位数(DL) 、显示行数(N)以及字形(F) 。DL=1 : 8位数据接口模式,DL=0: 4位数据接口模式(DB4-7 有效,在这种模式下,传送的方式为先高4 位,后低4 位) 。N=1:两行显示;N=0:单行显示。F=1: 5×10点阵模式加光标;F=0: 5×7点阵模式加光标。7、设置CGRAM 地址CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLLHACG5ACG4ACG3ACG2ACG1ACG0功能: 将 CGRAM 地址送入AC 中。 设置后 MCU 对数据的操作是对DDRAM的读 / 写操作。8、设置DDRAM 地址CODE:
27、RSR/WDB7DB6DB5DB4DB3DB2DB1DB0LLHADD6ADD5ADD4ADD3ADD2ADD1ADD0功能: DDRAM 地址送入AC 中。当 N=0 时, DDRAM 地址范围为:80H-FFH;当 N=1 时:第一行的DDRAM 地址范围为:80H-BFH;第二行的DDRAM 地址范围为:C0H-FFH10、写数据CODE:RSR/WDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:写数据到CGRAM 或是 DDRAM. 。如果写数据到CGRAM ,要先执行“设置 CGRAM 地址”命令;如果写数据到DDRAM ,则要先执行“设置
28、DDRAM 地址”命令。11、读数据CODE :RSR/WDB7DB6DB5DB4DB3DB2DB1DB0HLD7D6D5D4D3D2D1D0功能:从CGRAM 或是 DDRAM 读出数据。如果从 CGRAM 读数据,要先执行 “设置 CGRAM 地址”命令;如果写数据到DDRAM ,则要先执行“设置 DDRAM 地址”命令。执行读操作后,地址自动加/减 1 (根据输入方式设置指令)。TC1602AL 显示器在交易过程能起到金额显示作用,对显示器的识别流程如图4.3。显示模块程序详见附录。Y图 4.3 LCD 显示原理图4.5 提示模块程序设计本系统的提示模块将实现的功能是:当客户按下选货按键
29、后,如果金额足够,蜂鸣器不工作;如果金额不足,蜂鸣器将工作两秒,以提示余额不足,之后再停止工作。提示模块程序原理如图4.4。提示模块程序详见附录。4.4 提示模块原理图5 结 论本次的毕业设计是一次真正的理论与实际相结合,通过这次基于单片机的自动售货机系统的设计,不仅更加深入的了解了单片机等方面的理论知识,而且通过实际的动手操作,也更加成功地将理论知识与实际设计相结合在一起,全方面地提升了所学专业基础知识的理解和解决实际问题的能力,同时也提高我查阅文献资料、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,
30、虽然毕业设计内容多,我的收获却更加丰富。通过几个月的不断努力,我摆脱了单纯的理论知识学习状态,理论知识和实际设计的结合锻炼了我的综合运用所学专业基础知识的能力,使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是C 语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。致谢在毕业设计期间,每次的工作方案的确定、资料的收集还是论文的撰写,我都打到了指导老师薛老师的全力帮助和耐心指导。薛老师学识渊博、治学严谨而且还为人谦和、易于亲近,是我们学习和生活的榜样,在此我特向薛老师表示最崇高的敬意和由衷的感谢。其次,我要感谢每个曾经教导过我的所有老师们
31、,他们广博精湛的学识,严谨的治学态度使我学到的不仅是知识,还有对知识孜孜不倦的追求精神及做人的品质。同时 ,我也要感谢其他同学的帮助,从他们身上我学到了很多理论知识,自己的实践能力也得到了很大的提高。在未来的学习和工作中,我会继续努力,不断地实现自己的人生价值以更好的成绩来回报母校,回报社会。参考文献1 张毅刚等新编MCS-51 单片机应用设计哈尔滨工业大学出版社,20082 张志良单片机原理与控制技术机械工业出版社,20113 陈涛等货币识别器的原理与设计贵州大学电气工程学院,2006 年(第 35 卷)第 6 期4 王琼单片机原理及应用合肥工业大学出版社,20085 彭保基Keil C51
32、 入门教程西安交通大学,20056朱清慧,王志奎等Protues教程清华大学出版社,20117 陈慧基于嵌入式单片机的智能自动售货机控制系统华东交通大学学报,2008,第25卷第 6 期: 78-828 丁昊自动售货机控制系统的设计与实现东南大学硕士学位论文,20089 蔡美琴,张为民等MCS-51 系列单片机系统及其应用.北京高等教育出版社,2004:1-156,234-26810 张建龙一种新型自动售货机控制系统研发浙江工业大学硕士学位论文,200911 宋潇,李佩佩等自动售货机控制器设计科技信息,2009,第 3 期: 119-12012余世明,晁岳磊等自动售货机研究现状及展望中国工程科
33、学,2008, 第 10 卷第7期:51-5513 侯连宏自动售货机主控系统的研制东南大学硕士学位论文,200914 李明 C 语言程序设计教程上海交通大学,200815 广州捷胜吉电子科技字符液晶模块使用手册 201316 广州致远电子有限公司ZY1730 使用指南 201317 洪强宁, 齐国生等基于 MDB/ICP 协议的自动售卖系统的主控实现计算机应用2002,第 9 期: 28-30录 1 主函数程序#include <reg52.h>#include <intrins.h># include <absacc.h>sbit IN0=P32;#def
34、ine uchar unsigned char#define uint unsigned int sbit TuiBi=P31;uchar m=0;uchar a;/* sbit Row1=P10;sbit Row2=P11;sbit Row3=P12;sbit Line1=P13;/ 宏定义按键拐角定义*/sbit Line2=P14;sbit Line3=P15;uchar code chuhuo=0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/*延时程序*/void delay(uint count)uint i ;while (-count!
35、=0) for(i=0;i<125;i+);主程序初始化*/* void main( )LCD();a=Data;EA=1;EX0=1;IT0=1;/开中断while(1)Row1=0;Row2=0;Row3=0;Line1=1;Line2=1;Line3=1;TuiBi=1;P2=chuhuom;delay (500) ; void into_ISR(void) interrupt 0if (IN0=0)delay (10);/延时消抖if (IN0=0)Row1=0;Row2=1;Row3=1;if(Line1=0)/按键K1 被按下if (a>=1)m=1; a=a-1; D
36、ata=a;LCD();else Tishi();return;else if (Line2=0)/按键K2 被按下If (a>=1)m=2; a=a-1; Data=a;LCD();else Tishi();return;else if(Line3=0)/按键K3 被按下If (a>=1)m=3; a=a-1; Data=a;LCD();else Tishi();return;Row1=1;Row2=0;Row3=1;if(Line1=0)/按键K4 被按下if (a>=2)m=4; a=a-2; Data=a;LCD();else Tishi();return;else
37、if (Line2=0)/按键K5 被按下If (a>=2)m=5; a=a-2; Data=a;LCD();else Tishi();return;else if(Line3=0)/按键 K6 被按下If (a>=2)m=6; a=a-2; Data=a;LCD();else Tishi();return;Row1=1;Row2=1;Row3=0;if(Line1=0)/按键K7 被按下if (a>=3)m=7; a=a-3; Data=a;LCD();else Tishi();return;else if (Line2=0)/按键K8 被按下If (a>=3)m=8
38、; a=a-3; Data=a;LCD( );安徽新华学院2013 届本科毕业论文(设计)34else Tishi( ); return;else if(Line3=0)/按键 TuiBi 被按下TuiBi=0; / 启动退币系统String_s1="We appreciate your"String_s2= "business,bye!"LCD();return;录 2 TC1602AL 显示程序#include <reg52.h># include <absacc.h>#include <intrins.h>sbi
39、t LCD_EP=P36;sbit LCD_RW=P35;sbit LCD_RS=P34;#define uchar unsigned char ;#define uint unsigned int#define LCDOut P0/ 宏定义#define LCD_In P0code uchar LCD_addr18=/共18 行显示的首地址0x85,0xc5,0x86,0xc1,0x82,0xc3,0x83,0xc3,0x83,0xc0,0x81,0xc0,0x82,0xc6,0x84,0xc6, 0x81,0xc3;code uchar LCD_InitialCode=0x30,0x30,
40、0x30,0x38,0x01,0x06,0x0c;uchar *string_s1,*string_s2;uchar i,j;/*/初始化代码函数 : void LCD_DataWrite(unsigned char Data)描述: 写一个字节的显示数据至LCD 中的显示缓冲RAM 当中参数: Data 写入的数据*/void LCD_DataWrite(unsigned char Data)安徽新华学院2013 届本科毕业论文(设计) unsigned int Read_Dat=0;LCD_EP = 0;/EP、 RS 端口为低,RW 为高LCD_RS = 0;LCD_RW = 1;do/
41、RS=0,RW=1 时,在 E 高电平作用下,BF 输出到总线DB7 上LCD_In = 0xff;LCD_EP = 1;Read_Dat = LCD_In&0x80;LCD_EP = 0;while(Read_Dat!=0);/读状态字(BF 位)并判断是否可进行读写操作LCD_RW = 0;LCD_RS = 1;LCD_Out = Data;LCD_EP = 1;LCD_EP = 0;/*函数 : void LCD_RegWrite(uchar Command)描述 : 写一个字节的数据至LCD 中的控制寄存器当中参数 : Command 写入的数据(byte)*/void LCD_RegWrite(uchar Command) uint Read_Dat=0;LCD_EP = 0;/EP、 RS 置低, RW 置高,表为读状态字LCD_RS = 0;LCD_RW = 1;do LCD_In = 0xff;LCD_EP = 1;Read_Dat = LCD_In&0x80;LCD_EP = 0;while(Read
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城轨火灾专项应急预案(3篇)
- 计算机软件技术员试题及答案分析指导
- 火灾触电应急预案范文(3篇)
- 《机电一体化设备安装与调试》课件-学习情景九 组态软件在机电一体化设备上和自动生产线上的应用
- 高考作文与文化自信的表达探讨试题及答案
- VB编程的艺术与试题及答案的提升
- 2025年VB考试经验分享与试题答案
- VB编程思维试题及答案
- 2025年行业整合与公司战略试题及答案
- 高教与经济发展的联系探讨试题及答案
- 春天就是我童声合唱简谱
- 普安金桥百汇项目经理变更申请书
- (新版)国家统计执法证资格考试备考题库(含答案)
- 供应过程的核算说课市公开课金奖市赛课一等奖课件
- 《有趣的推理》课件公开课
- 工作单位接收函
- 研究生英语综合教程上-课文 翻译
- 中国联通cBSS系统使用培训-第一部分
- 施工进度网络图、施工进度横道图模板大全
- CRCC认证目录
- 因式分解—完全平方公式
评论
0/150
提交评论