七段数码管显示十进制数字7

合集下载

共阳极七段数码管真值表

共阳极七段数码管真值表

共阳极七段数码管真值表共阳极七段数码管是一种常见的电子显示器件,它由七个段码组成,可以显示0-9的数字以及一些其他字符。

下面是共阳极七段数码管的真值表,包含七个段码a、b、c、d、e、f、g。

1. 段码a:* 数字0:0x3F(二进制:00111111)* 数字1:0x06(二进制:00000110)* 数字2:0x5B(二进制:01011011)* 数字3:0x4F(二进制:01001111)* 数字4:0x66(二进制:01100110)* 数字5:0x6D(二进制:01101101)* 数字6:0x7D(二进制:01111101)* 数字7:0x07(二进制:00000111)* 灭零:0x7C(二进制:01111100)2. 段码b:* 数字0:0x39(二进制:00111001)* 数字1:0x5F(二进制:01011111)* 数字2:0x49(二进制:01001001)* 数字3:0x65(二进制:01100101)* 数字4:0x77(二进制:01110111)* 数字5:0x79(二进制:01111111)* 数字6:0x3D(二进制:00111101)* 数字7:没有对应的编码。

可以通过特定的编程实现显示。

3. 段码c:* 数字0:没有对应的编码。

可以通过特定的编程实现显示。

* 数字8以下与段码b相同。

4. 段码d、e、f、g与b相同。

请注意,这里提供的编码是基于常见的共阳极七段数码管编码,不同型号或品牌的数码管可能会有不同的编码。

此外,对于大于9的数字或特殊字符,可能需要通过特定的编程来实现显示。

七段数码管显示

七段数码管显示

七段数码管显示设计报告目录一、设计任务二、题目分析与整体构思三、硬件电路设计四、程序设计五、心得体会一.设计任务数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵式。

目前以分段式应用最为普遍,主要器件是七段发光二极管(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 管脚的数据为低电平时,该管脚对应的段变灭。

共阴极七段数码管的驱动

共阴极七段数码管的驱动

共阴极七段数码管的驱动共阴极七段数码管是一种常见的显示器件,在各行业中广泛应用。

其原理是通过对不同的阴极进行通断控制,使显示器显示出不同的数字或字母。

本文将介绍如何驱动共阴极七段数码管。

第一步:基本部件准备驱动共阴极七段数码管需要一些基本的部件,其中包括Arduino 开发板、面包板、七段数码管、电阻等。

要进行正确的驱动,首先需要按照电路图连接好这些部件。

第二步:代码编写在连接好以上部件之后,需要写出相应的代码来驱动七段数码管。

以下代码可以实现数字0~9的显示。

```void setup(){pinMode(2, OUTPUT);pinMode(3, OUTPUT);pinMode(4, OUTPUT);pinMode(5, OUTPUT);pinMode(6, OUTPUT);pinMode(7, OUTPUT);pinMode(8, OUTPUT);}void loop(){digitalWrite(2, LOW);digitalWrite(3, LOW);digitalWrite(4, LOW);digitalWrite(5, LOW);digitalWrite(7, LOW);digitalWrite(8, LOW);digitalWrite(2, HIGH); digitalWrite(3, HIGH);digitalWrite(4, HIGH);digitalWrite(5, HIGH);digitalWrite(6, HIGH);digitalWrite(7, HIGH);digitalWrite(8, HIGH);// 显示数字0digitalWrite(2, LOW);digitalWrite(3, LOW);digitalWrite(4, LOW);digitalWrite(5, LOW);digitalWrite(6, LOW);digitalWrite(7, LOW);digitalWrite(8, HIGH);delay(2000);// 显示数字1digitalWrite(2, HIGH);digitalWrite(3, LOW);digitalWrite(4, LOW);digitalWrite(5, HIGH);digitalWrite(6, HIGH);digitalWrite(7, HIGH);digitalWrite(8, HIGH);delay(2000);// 显示数字2digitalWrite(2, LOW);digitalWrite(3, LOW);digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, HIGH); digitalWrite(8, LOW);delay(2000);// 显示数字3digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, LOW);delay(2000);// 显示数字4digitalWrite(2, HIGH); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, LOW); digitalWrite(8, LOW);delay(2000);// 显示数字5digitalWrite(2, LOW); digitalWrite(3, HIGH); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, HIGH); digitalWrite(7, LOW);delay(2000);// 显示数字6digitalWrite(2, LOW); digitalWrite(3, HIGH); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW);delay(2000);// 显示数字7digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH);delay(2000);// 显示数字8digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW);delay(2000);// 显示数字9digitalWrite(2, LOW);digitalWrite(4, LOW);digitalWrite(5, HIGH);digitalWrite(6, HIGH);digitalWrite(7, LOW);digitalWrite(8, LOW);delay(2000);}```第三步:运行测试将写好的代码上传到Arduino开发板,让其运行,可以看到七段数码管上显示数字0~9,每个数字停留2秒钟。

七段数码管显示控制程序设计

七段数码管显示控制程序设计
数码管G段
P、B、E、F、2、3、4、5、6、8、9
网络68为停止程序。
网络69为复位程序。将M.0至M7.7全部复位。
寄存器如表4所示:
表4 对应寄存器表
P
M2.3、M6.1
L
M2.5、M6.3
C
M2.7、M6.5
B
M3.1、M6.7
E
M3.3、M7.1
F
M3.5、M7.3
1
M0.1、M5.7
2
M0.3、M5.5
(2),具体所建数据如图4所示:
图4 数据字典
(3)通信关联
关联方式如图5所示:
图5 通信关联
4.联合调试
当PLC运行的时候,打开组态王监控界面。通过虚拟界面实现对PLC的控制,图5和图6、7分别表示当PLC 启动、停止和复位,PLC与虚拟界面状态显示图。
图5 启动画面
2.硬件电路的设计
2.1I/O地址分配
根据课设要求,由于只是利用PLC控制数码管显示,所以在输入模块设计中只需要设计三个输入量,及启动、停止、复位,分别用I0.0、I0.1、I0.2表示,具体的输入模块分配表1所示。
表1 输入模块分配表
输入点
作用
I0.0
启动
I0.1
停止
I0.2
复位
根据课设要求,是在数码管上显示“1、2、3、4、5、6、7、8、9、P、L、C、B、E、F、9、8、7、6、5、4、3、2、1、P、L、C、B、E、F”,由于数码管是由七段LED灯控制,所以输出模块采用七个输出控制,具体分配如表2所示。
根据本次实验要求,程序流程图如图2所示:


图2 程序流程图
3.2PLC程序设计

七段数码管动态显示控制

七段数码管动态显示控制

实验二七段数码管动态显示控制一、实验目的利用AT89S52和使用两位数码管显示器,循环显示两位数00-99。

其中P2.0和P2.1端口分别控制数码管的个位和十位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过驱动三极管给数码管相应的位供电,这时只要P3口送出数字的显示代码,数码管就能正常显示数字。

二、实验要求1、使用两位数码管显示器,循环显示两位数00-99;2、具有电源开关和指示灯,有复位键;3、数码管动态显示,即扫描方式,每一位每间隔一段时间扫描一次。

字符的亮度及清晰度与每位点亮的停留时间和每位显示的时间内轮换导通次数有关。

三、实验电路四、实验器材AT89S52;动态扫描显示;共阳极数码管;电阻五、实验原理说明图1 AT89S52引脚图图2 共阳极七段数码管引脚图1AT89S52引脚图,说明如下:按照功能,AT89S52的引脚可分为主电源、外接晶体振荡或振荡器、多功能I/O 口、控制和复位等。

1.多功能I/O口AT89S52共有四个8位的并行I/O口:P0、P1、P2、P3端口,对应的引脚分别是P0.0 ~ P0.7,P1.0 ~ P1.7,P2.0 ~ P2.7,P3.0 ~ P3.7,共32根I/O线。

每根线可以单独用作输入或输出。

①P0端口,该口是一个8位漏极开路的双向I/O口。

在作为输出口时,每根引脚可以带动8个TTL输入负载。

当把“1”写入P0时,则它的引脚可用作高阻抗输入。

当对外部程序或数据存储器进行存取时,P0可用作多路复用的低字节地址/数据总线,在该模式,P0口拥有内部上拉电阻。

在对Flash存储器进行编程时,P0用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻。

②P1端口,该口是带有内部上拉电阻的8位双向I/O端口,P1口的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。

对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。

七段数码管显示实验

七段数码管显示实验

单片机实验报告实验九七段数码管显示实验一、实验目的1.学习七段数码管的工作原理;2.学习数码管与8051单片机的接口方法;3.掌握动态扫描显示技术。

二、实验原理如图4.9-1所示,LED数码管由7个发光二极管组成,此外,还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。

通过七段发光二极管亮暗共阴极接法共阳极接法图4.9-1的不同组合,可以显示多种数字、字母以及其它符号。

LED数码管中的发光二极管共有两种连接方法:1)共阴极接法:把发光二极管的阴极连在一起构成公共阴极。

使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。

实验中使用的LED显示器为共阴极接法2)共阳极接法:把发光二极管的阳极连在一起构成公共阳极。

使用时公共阳极接+5V。

这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。

为了显示数字或符号,要为LED显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。

七段发光二极管,再加上一个小数点位,共计八段。

因此提供给LED显示器的字形代码正好一个字节。

若a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即D0、D1、D2、D3、D4、D5、D6、D7,则用共阴极LED数码管显示十六进制数时所需的字形代码如表4.9-1所示。

表4.9-1 共阴极LED数码管字形代码字型 共阴极字形代码字型 共阴极字形代码字型 共阴极字形代码0 3FH 6 7DH C 39H 1 06H 7 07H d 5EH 2 5BH 8 7FH E 79H 3 4FH 9 6FH F 71H 4 66H A 77H 灭 00H 56DHb7CH2、动态显示按图4.9-2(b )连接线路,通过交替选中LED1和LED0循环显示两位十进制数。

七段数码管段码连接不变,位码驱动输入端S1、S0接8255A C 口的PC1、PC0,通过C 口的这两位交替输出1和0,以便交替选中LED1和LED0,从而实现两位十进制数的交替显示。

实验四 七段数码管显示实验报告

实验四 七段数码管显示实验报告

实验四七段数码管显示实验一、实验目的掌握数码管显示数字的原理。

二、实验内容1.静态显示:数码管为共阴极,通过BCD码译码驱动器CD4511驱动,其输入端A~D输入4位BCD码,位码输入低电平选中。

按图4-1连接好电路,将8255的A口PA0~PA3与七段数码管LED1的BCD码驱动输入端A1~D1相连,8255的A口PA4~PA7与七段数码管LED2的BCD码驱动输入端A2~D2相连,8255的B口PB0~PB3与七段数码管LED3的BCD码驱动输入端A3~D3相连,8255的B口PB4~PB7与七段数码管LED4的BCD码驱动输入端A4~D4相连,8255的C口PC0~PC3分别与七段数码管LED4~LED4的位驱动输入端DG1~DG4相连。

编程从键盘上每输入4个0~9数字,在七段数码管LED4~LED4上依次显示出来。

图4-12.动态显示:数码管为共阴极,段码采用相同驱动,输入端加高电平,选中的数码管对应段点亮,位码采用同相驱动,位码输入端低电平选中,按图4-2连接好电路,图中只画了2个数码管,实际是8个数码管,将8255的A口PA0~PA7分别与七段数码管的段码驱动输入端a~g相连(32TCI0模块上的J1连32LED8模块J2),8255的C口的PC0~PC7接七段数码管的段码驱动输入(32TCI0模块上的J3连32LED8模块J1),跳线器K1连2和3。

编程在8个数码管上显示“12345678”。

按任意键推出运行。

图4-2三、编程提示1.由于DVCC卡使用PCI总线,所以分配的IO地址每台微机可能都不用,编程时需要了解当前的微机使用那段IO地址并进行处理。

2.对实验内容1,七段数码管字型代码与输入的关系如下表:四、参考流程图1.实验内容一的参考流程图图4-3 2.实验内容二的参考流程图图4-4五、参考程序1.内容一的参考程序源程序清单如下:data segmentioport equ 0c400h-0280hio8255a equ ioport+288hio8255b equ ioport+289hio8255c equ ioport+28ahio8255k equ ioport+28bhled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1 db 0dh,0ah,'Input a num (0--9),other key is exit:',0dh,0ah,'$'bz db ?cz db 04hdata endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8255k ;使8255的A口为输出方式mov ax,80hout dx,alsss0: mov si,offset bzmov cx,04hsss1: mov dx,offset mesg1 ;显示提示信息mov ah,09hint 21hmov ah,01 ;从键盘接收字符int 21hcmp al,'0' ;是否小于0jl exit ;若是则退出cmp al,'9' ;是否大于9jg exit ;若是则退出sub al,30h ;将所得字符的ASCII码减30Hmov [si],al ;存入显示缓冲区inc si ;显示缓冲区指针加1dec cx ;判断输入满4个数字吗?jnz sss1 ;不满继续mov si,offset bz ;从显示缓冲区取第一个数字的BCD 码mov al,[si]and al,0fh ;屏蔽高四位暂存ALinc si ;显示缓冲区指针加1mov ah,[si] ;取第二个数字的BCD码到AHsal ah,4h ;右移4次到高四位add al,ah ;两个BCD码合并成一个字节mov bl,al ;暂存入BLinc simov al,[si] ;取第三个数字的BCD码and al,0fhinc simov ah,[si] ;取第四个数字的BCD码到AHsal ah,4hadd ah,almov al,ahmov dx,io8255a ;从8255的A口输出(后两个数字)out dx,almov al,blmov dx,io8255b ;从8255的B口输出(前两个数字)out dx,almov al,0f0hmov dx,io8255c ;从8255的C口输出位码out dx,almov dl,0ffhmov ah,06int 21hje sss0 ;有键按下则退出exit: mov ah,4ch ;返回int 21hcode endsend start2.内容二的参考程序源程序清单如下:data segmentioport equ 0C400h-0280hio8255c equ ioport+28ahio8255k equ ioport+28bhio8255a equ ioport+288hled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码buffer1 db 01h,02h,03h,04h,05h,06h,07h,08h ;存放要显示的十位和个位con db ? ;位码data endscode segmentassume cs:code, ds:datastart: mov ax,datamov ds,axmov dx,io8255k ;将8255设为A口C口输出mov al,80hout dx,alloop2: mov al,08h ;设置数码管位计数器初值到CON mov byte ptr con,almov si,offset buffer1 ;置显示缓冲器指针SImov ah,7fh ;置位码初值disp0: mov cx,0ffffhmov bl,ds:[si] ;取显示缓冲区显示值存BXmov bh,0hpush simov dx,io8255c ;位码从C口输出mov al,ahout dx,almov dx,io8255amov si,offset led ;置led数码表偏移地址为SIadd si,bx ;求出对应的led数码mov al,byte ptr [si]out dx,al ;段码从A口输出disp1: loop disp1 ;延时mov cx,0ffffhdisp2: loop disp2ror ah,01h ;位码右移1位pop siinc si ;显示缓冲区指针加1mov al,byte ptr condec almov byte ptr con,aljnz disp0 ;数码管位计数器减1为0吗?,不为0继续mov dx,io8255a ;为0,关数码管显示mov al,0out dx,almov dl,0ffhmov ah,06int 21hje loop2 ;有键按下则退出mov ah,4ch ;返回int 21hcode endsend start实验总结:通过这次试验,我了解到自定义数据类型可以根据自己的需要方便设定,有很大的灵活性。

七段数码管显示十进制数字 (2)

七段数码管显示十进制数字 (2)

Led灯显示实验
1.实验目的:
通过相关的逻辑电路在proteus上实现单片的led灯的显示;
2.实验内容:
选取相关工具,在仿真环境下配置电路图如图一。

当按上面那个开关时,led灯显示0。

按下面那一排开关的时候从右至左依次是1,2,3,4,5,6,7,8,9。

当然不按的时候灯是灭的。

如图一所示,当不按的时候,1,2,3,4,5,6,7,8,9开关可以看成接高电平,与一相连的那个非与门的另一端接地,所以是0。

通过9个非与门后B1端输入0,所以灭零。

0开关也没按所以也是0.当按0时,B1端有高电平,配合九个输入显示0.当按1开关时,一号非与门两个输入端为0,自然输出1给B1,所以这个时候U1工作。

根据九个输入显示相应的1.余下的2至9开关原理一样。

3.实验过程:
图一
各数字显示如下:
1
2
3,4,5,6,7,8,9由于原理一样所以图略。

4.实验总结:
本次实验没有采用教员上课所讲授的那种方法,这是我在选工具的过程中意外发现的一个非与门工具,然后联想到了led灯显示,所以想做得不一样,就用了此种方法。

这次实验的难
点还是0的显示。

实验2:8255七段数码管静动态显示

实验2:8255七段数码管静动态显示

微机实验报告书学号:姓名:班级:同组名单:实验日期: 2012.12.21实验题目:七段数码管的静态显示实验目标:掌握数码管显示数字的原理(功能:键盘输入一位十进制数字(0~9),用七段数码管显示。

)解题思路:1.静态显示:按图 10(a)连接好电路,将8255的A口PA0-PA6分别与七段数码管的断码驱动输入端a-g项链,位码驱动输入端S1接+5V,S0、dp接地。

编程从键盘输入一位十进制数字,在七段数码管上显示出来。

2.动态显示:按图10(b)连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255C口的PC1,PC0。

编程在两个数码管上显示“56”。

程序框图:静态显示见图11(a),动态显示见图11(b)。

关键问题分析(静态显示):1、按键判断和程序结束判断按键来说,由于程序中必须输入数字,所以没有必要对是否按键进行判断,只需要判断按键是否在0-9之间即可。

用以下程序即可:cmp al,'0'jl exit ; jl,条件转移指令,即在小于时转移cmp al,'9'jg exit ;jg, 条件转移指令,即在大于时转移程序中还要用到“cmp”即比较指令,用来比较输入数与0、9的大小关系。

程序结束:如若输入的数字小于0或者大于9,必须直接跳出程序,即结束指令必须单独占用一个程序段,这样,程序顺序执行完毕也可以顺利返回DOS。

2、七段码显示。

实验指导书中给出了七段码的字型代码。

这样一来,七段码的显示只需要用换码指令“XLAT”便可以轻松实现。

前提是必须将七段码字型编成数码表以字符串的形式写进程序中。

3、数字键ASCII码与数值间的转换。

因为0的ASCII码为30H,所以数字键ASCII码与数值间的转换时只需减去30H即可,可用下列语句实现:sub al,30h程序清单:静态显示:data segmentioport equ 0c800h-0280hio8255a equ ioport+288hio8255b equ ioport+28bhled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhmesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$'data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8255b ;使8255的A口为输出方式mov al,80h ;10000000B,控制字PA以方式0输出out dx,alzby: mov dx,offset mesg1 ;显示提示信息mov ah,09hint 21hmov ah,01 ;从键盘接收字符int 21hcmp al,'0' ;是否小于0jl exit ;如若小于0,则跳转到exit退出程序cmp al,'9' ;是否大于9jg exit ; 如若大于9,则跳转到exit退出程序sub al,30h ;将所得字符的ASCII码减30H,数字键ascii码同数值转换mov bx,offset led ;bx为数码表的起始地址xlat ;求出相应的段码mov dx,io8255a ;从8255的A口输出out dx,aljmp zby ;转zbyexit: mov ah,4ch ;返回DOSint 21hcode endsend start动态显示:data segmentioport equ 0c800h-0280hio8255a equ ioport+28ahio8255b equ ioport+28bhio8255c equ ioport+288hled db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码buffer1 db 5,6 ;存放要显示的个位和十位bz dw ? ;位码data endscode segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov dx,io8255b ;将8255设为A口输出mov al,80h ;10000000B,控制字PA以方式0输出out dx,almov di,offset buffer1 ;设di为显示缓冲区loop2: mov bh,02zby: mov byte ptr bz,bhpush didec diadd di, bzmov bl,[di] ;bl为要显示的数pop dimov al,0mov dx,io8255aout dx,almov bh,0mov si,offset led ;置led数码表偏移地址为SIadd si,bx ;求出对应的led数码mov al,byte ptr [si]mov dx,io8255c ;自8255A的口输出out dx,almov al,byte ptr bz ;使相应的数码管亮mov dx,io8255aout dx,almov cx,3000delay: loop delay ;延时mov bh,byte ptr bzshr bh,1jnz zbymov dx,0ffhmov ah,06int 21hje loop2 ;有键按下则退出mov dx,io8255amov al,0 ;关掉数码管显示out dx,almov ah,4ch ;返回int 21hcode endsend start运行结果:静态显示:在键盘上输入一个0-9的任意数字,会显示在数码管上。

七段数码管显示实验

七段数码管显示实验

实验一七段数码管显示实验(1)实验目的学习7段数码显示译码器设计;学习VHDL的CASE语句应用及多层次设计方法。

(2)实验原理7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是 16进制的,为了满足16进制的译码显示,最方便的方法就是利用译码程序在 FPGA/CPLD中来实现。

7段译码器输出信号 LED7S的7位分别接如图数码管的 7个段,高为在左,低位在右。

如LED7S 输出为“1101101 ”时,数码管的7个段:g、f、e d、c、b、a分别接1、1、0、1、1、0、 1;接有高电平的段发亮,于是数码管显示“ 5”。

(3)实验内容说明下面源代码中各语句的含义,以及该程序的整体功能。

在Quartusll上对该程序进行编辑、编译、综合、适配、仿真,给出起所有信号的时序仿真波形。

提示:用输入总线的方式给出输入信号的仿真数据,仿真波形示例图如图:源代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S ISPORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END;ARCHITECTURE one OF DECL7S ISBEGINPROCESS( A )BEGINCASE A ISWHEN "0000" => LED7S <= "0111111";WHEN "0001" => LED7S <= "0000110";WHEN "0010" => LED7S <= "1011011";WHEN "0011" => LED7S <= "1001111";WHEN "0100" => LED7S <= "1100110";WHEN "0101" => LED7S <= "1101101";WHEN "0110" => LED7S <= "1111101";WHEN "0111" => LED7S <= "0000111";WHEN "1000" => LED7S <= "1111111";WHEN "1001" => LED7S <= "1101111";WHEN "1010" => LED7S <= "1110111";WHEN "1011" => LED7S <= "1111100";WHEN "1100" => LED7S <= "0111001";WHEN "1101" => LED7S <= "1011110";WHEN "1110" => LED7S <= "1111001";WHEN "1111" => LED7S <= "1110001";END CASE;END PROCESS;END;编译得到模块DECL7S:程序运行后可以看到 7段数码管以每秒一次的跳变速度往上自加,到“F”后归“0”。

七段数码管的动态扫描显示实验

七段数码管的动态扫描显示实验

七段数码管的动态扫描显示实验七段数码管的动态扫描显示实验一、实验名称:七段数码管的动态扫描显示实验二、实验目的:(1)进一步熟悉QuartusII软件进行FPGA设计的流程(2)掌握利用宏功能模块进行常用的计数器,译码器的设计(3)学习和了解动态扫描数码管的工作原理的程序设计方法三、实验原理:实验板上常用4位联体的共阳极7段数码管,其接口电路是把所有数码管的8个笔划段a-h同名端连在一起,而每一个数码管由一个独立的公共极COM端控制。

当向数码管发送字形码时,所有数码管都接收到相同的字形码时,但究竟是那个数码管亮,取决于COM端,这一端是由I/O控制的,所以就可以自行决定何时显示哪一位。

动态扫描即采用分时方法,轮流控制各个LED轮流点亮。

在轮流点亮扫描过程中,每一位显示器的点亮时间是极为短暂的,但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上每个显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

四、实验要求:实现显示0000-9999的十进制计数器。

五、实验步骤1.建立工程建立名为leddisplay的工程,并建立顶层图。

2.设计技术时钟设计一分频器,对50MHz分频输出到计数器,让计数器以较慢速度递增。

打开File..New,新建一个.v文件。

输入以下程序: module int_div(clk, div_out); input clk;output reg div_out; reg [31:0] clk_div;parameter CLK_FREQ = 'D50_000_000; //系统时钟50MHz parameterDCLK_FREQ = 'D10; //输出频率10/2Hz always @(posedge clk) beginif(clk_div Set as top-level Entity。

分析该设计文件:执行工具栏处的“Start Analysis &Synthesis命令按钮,开始分析综合,此步骤在这里用于检查设计错误。

fpga七段数码管 -回复

fpga七段数码管 -回复

fpga七段数码管-回复FPGA七段数码管(FPGA Seven-Segment Display)是一种常见的数字显示设备,常用于数码时钟、计数器等嵌入式系统中。

它由七个LED组成,可以显示0到9的十进制数字,以及A到F的十六进制字符。

本文将一步一步回答有关FPGA七段数码管的问题,并介绍如何在FPGA 开发板上使用七段数码管进行数字显示。

第一步:了解FPGA首先,我们需要了解什么是FPGA。

FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,可以通过配置实现不同的逻辑功能。

它包含了大量的可编程逻辑门和存储单元,可以在硬件层面上实现各种功能。

第二步:认识七段数码管七段数码管由七个LED组成,分别命名为a、b、c、d、e、f和g,以及一个小数点标志dp。

每个LED可以被独立地点亮或熄灭,从而显示不同的数字和字符。

七段数码管的排列方式可以根据不同的设计进行调整,通常是共阴极(Common Cathode)或共阳极(Common Anode)。

第三步:连接FPGA开发板和七段数码管将FPGA开发板和七段数码管连接在一起,通常需要通过引脚或引脚头进行连接。

在连接之前,需要确认七段数码管的连接方式(共阴极或共阳极)以及引脚对应关系。

第四步:编写VHDL程序使用VHDL语言编写FPGA的逻辑代码,实现对七段数码管的控制。

VHDL 是一种硬件描述语言,可以用于描述数字电路的行为和结构。

通过编写VHDL程序,我们可以实现对七段数码管不同位的点亮和熄灭。

第五步:实现数字显示通过FPGA的逻辑代码,可以根据需要点亮或熄灭七段数码管的LED。

为了实现数字显示,我们需要将要显示的数字或字符编码为对应的LED点亮模式。

根据这个编码,我们可以在不同的时间间隔内点亮七段数码管的不同位,从而显示出数字或字符。

第六步:调试和测试完成VHDL程序编写后,需要进行调试和测试。

通过在FPGA开发板上加载并运行程序,可以验证七段数码管的正常工作。

七段数码管

七段数码管

七段数码管
蒲俊林学号:10071201012姓名:同组:杨永增学号:10071201020
一、实验目的
1、了解七段数码管的工作原理。

2、用74HC4511译码器控制的七段数字显示器输出0~9十个数字。

二、实验原理
1、七段显示译码器的工作原理
分为七段数字显示器和74HC4511译码器组成,因为数码管显示十进制的数,所以必须将十进制数的代码经译码器译出然后经驱动器点亮对应的段。

74HC4511 功能表
七段数字显示器发光组合图:
分段布置图
段组合图
三、 实验步骤
将74HC4511芯片、七段数字显示器插入实验箱并连接导线如下图:
其中 3D 、2D 、1D 、0D 分别接开关K4 、K3、K2、K1。

LE 、BL 、LT 分别接开关K7、K6、K5。

1、显示灯测试—只接通LT --K5并且开关打到低电平,则七段数字显示器全亮。

同理接通BL -- K6、LT --K5且K6低电平、K7高电平则七段数字显示器全灭。

2、接通全部电路,其中K7打到低电平、K6打到高电平、K5打到高电平,通过控制开关K1,K2,K3, K4低电平表示0,高电平表示1。

用二进制控制七段数字显示器显示的数字。

例如:K4低电平K3低电平K2低电平K1高电
平则表示0001,七段数字显示器显示1。

3、控制开关K1,K2,K3, K4输出0~9十个数字。

输出0
输出2。

七段数码管显示十进制数字

七段数码管显示十进制数字

一、实验内容实现某开关‎闭合时对应‎显示相应的‎十进制数字‎二、设计方案1、实验中需要‎十个按钮来‎表示输入的‎数字,一个十进制‎数码显示器‎。

2、要将按钮与‎数码显示器‎连接起来,则需要一个‎74147‎编码器和一‎个7449‎译码器。

因7449‎译码器为高‎电频有效,所以数码显‎示器应该选‎用共阴极数‎码显示器。

由于741‎47编码器‎是低点频有‎效,而7449‎译码器是高‎电频有效,所以需要在‎编码器和译‎码器之间每‎个连线上加‎上一个反相‎器。

又因为74‎147编码‎器为低电频‎有效,所以每个开‎关闭合时应‎该为低点频‎,所以开关左‎端应接地。

3、当所有输入‎都为高电频‎时,74147‎编码器默认‎输出0的8‎421BC‎D编码,此时数码显‎示器上显示‎“0”,这样的话不‎能与按下开‎关“0”区别开来。

所以应想办‎法使得所有‎按钮都不按‎下时,数码显示器‎不显示数字‎。

注意到74‎49译码器‎上有一个输‎入BI。

当BI为高‎电频时,译码器才正‎常输出,当BI为低‎电频时,无论其他输‎入是什么,都不输出。

因此可以利‎用这一点。

如果当所有‎按钮都不按‎下时,译码器的B‎I输入为低‎电频,那么数码显‎示器就不显‎示数字。

因此在所有‎按钮与译码‎器的BI端‎之间加上一‎个与非门,则可以实现‎当所有按钮‎都不按下时‎,译码器无输‎出,当按钮“0”按下时,数码显示器‎显示“0”,当其他按钮‎按下时,数码显示器‎显示相应的‎数字。

4、由于没有1‎0输入的与‎非门,所以使用一‎个3输入的‎与门和一个‎8输入的与‎非门代替1‎0输入的与‎非门。

5、在电源和开‎关之间、电源和数码‎显示器之间‎需要串联若‎干个上拉电‎阻,保护元器件‎。

三、实验过程根据实验方‎案的设计,用prot‎eus设计‎电路,如图所示:实验结果分别按下各‎个按钮,数码显示器‎上则显示相‎应的十进制‎数字。

当所有按钮‎都不按下时‎,显示器不显‎示。

七段数码管数字显示

七段数码管数字显示

永城职业学院项目设计七段数码管数字显示班 级:082班专 业:矿山机电姓名:倪开放指导老师:马红雷日期:2010年6月8日目录摘要 (2)关键词: (2)1、PLC概况 (3)1.1 PLC的特点 (3)1.2 PLC应用领域 (3)1.3 PLC的发展 (4)2、控制要求 (4)3、硬件控制设计 (4)3.1 PLC的选型 (4)3.2 I/O设备的选择 (5)4软件控制设计 (6)4.1I/O接线图及I/O分配图 (6)4.2波形图 (7)4.3逻辑表达式 (9)4.4梯形图 (9)4.5程序显示工作原理 (11)4.6流程图 (11)4.7助记符 (13)4.8程序的调试 (14)5、心得体会 (16)参考文献 (17)评分标准 (18)摘要七段数码管广泛应用于医院、学校及一些商业机构。

7段LED数码管,则在一定形状的绝缘材料上,利用单只LED组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字。

本次设计就是利用这个特点显示自己的学号,选用的是松下FP0系列进行控制的。

本次设机采用的是共阴极七段数码管数码管。

关键词:PLC 控制设计工作原理1、PLC概况1.1 PLC的特点PLC即可编程控制器(Programmable logic Controller,是指以计算机技术为基础的新型工业控制装置。

“PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。

它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。

具体特点如下:(1)可靠性高,抗干扰能力强(2)配套齐全,功能完善,适用性强(3)易学易用,深受工程技术人员欢迎(4)系统的设计、建造工作量小,维护方便,容易改造(5)体积小,重量轻,能耗低1.2 PLC应用领域目前,PLC在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业,使用情况大致可归纳为如下几类: a:开关量的逻辑控制b:模拟量控制c:运动控制d:过程控制e:数据处理f:通信与联网1.3 PLC的发展PLC技术的发展,其中有两个趋势方向,一方面,PLC已经不再是自成体系的封闭系统,而是迅速向开放式系统发展,各大品牌PLC除了形成自己各具特色的PLC系统,完成设备控制任务之外,还可以与上位计算机管理系统,实现信息交流,成为整个信息管理系统的一部分。

基于PLC的七段码显示数码管控制

基于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]。

根据移位的数据长度可分为字节型移位、字型移位、双字型移位。

还可以进行循环移位。

七段数码管的显示原理

七段数码管的显示原理

七段数码管的显示原理
数码管是一种能够显示数字的电子元件,常用于计时器、电子钟、温度计等设备中。

七段数码管由七个小段组成,它们可以显示数字0-9的所有组合。

数码管的每一小段都代表数字的一个线段,通过控制这些线段的通断状态,可以显示不同的数字。

每个数字的显示都可通过组合不同的小段状态来实现。

例如,数字0就是所有小段全亮,而数字1则是左边第二个小段亮,其余小段都熄灭。

控制七段数码管显示数字的原理是通过给不同的小段加上电压来实现。

小段分别用a、b、c、d、e、f、g来表示,其中a~g
对应着七个小段。

如果某个小段需要点亮,则给它加上高电平;如果不需要点亮,则给它加上低电平。

为了控制不同的小段,需要使用译码器。

译码器是一种电路元件,能够将输入的数字信号转换成相应的控制信号。

常见的译码器有BCD-7段译码器、74LS47等。

使用译码器的方式是,先将待显示的数字转化成二进制编码,然后将二进制编码输入到译码器的输入端口。

译码器会根据输入信号的编码,输出对应的控制信号给七段数码管的不同小段,从而实现数字的显示。

通过译码器,我们可以控制不同的小段点亮,从而实现数码管的数字显示。

例如,当我们要显示数字1时,输入二进制编码0001给译码器,译码器会将对应的控制信号输出给数码管,
使得左边第二个小段亮,其余小段熄灭。

总的来说,七段数码管通过控制小段的通断状态来实现数字的显示。

通过使用译码器,我们可以将输入的数字信号转换成相应的控制信号,从而控制七段数码管显示不同的数字。

这种原理广泛应用于各种电子设备中。

vhdl七段数码管显示0到9计数器显示电路设计 -回复

vhdl七段数码管显示0到9计数器显示电路设计 -回复

vhdl七段数码管显示0到9计数器显示电路设计-回复如何设计一个能够显示0到9的计数器的七段数码管显示电路。

文章长度:1500-2000字一、引言(100字左右)计数器是数字电路中非常常见的一个组件,而七段数码管则是用于显示数字的一种常用装置。

本文将详细介绍如何设计一个能够实现0到9的计数器,并利用七段数码管进行显示的电路。

二、理论基础(200字左右)在开始设计电路之前,我们需要掌握一些基本的理论知识。

七段数码管是由七个LED组成的,每个LED被称为一个段,分别用a、b、c、d、e、f、g表示。

通过控制七个段的亮灭可以显示不同的数字。

例如,要显示数字0,将a、b、c、d、e、f亮起,而要显示数字1,则只需将b、c 亮起。

三、设计电路(600字左右)1. 确定计数范围根据题目要求,我们需要设计一个能够显示0到9的计数器。

因此,计数范围为0到9,共有10个数字需要显示。

2. 确定计数位数根据题目要求,我们需要设计的是一个十进制计数器,因此需要三个计数位。

每个计数位都是一个0到9的计数器。

3. 设计逻辑电路我们可以使用JK触发器作为计数器的基本构建模块。

JK触发器有两个输入和两个输出,分别称为J、K和Q、~Q。

其中,J和K分别用于控制触发器状态的跳变,而Q和~Q是触发器的两个状态。

我们可以使用三个JK触发器构建一个三位的二进制计数器。

具体电路如下:第一个JK触发器的CLK输入连接计数器电路的时钟信号,J、K和第二个JK触发器的CLK端连接在一起,第二个JK触发器的Q输出连接第三个触发器的J输入,第一个触发器的Q输出连接了第三个触发器的K输入。

这样的设计将会实现三个触发器之间的互动。

4. 连接七段数码管根据七段数码管的布局,我们需要将七段的对应输入连接到计数器的输出。

根据计数器的输出值,我们可以设定哪些段需要亮起或熄灭。

连接七段数码管的具体方法可以参考其数据手册或规格说明。

四、测试与调试(400字左右)完成电路的设计之后,我们需要进行测试和调试,以确保电路能够正常显示0到9的数字。

七段数码管显示十进制数字 (7)

七段数码管显示十进制数字 (7)

第二次实验报告实验题目:设有十个开关,编号为0,1,2…9,设计电路实现某开关闭合时对应显示相应的十进制数字,写出设计说明并且用proteus仿真。

实验方案:1、可以利用下述装置当按键闭合时,电路接通,电阻两端电压降为5V,故输出Y 为0;当按键打开时,电路断开,电阻两端电压降为0V,故输出Y 为1。

因此我们可以利用0-9这十个按键来控制输入0或者1。

2、将0-9用四位二进制数字进行BCD编码,实现这个功能的编码器有74147其功能表如下图所示9I 8I 7I 6I 5I 4I 3I 2I 1I3Y 2Y 1Y 0Y0 * * * * * * * * 1 0 * * * * * * * 1 1 0 * * * * * * 1 1 1 0 * * * * * 1 1 1 1 0 * * * * 1 1 1 1 1 0 * * * 1 1 1 1 1 1 0 * * 1 1 1 1 1 1 1 0 * 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 10 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1按照这个表格,当我们按下某个数字所代表的按键时,该位输入对应就为0,其他位均为1,因此74147会给相对应的数字进行二进制编码。

当同时有两个按键被按下的时候,因为编码器有优先性,故只会对最大的数字进行编码,不会产生混乱。

但是这个编码器有一个小问题就是对0没有编码,这样当按下0键的时候,无法说明输出的是0.。

3、对相应的数字进行编码之后,我们就可以用译码器,七段显示译码器7449将对应的数字用发光二极管显示出来。

其输入就应该是74147的输出。

但是因为7449是高电位有效,而74147是低电位有效,所以在译码器输入之前,应该先用非门处理一下。

Protues 中没有十端口的与非门,可以用一个八端口的与非门和一个三端口的与门来代替。

seg数码管阳极0-9进制

seg数码管阳极0-9进制

seg数码管阳极0-9进制七段数码管是一种常见的数字显示器件,由7个独立的LED组成,用于显示涉及数字和一些特殊符号的信息。

每个LED被称为一个“段”,而且每个“段”都有两个极性:阳极和阴极。

在七段数码管中,阳极是用来控制LED亮或灭的部分。

根据数字的不同,阳极连接到数码管显示的对应LED。

七段数码管显示0-9十进制数字,以及一些特殊的符号,比如小数点,冒号等。

七段数码管的基本形状是一个带有7个LED的矩形,每个LED代表一个段。

这些段被标记为A、B、C、D、E、F和G,根据不同的数字,选择对应的LED进行亮灭,最终显示出数字。

数字0可以通过亮起A、B、C、D、E、F这六个段来显示,而数字1只需要B、C这两个段亮起即可。

相应地,数字2需要A、B、G、E、D这五个段亮起,数字3需要A、B、G、C、D这五个段亮起,依此类推。

要显示不同的数字,需要使用微控制器或其他逻辑电路来控制每个段的状态。

不同的数字被编码成一个二进制代码,然后通过逻辑门或其他逻辑电路来控制每个段的电平状态。

使用七段数码管进行数字显示有很多应用。

比如,它可以用于计时器,计数器,温度显示器,电子钟,电子秤等等。

通过使用不同的逻辑电路,可以将七段数码管与其他电子设备连接起来,实现复杂的数字显示功能。

在一些应用中,我们还可以看到多个七段数码管组合在一起,形成更大的数字显示器。

例如,一个四位数码管可以显示0-9999,通过逻辑控制,使得不同的数码管显示不同的数字。

七段数码管的阳极连接方式使得它能够更好地适应数字显示的需求。

当对应的LED亮起时,该段的颜色会非常明亮,而其他未亮起的段几乎看不到。

这种特性使得七段数码管在各种环境中都可见,并且能够清楚地显示数字。

总体而言,七段数码管是一种常见且实用的数字显示装置。

它的设计简单、易于控制,并且适用于各种数字显示需求。

无论是在家庭用电子设备还是在工业自动化系统中,都可以看到七段数码显示器的应用。

通过控制各个段的亮灭,七段数码管能够实现准确、清晰的数字显示,为我们提供了方便和实用性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二次实验报告
实验题目:
设有十个开关,编号为0,1,2…9,设计电路实现某开关闭合时对应显示相应的十进制数字,写出设计说明并且用proteus仿真。

实验方案:
1、可以利用下述装置
为0;当按键打开时,电路断开,电阻两端电压降为0V,故输出Y 为1。

因此我们可以利用0-9这十个按键来控制输入0或者1
2、将0-9用四位二进制数字进行BCD编码,实现这个功能的编
码器有74147
当按键闭合时,5V,故输出Y
其功能表如下图所示
I9 I8 I7 I6 I5 I4 I3 I2 I1 丫
3 丫
2
¥丫0
0 * * * * * * * * 0 1 1 0
1 0 * * * * * * * 0 1 1 1
1 1 0 * * * * * * 1 0 0 0
1 1 1 0 * * * * * 1 0 0 1
1 1 1 1 0 * * * * 1 0 1 0
1 1 1 1 1 0 * * * 1 0 1 1
1 1 1 1 1 1 0 * * 1 1 0 0
1 1 1 1 1 1 1 0 * 1 1 0 1
1 1 1 1 1 1 1 1 0 1 1 1 0
1 1 1 1 1 1 1 1 1 1 1 1 1
按照这个表格,当我们按下某个数字所代表的按键时,该位输入对应就为0,其他位均为1,因此74147会给相对应的数字进行二进制编码。

当同时有两个按键被按下的时候,因为编码器有优先性,故只会对最大的数字进行编码,不会产生混乱。

但是这个编码器有一个小问题就是对0没有编码,这样当按下0键的时候,无法说明输出的是0.。

3、对相应的数字进行编码之后,我们就可以用译码器,七段显示译码器7449将对应的数字用发光二极管显示出来。

其输入就应该是74147的输出。

但是因为7449是高电位有效,而74147是低电位
有效,所以在译码器输入之前,应该先用非门处理一下。

Protues中
没有十端口的与非门,可以用一个八端口的与非门和一个三端口的与门来代替。

7449功能表
BT A3 A2 A A0 a b c d e f g
10 0 0 0 1 1 1 1 1 1 0
10 0 0 1 0 1 1 0 0 0 0
10 0 1 0 1 1 0 1 1 0 1
10 0 1 1 1 1 1 1 0 0 1
10 1 0 0 0 1 1 0 0 1 1
1
0 1 0 1 1 0 1 1 0 1 1
10 1 1 0 0 0 1 1 1 1 1
10 1 1 1 1 1 1 0 0 0 0
1 1 0 0 0 1 1 1 1 1 1 1
1 1 0 0 1 1 1 1 0 0 1 1
00 0 0 0 0 0 0
7449中,BI为1时,显示器才能正常工作。

可将十个按键用一个与非门连在BT 这个端口上。

这样,只要有键按下,B I的值就能为1,
显示器就能正常工作;而没有键按下时,显示器就不亮。

同时,可以解决上面编码器对0没有编码的缺陷。

当只按下0键时,其余键输入都为1,此时译码器输入为0,能很好的显示0
最终我们建立的仿真模型如下图所示:
实验过程:
1 不按按钮时,显示器不亮。

2、按下按钮1显示“ 1 ”。

—^li • 1・尸『
[川I r-.^W
总结:
在这个实验中,体会最深刻的一点就是画比较复杂的电路图时,一定要有条理,按
顺序将电路图分成若干个模块,从前至后或者从后至前并且每一个模块都测试成功之后再连接在一起,不要整个把电路图画完了之后再来测试。

从这个实验中,有很多地方是需要我们用大脑思考,没有器件能满足我们的要求就要懂得用不同器件的组合来进行代替。

相关文档
最新文档