七段数码管循环显示
七段数码管显示

七段数码管显示设计报告目录一、设计任务二、题目分析与整体构思三、硬件电路设计四、程序设计五、心得体会一.设计任务数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵式。
目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。
它可分为两种,一是共阳极显示器(发光二极管的阳极都接在一个公共点上),另一是共阴极显示器(发光二极管的阳极都接在一个公共点上,使用时公共点接地)。
数码管动态扫描显示,是将所用数码管的相同段(a~g 和p)并联在一起,通过选位通信号分时控制各个数码管的公共端,循环依次点亮各个数码管。
当切换速度足够快时,由于人眼的“视觉暂留”现象,视觉效果将是数码管同时显示。
根据七段数码管的显示原理,设计一个带复位的七段数码管循环扫描程序,本程序需要着重实现两部分:1. 显示数据的设置:程序设定4 位数码管从左至右分别显示1、2、3、4;2. 动态扫描:实现动态扫描时序。
利用EXCD-1 开发板实现七段数码管的显示设计,使用EXCD-1 开发板的数码管为四位共阴极数码管,每一位的共阴极7 段数码管由7 个发光LED 组成,7 个发光LED 的阴极连接在一起,阳极分别连接至FPGA相应引脚。
四位数码管与FPGA 之间通过8 位拨码开关(JP1)进行连接。
二.题目分析与整体构思使用EXCD-1 开发板的数码管为四位共阴极数码管,每一位的共阴极7 段数码管由7个发光LED 组成,呈“”字状,7 个发光LED 的阴极连接在一起,阳极分别连接至FPGA 相应引脚。
SEG_SEL1、SEG_SEL2、SEG_SEL3 和SEG_SEL4 为四位7 段数码管的位选择端。
当其值为“1”时,相应的7 段数码管被选通。
当输入到7 段数码管SEG_A~ SEG_G 和SEG_DP 管脚的数据为高电平时,该管脚对应的段变亮,当输入到7 段数码管SEG_A~SEG_G 和SEG_DP 管脚的数据为低电平时,该管脚对应的段变灭。
4位七段数码管循环显示

4、答辩考核
指
标
要
求
1、采用MCS-51单片机作为微处理器。
2、数码管模块闪烁“0028”3次,再闪烁“3105”3次,如次循环不停。。
3、在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰。
进
程
安
排
第一周:设计程序
第二周:做实物图
第三周:做实验报告
主要
参考
文献
[1]张靖武,周灵彬.《单片机系统的PROTEUS设计与仿真》.北京:电子工业出版社.2011,2
本文设计行、列驱动电路,运用单片机的智能化,系统的将每个功能电路模块连接在一起,总体结构设计如下图1-1所示:
图1-1
1.4
1.布置课题、复印资料、提出要求
2.列元件C清单、备齐元件
3.学习PROTEUS软件,PROTEUS中硬件设计
4.程序设计调试、PROTEUS软硬件调试
5.硬件电路焊接
6.单片机芯片烧录、硬件调试
[2]张义和,王敏男.《例说51单片机》.人民邮电出版社.2011,1
[3]何立民.单片机高级教程.第1版.北京:北京航空航天大学出版社,2001
[4] AT89C51 DATA SHEEP Philips Semiconductors 1999.dec
地点
院12-14
图2-1晶振电路图
2.2复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。一般微机电路正常工作需要供电电源为5V±5%,即4.75~5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。如图2-2为复位电路图。
实验六 七段LED数码管显示实验

实验六七段LED数码管显示实验
一、实验目的
学习LED显示器的使用方法。
二、实验设备
MUT—Ⅲ型实验箱、8086CPU模块。
三、实验内容
输出LED的位选码和段选码,在七段LED显示器上循环显示8字。
四、实验原理介绍
显示器的段选码由8255A的PA口提供,显示器的位扫描信号由8255A的PB 口提供给共阴极LED数码管的公共端。
五、实验步骤
1、实验连线
将LED数码管右侧的短路快取下。
8255A的PA0~PA7分别连LED-A~LED-DP,8255A的PB0~PB5分
别连接LED1~LED6,8255CS连CS0。
2、编写调试并运行程序,在LED显示器上显示8字并循环,调
整延时程序,观察运行结果。
六、实验提示
1、各端口地址:
PA口:04A0H
PB口:04A2H
PC口:04A4H
控制口:04A6H
2、LED显示的方法为动态显示。
七、实验报告要求
1、画出程序框图。
2、编写并整理经过运行,证明是正确的源程序,并加以注释。
《PLC应用与实践(三菱)》 配套教学案例:数码管循环显示数字

数码管循环显示数字
1.案例原理与提示
(1) 数码管的ABCDEFG七段对应Y0~Y6,计数器循环计数。
(2) 用数据寄存器存放变化的数字,用INC(加1)指令使数字不断递增,用CMP(比较)指令实现数据的循环。
(3) 也可以用功能指令直接七段译码。
2. 案例实施过程
1) I/O分配
数码显示控制输入/输出端口分配表如下表所示。
数码显示控制输入/输出端口分配表
2) 控制程序编写
数码显示控制程序梯形图如下图所示。
数码显示控制程序梯形图
用数据寄存器D0存放变化的数字0~9。
由特殊功能继电器M8013产生秒脉冲,采用加1指令使D0中的数据不断递增,每过一秒加1。
当D0中的数据递增为10时,D0中再次
赋值为0。
程序中M8002对程序初始化,把K0(十制数0)放入数据寄存器D0中。
当比较指令(CMP)的比较结果为等于时(D0=10),M11=1,则D0中赋值0。
当SB12断开时,D0=0,[INCP D0]指令不工作,数码管上显示0。
3) 接线与调试
数码显示控制外部接线图如下图所示。
数码显示控制外部接线图
3. 思考与提升
(1) 当SB12开关闭合时,数码管就循环显示0~A,每个数字显示0.5s;当SB12开关断开时,数码管上显示“H”。
(2) 当SB12开关闭合时,数码管就循环显示9~0,每个数字显示0.8s。
实验二用8个七段数码管实现“HELLO”的循环显示 实验报告

实验二用8个七段数码管实现“HELLO”的循环显示实验报告专业班级:2011级计算机1班学号:1137030 姓名:赵艺湾实验地点:理工楼901 实验时间:2012.9.26实验二用8个七段数码管实现“HELLO”的循环显示一、实验目的1、了解显示译码器的结构和理解其工作原理。
2、学习在QuartusⅡ9.0封装和使用自己设计的电路。
3、学习对复杂电路分类简化进行设计。
二、实验内容在实验一的基础上,把5个字符扩展到8个(包括空白字符)。
要求8个数码管(HEX7,HEX6,HEX5,HEX4,HEX3,HEX2,HEX1,HEX0)的显示与三个控制开关SW17,SW16,SW15的对应关系如下:其中“HELO空白”5个字符的编码及其与开关的对应关系如下表所示:三、实验仪器及设备:一、PC机二、QuartusⅡ9.0 三、DE2-70 四、显示器四、实验步骤1. 参考设计框图如下:2. 七段HELLO字符译码器参见实验一的设计。
3. 五选一选择器的设计框图如下:其真值表为:可用多个2选一选择器实现:2选1封装2选1内部电路5选15选1内部电路4. 8个不同的选择译码器sed7sed6sed5sed4sed3sed2sed1sed05. 将各部分按照参考设计框图连接即可。
五、实验心得通过本次用8个七段数码管实现“HELLO”的循环显示的实验,了解了QuartusⅡ9.0中自己设计电路的封装和使用;加深了对组合逻辑电路设计的了解;学习了选择器的工作原理。
六、实验结论可以通过不同的方法实现“HELLO”的循环显示,但要设计8个不同的选择器来实现对五种信号“H”、“E”、“L”、“O”、“空白”的选择。
七、实验思考题思考:实验中遇到的主要问题是什么?答:对电路整体结构、工作原理不理解;不知道选择器的工作原理。
通过实验你对组合电路的设计有何体会?答:我觉得电路设计需要认真的态度、严谨的思维。
要先弄清楚整个设计思路,为什么这么设计,再开始着手。
2项目 LED七段数码管的显示控制(WZ)

任务一 采用基本逻辑指令编程的显示控制
用于分支回路的起点。 2)OUT指令是驱动线圈的输出指令,可以用于Y、M、C、T和S继 电器,但不能用于输入继电器。
3)并行的OUT指令可以使用多次,但不能串联使用。 4)OUT指令用于计数器、定时器和功能指令线圈时,必须设定合 适的常数,常数K的设定需用一个程序步。 (2)触点串联指令(AND、ANI) AND、ANI指令格式及表示方法见 表2-3,指令的使用方法如图2-6所示。 表2⁃3 AND、ANI指令
任务一 采用基本逻辑指令编程的显示控制
(1)逻辑“与”—触点串联 两个或多个触点与线圈串联的线路, 只有当所有触点都接通时线圈才得电,这种关系在逻辑线路中称 为“与”逻辑,如图2-1所示。
K=A· B
图2-1
“与”电路
(2)逻辑“或”—触点并联 两个或多个触点并联再与线圈连接的 线路,只要有一个触点接通,线圈就得电,这种关系在逻辑线路 中称为“或”逻辑,如图2-2所示。 K=A+B
6.通电运行调试
按图2⁃17所示的系统接线图正确连接好数码管,进行系统的调 试,观察数码管能否按控制要求显示。若不能正常显示,检查电路 并修改调试程序,直至数码管能按控制要求显示为止。
图2-20
题3图
任务三 抢答器的PLC控制
任务目标
1.学习梯形图中的互锁环节。 2.学习梯形图中的“起-保-停”环节。 3.进一步掌握通用辅助继电器“M”的运用方法。 任务分析 设计一个有四个参赛组的抢答器。其控制要求为:任一组抢先 按下后,显示器能显示该组的编号并使蜂鸣器发出响声,同时锁住 抢答器,其他组抢答无效。抢答器设有复位开关,复位后可重新抢 答。
任务一 采用基本逻辑指令编程的显示控制
(3)触点并联指令(OR、ORI)
基于PLC的七段码显示数码管控制

基于PLC的七段码显示数码管控制【摘要】主要介绍了S7-200型PLC传输指令和移位指令的特点和使用方法,并以七段码显示为例,给出了应用不同类型的指令进行显示和编程的方法。
【关键词】传送指令;移位指令;程序设计;七段显示译码指令生活中,经常能见到电梯楼层显示、抢答器、交通灯剩余时间数码显示以及生产线上的显示系统,可以显示数字或字母,本文利用S7-200系列PLC的指令实现对七段显示数码管的控制。
在西门子S7-200系列PLC中,有多种方法可以实现七段码显示,其中比较常用的有基本指令、传送指令和七段显示译码指令SEG,笔者结合自己的工作经验,对几种控制七段码显示的指令进行比较,供大家学习和参考。
1.传输指令和七段码显示译码指令1.1 传输指令传送指令用于在各个编程元件之间进行数据传送[1]。
西门子S7-200系列PLC的传输指令包括单个传送指令和块传送指令。
单个传送指令助记符为MOV,当传送的数据长度不同时,助记符也不尽相同。
单个传送指令根据传送数据长度可以分为:字节传送指令MOVB,字传送指令MOVW,双字传送指令MOVDW,实数传送指令MOVR,利用传送指令可以在不改变原数据值的情况下将IN中的数据传送到OUT。
块传送指令用来进行一次传送多个数据。
单个传送指令的应用如图1所示图1 传送指令的应用在传送指令中,EN端为允许输入端;ENO端为允许输出端。
当输入I0.1为“1”时,传送指令将MB0中的字节传送给MB1,如果指令正确执行,则输出Q4.0为“1”,否则,如果输入I0.0为“0”,则数据不传送。
一旦传送成功,输出Q4.0将一直保持为1,直到将Q4.0复位。
在为变量赋初始值时,为了保证传送只执行一次,一般MOV方块指令和边缘触发指令联合使用。
1.2 移位指令移位指令是使位组合的字节数据、字数据或双字数据向指定方向移位的指令[2]。
根据移位的数据长度可分为字节型移位、字型移位、双字型移位。
还可以进行循环移位。
7段数码管显示驱动代码

7段数码管显⽰驱动代码数码管显⽰进⾏简单的介绍,数码管显⽰原理在数电中已经给出了⽐较详细的介绍,我就不赘述了,因为我们⽤的是⾄芯的开发板,其上的数码管显⽰模块采⽤的是共阳极的数码管,为低电平有效,0-F的显⽰码依次为:数码管的输⼊有3个位选和8个段选给出,位选信号sel来控制哪个数码管先亮,段选信号seg来控制数码管显⽰什么,位选本来应该是有6个的但是为了节约资源,采⽤了3-8译码器将6根线减少到3根,节约了FPGA的引脚资源。
因为⼈眼有⼀个视觉载留,所以60HZ来扫描的时候,数码管会让⼈眼觉得是同时点亮,所以时钟要⼤于60hz下⾯是具体的代码实现:module scan_led(input wire clk_1k,input wire rst_n,input wire [31:0] d,output wire [2:0] dig,//seloutput wire [7:0] seg);reg [7:0] seg_r;reg [2:0] dig_r;reg [3:0] disp_dat;reg [2:0] count;assign dig =dig_r;assign seg =sig_r;// 时钟不能直接接全局时钟,这⾥的时钟驱动给的是1k的always @(posedge clk_1k or negedge rst_n)beginif(!rst_n)count <=3'b000;else if(count == 3'd5)count <=3'b000;elsecount <=count +1'b1;endalways @(posedge clk_1k or negedge rst_n)begincase (count)3'd0:disp_dat = d[31:28];3'd1:disp_dat = d[27:24];3'd2:disp_dat = d[23:20];3'd3:disp_dat = d[19:16];3'd4:disp_dat = d[15:12];3'd5:disp_dat = d[11:8];3'd6:disp_dat = d[7:4];3'd7:disp_dat = d[3:0];endcasecase (count)3'd0:dig_r = 3'd0;3'd1:dig_r = 3'd1;3'd2:dig_r = 3'd2;3'd3:dig_r = 3'd3;3'd4:dig_r = 3'd4;3'd5:dig_r = 3'd5;3'd6:dig_r = 3'd6;3'd7:dig_r = 3'd7;endcaseendalways @(disp_dat)begincase(disp_dat)4'h0:seg_r = 8'hc0;4'h1:seg_r = 8'hf9;4'h2:seg_r = 8'ha4;4'h3:seg_r = 8'hb0;4'h4:seg_r = 8'h99;4'h5:seg_r = 8'h92;4'h6:seg_r = 8'h82;4'h7:seg_r = 8'hf8;4'h8:seg_r = 8'h80;4'h9:seg_r = 8'h90;4'ha:seg_r = 8'h88;4'hb:seg_r = 8'h83;4'hc:seg_r = 8'hc6;4'hd:seg_r = 8'ha1;4'he:seg_r = 8'h86;4'hf:seg_r = 8'h8e;endcaseendendmodule另⼀种写法:module display1 (clk, rst_n , sel, seg);input clk;input rst_n;//两个输出,位选sel和段选segoutput reg [2:0] sel;output reg [7:0] seg;//数码管扫描需要⼀个慢时钟 clk_slow,⽽产⽣慢时钟则需要⼀个计数器 cntreg [15:0] cnt;reg clk_slow;//这个always块⽤来产⽣慢时钟clk_slowalways @ (posedge clk)beginif(!rst_n)begincnt <= 0;clk_slow <= 1; //复位时clk_slow静⽌不动endelsebegincnt <= cnt + 1; //复位结束后cnt开始计数clk_slow <= cnt[12]; //扫描没有必要⾮得是60Hz整,⼤于60Hz即可endend//下⾯这个always块⽤于扫描数码管,也就是sel循环地变化,//时钟每⼀次上升沿sel变化⼀次,所以在括号⾥写上时钟上升沿作为触发条件always @ (posedge clk_slow or negedge rst_n)beginif(!rst_n)beginsel <= 0; //复位时sel静⽌endelsebeginsel <= sel + 1; //复位后sel开始扫描if(sel >= 5)sel <= 0; //因为只有6个数码管,所以让sel在0-5之间循环endendalways @ (*)beginif(!rst_n)seg <= 8'b11111111; //按下复位键时让数码管熄灭,共阳极数码管0亮1灭elsebegincase(sel)0: seg <= 8'b11111001; //右起第1个数码管上显⽰11: seg <= 8'b10100100; //右起第2个数码管上显⽰22: seg <= 8'b10110000;3: seg <= 8'b10011001;4: seg <= 8'b10010010;5: seg <= 8'b10000010; //右起第6个数码管上显⽰6default: seg <= 8'b11111111;endcaseendendendmodule。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(封面)天津理工大学中环信息学院电子技术课程设计设计题目:七段数码管循环显示控制电路设计姓名:诸钦峰学号:11160014系别:电子信息工程系专业班级:物联网1班开始日期: 2013年6月24日完成日期2013 年07月01日指导教师:彭利标成绩评定等级天津理工大学中环信息学院课程设计任务书系别:电子信息工程系班级:物联网1班姓名:诸钦峰学号:11160014本表附在课程设计说明书的目录之后。
天津理工大学中环信息学院课程设计成绩评定表系别:电子信息工程系班级:物联网1班姓名:诸钦峰学号:11160014本表附在课程设计任务书之后。
目录一、设计意义 (4)二、主要任务 (5)2.设计方案比较 (5)三、电路组成框图 (8)1.数列循环电路的设计 (8)2.序列显示电路的设计 (8)2.1十进制自然数序列的显示电路 (8)2.2奇数序列显示电路 (9)2.3偶数序列显示电路 (9)2.4音乐序列显示电路 (10)3.脉冲产生电路的设计 (11)4.二分频电路的设计 (11)四、电路原理图 (12)五、各电路的仿真测试 (14)1.脉冲产生电路的仿真 (15)2.二频分电路的仿真 (16)六、元件清单 (16)七、总结 (16)一、设计意义这次的课程设计主要是用计数器来实现的,这个七段数码管循环显示控制电路设计的实质就是要产生一系列有规律的数列, 然后通过一个七段数码管显示出来。
这里使用的只要就是计数器, 计数器在时序电路中应用的很广泛,它不仅可以用于对脉冲进行计数,还可用于分频,定时,产生节拍脉冲以及其他时序信号。
运用计数器的不同的功能和不同的接发就可以实现不同的序列输出了。
而这次的内容还包括分电路图的整合,使这个七段数码管能够按照要求那个依次输出自然序列,奇数序列,偶数序列还有音乐序列。
为了实现这个循环输出的功能,在设计的时候还用到了一个以为寄存器,可以利用它的输出端来控制四个计数器的工作情况, 可以让四个计数器依次工作,就可以达到要求的依次循环输出数列。
最后还有一个部分就是脉冲的产生基于多谐振荡器可以产生方波,就可以利用它来产生脉冲信号了。
而这个多谐振荡器采用的是 555 定时器来完成的。
这个设计基本上就是由以上三个部分连接在一起组成的。
1、基本方案框图计数器输出信号,将信号给译码器和脉冲信号再由脉冲信号和译码器分别编成自然序列,奇数序列,偶数序列和音乐序列,最后由数码管显示出来。
图1 七段数码管显示的基本方框图二、设计方案比较共有两个方案可以选择,以下是两个方案的具体实验步骤。
1、数列循环部分方案一设计数列的循环有很多种方法,这个方案就是利用移位寄存器将串行数据右移和左移的特点来设计的。
电路图如图2。
图2 用74LS940构成的循环电路原理图这个电路图实现循环主要是依靠74LS194的移位功能来完成的。
先让开关J1拨至与电源相接,就是接入高电平,这样移位寄存器有了脉冲信号之后就可以实现置数的功能,四个输出端为1000,再将开关J1拨至与地相接也就是接入低电平,这时寄存器就可以实现移位的操作了,然后通过脉冲信号的触发下,寄存器的输出就可以从1000→0100→0010→0001,这样依次循环了。
然后四个输出端用来控制计数器的信号控制端就可以控制序列输出了。
方案二要让四个数列依次循环则采用一个2线--4线译码器和一个四进制计数器。
用译码器的输出依次去控制芯片清零端,在通过一个四进制计数器去控制译码器输入,使其在四个输出间不断循环,而计数器的时钟脉冲则可通过每个芯片的进位端经过一四输入或门输出来控制。
其电路图如图3。
图3 用译码器实现的循环电路这两种方案都可以实现数列的循环,第一种方案需要拨动开关,而第二种就不需要可以自动依次产生数列。
另外第一种开关使其依次产生序列还需要一个脉冲控制,而在设计总体的电路的时候四个计数器也需要有脉冲信号的触发,这样的话就要多设计一个方波脉冲的产生电路,另外还要与计数器的脉冲信号匹配,因为74LS194的移位是要一个计数器的全部数列产生完后才下一个脉冲,这样不是很好与计数器的脉冲频率想匹配。
但是第二个方案就很好的解决了这个问题,这个方案的数列循环部分就是依靠芯片74HC390和74HC139也就是一个计数器还有一个译码器来实现的。
74HC390的脉冲信号是由计数器的进位端来控制的,这样就很好解决了方案一的问题,只有当一个计数器的全部数列输出完了之后才会有脉冲信号过来触发74HC390让它进入下一个状态,这样就是由电路自己控制的,不会产生方案一的问题。
2、数列显示部分这个部分是利用74LS160D 计数器来实现的。
根据数列不同的特点来连接电路的。
电路图如图4。
图4 数列显示电路原理图U3DCD_HEXU574LS160DQA 14QB13QC 12QD11RCO15A 3B 4C 5D 6ENP 7ENT 10~LOAD 9~CLR 1CLK2VCC5VV150 Hz 5 V1067893、脉冲信号的产生产生信号脉冲的方法很多,这里我在设计的时候选用的是用多谐振荡器,它是一种在接通电源后,就能产生一定频率和一定幅值矩形波的自激振荡器,常做为脉冲信号源。
由于不用接输入信号就可以产生所需要的矩形波,所以在设计的时候就选用这个方案。
而选用的电路是用555定时器构成的,因为555定时器内部的比较器灵敏度较高,而且采用差分电路形式,用它组成的多谐振荡器的振荡频率受电源电压和温度变化的影响很小,这样使产生的矩形波更稳定。
电路图如图5。
图5 脉冲信号产生电路图4、方案的确定在数列循环的部分我采用的是用一个四进制计数器和一个译码器来实现的,这样避免了脉冲的混乱。
在数列显示部分用的是芯片74LS160的计数器的计数功能实现的。
在脉冲信号产生的环节则就是采用555定时器构成的多谐振荡器。
三、电路组成框图整个电路总共三大部分,其中第二部分共分成4个小步,具体操作如下:1、数列循环电路的设计在这个部分主要是应用了一个四进制的计数器和一个译码器,这个部分的作用是为了使自然序列,奇数序列,偶数序列,音乐序列的循环显示。
其中四个74LS160计数器的进位端与74HC390的CPA相接,这样就可以通过进位端状态由0变为1的瞬间给它一个脉冲触发,而另一个脉冲端则是与其输出端QA相接的,这样的接法是为了使74HC390实现8421BCD码十进制计数的功能。
然后再让74HC390的输出端QA,QB分别与译码器74HC194相接,这样可以用译码器来控制计数器的动作状态,它可以决定由哪个74LS160为0,接一个计数器来工作。
当QA,QB为“0”,“0”时,这时译码器的输出端就只有Y反相器然后再接产生自然序列的计数器的清零端;这样就可以实现只有自然序列输出的为0,接一个反功能,同理当QA,QB为“0”,“1”时,这是译码器的输出端就只有Y1相器然后再接产生奇数序列的计数器的清零端,这样就可以实现只有奇数序列输出的功为0,接一个反相器然能; 当QA,QB为“1”,“0”时,这是译码器的输出端就只有Y2后再接产生偶数序列的计数器的清零端,这样就可以实现只有偶数序列输出的功能; 当为0,接一个反相器然后再接产QA,QB为“1”,“1”时,这是译码器的输出端就只有Y3生音乐序列的计数器的清零端,这样就可以实现只有音乐序列输出的功能。
其产生序列的功能就是这样实现的。
其电路图如图6。
图6 用译码器显示的循环电路2、序列显示电路的设计序列显示共分为四部分,分别为:十进制自然数序列的显示电路,奇数序列的显示电路,偶数序列的显示电路和音乐序列显示电路。
一下分为四部分详细说明:2.1十进制自然数序列的显示电路由于74HC160本身就是一个十进制计数的芯片,因此对于这个部分就只需按照其功能表来接电路就可以实现十进制自然序列输出了。
在脉冲信号的触发下,计数器的输出端的状态依次为0000→0001→0010→0011→0100→0101→0110→0111→1000→1001,然后再将计数器的输出端和数码管的输入端口相接就可以在数码管上面看到依次显示从0到9了。
其序列显示电路图如图7。
DCD_HEX图7 自然数列的显示电路图2.2奇数序列显示电路将奇数1,3,5,7,9用8421BCD码分别表示为:“0001”,“0011”,“0101”,“0111”,“1001”,可以发现最后一位都为1,因此可以在上述十进制自然序列的基础上将数码管的最低位接高电平就可以实现奇数序列了。
虽然在每个脉冲触发的作用下,芯片实现的仍然是十进制,但是由于数码管最低位接高电平,在数码管显示的则是奇数列,但是显示的时间间隔是正常自然序列的2倍,为了实现相邻显示时间间隔相等,我们可以利用二分频电路解决上述问题。
其序列显示电路图如图82.3偶数序列的显示电路将偶数0,2,4,6,8用8421BCD 码分别表示为“0000”,“0010”,“0100”,“0110”,“1000”,可以发现最后一位都为0,因此可以在上述十进制自然序列的基础上将数码管的最低位接低电平就可以实现偶数序列了。
虽然在每个脉冲触发的作用下,芯片实现的仍然是十进制,但是由于数码管最低位接高电平,在数码管显示的则是偶数列,但是显示的时间间隔是正常自然序列的2倍,为了实现相邻显示时间间隔相等,我们可以利用二分频电路解决上述问题。
其序列显示电路图如图9。
图9偶数序列的显示电路图2.4音乐序列显示电路音乐序列的特点是从0显示到7后又再变为0,这里可以将数码管的最高位固定接低电平就可以实现了。
因为74LS160的输出端只有三个与数码管相接,当74LS160的输出为“1000”和“1001”时,这时由于数码管最高位是固定接低电平的,也就是数码管的输入端仍是“0000”,“0001”。
这样数码管的显示就又变成0和1了。
其序列显示电路图如图DCD_HEX_BLUEDCD_HEX_YELLOW3、脉冲产生电路的设计由于上述设计中所用到的芯片全要有脉冲信号的触发才能完成相应的功能,所以就需要用到脉冲产生电路。
我这里用到的是用555定时器设计的多谐振荡器,多谐振荡器的优点是在接通电源之后就可以产生一定频率和一定幅值矩形波的自激振荡器,而不需要再外加输入信号了。
而用555定时器设计的多谐振荡器也有很多优点,由于555定时器内部的比较器灵敏度较高,而且采用差分电路形式,这样就使多谐振荡器产生的振荡频率受电源电压和环境温度变化的影响很小。
其电路图如图11。
图11 脉冲产生电路图设R3和R2的上半部分为RA ,R1和R2的下半部分为RB,电容C2两端的电压为VC。
接通电源后,电容C2被充电,当VC 上升到2/3VCC时,使输出电压为低电平,同事放电三极管T导通,此时电容C2通过RB 和T放电,VC下降。