武汉理工大学数电课设-自动售货饮料机控制电路的设计与实现_第1页
武汉理工大学数电课设-自动售货饮料机控制电路的设计与实现_第2页
武汉理工大学数电课设-自动售货饮料机控制电路的设计与实现_第3页
武汉理工大学数电课设-自动售货饮料机控制电路的设计与实现_第4页
武汉理工大学数电课设-自动售货饮料机控制电路的设计与实现_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、-作者xxxx-日期xxxx武汉理工大学数电课设-自动售货饮料机控制电路的设计与实现【精品文档】课程设计任务书学生姓名: 张亚男 专业班级: 通信1104班 指导教师: 刘可文 工作单位: 信息工程学院 题 目: 自动售货饮料机控制电路的设计与实现 初始条件:本设计既可以使用计数器、比较器、脉冲发生器等和必要的门电路等,也可以使用单片机系统构建。用数码管、LED灯显示结果。要求完成的主要任务: (包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。2、技术要求:1)售货机只接受5角和1元的硬币,可以用按钮代替硬币的投入。投入硬币的总金额用两位数码管显示,最大投入金

2、额为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

3、纸打印,图纸应符合绘图规范。时间安排:1、 2013年 5 月 16 日,布置课设具体实施计划与课程设计报告格式的要求说明。2、 2013年 6 月 27 日至 2013年 6 月 29 日,方案选择和电路设计。3、 2013年 6 月 30 日至 2013年 7 月 3 日,电路调试和设计说明书撰写。4、 2013年 7 月 5 日,上交课程设计成果及报告,同时进行答辩。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目 录摘要IAbstractII1 总体方案设计1方案比较选择11.2 实现自动售货饮料机功能的总体思路22 硬件单元电路设计32.1 中央控制单元-单片机最小

4、系统32.1.1 STC89C52的介绍32.1.2 51系列单片机最小系统的介绍52.2 投币单元62.3 选择购买单元72.4 找零单元82.5 显示单元82.5.1 可购买类型指示灯显示82.5.2 余额显示92.6 原理总图123 软件设计133.1 软件简介133.1.1 Keil 简介133.1.2 Proteus 简介133.2 程序设计154 Proteus 仿真结果及分析165 实物焊接及调试205.1 实物焊接图205.2 调试过程中出现的问题206 总结及体会217 参考文献22附录1:元件清单23附录2:源程序24【精品文档】摘要本文详细介绍了自动售货饮料机系统的方案设

5、计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的思路。该系统以单片机STC89C52芯片为核心,采用集中控制方式实现了对自动售货饮料机全过程的自动控制。本系统选择独立式键盘按键作为投币和货物选择端,用数码管实现了投币总数和余额的显示功能。此外,系统程序采用keil软件进行程序的编写和编译,并用Proteus软件进行仿真,最后根据原理电路焊接实物并调试。关键词:自动售货饮料机 STC89C52 数码管显示 Proteus仿真AbstractThis paper describes a vending machine system design, hardw

6、are selection, software planning and preparation, and describes the focus of the work vending machine system theory, system design, software programming mentality. STC89C52 in the system as the core chip, realizes the automatic control of the vending machines entire process by using the centralized

7、control mode. The stand-alone keyboard keys are chose to insert coins and choose the goods side, the Nixie tube is used to realize the function of showing the total number of inserted coins and remaining sum. In addition, the system program using keil software to prepare and compile procedures, and

8、Proteus software is used for simulation. At last, the material object is welded and debugged according to the schema circuit.Keywords: The Vending Machines STC89C52 Digital Display Proteus Simulation1 总体方案设计根据设计要求,自动售货饮料机主要由四个模块构成,即投币模块、选择购买模块、找零模块和显示模块(余额显示和可购买类型指示灯显示)。按照此思路,可以用数字芯片设计,也可以用单片机系统设计,两

9、种设计方案如下。方案1:电路从两部分输入,第一部分通过开关闭合模拟投币,投币后进入计数器74LS161和二进制全加器74LS283进行累加,通过数码管显示投币总值。再通过数值比较器74LS85比较可以购买不同价格的饮料类型。另一部分通过开关闭合模拟选择饮料,选择货物后用编码器和数码管显示饮料价格,最后将投币总值和饮料价格一起通过减法器,做差值后显示。原理框图如图1-1所示。图1-1 方案一原理框图方案2:用单片机实现自动售饮料功能,通过编写程序来控制数码管上金额的显示和各种价格的饮料对应的LED灯显示,通过按键的操作来实现投币,买饮料和找零。原理框图如图1-2所示。单片机AT89C51找零按键

10、数码管显示余额可购买指示灯购买按键投币 图1-2 方案二原理框图分析得出,方案一和方案二都可行。但是,方案一需要使用74LS161,74LS283,74LS85等芯片,电路组成比较复杂,焊接电路花费的时间较长,不容易做出实物。而方案二使用单片机思路清晰,电路简单易焊接。综合考虑,我选择方案二。1.2 实现自动售货饮料机功能的总体思路采用单片机系列中的STC89C52所组成的单片机最小系统作为中央控制元件。投币模块: 用端口和作为投币输入端,分别表示投入元和元。选择购买模块:用端口、和作为选择购买输入端,分别表示购买元、元和元的饮料。找零模块:用端口作为找零输入端。显示模块:用端口、和作为可购买

11、指示输出端,分别表示可购买元、元和元的饮料;用端口作为显示输出端,连接数码管显示余额。2 硬件单元电路设计2.1 中央控制单元-单片机最小系统 STC89C52的介绍STC89C52是一种带8K字节闪烁可编程可擦除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制作技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。其引脚图如下图所示。图2-1 STC89C52引脚图STC89C52RC引脚功能说明:VCC(40引脚):电源电压VSS(20引脚):接地P0端口(,3932引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个

12、引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(,18引脚):P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。在对Flash ROM编程和程

13、序校验时,P1接收低8位地址。P2端口(,2128引脚):P2口的基本功能和P1端口相同。在访问外部程序存储器和16位地址的外部数据存储器时,P2送出高8位地址。在访问8位地址的外部数据存储器时,P2口引脚上的内容在整个访问期间不会改变。在对Flash ROM编程和程序校验期间,P2也接收高位地址和一些控制信号。P3端口(,1017引脚):P3口的基本功能和P1端口相同。在对Flash ROM编程或程序校验时,P3还接收一些控制信号。RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚输出96个晶振周期的高电平

14、。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。(29引脚):外部程序存储器选通信号()是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。

15、为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。2.1.2 51系列单片机最小系统的介绍单片机最小系统是能补足单片机工作的最简单电路,它由单片机、电源、晶体振荡器、复位电路等构成。它是本系统的处理单元也是控制单元,负责处理信号、外设的接口与控制,同时它也是所有软件的载体。对51系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路、输入/ 输出设备等。51系列单片机最小系统见下图。图2-2 51系列单片机最小系统时钟电路:XTAL1(

16、19 脚) :芯片内部振荡电路输入端。XTAL2(18 脚) :芯片内部振荡电路输出端。XTAL1 和XTAL2 是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。图2-2 中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2 的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。一般来说晶振可以在1.2 12MHz 之间任选,甚至可以达到24MHz 或者更高,但是频率越高功耗也就越大。在本实验套件中采用的 的石英晶振。和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。当采用石

17、英晶振时,电容可以在20 40pF 之间选择(本实验套件使用30pF)。复位电路:在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。5l 系列单片机的复位引脚RST( 第9 管脚) 出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST 持续为高电平,单片机就处于循环复位状态。复位操作通常有两种基本形式:上电自动复位和开关复位。图2-2 中所示的复位电路就包括了这两种复位方式。上电瞬间,电容两端电压不能突变,此时电容的负极和RESET 相连,电压全部加在了电阻上,RESET 的输入为高,芯片被复位。随之+5V电源给电容充电,电阻上的电

18、压逐渐减小,最后约等于0,芯片正常工作。并联在电容的两端为复位按键,当复位按键没有被按下的时候电路实现上电复位,在芯片正常工作后,通过按下按键使RST管脚出现高电平达到手动复位的效果。一般来说,只要RST 管脚上保持10ms 以上的高电平,就能使单片机有效的复位。图中所示的复位电阻和电容为经典值,实际制作是可以用同一数量级的电阻和电容代替。EA/VPP(31 脚) 的功能和接法:51 单片机的EA/VPP(31 脚) 是内部和外部程序存储器的选择管脚。当EA 保持高电平时,单片机访问内部程序存储器;当EA 保持低电平时,则不管是否有内部程序存储器,只访问外部存储器。在本实验套件中,EA 管脚接

19、到了VCC 上,只使用内部的程序存储器。P0 口外接上拉电阻:51 单片机的P0 端口为开漏输出,内部无上拉电阻。所以在当做普通I/O 输出数据时,由于V2 截止,输出级是漏极开路电路,要使“1”信号(即高电平)正常输出,必须外接上拉电阻。2.2 投币单元用端口和作为投币输入端,分别表示投入元和元。原理电路图如图2-3所示。图2-3 投币单元原理电路如图所示,KEY_5为投入元的按键开关,与端口相接。KEY_10为投入元的按键开关,与端口相接。和初始置为高电平1,按下开关瞬间,接地置为低电平0,表示投入对应的硬币。2.3 选择购买单元用端口作为选择购买输入端,分别表示购买元、元和元的饮料。原理

20、电路图如图2-4所示。图2-4 选择购买单元原理电路如图所示,KEY_buy5、KEY_buy10和KEY_buy15分别为购买元、元和元饮料的按键,分别与端口相连。初始置为高电平1,按下按键瞬间,接地置为低电平0,表示购买对应金额的饮料。2.4 找零单元用端口作为找零输入端。原理电路图如图2-5所示。 图2-5 找零单元的原理电路如图所示,KEY_getchange表示找零,与端口相接。初始置为高电平1,按下按键瞬间,接地置为低电平0,表示找零信号。2.5 显示单元 可购买类型指示灯显示用端口作为指示灯显示输出端,分别连接LED灯指示元、元和元的饮料可以购买。原理电路图如图2-6所示。 图2

21、-6 可购买类型指示灯显示单元原理电路如图所示,LED_A、LED_B、LED_C分别用来指示元、元和元的饮料可以购买,分别与端口相接,每个LED灯加一个100欧姆的限流电阻,然后接VCC。初始置为高电平1,此时LED灯截止,为熄灭状态。当按键输入后经程序控制使、或为低电平时,对应的LED灯导通,为点亮状态。 余额显示用端口作为余额显示输出端,连接译码器分别驱动两个数码管共同显示余额。原理电路图如图2-7所示。图2-7 余额显示单元原理电路一、元件选取:显示元件选择了两个一位共阳数码管,并用74LS47译码器作为驱动。二、元件介绍:1、74LS47译码器74LS47是BCD-7段数码管译码器/

22、驱动器, 74LS47的功能用于将BCD码转化成数码块中的数字,通过它解码, 可以直接把数字转换为数码管的显示数字。 74LS47为低电平作用。管脚图如图2-8所示。图2-8 74LS47引脚图引脚功能: (1)LT:试灯输入,是为了检查数码管各段是否能正常发光而设置的。当LT=0时,无论输入A3 ,A2 ,A1 ,A0为何种状态,译码器输出均为低电平,也就是七段将全亮,若驱动的数码管正常,是显示8。 (2)BI:灭灯输入,是为控制多位数码显示的灭灯所设置的。当BI=0时,不论LT和输入A3 ,A2 ,A1,A0为何种状态,译码器输出均为高电平,使共阳极数码管熄灭。 (3)RBI:灭零输入,它

23、是为使不希望显示的0熄灭而设定的。当对每一位A3= A2 =A1 =A0=0时,本应显示0,但是在RBI=0作用下,使译码器输出全为高电平。其结果和加入灭灯信号的结果一样,将0熄灭。(4)RBO:灭零输出,它和灭灯输入BI共用一端,两者配合使用,可以实现多位数码显示的灭零控制。74LS47是输出低电平有效的七段字形译码器,它在这里与数码管配合使用,表2-1列出了74LS47的真值表,表示出了它与数码管之间的关系。表2-1 74LS47真值表/ D C B Aa b c d e f g说明0X1X X X X0 0 0 0 0 0 0试灯XX0X X X X1 1 1 1 1 1 1熄灭1000

24、 0 0 01 1 1 1 1 1 1灭零1110 0 0 00 0 0 0 0 0 101X10 0 0 11 0 0 1 1 1 111X10 0 1 00 0 1 0 0 1 021X10 0 1 10 0 0 0 1 1 031X10 1 0 01 0 0 1 1 0 041X10 1 0 10 1 0 0 1 0 051X10 1 1 01 1 0 0 0 0 061X10 1 1 10 0 0 1 1 1 171X11 0 0 00 0 0 0 0 0 081X11 0 0 10 0 0 1 1 0 092、七段显示数码管七段发光二极管是多种显示器中的一种,它可以直接显示出译码器输

25、出的十进制数。七段发光二极管显示器有共阳接法和共阴接法两种。共阳接法就是把发光二极管的阳极都连在一起接到高电平上,输入低电平有效。七段共阳显示器的外引线排列图和内部原理图如下。图2-9 数码管外引线排列图 图2-10 共阳数码管内部原理图三、原理分析:如图2-7所示,驱动整数部分数码管显示的译码器输入端A1-D1分别与单片机的端口相接,驱动小数部分数码管显示的译码器输入端A2-D2分别与单片机的端口相接。编写程序控制端口,并通过译码器驱动数码管显示对应的余额。在实际电路中,译码器和数码管的对应端口间需加限流电阻,由于实际电路中VCC为5V,而发光二极管的工作电压一般在2V左右,故在实物焊接中,

26、我选择用300欧姆的电阻作为限流电阻。2.6 原理总图用中央控制单元-单片机最小系统控制投币模块,选择购买模块,找零模块和显示模块,设计出整体原理图如图2-11。图2-11 整体原理图3 软件设计3.1 软件简介 Keil 简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51软件提供丰富的库函数

27、和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LI

28、B51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。3.1.2 Proteus 简介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软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真另外,Proteus还有以下功能(1)互动的电路仿真,用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。(2)仿真处理器及其外围电路:可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了

31、完备的电子设计开发环境。其功能模块有4部分组成:智能原理图设计(ISIS);完善的电路仿真功能(Prospice);Prospice混合仿真;独特的单片机协同仿真功能(VSM)在Proteus绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在Proteus的原理图中看到模拟的实物运行状态和过程。Proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、

32、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开发环境进行培训,在不需要硬件投入的条件下,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用

33、 Proteus 进行系统仿真成功之后再进行实际制作,能极大提高单片机系统设计效率。3.2 程序设计主程序设计思路如图3-1,源程序见附录2。 开始初始化设置投币按键扫描数码管显示余额LED指示可购买投币按键处理购买按键扫描购买按键处理找币按键扫描找币按键处理图3-1 主程序设计思路框图4 Proteus 仿真结果及分析1.设置投币元,未购买饮料。仿真图如下:图4-1 投0.5硬币,未购买状态仿真图 仿真结果分析:此时,LED_A灯亮,表示元的饮料可以购买;LED_B和LED_C为熄灭状态,表示元和元的饮料不能购买。数码管上显示,表示投入金额为元。符合设计要求。2.设置投币元,未购买饮料。仿真

34、图如下:图4-2 投1.0硬币,未购买状态仿真图仿真结果分析:此时LED_A和LED_B灯亮,表示元和元的饮料可以购买;LED_C处于熄灭状态,表示元的饮料不能购买。数码管上显示,表示投入金额为元。符合设计要求。3.多次投入元和元硬币,未购买饮料。仿真图如下:图4-3 多次投1.0元和0.5元硬币,未购买状态仿真图 仿真结果分析:此时LED_A、LED_B和LED_C都亮,表示元、元和元的饮料均可购买;多次投入元和元硬币,但最多只能投入元,此时数码管上显示。符合设计要求。 次投入元,购买元的饮料。仿真结果如下:仿真结果分析:此时,LED_A灯亮,表示元的饮料可以购买;LED_B和LED_C为熄

35、灭状态,表示元和元的饮料不能购买。数码管上显示,表示购买饮料以后余额为元。符合设计要求。5.投入两个元,购买元的饮料,再找零。仿真结果如下: 仿真结果分析:此时LED_A、LED_B和LED_C都为熄灭状态,表示元、元和元的饮料均不能购买;按下找零按键后,数码管显示为。符合设计要求。 5 实物焊接及调试5.1 实物焊接图图5-1 实物焊接图5.2 调试过程中出现的问题1、开始调试时,数码管一直显示,且所有按键都没效。多次检查电路焊接和程序烧制后发现,译码器74LS47的3,4,5号引脚均悬空。查询资料后,将3,4,5号引脚都接为高电平,此时元投币键有作用,但其他按键仍然无效。2、再次检查实物连

36、接,用万用表测试各点电位,发现在第二处按键接GND时出现了虚焊。再次连接好电路以后,六个按键均有效。3、实物调试时,设计要求基本能完成。但是小数部分的数码管显示时,0一直显示8,只有整数部分的数码管显示5或6时,小数部分的0才显示正确。多次检查电路和程序,仍未找出原因。6 总结及体会通过这次数字电路的设计与制作,我掌握了电子电路的设计方法以及一些元件的使用方法,在焊接电路板过程中也掌握了如何正确焊接电路,并对课本及以前学过的知识有了一个更好的认识。数字电路技术基础课程设计不仅帮助我们对理论知识有了更深的理解,而且也将理论与实践结合起来,提高了我们的动手能力。在这近一个星期中,我们为了能够准时完

37、成任务,付出了很大的努力,经常上网或到图书馆去查找相关资料,然后做仿真,也掌握了仿真软件Proteus的使用方法,画图,焊接电路。本次设计由于考虑到用数字电路芯片较多,电路较复杂,因此我选择用单片机来实现设计要求。由于之前没有接触过单片机,所以在课程设计开始的一段时间,花了较多时间来学习单片机的相关基础知识。但是我对多位数码管的动态扫描程序不太了解,而且我的设计只需要两位显示,所以我选择了两个一位数码管,并用两个译码器分别驱动数码管显示。本次设计共用6个按键开关,分别表示投币,选择购买和找零。4个LED灯,分别指示可购买饮料的类型和找零显示。然后编写程序烧入单片机,从而控制各个单元电路的实现。

38、由于我的程序设计基础不太好,所以在程序代码编写这一部分,请教了同学。并在同学的帮助和知道下完成了程序的编写与运行。仔细回想一下整个过程,感觉是受益匪浅。从原来的只会理论知识到现在可以用理论知识指导实践做出实际的数字电路,从中学到了很多东西。记得老师刚布置了设计题目,自己感到一无所措,不知从何下手,但是通过查找多方面的资料,终于对电路设计有了基本构思,从调试方便和成本角度出发,选择了一个较为理想的方案,然后画出了电路图,掌握其工作原理之后就对电路进行仿真,验证其功能。接下来就去购买器件和焊接电路板。但是由于焊接过程不太完美,导致实物调试能达到设计要求,但有点小差错。数字电子电路的课程设计为我们提

39、供了一个理论与实践相结合的平台,使我们从掌握单纯的理论知识到学会用理论知识分析解决问题,从而指导实践。这次训练使我们的知识更加丰富,而且开拓了我们的思维,培养了独立实践和创新精神。7 参考文献 2孙梅生电子技术基础课程设计高等教育出版社,2005 4徐国华. 电子技能实训教程. 北京航空航天大学出版社,2006 5谢自美. 电子线路设计·实验·测试. 第三版. 华中科技大学出版社,2006 6万嘉若,林康运.电子线路基础. 高等教育出版社,2006 7梁宗善. 新型集成电路的应用电子技术基础课程设计.华中科技大学出版社附录1: 元件清单实验元件型号数量单片机最小系统STC8

40、9C521发光二极管SST-R-3528-85105-C-124轻触开关6电阻100430014数码管LG5611BH2译码器CT74LS472附录2:源程序#include <reg52.h>/包括一个52标准内核的头文件/*变量定义*/sbit KEY_5 = P1 0; /投币5角按键 sbit KEY_10 = P1 1; /投币1元按键sbit KEY_buy5 = P1 2; /购买5角按键 sbit KEY_buy10 = P1 3; /购买1元按键sbit KEY_buy15 = P1 4; /购买元按键sbit KEY_getchange = P1 7; /找币按

41、键sbit LED_A = P0 5; /可购买5角的饮料 sbit LED_B = P0 6; /可购买1元的饮料 sbit LED_C = P0 7; /可购买元的饮料sbit LED_getchange = P0 0; /找币指示灯 unsigned char count;/投币总金额unsigned char sorts;/分类标志,指示LED亮灭/*/*/*/*延时函数*/void DELAY_MS (unsigned int a) /CPU延时1毫秒unsigned int i;while( a- != 0)for(i = 0; i < 60; i+);/*数码管显示函数*/void show(unsigned char m) P2 = (P2&0XF0)|(m%10); /显示小数部分P2 = (P2&0X0F)|(m/10*16); /显示整数部分/*/*/*/ /主函数/void main (void)LED_A = 1; /初始化LED_B = 1;LED_C = 1;coun

温馨提示

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

评论

0/150

提交评论