数电自动售货机报告课设

上传人:bei****lei 文档编号:113226591 上传时间:2022-06-24 格式:DOC 页数:37 大小:4.10MB
收藏 版权申诉 举报 下载
数电自动售货机报告课设_第1页
第1页 / 共37页
数电自动售货机报告课设_第2页
第2页 / 共37页
数电自动售货机报告课设_第3页
第3页 / 共37页
资源描述:

《数电自动售货机报告课设》由会员分享,可在线阅读,更多相关《数电自动售货机报告课设(37页珍藏版)》请在装配图网上搜索。

1、武汉理工大学数字电子技术课程设计课程设计任务书学生姓名: 王耀辉 专业班级: 通信1304班 指导教师: 撒继铭 工作单位: 信息工程学院 题 目: 自动售货饮料机控制电路的设计与实现 初始条件:本设计既可以使用计数器、比较器、脉冲发生器等和必要的门电路等,也可以使用单片机系统构建。用数码管、LED灯显示结果。要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。2、技术要求:1)售货机只接受5角和1元的硬币,可以用按钮代替硬币的投入。投入硬币的总金额用两位数码管显示,最大投入金额为9.5元。2)售货机可以自动出售3种饮料,售价分别是0.5元

2、,1元和1.5元。当顾客完成投币后,根据投入金额,各饮料对应的LED将亮起(如投入1元硬币,0.5元和1元饮料的LED亮起,表示可以购买0.5元或1元饮料)。3)顾客根据自身需要按下各饮料对应的按钮,每按一次掉出一瓶饮料,两位数码管显示剩余金额,LED继续指示可购饮料的种类;4)顾客按下“找零”按钮将使机器发出找零信号,两位数码管清零。5)确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。3、查阅至少5篇参考文献。按武汉理工大学课程设计工作规范要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。时间安排:1、2015年 7 月 1

3、 日,布置课设具体实施计划与课程设计报告格式的要求说明。2、2015年 7 月 3 日至 2015年 7月 5 日,方案选择和电路设计。3、2015年 7 月 5 日至 2015年 7 月 9 日,电路调试和设计说明书撰写。4、2015年 7 月 10 日,上交课程设计成果及报告,同时进行答辩。指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日目录摘要1ABSTRACT21绪论31.1设计背景31.2 应用前景31.3设计目的和意义42 总体方案设计52.1 自动售货系统结构52.2方案比较选择63 单元电路设计83.1 硬件单元设计83.1.1 中央控制元件AT89C5283

4、.1.2 AT89C52简介83.1.3 主要特性93.1.4 管脚说明93.1.5 实验用模块113.1.6 投币购买以及清零模块123.1.7 可供购买显示模块133.1.8 数码管显示模块133.2 软件单元电路143.2.1编程语言与软件143.2.3 protues简介153.2.4总体设计方案153.2.5子程序设计方案164 整体电路设计184.1 整体电路图184.2整体工作原理说明185 Protues仿真结果与分析196实物焊接及调试236.1实物焊接图236.2调试中出现的问题247 总结与体会258 参考文献26 附录1 元件清单27 附录2 源程序28 摘要本文设计了

5、一种以INTEL 公司的AT89C52单片机为核心的自动饮料售货机装置的控制系统,详细介绍了自动饮料售货机控制系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动饮料售货机控制系统的工作原理、系统设计、软件编程的原则和技巧。该系统以单片机AT89C52芯片为核心,采用集中控制方式实现了对自动饮料售货机全过程的自动控制。本系统选择6个独立键盘按键作为货币投入端,饮料选择端和清零端,实现了投币,饮料选择功能,用两个7段共阳极数码管显示货币数以及找零数,用三个LED灯显示可供选择的饮料。此外,系统程序采用Keil uVision 4软件进行程序的编写和编译,采用C语言编写程序,用Proteus

6、7软件进行仿真,stcisp-v4.79软件和USB转串口线驱动软件下载程序。总体来说,通过实物的安装调试,本次课程设计基本达到了设计指标要求,实现了投币,选择饮料,购买饮料,找零等功能。关键词:自动售货机,AT89C52单片机,C语言程序,数码管显示ABSTRACTIn this paper, the design of the control system of automatic beverage vending machine is based on INTEL company AT89C52 microcontroller as the core . It detailedly de

7、sctribes the beverage vending machine system design, hardware selection, software planning and preparation, and emphatically describes the principle and skill work principle, beverage vending machine system design, software programming. The system is based on AT89C52 chip as the core, adopts the cen

8、tralized control method to realize the automatic control of the whole process of beverage vending machine . In this system , six independent keyboard keys are taken as monetary input end, beverage of choice and clear terminal, to realize the coin, beverage of choice function .Two of sevencommon anod

9、e LED are take to display currency and the number of change . Besides , Three LED lights are taken to display alternative beverage . In addition, The software of Keil uVision 4is taken to prepare and compile procedures, using C language program , The software of Proteus is taken to simulate in the s

10、ystem . The software of stcisp-v4.79 and USB to serial line driverare taken to download programma .In general , the design requirements are met in the curriculum design in realizing these functions in the coin , drinks choose, drinks buy and change .Key Words : Automatic Beverage Vending Machine , A

11、T89C52 ,C Language , Digital Tube Display1绪论1.1设计背景 随着劳动密集型的产业构造向技术密集型社会转变,自动售货机日趋盛行,主要用于公共场合,且种类繁多。一般的自动售货机由钱币装置、指示装置、贮藏售货装置等组成。钱币装置是售货机的核心,其主要功能是确认投入钱币的真伪,分选钱币的种类,计算金额。如果投入的金额达到购买物品的数值即发出售货信号,并找出余钱。指示装置用以指示顾客所选商品的品种。贮藏售货装置保存商品,接收出售指示信号,把顾客选择的商品送至付货口。一般售货机的钱币装置由投币口、选别装置、确认钱币真伪的检查装置、计算金额的计算装置和找钱装置组成

12、。70年代以来,出现了采用微型计算机控制的各种新型自动售货机和利用信用卡代替钱币并与计算机连接的更大规模的无人售货系统,如无人自选商场、车站的自动售票和检票系统、银行的现金自动支付机等。1.2 应用前景现在,自动售货机产业正在走向信息化并进一步实现合理化。例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商品的发送、补充和商品选定的顺利进行。进入21世纪时,自动售货机将进一步向节省资源和能源以及高功能化的方向发展。从自动售货机的发展趋势来看,大量生产,大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道,而相对的超市,百货购物中心等新的流通渠道的

13、产生,人工费用也不断上升,在加上场地的局限性和购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器也就有了其相当可观的前景。1.3设计目的和意义本次课程设计是自动饮料售货机控制系统,可用于简单的自动饮料售货机。本次设计采用手动按键控制,数码管显示,简单清晰,操作简洁,以AT89C52为核心,C语言编程,提高了系统的稳定性,保证了自动售货机能够长期稳定的运行,提高我们的编程能力以及实际动手能力,对数电,对0和1的世界有一个更新的认识。2 总体方案设计 根据设计要求,自动售货饮料机主要由四个模块构成,即投币模块、选择购买模块、找零模块和显示模块(余额显示和可购买类型指示灯显示)。按照此思

14、路,可以用数字芯片设计,也可以用单片机系统设计,两种设计方案如下。2.1 自动售货系统结构 自动售货机是集光、机、电一体化的独立机构,它只需要顾客投币和按购物键选择即可自动售货及退找零钱,其工作程序如图1。 图1 自动售货机工作程序售货机的工作流程是:(1)用户投币口送入货币-按按键,程序自动计数。(2根据金额LED显示显示可供选选择的商品。(3)顾客选择商品,程序计算余额。(4)数码管显示余额。(5)系统复零,完成售货。2.2方案比较选择 方案1:电路从两部分输入,第一部分通过开关闭合模拟投币,投币后进入计数器74LS161和二进制全加器74LS283进行累加,通过数码管显示投币总值。再通过

15、数值比较器74LS85比较可以购买不同价格的饮料类型。另一部分通过开关闭合模拟选择饮料,选择货物后用编码器和数码管显示饮料价格,最后将投币总值和饮料价格一起通过减法器,做差值后显示。原理框图如图2所示。 图2 方案一原理框图方案2:用单片机实现自动售饮料功能,通过编写程序来控制数码管上金额的显示和各种价格的饮料对应的LED灯显示,通过按键的操作来实现投币,买饮料和找零。原理框图如图3所示,系统搭建图如图4所示。 图3 方案二原理框图 图4 单片机系统搭建图分析得出,方案一和方案二都可行。但是,方案一需要使用74LS161,74LS283,74LS85等芯片,电路组成比较复杂,焊接电路花费的时间

16、较长,不容易做出实物。而方案二使用单片机思路清晰,电路简单易焊接。综合考虑,我选择方案二, 因此,硬件需要按键控制,LED显示,数码管显示和AT89C52核心芯片3 单元电路设计 3.1 硬件单元设计 3.1.1 中央控制元件AT89C52 本次设计中,中央控制元件采用MCS-51系列单片机中的AT89C52芯片,其引脚图如下图5所示. 图5 AT89C52引脚图3.1.2 AT89C52简介AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8KB的可反复擦写的Flash只读程序存储器和256B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼

17、容标准MCS-51指令系统,片内置通用8位中央 处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。3.1.3 主要特性(1)兼容MCS51指

18、令系统 (2)8k可反复擦写(1000次)Flash ROM (3)32个双向I/O口 (4) 256x8bit内部RAM (5)3个16位可编程定时/计数器中断 (6) 时钟频率0-24MHz (7) 2个串行中断 (8) 可编程UART串行通道 (9) 2个外部中断源 (10) 共6个中断源 (11) 2个读写中断口线 (12)3级加密位 (13)低功耗空闲和掉电模式 (14) 软件设置睡眠和唤醒功能 3.1.4管脚说明(1)VCC:供电电压,一般接+5V电压 (2)GND:接地。 (3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被

19、定义为高阻输入。P0能够用于外部程序数据存储器或程序存储器。它可以在总线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在FIASH编程时,P0 口作为原码输入口,在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 (5)P2口:P2口为一个内部上拉电阻的8位双向I

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

21、输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 (7)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:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 (8)ALE/PROG:当访问外部存储

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

23、H编程期间,此引脚也用于施加12V编程电源(VPP)。 (11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 (12)XTAL2:来自反向振荡器的输出。3.1.5实验用模块 内部时钟电路及复位端连接如下图: 图6 内部时钟电路及复位端连接时钟电路:XTAL1:芯片内部振荡电路输入端。XTAL2:芯片内部振荡电路输出端。XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。图2.1.3 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容)

24、,内部振荡器便能产生自激振荡。一般来说晶振可以在1.2 12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用的11.0592M 的石英晶振。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石英晶振时,电容可以在20 40pF 之间选择(本实验套件使用30pF)。复位电路:在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。复位引脚RST( 第9 管脚) 出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST 持续为高电平,单片机就处于循环复位状态。复位操作通常有

25、两种基本形式:上电自动复位和开关复位。图6中所示的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。和电阻仪器并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替。3.1

26、.6 投币购买以及清零模块投币系统是自动售货设计当中比较重要的一块,涉及到货币识别系统,对于识别货币器是如何设计、如何工作的,在这里将不做进一步的研究,这里只用单片机研究输入是如何实现的。在本次设计中用P1.0和P1.1上的两个按键来代替投币0.5元与投币1元,投币时,按键按下,给P1.0/P1.1一个低电平,通过程序控制,实现加法计数。P1.2、P1.3、P1.4口分别表示购买饮料A、B、C,购买时,按键按下,给P1.2/P1.3/P1.4一个低电平,通过程序控制,实现减法计数。P1.5表示清零,案件按下是,通过程序控制,实现清零。具体代码将在后面介绍,投币模块和购买模块电路图连接如下:图7

27、 投币购买以及清零模块3.1.7 可供购买显示模块显示模块:用端口P0.0、P0.1和P0.2作为可购买指示输出端,分别表示可购买0.5元、1.0元和1.5元的饮料。由于二极管具有具有约0.7v的压降和约20mA的限制电流,故选择220V的限流电阻,电路图连接如图8.图 8可供购买显示模块3.1.8数码管显示模块用端口P2.0-P2.7 ,P3.0-P3.7作为显示输出端,连接数码管显示余额。由于数码管存在一定的最大限制电压,故需要外接限流电阻。 图9数码管显示模块3.2 软件单元电路 3.2.1 编程语言与软件C语言是编译型程序设计语言的一种,它兼顾了各种高级语言和汇编语言的特点。使用C语言

28、进行程序设计已经成为单片机软件开发的主流。其有以下优点:1、不懂得单片机的指令集,也能编写完美的单片机程序;2、程序具有坚固性:数据被破坏是导致程序运行异常的重要因素;3、提供常用的标准函数库,以供用户直接使用;4、有严格的语法检查,错误很少,可容易地在高级语言的水平上迅速地被排除。因此,本设计使用被广泛应用的Keil uVision 4语言编译器为开发环境,进行了单片机的C语言程序设计。3.2.3 protues简介 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真

29、单片机及外围器件的工具。目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支

30、持IAR、Keil和MPLAB等多种编译器。使用 Proteus 开发环境进行培训,在不需要硬件投入的条件下,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真成功之后再进行实际制作,能极大提高单片机系统设计效率。3.2.4 总体设计方案 当系统启动后先进行初始化,然后开始进行按键扫描,等待按钮被按下,从而进入相应的子程序处理部分,其中子程序主要包括键盘扫描程序,显示子程序等。其流程图如图10所示。 图10程序设计流程图3.2.5 子程序设计方案1、 运算子程序2、 运算子程序包括输入五角和输入一元,减去5角,减去一元,减去一元五角五种,以输

31、入五角为例。由于两个数码管是分开控制的,即分十位与个位分别控制,因此,在计算加法的时候需要考虑进位问题。当个位初始值为5的时候,对其进行加5操作则需对十位进行进位并同时将各位清零。此外,由于最大不能超过9.5元,还需在程序中对十位个位的最大数值进行判断,减法程序与加法程序类似,也需注意借位问题,在此不再赘述。2、 显示子程序 显示子程序包括数码管显示和led显示两种。由于数码管相当于8个led并联连接,一段接电源VCC一端接单片机I/O口。当I/O口输出低电平时,数码管对应的位置将亮起。在编写程序的时候可利用数组实现对数码管的控制,将09对应的二进制代码存入数组中,显示时输入对应数字即可完成数

32、码管的显示,其流程图如图11所示。 图11 子程序流程图4 整体电路设计4.1 整体电路图 图12 整体电路图4.2整体工作原理说明根据设计要求,自动售货饮料机主要由四个模块构成,即投币模块、选择购买模块、找零模块和显示模块(余额显示和可购买类型指示灯显示)。综合考虑自动售货机的功能需求和硬件设计,软件程序的编写应该包括以下几个内容:独立键盘扫描函数KeyScan,数码管显示函数Display、非精确延时Delay函数和主程序main。电源供电后,手动控制按键投币,饮料选择等,按下按键等于给相应的I/O口一个低电平,在通过程序控制,AT89C52芯片给相应的I/O口高低电平,实现LED灯的亮灭

33、表示是否可选择饮料和数码管金额显示,具体代码见附录2。5 Protues仿真结果与分析1、开始图13开始界面2 投0.5元 图14投币0.5元,未购买状态仿真图仿真结果分析:此时LED_A灯亮,表示0.5元的饮料可以购买;LED_B、LED_C处于熄灭状态,表示1元和1.5元的饮料不能购买。数码管上显示0.5,表示投入金额为0.5元。符合设计要求。3、 投1元图15 投币1元,未购买状态仿真图仿真结果分析:此时LED_A和LED_B灯亮,表示0.5元和1.0元的饮料可以购买;LED_C处于熄灭状态,表示1.5元的饮料不能购买。数码管上显示1.0,表示投入金额为1.0元。符合设计要求。4、 最多

34、只能投9.5元图16投币9.5元,未购买状态仿真图仿真结果分析:此时LED_A、LED_B和LED_C都亮,表示0.5元、1.0元和1.5元的饮料均可购买;多次投入1.0元和0.5元硬币,但最多只能投入9.5元,此时数码管上显示9.5。符合设计要求。5、 买0.5元的饮料 图17 购买一瓶0.5元饮料仿真结果分析:此时LED_A和LED_B和LED_C灯亮,表示0.5元、1.0元和1.5元的饮料可以购买;数码管上显示9.0,表示剩余金额为9.0元。符合设计要求。6、 找零 图18找零仿真结果分析:此时LED_A、LED_B和LED_C都为熄灭状态,表示0.5元、1.0元和1.5元的饮料均不能购

35、买;按下找零按键后,数码管显示为0.0。符合设计要求。6实物焊接及调试6.1实物焊接图 图19实物焊接图 图20实物图6.2调试中出现的问题1、焊接晚一个数码管后,部分管子无法显示,后来发现焊接错误,最终修改后实现正确功能。 图21 焊接错误图2、实物中的数码管亮度较浅可能是因为IO口和数码管之间的电阻阻值过大引起的,不过并不影响使用。7 总结与体会 这是我第一次做数电课设,大二上学期做过一个模电课设,有过那次紧张的熬夜以及做实物,赶报告,知道了做一次课设的不容易,所以这一次我提前做好准备,在网上查阅资料,买好材料,等考完试就全力钻研数电课设。此次数电课设是做一个模拟的自动售货机,使我有了这几

36、方面的提升和收获:本次设计采用两个7段共阳极数码管显示,实验过程中,复习了有关数码管的知识,比如引脚图,还有编码知识。设计采用C语言编程,让我回顾了大一学的C语言编程方法与原则,以及如何通过程序对单片机进行控制,进而控制显示电路。让我学会多个软件的联合使用。比如,用Keil4编程,其生成的hex文件可用于proteus仿真,还可下载到单片机芯片实现电路控制,这大大方便了我的仿真效率,本来打算选用multisim,但是布线太过于复杂,而且导入程序没有protues方便。同时焊接的部分使我熟悉了课程设计流程,增强了焊接技巧。 这一次实物焊接比较顺利,实物焊接出来后除了数码管亮度不够之外,功能全部都

37、实现了。在调整了电阻后,亮度也恢复了正常值。通过这次课程设计,我体会到了自主设计实物的不容易与最终实物调试成功后的喜悦感,也让我对数电这门课程有了更深层次的了解。此外,我还感受到编写程序时思路清晰的重要性。我正是由于有时候有些急于求成,在还未规划好的时候就开始编程,导致后期小错误不断。 这一个星期的紧张的课程设计,理论与实际相相结合,锻炼了我的综合运用所学专业基础知识的能力,同时也提高我查阅文献资料、程序设计规范以及电脑制图和电路调试等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,丰富了实践经验,并且意志力,抗压能力及耐力也都得到了不同程度

38、的提升。总体来说,这次数电课设可以说是成功的,体会了成功的喜悦,尝过了失败的心酸,我想我会在人生的的路上走得越来越远。8 参考文献1 新型集成电路的应用电子技术基础课程设计,梁宗善主编,华中科技大学出版社。2 电子技术基础课程设计,孙梅生等编著,高等教育出版社。3 电子线路设计实验测试第三版,谢自美 主编,华中科技大学出版社。4 51单片机C语言程序设计经典实例陈忠平主编,电子工业出版社,2012年5月。5 Proteus教程M,朱清慧、张凤蕊、翟天嵩编,清华大学出版社,2000年9月。附录1 元件清单表1元件数目89C52核心板1双USB电源线1下载线1万用板110K电阻16220欧电阻3按

39、键6一位八段数码管2红色LED3杜邦线若干排针若干附录2 源程序/*名称:自动饮料售货机控制 *时间:2015.7.8 */#include/*宏定义*/ #define Moneyshi P2 / 数码管余额显示 十位,P2脚定义为十位#define Moneyge P3 / 数码管余额显示 个位,P3脚定义为个位/*管脚定义*/sbit key5=P10;/定义5角钱的输入按钮连接管脚P10sbit key10=P11;/定义1元钱的输入按钮连接管脚P11 sbit dekey5=P12;/定义选择饮料(0.5元)的输入按钮连接管脚P12 sbit dekey10=P13;/定义选择饮料(

40、1.0元)的输入按钮连接管脚P13sbit dekey15=P14;/定义选择饮料(1.5元)的输入按钮连接管脚P14 sbit keyClear=P15;/定义清零按钮连接管脚P15 sbit LED5=P00;/定义饮料 (0.5元) 的LED连接管脚P00sbit LED10=P01;/定义饮料(1.0元) 的LED连接管脚P01sbit LED15=P02;/定义饮料(1.5元)的LED连接管脚P02/*变量定义*/unsigned char code display_shi10 =0x02,0x9e,0x24,0x0c, 0x98,0x48,0x40,0x1e,0x00,0x08;

41、/共阳数码管码值 分别对应 0,1,2.9unsigned char code display_ge10=0x03,0x9f,0x25,0x0d,0x99, 0x49,0x41,0x1f,0x01,0x09; /个位比十位少一个小数点,故多一个最低位的1 unsigned int money=0; /*子函数声明*/void KeyScan(void);/独立键盘扫描函数 void Display();/显示函数void Delay(unsigned int xms);/非精确延时函数/* * 主函数* 参数 void* 返回值 void*/void main (void) while(1)

42、KeyScan();/键盘扫描 Display();/显示 /* 键盘扫描函数* 参数 void* 返回值 void*/void KeyScan(void)if(dekey5=0)/ 判断购买0.5元饮品的按键是否按下 Delay(10); /消斗延时 if(dekey5=0) /判断购买0.5元饮品的按键是否按下 if(money4) money-=5; /总钱数减0.5元 while(!dekey5);/等待按键释放 if(dekey10=0) / 判断购买1元饮品的按键是否按下 Delay(10); /消斗延时 if(dekey10=0) if(money9) money-=10;/总钱

43、数键元 while(!dekey10);/等待按键释放 if(dekey15=0)/ 判断是否购买饮料C Delay(10); /消斗延时 if(dekey15=0) if(money14) money-=15;/总钱数键1.5元 while(!dekey15);/等待按键释放 if(keyClear=0)/ 判断清零数码管,全部找零 Delay(10); /消斗延时 if(keyClear=0) money=0; while(!keyClear);/等待按键释放 if(key5=0) / 投币5角 Delay(10); /消斗延时 if(key5=0) if(money95) money+=

44、5;else money=95; while(!key5);/等待按键释放 if(key10=0) / 投币1元 Delay(10); /消斗延时 if(key10=0) if(money14) LED5=0; LED10=0; LED15=0; /金额大于1.4元,3个LED灯都亮else if(money9) LED5=0; LED10=0; LED15=1; /金额为1元,仅饮料A、B对应LED灯亮else if(money0) LED5=0; LED10=1; LED15=1; /金额为0.5元,仅饮料A对应LED灯亮else LED5=1; LED10=1; LED15=1; /金额为0元,LED灯都不亮/* * 非精确毫秒延时函数* 参数 xms (时长)* 返回值 void*/ void Delay(unsigned int xms) unsigned int i,j; for(i=xms;i0;i-) for(j=110;j0;j-); 34

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!