《电工电子综合》课程设计音乐数字彩灯彩灯控制器.doc
引言这次的课程设计主要是通过计数器,译码器来实现的,这个音乐数字彩灯控制电路实质上就是循环发出一系列的有规律的数列,并通过数码管显示出来。这里主要使用的就是计数器,计数器在时序电路中应用很广泛,它不仅可以用于对脉冲进行计数,还可以用于定时等其他功能。运用计数器的不同功能和不同接法就可以实现不同的序列输出。 这次的实验内容需要是数码管能够按照要求依次输出自然数序列,计数序列,偶数序列还有音乐序列。为了实现这个循环输出的功能,经过分析可以用2线4线译码器和四进制加计数器来控制四个计数器来实现对数列循环输出。 脉冲信号可根据555定时器来设计一个多谐振荡器来产生方波,通过方波来驱动计数器工作。 由于自然数序列和音乐序列与计数序列和偶数序列的频率有2倍的关系,为了使数字显示时间基本相等所以需要用JK触发器来设计一个分频电路。 通过以上的准备分析,这次的实际的原理电路则可以根据以上绘出。音乐数字彩灯彩灯控制器1 设计意义及要求1.1设计意义音乐数字彩灯控制器在现实生活中有很广泛的商业用途,常用于商业广告等各个领域,随着时代的进步也对音乐数字彩灯控制器有了更高的要求。通过本次音乐数字彩灯控制器的设计与制作是自己有机会将自己所学的知识应用到生活实践中,增强学生理论联系实践的能力。进一步学习掌握组合逻辑电路与时序逻辑电路的设计、组装与调试的方法。熟悉各种重用芯片的功能与使用的技巧。通过本次小组合作,学会与团队成员相互学习,相互帮助的方法。同时锻炼了自己分析电路以几查找问题的能力。1.2 设计要求1.2.1 设计要求1. 运用所学的模电知识和数字电路知识;2. 用到的原件:实验板、电源、连接导线、74系列芯片、555芯片或微处理器等。1.2.2 初始条件1. 数码管自动一次显示数字列队0,1,2,3,4,5,6,7,8,9(自然数列);1,3,5,7,9(奇数列);0,2,4,6,8(偶数列);0,1,2,3,4,5,6,7,0,1(音乐数列)。然后有一次显示同上数列,不断循环。2. 打开电源开关,自动清零,即通电后最先显示自然数列的0再显示出1然后按上述规律变化。3. 每个数字显示时间(从数码管显示之时起到消失之时止)基本相等。2 方案设计2.1 设计思路此彩灯控制器由555及相关电阻和电容构成振荡信号发生电路;由三片74LS191计数器实现对自然数列、奇数列、偶数列和音乐数字序列的控制;由一片74HC139和一片74HC390实现对四个数列控制器清零的控制以实现四个数列的循环。本设计可以实现自然数列、奇数列、偶数列、音乐数列的循环显示,打开电源开关后自动清零,每个数字的一次显示时间基本相等。本设计所用到的芯片都是常规芯片,在市场上容易购到。2.2 方案设计总原理框图工作开关循环控制脉冲电路计数电路显示电路图1 总原理图1) 工作开关即是电源开关。2) 脉冲电路可有555以及所需的电阻和电容构成频率发生电路。3) 计数电路由4片74LS161芯片分别完成自然数序列、奇数序列、偶数序列、音乐序列的计数。4) 循环控制由四进制计数器74HC390和二线四线译码器74HC139来控制计数器74LS161的清零端来实现的循环计数。5) 显示电路通过数码管来显示数据。2.3 实验方案一(自己的方案)2.3.1 实验电路原理图如下图2 实验电路原理图2.3.2 工作原理 本电路由1片74HC113、1片555、1片74HC390、1片74HC139、4片74161、5片4072、4片7408、6片74LS04、1个1.15K欧姆和1个3K欧姆的电阻、1个0.01uF和1个100uF的电容以及一个数码管组成。1) 当电源接通时,555开始发出矩形脉冲送到U4和U5以及74HC113组成的分频电路,矩形脉冲经过分频后送到U3和U6。由于74HC139和74HC390组成循环控制电路控制计数器的清零端,使一个计数器工作时其余三个计数器保持清零状态。2) 首先U3开始计数,其余三个计数器保持清零状态,故数码管输出0-1-2-3-4-5-6-7-8-9(自然数),当U3计到10时通过瞬间的电平变化给74HC390一个瞬间脉冲是循环电路给U4一个高电平,同时对其余三个计数器给一个低电平使它们保持清零状态。3) U4开始计数,循环电路保持其余三个计数器的清零状态,这是数码管输出1-3-5-7-9(奇数),同样当U4计到10时通过瞬间的电平变化给循环电路一个瞬间脉冲,循环电路接收到脉冲后给U5一个高电平,同时给其余三个计数器一个低电平使它们保持清零状态。4) U5开始计数,循环电路保持其余三个计数器的清零状态,这时数码管输出0-2-4-6-8(偶数),同样循环电路给U6一个高电平,同时给其余三个计数器一个低电平是它们保持清零状态。5) U6开始计数,循环电路保持其余三个计数器的清零状态,这时数码管输出0-1-2-3-4-5-6-7-0-1(音乐数列),同样循环电路给U3一个高电平,同时给其他三个一个低电平使它们保持清零状态。6) 通过循环电路控制计数器的清零端实现0-1-2-3-4-5-6-7-8-9-1-3-5-7-9-0-2-4-6-8-0-1-2-3-4-5-6-7-0-1的数列循环。2.4 实验方案二(小组方案)2.4.1 实验电路原理图如下图3 实验电路原理图2.4.2 电路工作原理这个方案由晶体振荡器产生特定频率的脉冲信号,并将信号送给AT89C52单片机,由于数码管的驱动电压比较高,故需将单片机的P0与上拉电阻相连,以提高输出电压,这样才能给数码管提供足够高的电压使数码管显示出数字。由于在给单片机上电的瞬间,单片机的所有端口均为高电平,若采用七段共阴数码管,则会在通电的瞬间显示F,故应选用七段共阳数码管。彩灯由单片机的P1口和P2.0口控制,为使彩灯点亮时按对称分布,我们用P2.0口单独控制中间的一盏彩灯。为了达到每个数字显示的时间大致一致,我们通过0中断来实现功能。2.4.3 流程图YYNNY数码管P0彩灯P1,P2.0设T0为定时方式1装入T0计数初值开启中断启动定时/计数器50MS时间到?num加1num等于20?数码管显示彩灯亮num清零重装初值图3 流程图2.5 方案比较 经过仿真,两个方案均能够实现功能要求。方案一为自己设计的方案,原理比较简单,易于理解,但是电路比较复杂,连接电路比较麻烦,同时也增加了实验的费用,同时也降低了电路的稳定性;方案二为小组共同设计的方案,是通过单片机来实现功能,电路简单,减少了连接电路的工作量,同时也提高了电路的稳定性。3 单元电路设计3.1脉冲信号发生电路 通过555以及相应的电阻和电容来形成脉冲发生电路,对整个电路输出脉冲信号。555的功能表如下:表1 555功能表输入输出阈值输入(V11)触发值(V12)复位(RD)输出(VO)放电管T××00导通<(2/3)VCC<(1/3)VCC11截止>(2/3)VCC>(1/3)VCC10导通<(2/3)VCC>(1/3)VCC1不变不变图4 脉冲信号发生电路原理图3.2 分频电路表2 JK触发器功能表JK功能00保持01清零10置111翻转通过JK触发器来实现分频功能,当J、K都接高电平时,这时触发器的功能是翻转,所以当脉冲为下跳沿时发生翻转1变为0、0变为1使故将脉冲信号的频率变为原始脉冲的1/2实现分频。电路图如下: 图5 分频电路原理图3.3 循环控制电路 在这个部分是为了自然序列,奇数序列,偶数序列,音乐序列的循环显示。其中四个74LS160计数器的进位端与74HC390的CPA相连,这样可以通过进位端状态由0变为1的瞬间给它一个脉冲触发,而另一个脉冲端则是与其输出端Q0相连,这样使74HC390实现十进制计数功能。再用输出端分Q0,Q1分别与译码器74HC139相连,用译码器控制计数器的清零。实现的功能用表格表示如下:表3 循环电路功能比表Q0Q1Y0Y1Y2Y3000111011011101101111110Y0,Y1,Y2,Y3分别连接7404后与计数器的清零端相连来控制清零实现循环。74HCT139的功能表如下:表4 74HC139功能表74HCT139的管脚图如下:图6 74HC139管脚图 74HC390的功能表如下:表5 74390功能表COUNTOUTPUTQAQDQCQB0LLLL1LLLH2LLHL3LLHH4LHLL5HLLL6HLLH7HLHL8HLHH9HHLL74HC390的管脚图如下:图7 74HC390管脚图电路图如下:图8 循环电路原理图3.4 自然数计数电路74LS161为4位二进制加计数器,清零方式为异步清零。将Q3与Q1通过7400与清零端相连实现十进制计数。74161的功能表如下:表6 74161功能表清零预置使能时钟预置数据输入数据输出RDLDEPETCPD3D2D1D0Q3Q2Q1Q0H××××××××LLLLLH×× DCBADCBALLL××××××保持LLL×××××保持LLHH ××××计数74161的管脚图如下:图9 74161管脚图电路图如下:图10 自然数计数显示电路3.5 奇数计数电路为了实现奇数计数,可以将数码管低位直接置高电平,这样无论高位怎么变化数码管都显示奇数循环,同样将Q3和Q1通过7400与清零端相连实现十进制计数。电路图如下:图11 奇数计数显示电路3.6 偶数计数电路为了实现偶数计数,可以将数码管低位直接置低电平,这样无论高位怎么变化数码管都显示偶数循环,同样将Q3和Q1通过7400与清零端相连实现十进制计数。电路图如下:图12 偶数计数显示电路3.7 音乐序列计数电路由于音乐序列为0-1-2-3-4-5-6-7-0-1,观察发现只要将数码管高位置为低电平,再将Q3和Q1通过7400与清零端相连实现十进制,这样就会循环显示音乐序列。电路图如下:图13 音乐序列技术显示电路4 调试与检测 4.1 调试 由于电路连接过程中会受到很多因素的影响,加上电路比较复杂难免会出现一些问题,所以调试是必须的,电路经过调试以后才能达到理想的效果。 4.2 调试中出现的故障及解决的办法1) 没能实现循环清零功能。调试方法:循环电路的原理是通过移动高电平来实现循环,但是74161的清零端是地电平有效,故应该在循环电路与清零端加上非门才能实现清零循环。2) 奇数和偶数显示时数码管显示较快。调试方法:在分别在奇数计数器和偶数计数器的信号输入端接一个非门,将信号翻转一下,实现延迟。3) 脉冲频率较低不易于观察。调试方法:将脉冲电路的电阻和电容的值分别定为3.1K欧、2K欧以及100uF、0.01Uf.5 仿真操作步骤及使用方法 由于电路连接完成后,电路的工作有电源控制,故电路只需要一个电源开关,用电源开关来实现整个电路是否工作。 打开电源开关,电路开始工作,脉冲电路产生脉冲信号送入计数器74161,从而是计数器开始计数,数码管显示数字,循环电路同时控制清零循环,从而实现数码管的循环显示要求。 关闭电源开关,电路停止工作,数码管不工作。总结与体会经过这些天的课程设计,总算是完成了基本的课程设计要求,但是自己设计的电路过于复杂,然而小组的单片机方案更加简单。从性能上说,自己设计的电路达到了实验要求,但是由于电路过于复杂,从而实用价值并不高,同时增加了电路出现故障的几率,然而小组的单片机方案相比更加简单,实用价值更高,性能也会更加可靠。自己设计的电路原理简单,只是用到了基本的数字电路和模拟电路的基础知识,从而导致了用到的芯片很多,电路比较复杂,同时降低了电路的可靠性,增加了电路的设计费用。在设计的过程中,要理顺思路,明确实验的目的是什么,要实现一个什么样的功能,将所学芯片的知识与功能相搭配。设计电路的时候要一步一步的从基础的电路开始设计,将几个基础的电路一步一步的组在一起并调试,最终完成一个复杂的电路。在完成自己的电路后不能自我感觉良好,要换另外一种思维方式试一试,重新设计一个全新的电路或更多,然后找出不同的电路的优点,看能不能将各个电路的优点集中在一个电路上,就像本次小组设计的电路,是通过单片机这个全新的角度去实现实验的要求,大大降低了实验电路的复杂性。通过这次课程设计使我明白了学会课堂上的东西每个人都会,但要将所学的东西运用到现实生活和生产中就不是那么简单的事情。如何将理论与实践相结合,如何把自己学到的知识运用到实践中,这是我们必须解决的问题。并不是简简单单就能把一个电路设计出来的,我们必须要学会理论与实践相结合,不能空读书,不能渡死书,要学会运用自己所学的知识,这样才算是真正的学到了知识,同时要学会检查实验电路,也要学会相互学习和相互合作,要知道团结就是力量。在以后的生活中,我们要记住在课程设计中体会到的。要多观察,多动脑,和自己的合作伙伴相互分享自己的经验,团结就是力量,自己孤军奋战很难会有很优秀的方案。参考文献1. 康华光,邹寿彬.电子技术基础-数字部分(第五版).高等教育出版社.2. 祁存荣(编),吴友宇(审).电子技术基础实验(数字电子计数部分).武汉理工大学教材中心.3. 伍时和(主编).吴友宇(副主编).凌玲(副主编).数字电子计数基础.清华大学出版社.附录1 方案一电路图图14 电路原理图2 方案二电路图图15 方案二电路图3 单片机程序#include<reg52.h>#include <stdio.h>#include<intrins.h>#define uchar unsigned char #define uint unsigned intsbit P2_0=P20;uint num,i,j,k;uchar code tab10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void timer() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;num+;void main()uchar code LED10=0X00,0X00,0X18,0X18,0X3C,0X3C,0X7E,0X7E,0XFF,0XFF;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;P0=0xff;EA=1;ET0=1;TR0=1;while(1) P1=0x00; P2_0=0; P0=tab0; i=1; for(j=9;j>0;j-) while(num!=20);num=0;if(i%2)!=0) P2_0=1; else P2_0=0; P0=tabi;if(i!=9) P1=LEDi; else P1=LED9; i+;while(num!=20); i=1; P1=LED1; for(j=5;j>0;j-) while(num!=20); num=0; P0=tabi; P1=LEDi; if(i%2)!=0) P2_0=1; else P2_0=0; i=i+2; while(num!=20); i=0; P1=LED0; for(j=5;j>0;j-) while(num!=20); num=0; P0=tabi; P1=LEDi; if(i%2)!=0) P2_0=1; else P2_0=0; i=i+2; while(num!=20); i=0; P1=LED0; for(j=8;j>0;j-) while(num!=20);num=0;P0=tabi;P1=LEDi;if(i%2)!=0) P2_0=1; else P2_0=0;i+;while(num!=20);i=0;P1=LED0; for(j=2;j>0;j-) while(num!=20);num=0;P0=tabi;P1=LEDi;if(i%2)!=0) P2_0=1; else P2_0=0;i+;while(num!=20);num=0; 本科生课程设计成绩评定表姓 名肖均洋性 别男专业、班级自动化0801课程设计题目:音乐数字彩灯控制器设计课程设计答辩或质疑记录:成绩评定依据:设计方案与内容(30分)制作与调试(20分)说明书内容与规范程度(30分)答 辩(10分)学习态度与考勤(10分)总 分(100分)最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 2010年 7月 12日