动态扫描数码显示电路
数码管动态显示实训报告

一、实训目的本次实训旨在通过实际操作,让学生掌握数码管动态显示的原理,了解数码管动态扫描显示电路的设计方法,提高学生使用Verilog HDL进行层次化设计电路的能力。
通过实训,学生能够理解并应用动态扫描显示数码管、数据选择器及其信号分配方法,同时熟悉使用可编程芯片(如FPGA/CPLD)控制多位动态扫描数码管的显示。
二、实训环境1. 实训设备:FPGA开发板、数码管、信号源、示波器等。
2. 软件工具:Quartus II、ModelSim等。
3. 实训教材:相关电子设计教材、Verilog HDL编程指南。
三、实训原理数码管动态显示技术是利用人眼的视觉暂留效应,通过快速切换显示不同的数码管,使观察者感觉多个数码管同时显示。
具体原理如下:1. 数码管结构:数码管由若干个LED段组成,通过点亮不同的段来显示数字或字符。
2. 共阳/共阴数码管:数码管分为共阳和共阴两种类型。
共阳数码管的阳极连接在一起,共阴数码管的阴极连接在一起。
3. 动态扫描:通过控制每个数码管的点亮和熄灭,实现多位数码管的动态显示。
4. 数据选择器:用于选择要显示的数字或字符对应的段编码。
四、实训过程1. 设计3位数码管动态扫描显示电路:- 使用Verilog HDL设计数码管显示模块,包括段编码生成、位选控制、时钟分频等。
- 设计数据选择器,用于选择要显示的数字或字符对应的段编码。
- 设计主控制器,用于控制动态扫描的时序。
2. 实现显示功能:- 将学号的后3位数字输入到数码管显示电路中。
- 使用可编程芯片(如FPGA/CPLD)实现电路的编译和下载。
3. 提高性实验:- 增加一个功能切换控制开关,实现数码管显示数字的自动循环移位。
- 设计其他显示功能,如显示不同的字符或图案。
4. 实验测试:- 使用示波器观察数码管显示电路的时序信号,确保电路正常工作。
- 使用Quartus II进行仿真测试,验证电路的功能。
五、实验结果与分析1. 3位数码管动态扫描显示电路:- 成功实现了学号后3位数字的动态显示。
简述七段数码管动态扫描显示原理

简述七段数码管动态扫描显示原理
七段数码管动态扫描显示原理是指通过对七段数码管的各段进行逐个刷新,以实现数字、字母和符号等信息的显示。
七段数码管由7个LED灯组成,分别代表数字0~9和字母A~F等,可以通过控制各个LED的亮灭状态来显示不同的字符。
动态扫描显示原理是通过快速地在各个数码管之间切换显示内容,使得人眼无法察觉到切换的过程,从而产生连续的显示效果。
具体实现过程如下:
1. 将需要显示的数字或字符转换为相应的LED点亮状态,通过控制各个数码管的引脚来实现。
2. 通过控制锁存器的输入使得数据在锁存器中存储。
3. 通过控制锁存器的输出使得数据从锁存器输出到数码管的控制引脚上。
4. 通过控制位选锁存器的输出,选择显示的数码管。
5. 通过控制位选锁存器的使能引脚,控制数码管的亮灭状态。
6. 循环执行上述步骤,不断刷新各个数码管的显示内容,使得整个显示效果连续而流畅。
7. 根据需要的显示速度和亮度,可以调整刷新频率和亮灭时间的设置。
通过这种动态扫描的方式,只需要控制一部分引脚,就能够实现多
个七段数码管的显示,从而减少了所需的引脚数量和控制复杂度,提高了显示的效率和可靠性。
单片机控制数码管动态扫描显示原理

P02 P03 P04 P05 P06
11 P01
P00
7 4 2 110
3
a b c d e f g dp
DPY
a
a
a
a
f g bf g bf g bf g b
e
ce
ce
ce
c
d
d
d
d
dp
dp
dp
dp
DPY 4 -LED
P20 P21 6 C0 P22 8 C2 P23 9 C3
12 C4
LED
U1
一、工作方式寄存器TMOD
工作方式寄存器TMOD用于设置定时/计数器的 工作方式,低四位用于T0,高四位用于T1。其格式 如下:
GATE:门控位。GATE=0时,只要用软件使TCON中的 TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时, 要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为 高电平时,才能启动定时/计数器工作。即此时定时器的启 动条件,加上了INT0/1引脚为高电平这一条件。
VCC GND RXD TXD ALE/ P PSEN
40 20 10 11 30 29
P 14 P 15 P 16 P 17
8 K9 C K13
9 K10 D K14
A K11 E K15
B F
动态显示
动态显示的特点是将所有位数码管的段选线并联在 一起,由位选线控制是哪一位数码管有效。这样一来, 就没有必要每一位数码管配一个锁存器,从而大大地简 化了硬件电路。选亮数码管采用动态扫描显示。所谓动 态扫描显示即轮流向各位数码管送出字形码和相应的位 选,利用发光管的余辉和人眼视觉暂留作用,使人的感 觉好像各位数码管同时都在显示。动态显示的亮度比静 态显示要差一些,所以在选择限流电阻时应略小于静态 显示电路中的。
专题七动态扫描电路设计

Q[7..0] RD 读数据控制
ARCHITECTURE a OF MEMO_RD_WR IS
SIGNAL Q0,Q1,Q2,Q3: STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL Q4,Q5,Q6,Q7: STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
扫描控制器时序图
ARCHITECTURE a OF SCAN_8 IS SIGNAL NUM: INTEGER RANGE 7 DOWNTO 0;
BEGIN PROCESS(CLK2)
BEGIN IF CLK2'EVENT AND CLK2=‘1' THEN
IF NUM<=7 THEN NUM<=NUM+1;
多位LED-显示器动态扫描驱动电路设计完整版

《多位LED 显示器动态扫描驱动电路》报告(一)目的:1、了解多位LED 显示器动态扫描驱动电路的基本工作原理;2、完成多位LED 显示器动态扫描驱动电路设计并分析计算单元电路;3、绘制多位LED 显示器动态扫描驱动电路图,针对工作原理进行参数估算;4、电路功能的检测和调试;5、设计答辩,完成设计报告。
(二)结构图(三)电路总体功能概述该电路的功能是通过控制数据选择器输入端的高低电平来使四个LED显示器可以显示0-9任意一个数字,实现动态扫描功能。
由振荡电路,控制电路,四位四选一数据选择器,一位LED译码驱动电路和四位LED显示电路组成。
首先用555定时器构成频率为1000赫兹多谐振荡器产生脉冲信号,再将信号传输到74构成的二位二进制触发器,使该触发器输出00,01,10,11。
将触发器的两输出端分别接到数据选择器153的S1,S0,将四个输入D0或D1D2D3信号传输到LED显示电路,使LED显示不同数字,将触发器的两输出端接到138的A1,A0(A2接0),再将138的输出Y0,Y1,Y2,Y3接到四个LED的共阴极,控制LED的显示状态,把74ls153的输出端与cc4511的四个输入端相连,把LED显示器的a,b,c,d,e,f,g与cc4511的输出端相连,这样便可以通过555定时器产生的脉冲控制四个LED的显示顺序,同时调整153的输入端的高低电位,这样便实现了对四个LED的显示控制,可随意现实0至9的数字。
振荡电路由555定时器构成的多谐振荡电路组成,有振荡电路提供脉冲,振荡周期T=Tpl+Tph=R1*C*ln2+(R1+R2)*C*ln2=0.001s,则其振荡频率为1000Hz,多谐振荡器在接通电源后无需外接触发信号就可以产生矩形脉冲或方波。
控制电路是一片74LS74构成的两位二进制触发器,它接收到控制电路的振荡脉冲,产生00,01,10,11的输出信号。
数据选择器由两片74LS153构成,其功能为四选一数据选择器,接收控制电路的输出信号,分别选择四个输入D0或D1或D2或D3信号传输到LED显示电路,使LED显示不同数字译码驱动电路由一片八选一的数据选择器74LS138组成,它接受控制电路输出的信号同时将自身的输出信号分别连接到4片LED的共阴极控制LED显示器的工作状态.显示电路由一片4511构成,其接收74LS153输出的信号分别使四个LED显示器显示8421BCD码所代表的十进制数。
动态扫描显示电路实验的设计与实现

1 引 言
在多位 L D显示 时 。为 了简化硬件 电路 。通 E
文章编号 :17 4 5 {0 8 0 — 05— 2 62— 5 0 20 ) 1 0 8 0
De in a d Re lz to fDy a i c n i g Dip a r u tEx e i e t sg n aia in o n m c S a n n s ly Cic i p rm n
( 下转第 9 5页)
维普资讯
第 6卷
第1 期
Epr et c ne eho g xe m n Si c &Tcnl y i e o
・ 5・ 9
( 上接第 8 5页 )
YU Ja g in
( hs sadEet n fr ai cec e atet eh ec esC lg ,Lsa 6 40 ,C ia P yi n lc oi I om t nSineD pr n,Ls a T ahr ol e ehn 10 4 hn ) c r cn o m n e
Ab t a t Dy a c s a n n i ly t c n l g a e n w d l p  ̄ d F ra n—d p h u d r tn i g o s w r i g p n i l sr c : n mi c n i g d s a e h oo y h s b e i ey a p e . o n i p e t n esa d n f i o k n r c pe, t i h u rd sg sa s t mp ea d e e i i i a i e e c t f p cf e in a t e a t o e in e f i l n f t e cr u t d sr sa d s rp in o e s e i c d sg d i l me tt n mo a i e .Th h os c v c n i o h t i n mp e n a o d l is i t e d sg f ii li tg ae i u t , a d t e d sg ft e e p r n r u c sf lat mp e i o g t n e r td cr i n d a c s n e i o x e me t e a s c e su t h n h i a e t.
数码管显示-74HC595动态扫描

输出第8位的位码,紧接着输出该位要显示的段码,然后使LATCH由0跳变到1使74HC595锁存并输出数据,此时第8位将显示,其它位全部都不显示。
延时一段时间。
如此循环往复,实现8位数码管显示的效果。
四、操作步骤:(1)按照IAR MSP430 项目建立与JTAG仿真设置所讲方法建立名称为M13x LED 595的项目。
(2)将如下程序拷贝粘贴到main.c文件中。
//*******************************************************************************//// 描述; 在TY-DIS1(8位数码管显示模块)上动态扫描显示 4321// ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k//// 硬件连接:如下图// MSP430F13x// -----------------// /|\| XIN|-// | | |// --|RST XOUT|-// | |// | P5.0|-->LED_DOUT// | P5.2|-->LED_CLK// | P5.4|-->LED_LATCH//// 时间:2007年10月// //// 硬件电路:MSP430F135核心实验板-I型+ TY-DIS1(8位数码管显示模块)// 硬件连接://// 调试器:MSP430FET全系列JTAG仿真器// 调试软件: IAR Embedded Workbench Version: 3.41A 编译//******************************************************************************#include <msp430x13x.h>//4位LED数码管显示子程序void LED_595(char SMG1,char SMG2,char SMG3,char SMG4);//74HC595串行输出子程序void Led_out(unsigned char X);//LED数码管段码转换表const unsigned char LED_0_F[];void main(void){WDTCTL = WDTPW + WDTHOLD; // Stop watchdogP5DIR =0; //P5口全部设为输入口P5SEL =0; //将P5口所有的管脚设置为一般I/O口//将P5.0 P5.2 P5.4设置为输出方向P5DIR |= BIT0;P5DIR |= BIT2;P5DIR |= BIT4;for (;;){LED_595(4,3,2,1);//调用显示子程序(改变参数表,改变显示内容)}}//------------------------------------------------------// 4位LED数码管显示子程序//// 人口参数:SMG1,SMG2,SMG3,SMG4——待显示的数据//void LED_595(char SMG1,char SMG2,char SMG3,char SMG4){char z;//最高位(最左侧)LED数码管显示---------------------z = LED_0_F[SMG1];Led_out(z); //段码输出z = 0xFE; //位码Led_out(z); //位码输出P5OUT &=~(BIT4); //显示输出P5OUT |=BIT4;//--------------------------------------------------_NOP(); // 断点设置(观察watch)//次高位(左数第2个)LED数码管显示---------------------z = LED_0_F[SMG2];Led_out(z); //段码输出z = 0xFD; //位码Led_out(z); //位码输出P5OUT &=~(BIT4); //显示输出P5OUT |=BIT4;//--------------------------------------------------_NOP(); // 断点设置(观察watch)//次低位(左数第3位)LED数码管显示---------------------z = LED_0_F[SMG3];Led_out(z); //段码输出z = 0xFB; //位码Led_out(z); //位码输出P5OUT &=~(BIT4); //显示输出P5OUT |=BIT4;//--------------------------------------------------_NOP(); // 断点设置(观察watch)//最低位(左数第4位)LED数码管显示---------------------z = LED_0_F[SMG4];Led_out(z); //段码输出z = 0xF7; //位码Led_out(z); //位码输出P5OUT &=~(BIT4); //显示输出P5OUT |=BIT4;//--------------------------------------------------_NOP(); // 断点设置(观察watch)}//------------------------------------------------------// 用于74HC595的LED串行移位子程序//// 人口参数:X——待输出的数据//void Led_out(unsigned char X){unsigned char i;。
PLC实现LED数码管动态扫描数据显示

PLC实现LED数码管动态扫描数据显示PLC的数据显示功能一直是困扰PLC使用的难题。
在PLC的应用中,经常要监测一些重要数据,但PLC的数据显示通常是使用外部显示设备,如显示屏或触摸屏,而这些显示设备的价格一般比较昂贵,对一些小型系统来说更浪费。
因此,如何显示PLC的数据,并尽可能做到高效率、高稳定性、抗干扰能力强、硬件投资少,是许多设计中需要考虑的问题。
笔者使用的西门子S7-200PLC中有专门的指令控制LED数码管显示,SEGIN,OUT指令就是将IN端输入字节的低4位确定的16进制数自动转换为相对应的7段LED数码管各段的代码,并送到输出字节OUT端显示。
若采用静态LED数码显示,PLC显示一位十进制数据需要7个输出点予以控制,如果要显示n位数据,则需要7n个输出点。
所以,使用这种方式对于显示数据的位数较多时,需要大量的输出点,而PLC的价格是以输入输出点数来计算的,这直接导致硬件成本的上升,鉴于此种原因,寻找一种廉价的显示技术就显得尤为必要。
提出借鉴单片机的LED数码管动态扫捕显示原理,结合PLC周期性扫捕的特点,采用PLC直接输出数字量驱动数码管,将PLC开关量输出分为两部分,一部分用作数据输出,另一部分用作控制数码管公共端信号的输出。
利用人眼的余辉效应,循环点亮每个数码管,本方法操作简单、成本低廉。
1设计实现所谓动态扫描就是利用PLC周期性扫描的特点,在编程时要做到每个周期只有一个数码管能够形成通电回路,从而得电点亮,因为一个扫描周期的时间过短,只有几十ms,所以人眼感觉每个数码管都是均匀通电亮着的,同时没有拖尾现象。
1.1硬件设计设计方法的硬件电路实现是一个起动按钮SB1和一个停止按钮SB2,两个数码管的a、b、c、d、e、f、g段分别连在一起,再与PLC的输出端Q0.0~Q0.7通过限流电阻连接,两个数码管的公共端com1和com2分别通过三极管由PLC的输出端Q1.0和Q1.1控制,其接线原理如图1所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.课程设计目的
1.1 巩固所学理论,提高动手能力、创新能力和综合设计能力。
1.2 熟悉常用芯片的引脚功能。
1.3 了解动态扫描数码显示电路的组成及工作原理。
2.课程设计要求
2.1 任务要求:动态扫描数码现实电路设计,通过单路显示译码器驱动多路显示输出,同时动态扫描现实时达到无闪烁效果。
2.2 性能指标要求:
(1)设计制作一个进行四位十进制数码显示电路。
(2)分时显示各位十进制数码。
(3)设计用于动态显示控制的脉冲发生电路。
(4)设计分时动态扫描显示控制的逻辑电路。
(5)输入的显示数据为8421BCD码,且并行输入。
3.电路图组成框图
图1
4.元器件清单
元器件:4位拨码开关4只,74LS161十六进制计数器—1片,74LS138译码器—1片,74LS240带三态输出反相器—4片,显示译码器7448, LED显示管 5 个 ,小灯4个,555定时器,28.86kΩ电阻一个,57.72kΩ电阻一个,10nF电容两个,电源,非门,与非门,导线若干。
仿真环境:软件Multisim。
5.各功能块电路图
5.1 脉冲发生电路
图2
该脉冲发生电路为由555定时器接成的多谐振荡器。
其中R
为28.86kΩ,
1
为57.72kΩ,C为10nF,则其产生脉冲的
R
2
频率为:
占空比为:
5.2 计数器
图3
该计数器主要由一个74LS161构成,CLK端接收来自脉冲发生电路中555定
时器的输出脉冲信号,74LS161对其脉冲进行计数,在其输出端Q
D Q
C
Q
B
Q
A
产生从
0000到1111的十六进制循环的高低电平信号,其Q
B Q
A
产生的高低电平信号为00、
01、10、11四进制的循环计数,若需要对六个数码管进行动态扫描显示,则需要将其改接成六进制计数器。
5.3 译码器
图4
该译码器使用的是74LS138,输入端AB接收来自计数器Q
A Q
B
的高低电平信
号,并对其进行译码,因为计数器产生的信号是四进制的,所以只需要用到AB
两位,C端接低电平,输出端Y
0-Y
4
根据输入信号的状态,对应位为低电平。
5.4 显示控制及显示译码
图5
该部分由显示译码、显示控制以及拨码开关组成,是本电路的关键部分。
显
示译码器选用的是7448,用于驱动共阴极数码管,其输入端接四个三态输出反相器的输出端,输出端接四个共阴极数码管的A-G端,其余控制端均接高电平。
显示控制部分由四个带三态输出反相器74LS240组成,其输出控制端分别接74LS138译码器的四个输出端,由四个四位拨码器提供输入。
5.5 数码管
图6
显示部分由四个共阴极数码管以及四组电阻组成,电阻的作用是限流,防止烧坏二极管。
数码管的共阴极分别接74LS138译码器的四个输出端,并与之前的反相器74LS240相对应。
图5中的数码管是用来显示当前时刻,显示控制部分选择显示的数码,即显示译码器的输入所对应的数码。
图5中的LED小灯用于指示当前时刻,显示控制部分进行正常反相输出的反相器,因为反相器低电平时输出有效,所以灯灭所对应的反相器的当前显示的数码。
图5中的拨码开关,向下拨对应BCD码的1,向上对应0。
图6中的LED小灯用于指示当前时刻,处于显示状态的数码管,因为数码管为共阴极,所以其CK端为低电平时可以显示,即小灯灭所对应的数码管显示。
6.仿真电路总图
图7
7.结果分析
7.1 启动仿真后,用示波器观察脉冲发生电路产生波形,如图8
图8
其产生信号频率为1KHz左右,与理论计算值基本一致。
7.2 用逻辑分析仪观察计数器产生的输出信号,如图9
图9
由图9可知,计数器的低两位输出按照00、01、10、11四进制循环计数。
7.3 用逻辑分析仪观察译码器74LS138产生的输出信号,如图10
图10
由图10可知,译码器74LS138产生的输出信号为由Y
0到Y
3
依次为低电平的
信号,分别接在反相器74LS240的输出控制端和数码管共阴极上,实现数码管的分时显示。
7.4 用逻辑分析仪观察四个反相器并联的输出信号,如图11
图11
由图11可知,四个反相器的并联输出根据输出控制端的状态选择对应的拨
码开关进行输出,当前状态下四个拨码开关的状态(从右向左)分别为0110、0011、0101和0100,反相器的并联输出电平为0110、0011、0101和0100循环,其周期与译码器74LS138输出的低电平循环周期相同,即与数码管共阴极的低电平循环周期相同,因此可以使与反相器对应的数码管显示相应的拨码开关所对应的数码。
7.5 观察数码管的分时输出,如图12(a)(b)(c)(d)
(a) (b)
(c) (d)
图12
8.总结
通过这次设计,我进一步了解该如何设计一个数字电路,通过亲自动手选择器件,连接电路,让我对该如何设计一个数字电路的基本方法和基本步骤有进一步的了解和掌握,在设计过程中遇到了一些问题,经过自己反复思考和向别人请教,有效解决了设计中出现的问题。
此次电子设计的成功让我对书本知识更熟悉了,还锻炼了我独立思考的能力。
参考书目:
[1] 阎石,《数字电子技术基础》,高等教育,, 2004.。