通过米字型数码管显示至少四页的自定义英文和数字符号。(每页4(精)
数码管显示字符 ppt课件
19 18
9
17 16
INT1 INT0
T1 T0
89C52
EA/VP
X1 X2
RE SET
RD WR
P20 P21 P22 P23 P24 P25 P26 P27
VCC GND RXD TXD AL E/P PSEN
21 22 23 24 25 26 27 28
40 20 10 11 30 29
中断源
自
低
0
然
级
优
先
级 中断入口
中断源
SCON
3、TF0(TCON.5),片内定时/计数器T0 溢出中断请求标志。当定时/计数器T0发生 溢出时,置位TF0,并向CPU申请中断。
数码管显示字符
TCON
IE
IP
硬件查询
INT0 IT0 1
01
T0 INT1 IT1 1
01
T1
RX TX
EX0 1 EA 1 IE0
数码管显示字符
P10
1
PΒιβλιοθήκη Baidu1
2
P12
3
P13
4
P14
5
P15
6
P16
7
P17
8
INT1 13 INT0 12
T1
15
T0
14
基于某“米”字型字符管地趣味显示器设计
电子综合设计
题目趣味显示器设计--硬件设计
学院计算机与信息工程学院
专业电子信息工程
班级
学生
指导教师
2012 年10 月18 日
趣味显示器设计
一、设计目的
电子综合设计是在学完《模拟电子技术基础》和《数字电子技术基础》的课程之后,安排的教学与生产实际相结合的重要实践教学环节。在电子综合设计的过程中,使学生能综合运用自己的所学知识,从而培养学生观察问题、解决问题的能力。为今后的毕业设计、工程实践打下一定的基础。通过完成一个课题的电路设计、理论分析计算和实验调试任务,巩固和加深电子技术课程中所学的理论知识和实验技能。
本次的课程设计,主要完成数字电路实现对“米”字符显示器的控制,掌握集成数字芯片的使用方法和“米”字符显示管的使用。通过实现对“米”字符显示管的控制,进一步了解基本数字电路的控制原理,并且掌握对简单实用电路的分析方法和工程设计方法。
二、设计要求
1、设计题目:趣味显示器设计。
2、基本功能:使用“米”字符显示管设计一个能控制8个“米”字符显示管的
显示器,要求能控制形成形成多种字母和数字。
3、扩展功能:通过调节电位器的数值可以调节显示器的显示频率和实现显示器
的字符可调节功能。
4、要求独立查阅相关资料,进行理论设计、元器件选择。
5、要求独立进行印刷线路板的组装、焊接、调试,并实现基本功能。
三、设计工具
四、整体设计
1、资料查阅
趣味显示器主要分为显示部分和数字控制部分,显示器采用多个“米”字符显示管来实现显示功能,“米”字符显示管共有16段笔画(A-P),用它可以显示很多字符和数字,比如26个英文字母、阿拉伯数字等等简单字符,不仅如此,在活用了“米”字符按显示管后可以扩展显示许多字母字型。
数码管显示控制器数字电子技术课程设计
数学与计算机科学学院
数字电子技术课程设计
课程设计题题目:数码管显示控制器
姓名:黄凤丹
学号:P091712692
班级:09计算机科学与技术3班
题目:数码管显示控制器
一、设计目的
1、了解与课程有关的电子电路以及元器件工程技术规范,能按课程设计任务书的技术要求,编写设计说明,能正确反映设计和实验成果,能正确绘制电路图。
2、掌握74138译码器、74160计数器等的逻辑功能,掌握用7448驱动BS201A的连接方法。
3、掌握五——三二译码器电路设计的设计方法,三十进制计数器电路设计的设计方法,7447七段译码显示电路设计的设计方法。
二、设计要求
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、打开电源自动复位,从自然数列开始显示。
三、方案设计与论证
总体上,所设计的数码管显示控制器由模型(model)和7447七段译码器两部
分构成(如下图所示)。其中七段译码器由系统提供,共有四位二进制数据输入(A0 A1
A2 A3)由model中的四个输出分别提供
1、总体设计方案框图及分析
Model模块的功能要求,产生固定循环的数字序列。它由五——三二译码器电路
和三十进制计数器。可以考虑将序列信号的产生分成若干个模块,然后通过一个循
环控制器(在此使用计数器)的控制,使其轮流工作,并使其在工作结束后置零。这
样虽然设计略显复杂,但是能够适应较为复杂的显示要求
八年级下 2021—2022信息技术期末考试
八年级下 2021—2022信息技术期末考试基本信息:[矩阵文本题] *
一、单选题(每题2分,共40分)
1. 在Excel中,新建工作簿默认有几张工作表()。 [单选题] *
A. 16
B. 3(正确答案)
C. 32
D. 255
2. 在Excel中,工作簿文件由什么组成。()。 [单选题] *
A. 数据行
B. 单元格区域
C. 工作表(正确答案)
D. 单元格
3. Excel中每个单元格地址的名称是()。 [单选题] *
A. 对应的一个列标加一个行号组成(正确答案)
B. 以单元格中的内容为名
C. 对应的一个行号加一个列标组成
D. 没有单独的名称,所在工作表名就是单元格名
4. Excel的填充功能不能填充的什么类型的信息()。 [单选题] *
A. 图像(正确答案)
B. 文本
C. 公式
D. 数字
5. 要在Excel单元格中输入如图所示的字符串,下列输入正确的是()。
[单选题] *
A. "01563
B. "01563"
C. '01563(正确答案)
D. '01563'
6. 在Excel中输入了一个数值后,单元格显示为:"####",执行什么操作可以正常显示数据。() [单选题] *
A. 将字体改为宋体
B. 加大该单元格的行高
C. 加大该单元格的列宽(正确答案)
D. 重新输入该数据
7. 在Excel工作表中,假设A2=7,B2=5,选择A2:B2区域,并将鼠标指针放在该区域右下角填充柄上,拖动至D2,则D2单元格内显示为()。 [单选题] *
A. 5
B. 1(正确答案)
C. 7
D. 3
8. 在Excel工作表中,当执行插入行操作时,选中的当前行将自动()。 [单选题] *
利用按键开关控制米字管进行十进制数字显示
中北大学
课程设计说明书
学生姓名:李奇学号:07
学院: 电子与计算机科学技术学院
专业: 微电子学
题目: 利用按键开关控制米字管进行十进制数字显示
指导教师:王红亮职称: 讲师
2010 年 6 月 25 日
目录
NO TABLE OF CONTENTS ENTRIES FOUND.
1、课程设计目的
(1)学习操作数字电路设计实验开发系统,掌握米字管显示模块的工作原理及应用。(2)掌握组合逻辑电路、时序逻辑电路的设计方法。
(3)学习掌握可编程器件设计的全过程。
2、课程设计内容和要求
、设计内容
用VHDL语言编写程序,使用按键开关控制米字管进行十进制数字显示。
、设计要求
(1)学习掌握按键控制模块、米字管显示模块的工作原理及应用。
(2)熟练掌握VHDL编程语言,编写按键控制模块的控制逻辑。
(3)仿真所编写的程序,模拟验证所编写的模块功能。
(4)下载程序到芯片中,硬件验证所设置的功能,能够实现简单图形的显示。
(5)整理设计内容,编写设计说明书。
3、设计方案及实现情况
、设计思路
根据题目设计要求,将按键开关的状态经译码电路的控制并通过米字管显示出来,译码
电路由时钟信号(CLK)和复位信号(RESET)共同控制,当RESET信号无效时(RESET=‘1’),停止输出地址信号,当RESET信号有效时(RESET=‘0’),通过输入十位二进制数控制按键输入,在时钟信号作用下,输出地址信号。将所设计程序通过MAX+PLUS II软件进行文本编辑、编译、仿真分析、器件编程、实验箱硬件验证,从而达到按键控制米字管进行十进制数字显示的设计要求。
利用拨码开关控制米字管进行字母显示
中北大学
课程设计说明书
学生姓名:魏祥学号:0706024140
学院: 电子与计算机科学技术学院
专业: 微电子学专业
题目: 利用拨码开关控制米字管进行字母显示
指导教师:王红亮职称: 讲师
2010年 6月 25日
目录
1.课程设计目的 (2)
2.课程设计内容及要求 (2)
2.1设计内容 (2)
2.2设计要求 (2)
3.设计方案及实现情况 (2)
3.1设计思路 (2)
3.2工作原理及框图 (2)
3.3各模块功能描述 (3)
3.4仿真结果 (4)
3.5试验箱验证情况 (5)
4.课程设计总结 (7)
5.参考文献 (7)
1、课程设计目的
(1).学习操作数字电路设计实验开发系统,掌握米字管的工作原理及应用。
(2).掌握组合逻辑电路、时序逻辑电路的设计方法。
(3).学习掌握可编程器件设计的全过程。
2、课程设计内容和要求:
2.1、设计内容
用VHDL语言编写程序,利用拨码开关控制米字管进行字母显示。
2.2、设计要求
(1).学习掌握拨码开关控制模块、米字管的工作原理及应用;
(2). 熟练掌握VHDL编程语言,编写拨码开关控制模块的控制逻辑;
(3). 仿真所编写的程序,模拟验证所编写的模块功能;
(4). 下载程序到芯片中,硬件验证所设置的功能,能够实现字母显示;
(5). 整理设计内容,编写设计说明书。
3、设计方案及实现情况
3.1、设计思路
这个实验是用米字管显示26个英文字母,通过五个拨码开关不同的高低状态表示26种不同的字母显示。
3.2、工作原理及框图
米字管显示字母的原理是将米字管分成16个状态,通过不同的管脚的状态显示其16个不同的模块,再用拨码开关显示其不同模块的亮暗程度,从而达到显示不同字母的功能。当复位信号为高时,二进制显示输出为:"1111111111111111"。当复位信号为低,处于上升沿状态是,二进制分别显示,显示A—Z的二进制代码分别为: "0011000000011010"、"0111100000101001"、"1100111100000000"、"0000001101000010"、"1100111110001000"、"1100001110001000"、"1101111100001000"、"0011001110001000"、"1100110000100001"、"1100010000100001"、"0000000000110101"、"0000111100000000"、"0001001010001001"、"0001101010000001"、"1111111100000000"、"1000001110100000"、"1111111100000100"、"0110000000101101"、"0101100000101000"、"1100000000100001"、"0011111100000000"、"0000000001010000"、"0010000110101000"、"0000000001010110"、"0000000001010001"、"1100110000010010"。当拨码开关显示超过"11001"时,二进制显示输出为
实验四 数码管显示
实验四数码管显示
1. 驱动原理
数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极.通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理.
基本的半导体数码管是由7个条状的发光二极管(LED)按图1所示排列而成的,可实现数字"0~9"及少量字符的显示。另外为了显示小数点,增加了1个点状的发光二极管,因此数码管就由8个LED组成,我们分别把这些发光二极管命名为 "a,b,c,d,e,f,g,dp",排列顺序如下图1。
图1:数码管引脚图及外形图
2. 数码管的结构及分类
特别提示:注意段码和位码的概念;会找出不同接法的段码分析方法。
数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。共阴数码管内部连接如图3所示。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阳数码管内部连接如图2所示。
图2:共阳数码管内部连接图图3:共阴数码管内部连接图
二、多位数码管的驱动方法
A.静态法
静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器
利用按键控制米字管进行十进制数字显示说明书.docx
(1)
时序产生模块DCLK 将输入时钟进行八分频,为键盘扫描模块提供时钟信号
VHDL源程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity dclk is
port(clk:in std_logic;
divclk:out std_logic);
end dclk;
architecture dclk_arch of dclk is
begin
process(clk)
variable cnt:std_logic_vector(1 downto 0);
variable a:std_logic;
begin
if clk'event and clk='1' then
if a='0' then
if cnt="11" then
a:='1';
else
cnt:=cnt+1;
end if;
elsif a='1' then
if cnt="00" then
a:='0';
else
cnt:=cnt-1;
end if;
end if;
end if;
divclk<=a;
end process;
end dclk_arch;
(2)键盘扫描模块CNT
得出所按的键值的四位二进制码,主要是得到十进制数0到9的键值并使其保持稳定。SEL0、SEL1、SEL2经译码后为键盘扫描提供行信号。键盘扫描使用逐行扫描法。
VHDL
源程序:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
数码管显示实验-实验报告
XXXX大学实验报告
2020 年 6 月 26日
学院__物信学院__专业_电子信息工程_学号_19520302__姓名_xxx_____
课程名称数字电子技术基础实验名称数码管显示实验
指导教师同组者室温气压
一、实验目的
1.74LS48共阴极译码驱动器的功能测试;
利用74LS48共阴极译码器实现BCD码输入与数码管显示。
二、实验原理
74LS48芯片是一种常用的七段数码管译码器驱动器,常用在各种数字电路和单片机系统的显示系统中,下面我
就给大家介绍一下这个元件的一些参数与应用技术等资料。
7段显示译码器74LS48是输出高电平有效的译码器,74LS48除了有实现7段显示译码器基本功能的输入(DCBA)
和输出(Ya~Yg)端外,7448还引入了灯测试输入端(LT)和动态灭零输入端(RBI),以及既有输入功能又有输出功
能的消隐输入/动态灭零输出(BI/RBO)端。
74ls48引脚图及功能:图示说明
74ls48引脚图以及真值表
图6-4 74LS48的引脚排列
下图给出了7448的逻辑图,方框图和符号图。由符号图可以知道,4号管脚端具有输入和输出双重功能。作为输入(BI)低电平时,G21为0,所有字段输出置0,即实现消隐功能。作为输出(RBO),相当于LT,及CT0的与坟系,即LT=1,RBI=0,DCBA=0000时输出低电平,可实现动态灭零功能。3号(LT)端有效低电平时,V20=1,所有字段置1,实现灯测试功能。
74ls48引脚图及功能:引脚功能说明由7448真值表可获知7448所具有的逻辑功能:
数码管显示实验报告
实验三数码管显示实验
一、实验目的
1、了解数码管的显示原理;
2、掌握数码管显示的编程方法。
二、实验内容
1、编写数码管显示程序,循环显示0-F字符
三、实验设备
1、硬件:
JX44B0实验板;
PC机;
JTAG仿真器;
2、软件:
PC机操作系统(WINDOWS 2000);
ARM Developer Suite v1.2;
Multi-ICE V2.2.5(Build1319);
四、基础知识
1、掌握在ADS集成开发环境中编写和调试程序的基本过程。
2、了解ARM
应用程序的框架结构;
ARM 应用程序的框架结构;
3、了解数码管的显示原理;
五、实验说明
1、LED显示原理
发光二极管数码显示器简称LED显示器。LED显示器具有耗电低、成本低、配置简单灵活、安装方便、耐震动、寿命长等优点,目前广泛应用于各类电子设备之中。
7段LED由7个发光二极管按“日”字排列。所有发光二极管的阳极连接在一起称共阳极接法,阴极连接在一起称为共阴极接法。一般共阴极可以不需要外接电阻。
其中各二极管的排列如上图在共阳极接法中,如果显示数字“5”,需要在a、c、d、f、g端加上高电压,其它加低电压。这样如果按照h、g、f、e、d、c、b、a的顺序排列的话对应的码段是:6DH。其它的字符同理可以得到。
2、数码管显示驱动、数码管显示驱动
数码管的显示一般有动态显示和静态显示两大类,另外按照驱动方式又分串行驱动和并行驱动两种方式。行驱动两种方式。串行驱动主要是提供串-并转换,串行驱动主要是提供串-并转换,串行驱动主要是提供串-并转换,减少控制线数量;减少控制线数量;减少控制线数量;并行驱动对每一个段并行驱动对每一个段提供单独的驱动,电路相对简单。这方面参看数字电路相关内容。提供单独的驱动,电路相对简单。这方面参看数字电路相关内容。
八段数码管的字型代码 -回复
八段数码管的字型代码-回复
八段数码管的字型代码指的是一种用来显示数字和部分字母的八段LED 数码管的编码方式。该编码方式由八个段构成,分别是a、b、c、d、e、f、g和dp(小数点),通过控制每个段的亮灭来显示需要的字符。
这种编码方式广泛应用于电子设备和显示屏中,如时钟、计时器、温度计等。在本文中,我们将详细解释什么是八段数码管的字型代码,并逐步介绍每个字符的编码方式。
第一步:了解数码管的基本结构和原理
数码管是由多个LED灯组成的,在八段数码管中,我们可以看到八个段,分别是a、b、c、d、e、f、g和dp。这些段可以通过控制电流的通断来显示不同的字符。
每个段的控制是独立的,通过给每个段引脚施加不同的电压,可以点亮或熄灭对应的灯。通过不同的组合,可以显示数字和一些特定的字母。
第二步:了解八段数码管的字型代码表
八段数码管的字型代码表包括了0到9的数字和一些字母的编码方式。下面是八段数码管的字型代码表:
0 = ABCDEF
1 = BC
2 = ABDEG
3 = ABCDG
4 = BCFG
5 = ACDFG
6 = ACDEFG
7 = ABC
8 = ABCDEFG
9 = ABCDFG
A = ABCEFG
b = CDEFG
C = ADEFG
d = BCDEG
E = ADEFG
F = ADEFG
在字型代码表中,每个字符都有对应的八个段的亮灭情况。通过查表,我们可以确定如何控制数码管的段来显示特定的字符。
第三步:控制数码管显示特定字符
现在,我们来看一个例子,如何通过八段数码管的字型代码来控制数码管显示数字7。
数码管显示字符
39 38 37 36 35 34 33 32
K0
P10
K4
P11
0 K1 4 K5
1 K2 5 K6
2 K3 6 K7
3 7
13 12
15 14
31
19 18
9
17 16
INT1 INT0
T1 T0
89C52
EA/VP
X1 X2
RESET
RD WR
P20 P21 P22 P23 P24 P25 P26 P27
39 P00 38 P01 37 P02 36 P03 35 P04 34 P05 33 P06 32 P07
21 P20 22 P21 23 P22 24 P23 25 P24 26 P25 27 P26 28 P27
40 20 10 RXD 11 TXD 30 AL E 29 PSEN
精选ppt
d
d
dp
dp
dp
dp
C3
C0
DPY 4- LED
12 C4
8 C2 P 22
9
6
P 23
P 21
P 20
LED 7
U1
P10 P11 P12 P13 P14 P15 P16 P17
1 2 3 4 5 6 7 8
P10 P11 P12 P13 P14 P15 P16 P17
protues课件数码管动态扫描电路的仿真实验
型、“米”字型和“点阵”型LED显示器,如图10-2所
示。厂家也可根据用户的需要定做特殊字型的数码管。
图6-2
其他各种字型的LED显示器
8
6.1.2 LED数码管显示器的两种显示方式
LED数码管有静态显示和动态显示两种显示方式。
9
1.LED静态显示方式
静态显示指无论多少位LED数码管,都同时处于显示状态。
11
图6-3 4位LED静态显示的原理电路
2.LED动态显示方式
当显示位数较多,静态显示所需的I/O口太多,这时
常采用动态显示。
电路连接:为节省I/O口,通常将所有显示器的段码
线的相应段并联在一起,由一个8位I/O口控制,而各位
显示位的公共端分别由相应的I/O线控制。
图6-4所示为一个4位8段LED动态显示器电路。其中
6.4 动态扫描电路在Proteus中的验证
6.4.1 Proteus电路设计
1. 元件清单列表
打开Proteus ISIS编辑环境,按表6-3所列的清单添加元件
元件名称 AT89C51 CAP CAP-ELEC CRYSTAL RES 7SEG-MPX8-CA-BLUE RX8 NPN 表6-3 元 件 清 单 所属类 Microprocessor ICs Capacitors Capacitors Miscellaneous Resistors Optoelectronics Resistors Transistors 所属子类 8051 Family Generic Generic - Generic 7-Segment Displays Resistor Packs Generic
数码管显示数字
在第6课里,我们讲到数码管的静态显示,利用静态显示法,通过控制位选和段选,可以让数任意几位数码管显示任意字符,但由于所有位数码管的相同的段选全部接在一起,所以只能同时显示相同的数字,例如8位同时显示8字,1、3、5位同时显示3字。但大家想一下,如果我们要让数码管同一时刻显示不同的数字,如图1所示的现象,用静态显示的方法就不能够实现,这里就只能用到动态显示的方法,今天这一节我们主要讲解数码管动态显示的原理的程序实现的方法。
图1 数码管同时显示123456
在讲解动态显示方法之前,我们先介绍在种数码管及单片机程序开发过程常用的方法-数组编码法。
1、数组编码
在跟数码管相关的程序中,可以对位进行编码,也可对段进行编码,这里我们以段编码进行讲解。通过第8课的程序我们知道,在位选确定后,要显示数字8时,P0=0x80,显示数字3时P0=0xb0,也就是0xb0,0x80分别可以表示数字3和8,按此方法,我们把在数码管上显示0-f,16个数字全部用16制度表示出来,这16个16进制数就称为数码管可显示0-f的相应的编码,如图2所示(注意共阳和共阴极数码管相应的编码有所不同,这里以实验板上共阳极的为例)。
图2 共阳极数码管编码
在编程中,编码的表示方法如下:
unsigned char code table[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e };
这里编码表示的方法与C语言中数组定义的方法基本一样。table是数组名,后面需加[],中括号中需加上数组中元素的个数,也可以不写。等号的右边用一个大括号将所有元素包含起来,里面的元素之间用“,”隔开,在大括号外用“;”结束。等号左边的unsigned char 是数据元素的数据类型,这里定义为无符号字符型,也就是元素的值范围只能是0-255之间。Code表示把这个数组定义为编码,这样定义的好处是其元素转化成二进文件后可能直接存储到程序存储器中,当然这里也可以不加code,但是这样编译后会将其直接存储到数据存储器中,要知道单片机中数据存储器的容量是非常有限的,定义为code后可节约单片机数据存储器的空间。
第七讲数码管显示
0 0 1 1 0 0 0 0 0 0 C0H 0 0 1 1 1 1 1 1 3FH
1 1 1 1 1 1 1 0 0 1 F9H 0 0 0 0 0 1 1 0 06H
2 2 1 0 1 0 0 1 0 0 A4H 0 1 0 1 1 0 1 1 5BH
3 3 1 0 1 1 0 0 0 0 B0H 0 1 0 0 1 1 1 1 4FH
RE SET
RD WR
89C52
P0 0 P0 1 P0 2 P0 3 P0 4 P0 5 P0 6 P0 7
P2 0 P2 1 P2 2 P2 3 P2 4 P2 5 P2 6 P2 7
VC C GND RXD TXD AL E/P PSEN
39 P00 38 P01 37 P02 36 P03 35 P04 34 P05 33 P06 32 P07
二、 LED数码显示方式及电路
LED显示器工作方式有两种:静态显示方式和动态显示方式。
1、静态显示接口
从下图可以看出,静态显示方式的特点是各位数码管相 互独立,公共端恒定接地(共阴极)或接正电源(共阳极)。每个 数码管的8个字段分别与一个8位I/O口地址相连,I/O口只要 有段码输出,相应字符即显示出来并保持不变,直到I/O口输 出新的段码。
21 P20 22 P21 23 P22 24 P23 25 P24 26 P25 27 P26 28 P27
实验四 数码管显示
实验四数码管显示
1. 驱动原理
数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极.通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理.
基本的半导体数码管是由7个条状的发光二极管(LED)按图1所示排列而成的,可实现数字"0~9"及少量字符的显示。另外为了显示小数点,增加了1个点状的发光二极管,因此数码管就由8个LED组成,我们分别把这些发光二极管命名为 "a,b,c,d,e,f,g,dp",排列顺序如下图1。
图1:数码管引脚图及外形图
2. 数码管的结构及分类
特别提示:注意段码和位码的概念;会找出不同接法的段码分析方法。
数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。共阴数码管部连接如图3所示。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阳数码管部连接如图2所示。
图2:共阳数码管部连接图图3:共阴数码管部连接图
二、多位数码管的驱动方法
A.静态法
静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用 VHDL 使米字型数码管显示至少四页的自定义英文和数字符号。 (每页 4个字符
相应程序:
Library IEEE;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity zjf2 is
port( clk : in std_logic;
WX : out std_logic_vector (3 downto 0; DX : out std_logic_vector (15 downto 0; End entity zjf2;
Architecture mi of zjf2 is
Type state is(st0,st1,st2,st3;
Signal current_state:state :=st0;
Signal next_state:state;
Signal shu1 : integer range 0 to 3;
Signal shu2 : std_logic_vector(9 downto 0; Signal A,B,C,D:std_logic_vector(15 DOWNTO 0; Begin
process (clk is
Begin
If (clk'event and clk='1' then
shu2<=shu2+"0000000001";
If shu2="1111111111"then
current_state<=next_state;-- yeqiehuan
else
current_state<=current_state;
End if;
End if;
End process;
Process (current_state
Begin
Case current_state is
when
st0=>A<="0000111100000000";B<="00110000000110 10";
C<="1111111100000000";D<="0011000000000000";N EXT_STATE<=ST1;
when
st1=>A<="1101110110001000";B<="00110011100010 00";
C<="1100110000100001";D<="1110111010001000";N EXT_STATE<=ST2; when
st2=>A<="0011001110001000";B<="00110000000110 10";
C<="1111111100000000";D<="1111110010001000";N EXT_STATE<=ST3; when
st3=>A<="1100110000010010";B<="11000110001000 01";
C<="1100001110001000";D<="0000000110101001";N EXT_STATE<=ST0; End case;
End process;
Process (clk is
Begin
if rising_edge(clk then
if shu1>3 then
shu1<=0;
else
shu1<=shu1+1;
end if;
case shu1 is
WHEN 0 =>WX<="0111";DX<=A; WHEN 1 =>WX<="1011";DX<=B; WHEN 2 =>WX<="1101";DX<=C; WHEN 3 =>WX<="1110";DX<=D; End case;
End if;
End process;
End architecture mi;