武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx

上传人:b****6 文档编号:6293170 上传时间:2023-01-05 格式:DOCX 页数:26 大小:1.39MB
下载 相关 举报
武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx_第1页
第1页 / 共26页
武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx_第2页
第2页 / 共26页
武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx_第3页
第3页 / 共26页
武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx_第4页
第4页 / 共26页
武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx

《武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx》由会员分享,可在线阅读,更多相关《武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx(26页珍藏版)》请在冰豆网上搜索。

武汉理工大学数电课设自动售货饮料机控制电路的设计与实现.docx

武汉理工大学数电课设自动售货饮料机控制电路的设计与实现

课程设计任务书

学生姓名:

张亚男专业班级:

通信1104班

指导教师:

刘可文工作单位:

信息工程学院

题目:

自动售货饮料机控制电路的设计与实现

初始条件:

本设计既可以使用计数器、比较器、脉冲发生器等和必要的门电路等,也可以使用单片机系统构建。

用数码管、LED灯显示结果。

要求完成的主要任务:

(包括课程设计工作量及技术要求,以及说明书撰写等具体要求)

1、课程设计工作量:

1周。

2、技术要求:

1)售货机只接受5角和1元的硬币,可以用按钮代替硬币的投入。

投入硬币的总金额用两位数码管显示,最大投入金额为9.5元。

2)售货机可以自动出售3种饮料,售价分别是0.5元,1元和1.5元。

当顾客完成投币后,根据投入金额,各饮料对应的LED将亮起(如投入1元硬币,0.5元和1元饮料的LED亮起,表示可以购买0.5元或1元饮料)。

3)顾客根据自身需要按下各饮料对应的按钮,每按一次掉出一瓶饮料,两位数码管显示剩余金额,LED继续指示可购饮料的种类;

4)顾客按下“找零”按钮将使机器发出找零信号,两位数码管清零。

5)确定设计方案,按功能模块的划分选择元、器件和中小规模集成电路,设计分电路,画出总体电路原理图,阐述基本原理。

3、查阅至少5篇参考文献。

按《武汉理工大学课程设计工作规范》要求撰写设计报告书。

全文用A4纸打印,图纸应符合绘图规范。

时间安排:

1、2013年5月16日,布置课设具体实施计划与课程设计报告格式的要求说明。

2、2013年6月27日至2013年6月29日,方案选择和电路设计。

3、2013年6月30日至2013年7月3日,电路调试和设计说明书撰写。

4、2013年7月5日,上交课程设计成果及报告,同时进行答辩。

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

摘要

本文详细介绍了自动售货饮料机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的思路。

该系统以单片机STC89C52芯片为核心,采用集中控制方式实现了对自动售货饮料机全过程的自动控制。

本系统选择独立式键盘按键作为投币和货物选择端,用数码管实现了投币总数和余额的显示功能。

此外,系统程序采用keil软件进行程序的编写和编译,并用Proteus软件进行仿真,最后根据原理电路焊接实物并调试。

关键词:

自动售货饮料机STC89C52数码管显示Proteus仿真

 

Abstract

Thispaperdescribesavendingmachinesystemdesign,hardwareselection,softwareplanningandpreparation,anddescribesthefocusoftheworkvendingmachinesystemtheory,systemdesign,softwareprogrammingmentality.STC89C52inthesystemasthecorechip,realizestheautomaticcontrolofthevendingmachine’sentireprocessbyusingthecentralizedcontrolmode.Thestand-alonekeyboardkeysarechosetoinsertcoinsandchoosethegoodsside,theNixietubeisusedtorealizethefunctionofshowingthetotalnumberofinsertedcoinsandremainingsum.Inaddition,thesystemprogramusingkeilsoftwaretoprepareandcompileprocedures,andProteussoftwareisusedforsimulation.Atlast,thematerialobjectisweldedanddebuggedaccordingtotheschemacircuit.

Keywords:

TheVendingMachinesSTC89C52DigitalDisplayProteusSimulation

1总体方案设计

根据设计要求,自动售货饮料机主要由四个模块构成,即投币模块、选择购买模块、找零模块和显示模块(余额显示和可购买类型指示灯显示)。

按照此思路,可以用数字芯片设计,也可以用单片机系统设计,两种设计方案如下。

1.1方案比较选择

方案1:

电路从两部分输入,第一部分通过开关闭合模拟投币,投币后进入计数器74LS161和二进制全加器74LS283进行累加,通过数码管显示投币总值。

再通过数值比较器74LS85比较可以购买不同价格的饮料类型。

另一部分通过开关闭合模拟选择饮料,选择货物后用编码器和数码管显示饮料价格,最后将投币总值和饮料价格一起通过减法器,做差值后显示。

原理框图如图1-1所示。

图1-1方案一原理框图

方案2:

用单片机实现自动售饮料功能,通过编写程序来控制数码管上金额的显示和各种价格的饮料对应的LED灯显示,通过按键的操作来实现投币,买饮料和找零。

原理框图如图1-2所示。

 

投币

图1-2方案二原理框图

分析得出,方案一和方案二都可行。

但是,方案一需要使用74LS161,74LS283,74LS85等芯片,电路组成比较复杂,焊接电路花费的时间较长,不容易做出实物。

而方案二使用单片机思路清晰,电路简单易焊接。

综合考虑,我选择方案二。

1.2实现自动售货饮料机功能的总体思路

采用单片机系列中的STC89C52所组成的单片机最小系统作为中央控制元件。

投币模块:

用端口P1.0和P1.1作为投币输入端,分别表示投入0.5元和1.0元。

选择购买模块:

用端口P1.2、P1.3和P1.4作为选择购买输入端,分别表示购买0.5元、1.0元和1.5元的饮料。

找零模块:

用端口P1.7作为找零输入端。

显示模块:

用端口P0.5、P0.6和P0.7作为可购买指示输出端,分别表示可购买0.5元、1.0元和1.5元的饮料;用端口P2.0-P2.7作为显示输出端,连接数码管显示余额。

 

2硬件单元电路设计

2.1中央控制单元---单片机最小系统

2.1.1STC89C52的介绍

STC89C52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制作技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

其引脚图如下图所示。

 

图2-1STC89C52引脚图

STC89C52RC引脚功能说明:

VCC(40引脚):

电源电压

VSS(20引脚):

接地

P0端口(P0.0~P0.7,39~32引脚):

P0口是一个漏极开路的8位双向I/O口。

作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。

在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。

此时,P0口内部上拉电阻有效。

在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。

验证时,要求外接上拉电阻。

P1端口(P1.0~P1.7,1~8引脚):

P1口是一个带内部上拉电阻的8位双向I/O口。

P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。

P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流(

)。

在对FlashROM编程和程序校验时,P1接收低8位地址。

P2端口(P2.0~P2.7,21~28引脚):

P2口的基本功能和P1端口相同。

在访问外部程序存储器和16位地址的外部数据存储器时,P2送出高8位地址。

在访问8位地址的外部数据存储器时,P2口引脚上的内容在整个访问期间不会改变。

在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。

P3端口(P3.0~P3.7,10~17引脚):

P3口的基本功能和P1端口相同。

在对FlashROM编程或程序校验时,P3还接收一些控制信号。

RST(9引脚):

复位输入。

当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。

看门狗计时完成后,RST引脚输出96个晶振周期的高电平。

特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。

DISRTO默认状态下,复位高电平有效。

ALE/

(30引脚):

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

在Flash编程时,此引脚(

)也用作编程输入脉冲。

(29引脚):

外部程序存储器选通信号(

)是外部程序存储器选通信号。

当AT89C51RC从外部程序存储器执行外部代码时,

在每个机器周期被激活两次,而访问外部数据存储器时,

将不被激活。

/VPP(31引脚):

访问外部程序存储器控制信号。

为使能从0000H到FFFFH的外部程序存储器读取指令,

必须接GND。

注意加密方式1时,

将内部锁定位RESET。

为了执行内部程序指令,

应该接VCC。

在Flash编程期间,

也接收12伏VPP电压。

XTAL1(19引脚):

振荡器反相放大器和内部时钟发生电路的输入端。

XTAL2(18引脚):

振荡器反相放大器的输入端。

 

2.1.251系列单片机最小系统的介绍

单片机最小系统是能补足单片机工作的最简单电路,它由单片机、电源、晶体振荡器、复位电路等构成。

它是本系统的处理单元也是控制单元,负责处理信号、外设的接口与控制,同时它也是所有软件的载体。

对51系列单片机来说,最小系统一般应该包括:

单片机、时钟电路、复位电路、输入/输出设备等。

51系列单片机最小系统见下图。

 

图2-251系列单片机最小系统

时钟电路:

XTAL1(19脚):

芯片内部振荡电路输入端。

XTAL2(18脚):

芯片内部振荡电路输出端。

XTAL1和XTAL2是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。

图2-2中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。

一般来说晶振可以在1.2~12MHz之间任选,甚至可以达到24MHz或者更高,但是频率越高功耗也就越大。

在本实验套件中采用的11.0592M的石英晶振。

和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。

当采用石英晶振时,电容可以在20~40pF之间选择(本实验套件使用30pF)。

复位电路:

在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。

5l系列单片机的复位引脚RST(第9管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST持续为高电平,单片机就处于循环复位状态。

复位操作通常有两种基本形式:

上电自动复位和开关复位。

图2-2中所示的复位电路就包括了这两种复位方式。

上电瞬间,电容两端电压不能突变,此时电容的负极和RESET相连,电压全部加在了电阻上,RESET的输入为高,芯片被复位。

随之+5V电源给电容充电,电阻上的电压逐渐减小,最后约等于0,芯片正常工作。

并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。

一般来说,只要RST管脚上保持10ms以上的高电平,就能使单片机有效的复位。

图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替。

EA/VPP(31脚)的功能和接法:

51单片机的EA/VPP(31脚)是内部和外部程序存储器的选择管脚。

当EA保持高电平时,单片机访问内部程序存储器;当EA保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。

在本实验套件中,EA管脚接到了VCC上,只使用内部的程序存储器。

P0口外接上拉电阻:

51单片机的P0端口为开漏输出,内部无上拉电阻。

所以在当做普通I/O输出数据时,由于V2截止,输出级是漏极开路电路,要使“1”信号(即高电平)正常输出,必须外接上拉电阻。

2.2投币单元

用端口P1.0和P1.1作为投币输入端,分别表示投入0.5元和1.0元。

原理电路图如图2-3所示。

 

图2-3投币单元原理电路

如图所示,KEY_5为投入0.5元的按键开关,与端口P1.0相接。

KEY_10为投入1.0元的按键开关,与端口P1.1相接。

P1.0和P1.1初始置为高电平1,按下开关瞬间,接地置为低电平0,表示投入对应的硬币。

2.3选择购买单元

用端口P1.2-P1.4作为选择购买输入端,分别表示购买0.5元、1.0元和1.5元的饮料。

原理电路图如图2-4所示。

 

图2-4选择购买单元原理电路

如图所示,KEY_buy5、KEY_buy10和KEY_buy15分别为购买0.5元、1.0元和1.5元饮料的按键,分别与端口P1.2-P1.4相连。

初始置为高电平1,按下按键瞬间,接地置为低电平0,表示购买对应金额的饮料。

2.4找零单元

用端口P1.7作为找零输入端。

原理电路图如图2-5所示。

 

图2-5找零单元的原理电路

如图所示,KEY_getchange表示找零,与端口P1.7相接。

P1.7初始置为高电平1,按下按键瞬间,接地置为低电平0,表示找零信号。

2.5显示单元

2.5.1可购买类型指示灯显示

用端口P0.5-P0.7作为指示灯显示输出端,分别连接LED灯指示0.5元、1.0元和1.5元的饮料可以购买。

原理电路图如图2-6所示。

图2-6可购买类型指示灯显示单元原理电路

如图所示,LED_A、LED_B、LED_C分别用来指示0.5元、1.0元和1.5元的饮料可以购买,分别与端口P0.5-P0.7相接,每个LED灯加一个100欧姆的限流电阻,然后接VCC。

P0.5-P0.7初始置为高电平1,此时LED灯截止,为熄灭状态。

当按键输入后经程序控制使P0.5、P0.6或P0.7为低电平时,对应的LED灯导通,为点亮状态。

2.5.2余额显示

用端口P2.0-P2.7作为余额显示输出端,连接译码器分别驱动两个数码管共同显示余额。

原理电路图如图2-7所示。

图2-7余额显示单元原理电路

一、元件选取:

显示元件选择了两个一位共阳数码管,并用74LS47译码器作为驱动。

二、元件介绍:

1、74LS47译码器

74LS47是BCD-7段数码管译码器/驱动器,74LS47的功能用于将BCD码转化成数码块中的数字,通过它解码,可以直接把数字转换为数码管的显示数字。

74LS47为低电平作用。

管脚图如图2-8所示。

图2-874LS47引脚图

引脚功能:

(1)LT:

试灯输入,是为了检查数码管各段是否能正常发光而设置的。

当LT=0时,无论输入A3,A2,A1,A0为何种状态,译码器输出均为低电平,也就是七段将全亮,若驱动的数码管正常,是显示8。

(2)BI:

灭灯输入,是为控制多位数码显示的灭灯所设置的。

当BI=0时,不论LT和输入A3,A2,A1,A0为何种状态,译码器输出均为高电平,使共阳极数码管熄灭。

(3)RBI:

灭零输入,它是为使不希望显示的0熄灭而设定的。

当对每一位A3=A2=A1=A0=0时,本应显示0,但是在RBI=0作用下,使译码器输出全为高电平。

其结果和加入灭灯信号的结果一样,将0熄灭。

(4)RBO:

灭零输出,它和灭灯输入BI共用一端,两者配合使用,可以实现多位数码显示的灭零控制。

74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,表2-1列出了74LS47的真值表,表示出了它与数码管之间的关系。

表2-174LS47真值表

/

DCBA

abcdefg

说明

0

X

1

XXXX

0000000

试灯

X

X

0

XXXX

1111111

熄灭

1

0

0

0000

1111111

灭零

1

1

1

0000

0000001

0

1

X

1

0001

1001111

1

1

X

1

0010

0010010

2

1

X

1

0011

0000110

3

1

X

1

0100

1001100

4

1

X

1

0101

0100100

5

1

X

1

0110

1100000

6

1

X

1

0111

0001111

7

1

X

1

1000

0000000

8

1

X

1

1001

1001100

9

2、七段显示数码管

七段发光二极管是多种显示器中的一种,它可以直接显示出译码器输出的十进制数。

七段发光二极管显示器有共阳接法和共阴接法两种。

共阳接法就是把发光二极管的阳极都连在一起接到高电平上,输入低电平有效。

七段共阳显示器的外引线排列图和内部原理图如下。

图2-9数码管外引线排列图图2-10共阳数码管内部原理图

三、原理分析:

如图2-7所示,驱动整数部分数码管显示的译码器输入端A1-D1分别与单片机的端口P2.4-P2.7相接,驱动小数部分数码管显示的译码器输入端A2-D2分别与单片机的端口P2.0-P2.3相接。

编写程序控制端口P2.0-P2.7,并通过译码器驱动数码管显示对应的余额。

在实际电路中,译码器和数码管的对应端口间需加限流电阻,由于实际电路中VCC为5V,而发光二极管的工作电压一般在2V左右,故在实物焊接中,我选择用300欧姆的电阻作为限流电阻。

 

2.6原理总图

用中央控制单元--单片机最小系统控制投币模块,选择购买模块,找零模块和显示模块,设计出整体原理图如图2-11。

图2-11整体原理图

 

3软件设计

3.1软件简介

3.1.1Keil简介

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

下面详细介绍KeilC51开发系统各部分功能和使用。

C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及C51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

3.1.2Proteus简介

Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

Proteus软件具有其它EDA工具软件(例:

multisim)的功能。

这些功能是:

(1)原理布图

(2)PCB自动或人工布线

(3)SPICE电路仿真

另外,Proteus还有以下功能

(1)互动的电路仿真,用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

(2)仿真处理器及其外围电路:

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。

配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。

其功能模块有4部分组成:

智能原理图设计(ISIS);完善的电路仿真功能(Prospice);Prospice混合仿真;独特的单片机协同仿真功能(VSM)

在Proteus绘制好原理图后,调入已编译好的目标代码文件:

*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。

Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。

前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。

这在相当程度上替代了传统的单片机实验教学的功能,例:

元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

课程设计、毕业设计是学生走向就业的重要实践环节。

由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台

使用Proteus软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1