自动售货机设计毕业设计_第1页
自动售货机设计毕业设计_第2页
自动售货机设计毕业设计_第3页
自动售货机设计毕业设计_第4页
自动售货机设计毕业设计_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

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

文档简介

1、 第一章 绪 论课题背景自动售货机又称自动售货亭是能根据投入的钱币自动付货的机器,是商业化常用设备。一般的自动售货机系统由货币识别系统,按键系统,出货系统等组成。公元 1 世纪 , 希腊人希罗制造的自动出售圣水的装置是世界上最早的自动售货机。1925 年美国研制出售香烟的自动售货机,此后又出现了出售邮票、车票的各种现代自动售货机。现代自动售货机的种类、结构和功能依出售的物品而异,主要有食品、饮料、香烟、邮票、车票、日用品等自动售货机。自动售货机是一种全新的商业零售形式,20 世纪 70 年代自日本和欧美发展起来。它又被称为24 小时营业的微型超市。在日本,70的罐装饮料是通过自动售货机售出的。

2、全球著名饮料商可口可乐公司在全世界就布有50 万台饮料自动售货机。但是在中国市场,自动售货机出售出售的商品一般比超市、便利店的贵。但在美国、日本这些自动售货业已经十分发达的国家,自动售货机出售商品的价格是浮动的,跟机器所处位置、周边商业环境相关。在美国,自动售货机的竞争对手主要是便利店,与便利店为邻的自动售货机出售的商品往往以价格便宜取胜。南开大学市场营销学韩德昌教授指出,自动售货机具有技术含量高、销售方式新、市场潜力大、商品货真价实等优点,决定了它广阔的发展前景。而且,它与电子购物等新型消费方式相通,能创造巨大的商机。在天津南开戈德股份有限公司的展览台前看到,只要顾客用手机拨打自动售货机上显

3、示的一个号码,就可以通过手机付费的方式买到东西,顾客只需月底支付手机账单。专家预测,未来几年中国市场上的自动售货机将每年增加5 10 万台。中国沿海比较富裕的地区,将大约有3.5 亿人口经常使用自动售货机。课题任务及要求研究自动售货机发展过程及前景,完成自动售货机的系统结构设计。本次自动售货机一共设有3 种 2 元, 3 元, 4 元价格不等的物品,当货币被投入后,对货币进行识别,根据金额让客户选择物品,物品选择后,控制芯片发出指令将所选择的商品从储备料道口中送达取物口。如果客户累计所投入金额大于物品价格时,机器实现找钱功能,当交易不成功时,机器退回顾客所投的货币。另外,本次设计的自动售货机可

4、实现同时都买2 到 3 个货物。课题内容及安排首先,介绍自动售货机的历史,现状及前景。然后,概述本次自动售货机的系统机构和功能简介。并突出介绍本次自动售货机的硬件接口电路:投币系统,货币累加LED显示,货物选择,出货系统,找零系统。最后在 proteus 上进行仿真。本次课题芯片才用美国ATMEL公司生产的MCS-21系列的ATM89C51单片机, 采用汇编语言进行编写。选用可以与51 系列单片接口直接相连的 TC1602液晶模块经行显示。在英国 labcenter 公司开发的proteus 嵌入式系统仿真与开发环境平台上仿真。第二章 自动售货机的总体概括2.1 自动售货机介绍自动售货机是能够

5、根据投入的钱币自动付货的机器,它是商业自动化的常用设备,不受时间、地点的限制,能节省人力、方便交易。现代的自动售货机的种类、结构和功能依出售的商品而异。钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。自动售货机自动输出顾客所要的商品。因此,自动售货机在商业,食品行业越来越普及,更方便消费者购买自己所需的商品。使用方便、可靠、节省人力的自动售货机将在社会生活中成为一种趋势。自动售货机是本世纪70 年代在日本、欧美发展起来的高新技术现代应用产品,被称为24 小时营业的微型超市,售货领域已扩展至小食品、小用

6、品、香烟、电话卡、车票、邮票等。目前在40 多个国家已经广泛使用,日本平均每23 人一台,美国平均每40 人一台,欧洲平均每60人一台。在邻国日本,70%份额的罐装饮料市场是通过自动售货机售出的;美国可口可乐公司拥有五十余万台饮料自动售货机分布在世界各地。通过自动售货机销售将成为商品零售业不可分割的重要组成部分。保有量约2 万台,且品种单一,主要以瓶饮料售货机为主,技术质量还未完全过关,生产和运营成本较高,收益也不高。导致此现状的主要原因是中国有关的自动售货机企业未能有效解决成本,质量,运营等诸多问题。但由于随中国经济的快速发展和社会的巨大进步,自动售货机的实际需求已相当大。现在, 自动售货机

7、产业正在走向信息化并进一步实现合理化。例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送、补充以及商品选定的顺利进行。并且,为防止地球暖化,自动售货机的开发致力于能源的节省,节能型清凉饮料自动售货机成为该行业的主流。在夏季电力消费高峰时,这种机型的自动售货机即使在关掉冷却器的状况下也能保持低温,与以往的自动售货机相比,它能够节约10 15的电力。进入21 世纪时,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。2.2自动售货机的研究意义面对当前快速商品社会,人们的时间观念越来越重,如何才能更快的购买到顾客自己所需的商品,这都是顾客

8、和商家共同面临的问题。随着科技的发展及人们生活水平的提高,自动售货机市场的发展越来越呈现出多元化及个性化的需求。通过自动售货机进行自助购物正逐渐成为市民的一种新的消费时尚,快捷方便的购物方式满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设能够美化亮化城市环境,方便群众生活,已经成为城市各角落的一道亮丽风景线。自动售货机已在国内普及,并成为城市现代文明程度的一种象征性标志。第三章 硬件介绍单片机的介绍单片机从外观来看实际就是一个具有多个引脚的集成电路芯片,而芯片的内部结构是无法直观看到的。为了更好地使用单

9、片机进行应用设计, 需要从总体上理解单片机芯片内部的结构。下图为单片机内部结构:图 3.1 单片机内部结构图单片机芯片内部主要包括以下8 个组成部分:中央处理单元( CPU) ,时钟电路,程序存储器(ROM),数据存储器(RAM),并行I/O 接口,串行接口,定时/ 计数器,中断系统。中央处理单元(CPU) 。它是单片机运算与控制的核心部分,如果把单片机比作一个人,那么CPU 就好比是这个人的大脑。时钟电路。它主要用来向CPU 提供工作的节拍。时钟电路每产生一个时钟节拍,CPU 就会完成一部分工作,CPU 的所有运算以及控制操作都是按时钟节拍进行控制完成的。时钟电路就好比人的心脏,控制着这个

10、CPU 工作的节奏。程序存储器(ROM ) 。它是用来存储由CPU 执行的应用程序或者常数数据表的二进制代码的。数据存储器(RAM ) 。用于保存应用程序以及单片机自身在运行 过程中所要使用数据的二进制代码。并行接口。并行接口即并行输入/输出接口,简称并口。用于单 TOC o 1-5 h z 片机芯片与外部设备同时交换多位二进制数据。例如,来自外部的8 位二进制数据可以通过并口的8 个 I/O 引脚同事进入单片机;相反,来自外部的二进制数据也可以通过并口输入到单片机。如果将单片机应用于控制,可以使用并口接收和发出开关量控制信号。80C51 单片机具有4个并口,分别为P0, P1, P2, P3

11、,而且每个并口又包括8个 I/O 引脚,所以最多可以输入输出32 个二进制数字信号。串行接口。串行接口简称串口。与并口相比,串口每次只能发送或接收 1 位二进制信息,如果要传送一个8 位二进制数据,需要传送8次,但串口传数据可使用3 条导线进行,硬件连接比较简捷。定时 /计数器。80C51 单片机给用户提供了两个定时/计数器T0和 T1,它们既可以作为定时器使用也可以作为计数器使用,具体功能可由用户编程设置。在单片机应用时往往需要产生定时信号或对时间发生的次数进行计数,定时/计数器提供了这样的功能。中断系统。在实际应用中,有些时间出现时需要单片机暂停现行的工作马上进行处理,待处理完事件后再继续

12、进行被暂停的工作,中断系统为解决这类问题提供了有效的手段。80C51 单片机的中断系统可以处理来自外部的中断触发信号中断,串口中断,定时或计数器中断。上述 8 个组成部分通过内部总线紧密连接起来,形成了一个麻雀虽小五脏俱全的计算机系统,再配上相应的外围电路就可实现各种各样的实际应用系统8 。3.1.1 AT89C51 的介绍在本次设计中,中央控制元件采用MCS-51系列单片机中AT89C51。AT89C51可以说是最常用的51 单片机 , 下图介绍它的引脚资料。如图 3.2所示 .图 3.2 AT89C51 引脚图AT89C51是美国ATMEL公司生产的低电压,高性能CMOS位单片机,84k

13、bytes 的可反复擦写的只读程序存储器(PERO)和M 128 bytesRAM) ,器件采用ATMEL公司的高密度、非易失兼容标准MCS-51指令系统,片内置通用8 位中央处理( CPU) 和 Flash 存储单元,功能强大AT89C51单片机可为您提供许多。主要性能参数:与MCS-51产品指令系统完全兼容4k 字节可重擦写Flash 闪速存储器1000次擦写周期全静态操作:0Hz 24MHz三级加密程序存储器128 8 字节内部RAM32 个可编程I O口线2 个 16 位定时计数器6 个中断源可编程串行UART通道低功耗空闲和掉电模式2管脚说明:VCC:供电电压。GND:接地。P0口:

14、P0口为一个8 位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当P1 口的管脚第一次写1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/ 地址的第八位。在 FIASH编程时, P0 口作为原码输入口,当FIASH进行校验时,P0 输出原码,此时 P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的8 位双向 I/O 口, P1口缓冲器能接收输出4TTL 门电流。P1 口管脚写入1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1 口作为第八位地址接收。P2口: P2口

15、为一个内部上拉电阻的8 位双向 I/O 口, P2 口缓冲器可接收,输出4 个 TTL 门电流,当P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。P3 口: P3 口管脚是8 个带内部上拉电阻的双向I/O 口,可接收输出 4 个 TTL

16、门电流。当P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。P3 口也可作为AT89C51 的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD (串行输出口)P3.2 /INT0 (外部中断0)P3.3 /INT1 (外部中断1 )P3.4 T0 (记时器0 外部输入)P3.5 T1 (记时器1 外部输入)P3.6 /WR (外部数据存储器写选通)P3.7 /RD (外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器

17、复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6 。因此它可用作对外部输出的脉冲或用于定时目的。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器 TOC o 1-5 h z ( 0000H-FFFFH) , 不管是

18、否有内部程序存储器。注意加密方式1 时,/EA 将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。 在 FLASH编程期间,此引脚也用于施加12V编程电源( VPP) 。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3振荡器特性:XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.1.2单片机复

19、位电路的介绍当 MCS-51 系列单片机的复位引脚RST出现两个机器周期以上的高RST持续为高电平,单片机就处0000H 地址单元处开始执行程序。根据应用的要求,复位操作通常有两种基本的方式:上电复位和上上电复位要求接通电源后,自动实现复位操作。在上电的瞬间,RCRST 引脚出现正脉冲,RC 电路使 RST 引脚的高电平保10ms 以上,保证单片机有效进行复位。随着对电容的充电,RST 引R和 CRST 引脚维持高电平的时间,以实现可靠的复位。在复位电R 的值为1K, C 的值为 22uF.在实际复位电路设计中,常常将上电复位电路与开关复位电路两种3.3上电复位电路图 3.4上电复位和按钮复位

20、电路3.1.3时钟电路的介绍时钟电路是单片机产生工作节拍电路,它控制着单片机的工作节奏。MCS-51 系列单片机的时钟电路设计有两种方式:一是内部时钟方式,1. 内部时钟方式在 MCS-51系列单片机的内部,有一个用于构成振荡器的高增益反相XTAL1为反相器的输入端,引脚XTAL2为输3.5:MCS-51 系 列 单 片 机 的 晶 体 振 荡 器 的 频 率 范 围 通 常 选 择 在1.2 12MHz之间,典型值为12MHz或 11.0592MHz。图2-5 中电容C1,C2主要作用是帮助晶体振荡器起振,它的值通常在20 100pf 之间。当12MHz时,电容的大小通常选择30pf。一般在

21、设计时图 3.5 内部时钟电路图2.外部时钟电路外部时钟方式是利用外部振荡器时钟源直接来连接单片机在XTAL1或 XTAL2引脚。通常XTAL1 接地,XTAL2接外部时钟,由于考虑XTAL2的逻辑电平匹配,一般加一个4.7 10K的上拉电阻如3.6 图所示。 这种外部时钟方式的设计方法使用较少9 。图 3.6 外部时钟电路图3.2 LED 的介绍LED 基本信息LED( Light Emitting Diode ),发光二极管,是一种固态的半导体器件,它可以直接把电转化为光,LED 的心脏是一个半导体的晶片,晶片P型P型半导体,在它里面空穴占主导地位,另一端是N 型半导体,在这边主要是电子。

22、 但这两种半导体连接起来的时候,它们之间就形成一个“P-N 结 ”。当电流通过导线作用于这个晶片的时候,电子就会被推向P 区,在 P 区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是 LED 发光的原理。而光的波长决定光的颜色,是由形成P-N 结材料决定的。LED 发光原理发光二极管是由-族化合物,如 GaAs( 砷化镓) 、 GaP(磷化镓)、GaAsP(磷砷化镓)等半导体制成的,其核心是PN 结。因此它具有一般P-N 结的 I-N 特性,即正向导通,反向截止、击穿特性。此外,在一定条件下,它还具有发光特性。在正向电压下,电子由N 区注入 P 区,空穴由 P 区注入 N 区。进入对方

23、区域的少数载流子(少子)一部分与多数载流子(多子)复合而发光。假设发光是在P 区中发生的,那么注入的电子与价带空穴直接复合而发光,或者先被发光中心捕获后,再与空穴复合发光。除了这种发光复合外,还有些电子被非发光中心(这个中心介于导带、介带中间附近)捕获,而后再与空穴复合,每次释放的能量不大,不能形成可见光。发光的复合量相对于非发光复合量的比例越大,光量子效率越高。由于复合是在少子扩散区内发光的,所以光仅在靠近PN 结面数 m 以内产生。理论和实践证明,光的峰值波长 与发光区域的半导体材料禁带宽度Eg有关,即 1240/Eg( nm)式中 Eg 的单位为电子伏特(eV) 。若能产生可见光(波长在

24、380nm紫光780nm红光),半导体材料的Eg应在3.26 1.63eV之间。比红光波长长的光为红外光。现在已有红外、红、黄、绿及蓝光发光二极管,但其中蓝光二极管成本、价格很高,使用不普遍10。3.3.3 TC1602介绍本次设计选用TC1602液晶显示屏。可以直接跟51 系列单片接口相连。液晶模块TC1602采用标准的16 脚接口,其引脚功能如下第1 脚:VSS为电源地,接GND。第2 脚:VDD接5V正电源。第3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“ 鬼影 ” ,使用时可以通过一个 10K的电位器调整对比度。第 4 脚:RS

25、为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS和 RW共同为低电平时可以写入指令或者显示地址,当 RS为低电平RW为高电平时可以读忙信号,当 RS为高电平RW为低电平时可以写入数据。第 6 脚:E 端为使能端,当E 端由高电平跳变成低电平时,液晶模块执行命令。第 7 14 脚:D0 D7为 8 位双向数据线。第 15脚:BLA背光电源正极(+5V)输入引脚。第 16 脚:BLK背光电源负极,接GND。TC1602液晶模块内带标准字库,内部的字符发生存储器(CGRO) M已经存储了192 个 57 点

26、阵字符,32 个 5 10 点阵字符。另外还有字符生成RAM( CGRA)M512 字节,供用户自定义字符。如表1 所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B( 41H) ,显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。1602液晶模块内部的控制器共有11 条控制指令指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令 3:光标和显示模式设置I/D :光标移动方向,高电平右移,低电平左移S: 屏幕上所有文字是否左移

27、或者右移。高电平表示有效,低电平则无效指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标指令 6:功能设置命令DL:高电平时为4 位总线,低电平时为8位总线 N: 低电平时为单行显示,高电平时双行显示F: 低电平时显示5x7的点阵字符,高电平时显示5x10 的点阵字符指令7:字符发生器RAM地址设置指令8: DDRAM地址设置指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不

28、能接收命令或者数据,如果为低电平表示不忙。指令10:写数据指令11:读数据4TC1602液晶显示屏的读写时序:写操作时序:3.7 3.83.3 keil 软件介绍Keil C51 V ision2 集成开发环境是Keil Software, Inc/Keil ElektronikGmbH 开发的基于80C51 内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是C 编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。Keil C51

29、集成开发环境的主要功能有以下几点:. Vision2 for Windows :是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中;.C51 国际际准化C交叉编译器:从C源代码产生可重定位的目标模块;.A51 宏汇编器:从80C51汇编源代码产生可重定位的目标模块;.BL51 链接器 /定位器:组合由C51 和 A51 产生的可重定位的目标模块,生成绝对目标模块;5.LIB51 库管理器:从目标模块生成连接器可以使用的库文件;6.OH51目标文件至HEX格式的转换器,从绝对目标模块生成IntelHex文件;7 RTX-51 实时操作系统:简化了复杂的实时应用软件

30、项目的设计。 这个工具套件是为专业软件开发人员设计的,但任何层次的编程人员都可以使用,并获得80C51单片机的绝大部分应用。3.3.1 keil c Visio功能 n2 Vision2 支持所有的Keil 80C51 的工具软件,包括C51 编译器、宏汇编器、 链接器器/定位器和目标文件至Hex 格式转换器, Vision2 可以自动完成编译、汇编、链接程序等操作。1. C51 编译器和A51 汇编器由 Vision2 IDE创建的源文件,可以被C51编译器或A51汇编器处理,生成可重定位的object 文件。 Keil C51 编译器遵照ANSI C语言标准, 支持C语言的所有标准特性。另

31、外, 还增加了几个可以直接支持80C51结构的特性。Keil A51 宏汇编器支持80C51及其派生系列的所有指令集。 2.LIB51 库管理器 LIB51 库管理器可以从由汇编器和编译器创建的目标文件建立目标库。这些库是按规定格式排列的目标模块,可在以后被链接器所使用。当链接器处理一个库时,仅仅使用了库中程序使用了的目标模块而不是全部加以引用。3.BL51 连接器 /定位器BL51 链接器使用从库中提取出来的目标模块和有编译器、汇编器生成的目标模块,创建一个绝对地址目标模块。绝对地址目标文件或模块包括不可重定位的代码和数据。所有的代码和数据都被固定在具体的存储器单元中。 Vision2 软件

32、调试器 Vision2 软件调试器能十分理想地进行快速、可靠的程序调试。调试器包括一个高速模拟器,可以使用它模拟整个80C51 系统,包括片上外围器件和外部硬件。当从器件数据库选择器件时,这个器件的属性会被自动配置。 Vision2 硬件调试器 Vision2 调试器提供了几种在实际目标硬件上测试程序的方法。安装 MON51目标监控器到目标系统,并通过 Monitor-51 接口下载程序;使用高级GDI接口,将 Vision2 调试器与多功能EDA软件Proteus 相连接,通过 Vision2 的人机交互环境可实现仿真操作。RTX51 实时操作系统RTX51实时操作系统是针对80C51为控制

33、器系列的一个多任务内核。RTX51实时内核简化了需要对实时事件进行反应的复杂应用的系统设计、编程和调试。这个内核完全集成在C51 编译器中,使用非常简单。任务描述表和操作系统的一致性由BL51 链接 /定位器自动进行控制。此外, Vision2 还具有极其强大的软件环境、友好的操作界面和简单快捷的操作方法,主要表现在以下几点:丰富的菜单栏;可以快速选择命令按钮的工具栏;一些源代码文件窗口;对话框窗口;直观明了的信息显示窗口。3.3.2 keil c的基本操作Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友

34、好,易学易用。下面介绍Keil C51 软件的使用方法进入 Keil C51 后,屏幕如下图所示。几秒钟后出现编辑界3.9 启动 Keil C51 时的屏幕3.10 进入 Keil C51 3.9 启动 Keil C51 时的屏幕3.10 进入 Keil C51 后的编辑界面建立一个新工程单击Project菜单,在弹出的下拉菜单中选中New Project选项3.113.11然后选择你要保存的路径,输入工程文件的名字,比如保存到C51,工程文件的名字为C51 如下图所示,然后点击保存图 3.12这时会弹出一个对话框, 要求你选择单片机的型号, 你可以根据,keil c51 几乎支持所有的51核

35、的单片机, 我这里Atmel 的 89C51来说明, 如下图所示, 选择 89C51,右边栏是对这个单片机的基本的说明,然后点击确定。图 3.13完成上一步骤后,屏幕如下图所示3.143.14到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个程序。5) 在下图中,单击“ File菜单,再在下拉菜单中单击 ”“ New”选项图 3.15新建文件后屏幕如下图所示图 3.16此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者建议首先保存该空白的文件,单击菜单上的“ File ” ,在下拉菜单中选中 “ Save As” 选项单击,屏幕如下图所示,在“ 文件名 ” 栏右侧的编辑框

36、中,键入欲使用的文件名,同时,必须键入正确的扩展名。注意,如果用语言编写程序,则扩展名为(.c) ;如果用汇编语言编写程序,则扩展名必须为(.asm) 。然后,单击“ 保存 ” 按钮。3.176) 回到编辑界面后,单击“ Target 1前面的 ”“ ”号,然后在“ SourceGroup 1 ”上单击右键,弹出如下菜单所示:3.18然后单击“ Add File to Group Source Group 1 ” 屏幕如下图3.19选中 所示:3.18然后单击“ Add File to Group Source Group 1 ” 屏幕如下图3.19选中 Test.c ,然后单击“ Add ”

37、 屏幕好下图所示注意到 “ Source Group 1 ” 文件夹中多了一个子项“ Text1.c ” 了吗?子项的多少与所增加的源程序的多少相同。7)现在,请输入如下的C语言源程序:#include /包含文件#include void main(void) /主函数 SCON=0 x52;TMOD=0 x20;TH1=0 xf3;TR1=1; /此行及以上3行为 PRINTF函数所必须printf( “ Hello I am KEInL”. ); 打印程序执行的信息/printf( “ I will be your friennd”. );while(1);在输入上述程序时,读者已经看到

38、了事先保存待编辑的文件的好处了吧,即 Keil c51 会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下图所示图 3.218)在上图中,单击“ Project菜单,再在下拉菜单中单击 ”“ Built TargetF7),编译成功后,再单击“ Project菜单,在下 ”“ Start/StopDebug Session(或者使用快捷键 ”Ctrl+F5) ,屏幕如下所示图 3.229)调试程序:在上图中,单击“ Debug菜单,在下拉菜单中单击”“ Go”(或者使用快捷键F5) , 然后再单击“ Debug”菜单,在下拉菜单中单

39、“ Stop Running选项(或者使用快捷键 ”Esc) ;再单击“ View”菜单,再在“ Serial Windows #1选项,就可以看到程序运行后的结 ”果,其结果如下图所示3.23至此, 我们在 Keil C51 上做了一个完整工程的全过程。但这只是纯软 件的开发过程,如何使用程序下载器看一看程序运行的结果呢?10) 单击 “ Projec菜单,t ” 再在下拉菜单中单击在下图中,单击“ Output中单击”“ Create HEX File 选项,使程序编译后”产生HEX代码,供下载器软件使用。把程序下载到AT89S51单片机中63.243.4 proteus软件介绍Prote

40、us 嵌入式系统仿真与开发平台是英国Labcenter 公司开发的,是目前世界上最先进、最完整的嵌入式系统设计与仿真平台。它是一种可视化的支持多种型号单片机(51 系列、AVR、 PIC、 ARM等) ,并且支持与当前流行的单片机开发环境(Keil 、 MPLA、B IAR)连接调试的软硬件仿真系统。Proteus 除了具有和其他EDA工具一样的原理图、PCB自动或人工布线及电路仿真功能外,针对微控制系统与外设的混合电路的电路仿真、软件仿真、系统协同仿真也做到了一体化和互动效果,是目前电子设计爱好者广泛使用的电子线路设计与仿真软件Proteus 和Multisim 功能的联合和进一步发展。Pr

41、oteus 软件已有近20 年的历史,在全球拥有庞大的企业用户群,是目前唯一能够对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了在没有目标原型时就可对系统进行设计、测试与验证。由于Proteus 软件包括逼真的协同仿真功能,得到了包括剑桥大学在内的众多大学用户作为电子学或嵌入式系统的课程教学、实验和水平考试平台。目前, Proteus 在国内单片机开发者及单片机爱好者之中已开始普及,有很多开发者已经开始用此开发环境进行仿真。3.4.1 PROTEUS软件的特点1. 功能特点Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是: ( 1)原理布图PCB自

42、动或人工布线SPICE电路仿真2.革命性的特点( 1)互动的电路仿真用户甚至可以实时采用诸如LED/LCD 、键盘、RS232终端等动态外设模型来对设计进行交互仿真。( 2)仿真处理器及其外围电路可以仿真 51系列、 AVR、 PIC等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。3.4.2 proteus实现仿真 PROTEUS实现软件仿真.支持多种主流单片机系统的仿真支持当前的主流单片机,如 51系列、AVR系列、PIC12系列、PIC16系列、PIC

43、18系列、Z80系列、HC11系列、68000系列等。2)提供软件调试功能3)提供丰富的外围接口器件及其仿真RAM , ROM,键盘,马达,LED, LCD, AD/DA,部分 SPI器件,部分 IIC器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。提供丰富的虚拟仪器利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。具有强大的原理图绘制功能2.用 proteus单独仿真在 PROTUE绘制好原理图后,S调入已编译好的目标代码文件:*.HEX,可以在PROTEU的原理图中看到模拟的实物运行状态和过程。S3.4.3PROTEUS软件基本操作本文

44、中由于我们主要使用Proteus软件在单片机方面的仿真功能,所以我们重点研究ISIS 模块的用法,在下面的内容中,如不特别说明,我们所说的Proteus软件特指其ISIS 模块。下面我们首先来熟悉一下Proteus的界面。Proteus是一个标准的Windows 窗口程序,和大多数程序一样,没有太大区别,其启动界面如下图所示:3.25如图中所示,区域为菜单及工具栏,区域为预览区,区域为元器件浏览区,区域为编辑窗口,区域为对象拾取区,区域为元器件调整工具栏,区域为运行工具条。下面我们就以建立一个和我们在Keil 简介中所讲的工程项目相配套的 Proteus 工程为例来详细讲述Proteus 的操

45、作方法以及注意事项。首先点击启动界面区域中的“P”按钮(Pick Devices,拾取元器件)来打开“Pick Devices ”(拾取元器件)对话框从元件库中拾取所需的元器件。对话框如下图所示:在对话框中的“ Keywords” 里面输入我们要检索的元器件的关键词,AT89C51,就可以直接输入。输入以后我“Results ”结果栏里面看到我们搜索的元器件的结果。PCB参数。这里有一点需要注意,可能有时候我们选择的元器件并没有仿真模“No Simulator Model” (无PCB板,或者我们选择其他的与其功能类似而且具有仿真模型的搜索到所需的元器件以后,我们可以双击元器件名来将相应的元器

46、“OK”按钮来完成元器件的添加。添加好元器件以后,下面我们所需要做的就是将元器件按照我们的Proteus 的自动布线功能是如此的完美以至于我们在做布图 3.26因为该工程十分简单,我们没有必要加上复位电路,所以这点在图Proteus中单片机的晶振可以省略,系12MHz,而且很多时候,当然也为了方便,我们只需要取默认下面我们来添加电源。先说明一点,Proteus中单片机芯片默认已经:( Selection Mode)。选择模式,通常情况下我们都需要选中它,比:( Component Mode)。组件模式,点击该按钮,能够显示出区域:( Wire Label Mode)。线路标签模式,选中它并单击

47、文档区电路连线能够为连线添加标签。经常与总线配合使用。:( Text Script Mode)。文本模式,选中它能够为文档添加文本。: ( Buses Mode)。总线模式,选中它能够在电路中画总线。关于总线画法的详细步骤与注意事项我们在下面会进行专门讲解。:( Terminals Mode)。终端模式,选中它能够为电路添加各种终端,比如输入、输出、电源、地等等。l :( Virtual Instruments Mode)。虚拟仪器模式,选中它我们能够在区域中看到很多虚拟仪器,比如示波器、电压表、电流表等等。好了,下面我们就来添加电源。首先点击,选择终端模式,然后在元器件浏览区中点击POWER

48、(电源)来选中电源,通过区域中的元器件调整工具进行适当的调整,然后就可以在文档区中单击放置电源了。放置并连接好线路的电路图一部分如下图所示:3.27连接好电路图以后我们还需要做一些修改。由上图我们可以看出,图中的 R1电阻值为10k, 这个电阻作为限流电阻显然太大,将使发光二极管 D1亮度很低或者根本就不亮,影响我们的仿真结果。所以我们要进行修改。修改方法如下:首先我们双击电阻图标,这时软件将弹出“EditComponent”对话框(见下图所示的对话框),对话框中的“ComponentReferer”是组件标签之意,可以随便填写,也可以取默认,但要注意在同一文档中不能有两个组件标签相同;“ R

49、esistance”就是电阻值了,我们可以在其后的框中根据需要填入相应的电阻值。填写时需注意其格式,如果直接填写数字,则单位默认为 ;如果在数字后面加上K或者k,则表示 k 之意。这里我们填入270,表示270 。修改好各组件属性以后就要将程序(HEX文件)载入单片机了。首先双击单片机图标,系统同样会弹出“ Edit Component” 对话框, 如下图。在这个对话框中我们点击“Program files”框右侧的,来打开选择程序代码窗口,选中相应的HEX文件后返回,这时,按钮左侧的框中就填入了相应的 HEX文件,我们点击对话框的“OK”按钮,回到文档,程序文件就添加完毕了。3.28装载好程

50、序,我们就可以进行仿真了。首先来熟悉一下上面第一个图中区域的运行工具条。因为比较简单,我们只作一下介绍。工具条从左到右依次是“Play”、 “ Step”、 “ Pause”、 “ Stop”按钮,即运行、步进、暂停、停止。下面我们点击“Play”按钮来仿真运行,效果如下图所示,可以看到系统按照我们的程序在运行着,而且我们还能看到其高低电平的实时变化。如果我们已经观察到了结果就可以点击“ Stop”来停止运行7。3.29第四章 自动售货机的系统结构4.1 自动售货机的总体系统结构自动售货机是集光、机、电一体化的独立机构,它只需要顾客投币和按购物键选择即可自动售货及退找零钱,其工作程序如下图4.

51、1 1图 4.1 自动售货机工作时序图售货机的工作原理是:( 1)从投币口送入货币,然后通过传感器采集数据、识别器判断货币的真伪并判别面值。( 2)识别器把信息数据传给通信模块。( 3)通信模块与售货机的主控系统通信,主控系统显示面值,启动售货机的面板键,显示出哪个货道有货,哪个货道已经售完,并等待顾客按键选择商品。( 4)顾客选择商品后,售货机自动把商品送出,等待顾客取走。( 5)显示余额,如果金额足够多,顾客可以选择找币或者继续买商品;如果款额不够,售货机经过延时予以退币。退币分为两种情况:一种是由货币识别器完成退纸币,另一种是由硬币的通信模块完成退硬币。( 6)系统复零,完成售货。4.2

52、 所示图 4.2 自动售货机硬件结构图综合所述,售货机系统可以分为三部分组成,即自动售货机的控制子系统、通讯子系统、硬币器子系统以及纸币器子系统。其中控制子系统是本设计研究重点。4.2 自动售货过程的控制子系统简述控制子系统由以下四个部分组成,分别是预设自动售货机系统、金额累计、可售指示和退币系统、售完检测系统、售出累计及自测功能系统。、预设自动售货机系统。自动售货机售出的同类商品可分为若干品种,其售前设定价格须预先寄存在控制系统内。售货机的价格设置由按键和存储器组成。通过按键选择被设价商品的种类及价格,并将价格写入存储器中,该存储器本身具有掉电保护功能,属于软件设置方式。此外, 在简易售货机

53、中,由于出售商品的种类少,价格变化下,使用币种单一,也可以用硬件设置价格,采用拨码开关对应方式,结构简单,操作方便。2、金额累计、可售指示和退币系统。控制系统的核心CPU对识币、 退币、 无货检验及购货信号进行循环检查,当有识币信号后,将金额数值送入金额累计存储器中进行累计,并通过串行接口使可售指示灯亮,提示购货。此时可以按下购货按钮,由于CPU检测到有购货信号后,如金额累计器中的数值与预设价格相等,则通过并行扩展接口驱动电磁阀或者微电机驱动出商品,并将金额累计存储器清零,完成一次售货过程,如累计金额大于预设价格时,驱动商品后,相减差额由信号驱动退币,实现退币和找钱功能。3、售完检测系统。在自

54、动售货机商品存储存道下方按有接触行程开关,当存储存道有商品时,压下行程开关,自动售货机正常工作; 当商品出售完毕时,行程开关被释放,向 CPU发出无货信号,经过检测通过串行扩展接口向相应的售完指示灯发出信号,使机身“ 售完 ” 指示灯亮,此种商品自动停售,即使投币金额达到该道商品预设价格数值,可售按钮仍然无法启动信号,金额累计存储器也不清零。4、自动售货机售出累计及自测功能系统。该机CPU在每次售出商品后,向售出累计存储器中累计售出数据,通过自动售货机内部的按键可在金额显示窗口中读到累计结果。此外,在按下自测功能键后,出现自测功能信号,由外部按键操作,可检测各商品存储道的驱动商品功能。第五章

55、自动售货机的功能介绍自动售货机的功能简介基本原理:当货币被投入后,识别器对所投货币进行识别,根据金额将商品选择权提供用户,用户选择后,控制芯片发出指令将所选择商品从储备料道中送达取物口。其功能描述:货物种类一共设有3 种, 这 3 种物品分别对应着3 个不同的按键选择,其中 2 元, 3 元, 4 元价格不等的物品各1 种;自动售货机能够将投币总数用LCD显示。如果累计投入的货币数目超过物品的预设价格,机器能够实现找钱功能;如果投入的货币没有达到所选择物品的预设价格时,投入的钱将全部退还;在投入一次累加货币后选择物品,如果投入的累加货币数目大大超过所选择物品的预设单个价格时,那么能够实现选择同

56、一个物品购买多个,在本设计中设为可以同时购买2 个或 3 个物品。本设计中有一共有7 个按键选择,其中3 个是货物选择键,有2 个是多选键(一次购买2 个或 3 个货物) ,还有 1 个确定键和1 个取消键。如果没有按照预先设计的流程顺序进行按键选择,自动售货机将会自动返回操作前的状态,等待再次正确的按键选择。自动售货机的原理框图如图5.1 所示5.1 自动售货机系统原理框图5.1 自动售货机系统原理框图实现自动售货机的功能的设计思路采用单片机89C51作为中央控制元件;用 P3.4(XO)口作为识别货币输入端;P1 口作为货物选择选择端(采用独立式键盘做为选择货物端);采用P0口实现掉出货物

57、功能、找零功能;第六章硬件接口电路图 6.1 硬件接口电路如图 6.1 所示 , 本次设计的自动售货机系统包括以下几个部分: 中央控制元件89C51、投币及投币总数LCD显示系统、货物选择系统、出货系统、找钱系统。6.1 投币系统投币系统是自动售货设计当中比较重要的一块。本课题设计主要是要实现自动售货机的投币总数显示、货物选择、出货以及找零功能。在本次设计中用P3.4 上的一个按键来代替投币系统的电平输出。在投币系统中可以通过89C51 内部的定时器来控制投币时间,在规定的时间范围内完成投币动作,否则投入的货币全部退出。由于本次设计主要是要体现从投币到操作最后到出货的过程,在设计中没有用到定时

58、设置。6.1.2货币累加的实现本次设计的货币累加是对判断P3.4 上的按键上所按下的次数进行累加来实现的,并将累加的次数送到寄存器B,然后系统根据投币的总数和相应的操作来实现输出。货物选择系统按键按照接口原理可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的定义与识别。由于本次设计只需要七个按键即可满足设计要求, 所以采用独立式键盘,这样对键盘识别的编程也比较简单。独立式键盘按键的识别独立式按键的识别很简单, 如图 6.1 所示 , 当某个键按下时, 相应的接口会出现低电平, 无键按下时则

59、为高电平, 由此就可以判断出哪个键有按下。键盘的编码将P1.0 P1.6 上的按键编码为00H、 01H、 02H、 03H、 04H、 05H、06H,按键所对应的功能见表6.1表 6.1 按键功能表按键号对应的功能00H选择2 元钱货物A01H选择3 元钱货物B02H选择4 元钱货物C03H对选择的货物买2 个04H对选择的货物买3 个05H对选择的货物再次确定06H对选择的货物取消货物选择系统的程序流程图6.2货物选择系统的程序流程图出货系统出货功能的描叙本设计中,设置了价格分别为2 元、 3 元、 4 元不等的货物,一共3种。 在通过按键选择物品后,将会把产生的信号输入给89C51的

60、P1的引脚上, 89C51 接收信号后,经过处理后,将会在货物输出端产生与其相对应的信号输出,控制所选货物的掉出。本次设计用P1.0 P1.2 作为货物的输出端, 在货物的输出端采用光电隔离技术, 对于光电隔离技术这里不做介绍, 在这里用一个LED指示灯代替货物的掉出情况, 若有货物掉出则对应输出口为高电平, 则指示灯亮,反之指示灯不亮。由于这里P0口作通用的I/O 口输出,所以必须接上拉电阻,如图3.0 所示。出货程序流程图6.3出货程序流程找钱系统的描述及流程图本次设计中采用P1.3 P1.6 口作为找零输出口, P1.3 P1.6 分别对应 1 元找零口、2 元找零口、2 元找零口、5

温馨提示

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

评论

0/150

提交评论