数电自动售货机报告课设_信息与通信_工程科技_专业资料_第1页
数电自动售货机报告课设_信息与通信_工程科技_专业资料_第2页
数电自动售货机报告课设_信息与通信_工程科技_专业资料_第3页
数电自动售货机报告课设_信息与通信_工程科技_专业资料_第4页
数电自动售货机报告课设_信息与通信_工程科技_专业资料_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、要求说明。2、2015年7 j1 3日至2015年7 j1 5日,方案选择和电路设计。3、2015年7 j1 5日至2015年7 j1 9日,电路调试和设计说明书撰写。4、2015年7 j1 10日,上交课程设计成果及报告,同时进行答辩。指导教师签名:系主任(或责任教师)签名:目录摘要1abstract 21绪论31. 1设计背景31.2应用前景31.3设计口的和意义42总体方案设计52.1 动售货系统结构52. 2方案比较选择63 单元电路设计83.1硬件单元设计83. 1. 1中央控制元件at89c52 83. 1.2at89c52 简介83. 1.3主要特性93. 1.4管脚说明93.

4、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 protucs仿真结果与夕析196实物焊接及调试236. 1实物焊接图236. 2调试中出现的问题247总结与体会258参考文献26附录1元件清单27附录2源程序28摘要本文设计了一种以intel公司的at89c52单片机为核心的自动饮料售货机装置 的控制系

5、统,详细介绍了自动饮料售货机控制系统的方案设计、硕件选择、软件规 划和编写,并重点描述了自动饮料售货机控制系统的工作原理、系统设计、软件编 程的原则和技巧。该系统以单片机at89c52芯片为核心,采用集屮控制方式实现了 对自动饮料售货机全过程的自动控制。本系统选择6个独立键盘按键作为货币投入 端,饮料选择端和清零端,实现了投币,饮料选择功能,用两个7段共阳极数码管 显示货币数以及找零数,用三个led灯显示可供选择的饮料。此外,系统程序采用 keil uvision 4软件进行程序的编写和编译,米用c语言编写程序,用proteus7 软件进行仿真,stcisp-v4. 79软件和usb转串口线驱

6、动软件下载程序。总体来说,通过实物的安装调试,本次课程设计基本达到了设计指标要求,实 现了投币,选择饮料,购买饮料,找零等功能。关键词:自动售货机,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 desctribes the beverage vending

7、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 centralized control method to rea

8、lize 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 anode led are take to display curr

9、ency 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 system . the software of stcisp

10、-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 , at89c52 , c language , digital

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

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

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

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

15、3进行累加,通过数码管显示投币总值。再通过数值比较器74ls85 比较可以购买不同价格的饮料类型。另一部分通过开关闭合模拟选择饮料,选择货物后用编码器和数码管显示饮料价格, 最后将投币总值和饮料价格一起通过减法器,做差值后显示。原理框图如图2所示。图2方案一原理框图方案2:用单片机实现h动售饮料功能,通过编写程序来控制数码管上金额的显示和各种价格 的饮料对应的led灯显示,通过按键的操作来实现投币,买饮料和找零。原理框图如图3 所示,系统搭建图如图4所示。投币购买按键找零按键数码管显示余额可购买指示灯图3方案二原理框图图4单片机系统搭建图分析得岀,方案一和方案二都可行。但是,方案一需要使用74

16、ls161, 74ls283, 74ls85等芯片,电路组成比较复杂,焊 接电路花费的时间较长,不容易做出实物。而方案二使用单片机思路清晰,电路简单易焊 接。综合考虑,我选择方案二,因此,硬件需要按键控制,led显示,数码管显示和at89c52 核心芯片3单元电路设计3.1硬件单元设计3.1.1中央控制元件at89c52本次设计中,中央控制元件采用mcs-51系列单片机中的at89c52芯片,其引脚图如 卜图5所示.p3 7/rd p3 6am«p3 5zt1 p3vt0p3 3nt1p3 2/int0p3 1atxdp3 (xrxjo7 6 5 4 3 2p1p1p1pip1p1p

17、1 1ht2exp1 0ft2p2 7/a15p2 6/a14p2 5/a13p2 4/a12p2 3/a11p2 2/a10p2 zp2 3aseaaleps6npo 7/ad7p0 6/ad6p0 5/ad5po 4/ad4po 3/ad3p0 2/ad2po uadipocvaxx)rst31二-9xtal2xtal1at8dc52(j 1图5 at89c52引脚图3. 1.2 at89c52 简介at89c52是一个低电压,高性能cmos 8位单片机,片内含8kb的可反复擦写的flash 只读程序存储器和256b的随机存取数据存储器(ram),器件釆用atmel公司的高密度、 非易失性

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

19、容mcs51指令系统(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 o: p0 口为一个8位漏级开路双向i/o 口,每脚可吸收8ttl门电流。当p1

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

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

22、/o 口,可接收输出4个ttl f j电流。 当p3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉 为低电平,p3 口将输出电流(ill)这是由于上拉的缘故。(7)p3 口也可作为at89c51的一些特殊功能口,如卜所示:p3.0 rxd (串行输入口)p3. 1 txd (串行输出口)p3.2 /into (外部中断0)p3. 3 /int1 (外部中断1)p3.4 t0 (记时器0外部输入)p3.5 t1 (记时器1外部输入)p3.6 /wr (外部数据存储器写选通)p3.7 /rd (外部数据存储器读选通)p3 口同时为闪烁编程和编程校验接收一些控制信号。

23、rst:复位输入。当振荡器复位器件时,耍保持rst脚两个机器周期的高电平时间。(8)ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字 节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输 出正脉冲信号,此频率为振荡器频率的l/6o因此它可用作对外部输出的脉冲或用丁定时目的。(9) psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期 两次psen有效。但在访问外部数据存储器时,这两次有效的psen信号将不出现。(10) ea/vpp:当ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不

24、管 是否有内部程序存储器。注意加密方式1时,ea将内部锁定为reset;当/ea端保持高电 平时,此间内部程序存储器。在flasii编程期间,此引脚也用于施加12v编程电源(vpp)o(11) xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。(12) xtal2:来自反向振荡器的输出。35实验用模块内部时钟电路及复位端连接如h图:l1u1图6内部时钟电路及复位端连接时钟电路:xtal1:芯片内部振荡电路输入端。xtal2:芯片内部振荡电路输出端。xtal1和xtal2是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内 振荡器,或者是器件直接由外部时钟驱动。图2.1.3中

25、采用的是内时钟模式,即采用利用 芯片内部的振荡电路,在xtalk xtal2的引脚上外接定时元件(一个石英晶体和两个电 容),内部振荡器便能产生口激振荡。一般来说晶振可以在1212miiz z间任选,甚至 可以达到24miiz或者更高,但是频率越高功耗也就越大。在木实验套件中采用的110592m 的石英品振。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作 用。当釆用石英晶振时,电容可以在2040pf z间选择(本实验套件使用30pf)o 复位电路:在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行) 时,就需要进行复位。复位引脚rst(第9管脚)

26、出现2个机器周期以上的高电平时,单片机就执行复位操作。 如果rst持续为高电平,单片机就处于循环复位状态。复位操作通常有两种基本形式:上电口动复位和开关复位。图6中所示的复位电路就包括 了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和reset相连, 电压全部加在了电阻上,reset的输入为高,芯片被复位。随z+5v电源给电容充电,电 阻上的电压逐渐减小,最后约等于0,芯片止常工作。和电阻仪器并联在电容的两端为复 位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片止常工作后,通过按f 按键使rst管脚出现高电平达到手动复位的效杲。一般来说,只要rst管脚上保持10ms

27、以 上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作 是可以用同一数量级的电阻和电容代替。3.1.6投币购买以及清零模块投币系统是口动售货设计当中比较重要的一块,涉及到货币识別系统,对于识 别货币器是如何设计、如何工作的,在这里将不做进一步的研究,这里只用单片机 研究输入是如何实现的。在木次设计中用p1.0和p1. 1上的两个按键來代替投币 0.5元与投币1元,投币时,按键按下,给p1.0/p1. 1 -个低电平,通过程序控制, 实现加法计数。pl. 2、pl. 3、p1. 4 口分别表示购买饮料a、b、c,购买时,按键按下,给 p1.2/p1.3/p1.4 -个

28、低电平,通过程序控制,实现减法计数。p1.5表示清零,案件按下是,通过程序控制,实现清零。貝体代码将在后面介绍,投币模块和购买模块电路图连接如下:1z图7投币购买以及清零模块buy0.5-oo-buy1change 9 °oj=l. o o buy1.53.1.7可供购买显示模块显示模块:用端口 p0. 0、p0. 1和p0. 2作为可购买指示输出端,分别表示可购买0. 5元、1. 0元和1. 5元的饮料。由于二极管具有具有约0. 7v的压降和约20ma的限制电流,故选 择220v的限流电阻,电路图连接如图8.3.1.8数码管显示模块用端口 p2. 0-p2. 7 , p3. 0-p

29、3. 7作为显示输岀端,连接数码管显示余额。由于数码管 存在一定的最大限制电压,故需要外接限流电阻。尸 u.ml"p2.0/a8p2.1/a9 p2.2/a10 p2.3/a11 p2 4/a12 p2.5/a13 p2.6/a14 p2.7/a15p3.0)rxdp3.1ftxdp3.21ntfp3.3mhtfr3.4/t0p3.5/t1p3.6殛p3.7/rd21 22 232425282728口 40 11 12 13 14 15 16 17f11 口口 图9数码管显示模块3.2软件单元电路321编程语言与软件c语言是编译型程序设计语言的一种,它兼顾了各种高级语言和汇编语言的特

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

31、。它是口前最好的仿真单片机 及外围器件的工具。口前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教 师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda工具(仿真 软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计, 真正实现了从概念到产品的完整设计。是口前世界上唯一将电路仿真软件、pcb设计软件 和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、 pic10/12/16/18/24/30/dspic33. avr、arm、8086 和 msp430 等,2010 年增加了 cortex 和dsp系列处理器,并

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

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

34、码存入数组中, 显示时输入对应数字即可完成数码管的显示,其流程图如图11所示。图11子程序流程图4整体电路设计4.1整体电路图图12整体电路图4.2整体工作原理说明根据设计耍求,动售货饮料机主耍由四个模块构成,即投币模块、选择购买模块、 找零模块和显示模块(余额显示和可购买类型指示灯显示)。综合考虑白动售货机的功能 需求和硬件设计,软件程序的编写应该包括以下几个内容:独立键盘扫描函数kcyscan, 数码管显示函数display.非粹确延时delay函数和主程序maino电源供电后,手动控制 按键投币,饮料选择等,按下按键等于给相应的i/o 口一个低电平,在通过程序控制, at89c52芯片给

35、相应的i/o i高低电平,实现led灯的亮灭表示是否可选择饮料和数码管 金额显示,具体代码见附录2。5 protues仿真结果与分析1、开始u1图13开始界面2投0. 5元图14投币0.5兀,未购买状态仿真图仿真结果分析:此时led a灯亮,表示0.5元的饮料可以购买;led b、led.c处于熄灭状态,表示1元和15元的饮料不能购买。数码管上显示0.5,表示投入金额为0.5元。符合设计耍求。3、投1元图15投币1元,未购买状态仿真图仿真结果分析:此时led_a和led_b灯亮,表示0. 5元和1. 0元的饮料可以购买;led_c处于熄灭状 态,表示1.5元的饮料不能购买。数码管上显示1.0,

36、表示投入金额为1.0元。符合设计要求。4、最多只能投9. 5元图16投币9.5元,未购买状态仿真图仿真结果分析:此时led_a、led_b和led_c都亮,表示0. 5元、1.0元和1. 5元的饮料均可购买; 多次投入10元和0.5元硬币,但最多只能投入9. 5元,此时数码管上显示9. 5。符合设计要求。5、买0.5元的饮料图17购买一瓶0.5元饮料仿真结果分析:此时led.a和ledj3和led.c灯亮,表示0. 5元、1. 0元和1. 数码管上显示9.0,表示剩余金额为9.0元。符合设计要求。5元的饮料可以购买;6、找零图18找零仿真结果分析:此时led_a、led_b和led.c都为熄灭

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

38、设。此次数电课设是做一个模拟的自动售 货机,使我有了这几方面的提升和收获:本次设计采用两个7段共阳极数码管显示,实验 过程小,复习了有关数码管的知识,比如引脚图,述有编码知识。设计采用c语言编程, 让我回顾了大一学的c语言编程方法与原则,以及如何通过程序对单片机进行控制,进而 控制显示电路。让我学会多个软件的联合使用。比如,用kcil4编程,其生成的hex文件 可用于protons仿真,还可下载到单片机芯片实现电路控制,这大大方便了我的仿真效率, 本来打算选用multisim,但是布线太过于复杂,而且导入程序没有protucs方便。同时焊 接的部分使我熟悉了课程设计流程,增强了焊接技巧。这一次

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

40、的能力得到了锻炼,丰富了实践经验,并口意志力,抗压能力及耐力也都得到了不 同程度的提升。总体來说,这次数电课设叮以说是成功的,体会了成功的喜悦,尝过了失 败的心酸,我想我会在人生的的路上走得越來越远。8参考文献1 新型集成电路的应用一电子技术基础课程设计,梁宗善主编,华中科技大学出版 社。2 电子技术基础课程设计,孙梅生等编著,高等教育出版社。3 电子线路设计实验测试第三版,谢自美主编,华中科技犬学出版社。4 51单片机c语言程序设计经典实例陈忠平主编,电子工业出版社,2012 年5月。5 «proteus教程m,朱清慧、张凤蕊、翟天嵩编,清华大学出版社,2000年9 月。附录1元件

41、清单表1元件数目89c52核心板1双usb电源线1下载线1万用板110k电阻16220欧电阻3按键6一位八段数码管2红色led3杜邦线若干排针若干附录2源程序*名称:自动饮料售货机控制*时间:2015.7.8上上上上上上上上上上上上上上上上上土 上上上上土 土 土 土 土土 土. . . . . . . . . . . . /!#include<reg52.h>#define moneyshi p2 /数码管余额显示 十位,p2脚定义为十位#define moneyge p3 /数码管余额显示 个位,p3脚定义为个位sbit key5=pla0;/定义5角钱的输入按钮连接管脚pla

42、0sbit key 10二pit;/定义1元钱的输入按钮连接管脚pitsbit dekey5=pla2;/定义选择饮料(0.5元)的输入按钮连接管脚p1a2sbit dekey 10=pla3;/定义选择饮料(1.0元)的输入按钮连接管脚pm3 sbit dekey 15=p1a4;/定义选择饮料(1.5元)的输入按钮连接管脚pm4 sbit keyclear=pla5;/定义清零按钮连接管脚p1a5sbit led5=p0a0;/定义饮料(0.5元)的led连接管脚p0a0sbit led10=p0al;/定义饮料(1.0元)的led连接管脚p0alsbit led 15=p0a2;/定义饮

43、料(1.5元)的led连接管脚potunsigned char code display_shi10 = 0x02,0x9e,0x24,0x0c, 0x98,0x48,0x40,ox 1 e,0x00,0x08;共阳数码管码值 分别对应0,1,2.9unsigned char code display_ge10=0x03,0x9f,0x25,oxod,0x99, 0x49,0x41,0x 1 f,oxo 1,0x09;个位比十位少一个小数点,故多一个最低位的1unsigned int money=0;/*了 函 jtf 明*/void keyscan(void);/独立键盘扫描函数void d

44、isplayo;/显示函数void delay(unsigned int xms);/ 非精确延时函数/ a a a a a a a a a a a a a a a a a a a a a a a a/*主函数*参数 void*返回值void!" !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* 7"z!void main (void)while(l)keyscan(); 键盘扫描displayo; 显示*键盘扫描函数*参数 void*返回值void!" !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* !* 7" !* !* z!void keyscan(void)if(dekey5=()/判断购买0.5元饮品的按键是否按kdelay(lo)

温馨提示

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

评论

0/150

提交评论