实验一 七段数码管显示
七段数码管显示实验报告
七段数码管显示实验报告实验目的:本实验的目的是通过控制7段数码管的亮灭状态来显示不同的数字和字母。
实验原理:7段数码管常用于显示数字和字母,每个数码管由7个LED灯组成,分别表示A、B、C、D、E、F、G等7个段。
通过控制这些LED灯的亮灭状态,就可以显示不同的数字和字母。
在实际应用中,通常需要使用一个译码器来根据输入的数字或字母输出相应的控制信号。
常用的译码器有7447、DM9368等。
这些译码器通常都是BCD码到7段数码管的译码器。
在本实验中,我们将使用7447译码器来控制7段数码管的亮灭状态。
7447译码器具有4个输入线和7个输出线,每个输入线上的BCD码可以转换成相应的控制信号,用于控制数码管的7个LED 灯。
实验材料:1.7段数码管2.7447译码器3.电路板4.电压源5.连接线实验步骤:1.将7447译码器插入电路板上相应的插槽中,并将数码管连接到电路板上。
2.将电压源连接到电路板上,并调节电压和电流值。
3.根据所需显示的数字或字母,设置相应的BCD码输入信号。
4.打开电源,观察数码管是否能够正确显示。
实验结果:通过本实验,我们可以成功控制7段数码管的亮灭状态,实现了数字和字母的显示。
同时,我们也了解了7447译码器的原理和使用方法。
实验小结:本实验是电子技术的基础实验之一,通过实验我们深入了解了7段数码管和7447译码器的原理和应用,同时也锻炼了我们的动手能力和实验技能。
在实际应用中,7段数码管和译码器常常被用于数字显示、计数器、时钟、温度计等电子设备中,具有广泛的应用前景。
(VHDL实验报告)数码管显示(一位数码管显示0-9,八位数码管显示学号后八位)
(1)一位数码管显示0-9:
(2)八位数码管显示学号后八位: 七、心得体会
七段码管位选输入信号 七段码管位选输入信号 七段码管位选输入信号
五、 实验步骤
1、打开 QUARTUSII 软件,新建一个工程。 2、建完工程之后,再新建一个VHDL File,打开VHDL 编辑器对话框。 3、按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序。其 程序如下所示:
(1)一位数码管显示0-9:
电子科技大学成都学院学院
标准实验报告
(实验)课程名称 数字电路 EDA 设计与应用
姓名 乱弹的枇杷 学号 专业 指导教师
一、 实验名称 数码管显示(一位数码管显示 0-9,八位数码管显示学号
后八位)
二、 实验目的 1、了解数码管的工作原理。 2、学习七段数码管显示译码器的设计。 3、掌握 VHDL 的 CASE 语句及多层次设计方法。
信号名称对应fpga管脚名说明7segaf13七段码管段输入信号7segbf14七段码管段输入信号7segcf15七段码管段输入信号7segde15七段码管段输入信号7segef16七段码管段输入信号7segff17七段码管段输入信号7segge18七段码管段输入信号7segdpf18七段码管dp段输入信号7segsel0g18七段码管位选输入信号7segsel1g17七段码管位选输入信号7segsel2g16七段码管位选输入信号实验步骤1打开quartusii软件新建一个工程
信号名称 7SEG-A 7SEG-B 7SEG-C 7SEG-D 7SEG-E 7SEG-F 7SEG-G 7SEG-DP 7SEG-SEL0 7SEG-SEL1 7SEG-SEL2
led数码管显示控制实验报告
led数码管显示控制实验报告篇一:单片机实验报告——LED数码管显示实验《微机实验》报告LED数码管显示实验指导教师:专业班级:姓名:学号:联系方式:一、任务要求实验目的:理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。
实验内容:利用C8051F310单片机控制数码管显示器基本要求:利用末位数码管循环显示数字0-9,显示切换频率为1Hz。
提高要求:在4位数码管显示器上依次显示当天时期和时间,显示格式如下:yyyy(月份.日)(小时.分钟)思考题:数码管采用动态驱动方式时刷新频率应如何选择?为什么?二、设计思路C8051F310单片机片上晶振为,采用8分频后为,输入时钟信号采用48个机器周期。
0到9对应的断码为:FCH、60H、DAH、F2H、66H、B6H、BEH、E0H、FEH、F6H 基础部分:由于只需要用末位数码管显示,不需要改变位码,所以只需要采用LED的静态显示。
采用查表的方法,通过循环结构,每次循环查找数据表下一地址,循环十次后重新开始循环。
每次循环延时1s,采用定时器0定时方式1。
提高部分:四个数码管都要显示,所以采用LED的动态显示。
由于数码管的位选由、控制,P0端口的其他引脚都没用到,所以对P0端口初始化赋00H,每次循环加40H、选中下一位,四次后十六进制溢出,P0端口变又为00H回到第一个数码管。
每位数码管显示一个段码后都延时1ms(否则数码管太亮,刺眼)采用定时器0定时方式1,依然采用查表法改变段码值。
通过循环:DJNZ R5,BACKMOVR5,#250 DJNZ R4,BACK MOVR4,#8来控制每种模式的切换时间,我采用2s切换一次(8*250*1ms=2s)。
切换模式,可以采用改变查表法的偏移量来实现,没切换一次模式,偏移量加04H,三次后回到初始偏移量,来实现三种模式的循环显示。
三、资源分配基础部分:、:控制数码管的位选P1:控制数码管段码的显示R0:控制段选提高部分:、:控制数码管的位选P1:控制数码管段码的显示R0:控制位选R1:控制段选R3:用于改变偏移量来切换模式R4、R5:控制循环次数,控制模式切换时间四、流程图基础部分:提高部分篇二:实验八数码管LED实验报告苏州大学实验报告院、系年级专业姓名学号课程名称成绩指导教师同组实验者实验日期实验名称:数码管LED实验一.实验目的理解8段数码管的基本原理,理解8段数码管的显示和编程方法,理解4连排共阴极8段数码管LG5641AH与MCU 的接线图。
七段LED数码管显示电路设计(精)
实验七七段LED数码管显示电路设计一、实验目的1.学习EDA软件的基本操作2.学习使用原理图进行设计输入3.初步掌握软件输入、编译、仿真和编程的过程4.学习实验开发系统的使用方法二、实验说明本实验通过七段LED数码管显示电路的设计,初步掌握EDA 设计方法中的设计输入、编译、综合、仿真和编程的基本过程。
七段LED数码管显示电路有四个数据输入端(D0-D3),七个数据输出端(A-G。
三、实验要求1、完成七段LED数码管显示电路的原理图输入并进行编译2、对设计的电路经行仿真验证3、编程下载并在实验开发系统上验证设计结果四、实验步骤1、新建工程2、新建Verilog HDL文件3、在文本输入窗口键入代码4、保存HDL文件5、编译文件直至没有错误6、新建波形文件7、添加观察信号8、添加输入激励,保存波形文件9、功能仿真七段LED数码管显示电路真值表:输入D3D2D1D0G F E D C B A 000000111111 100010000110 200101011011 300111001111 401001100110 501011101101 601101111101 701110001111 810001111111910011101111 A10101110111 B10111111100 C11001111001 D110111011110 E11101111001 F11111110001五、电路原理图啊Verilog代码描述:module qiduan(data_in,data_out;input [3:0]data_in;output [6:0]data_out;reg [6:0]data_out;always @(data_inbegincasex(data_in4'b0000:data_out<=7'b0111111;4'b0001:data_out<=7'b0000110; 4'b0010:data_out<=7'b1011011; 4'b0011:data_out<=7'b1001111; 4'b0100:data_out<=7'b1100110; 4'b0101:data_out<=7'b1101101; 4'b0110:data_out<=7'b1111100; 4'b0111:data_out<=7'b0000111; 4'b1000:data_out<=7'b1111111; 4'b1001:data_out<=7'b1100111; 4'b1010:data_out<=7'b1110111; 4'b1011:data_out<=7'b1111100; 4'b1100:data_out<=7'b0111001; 4'b1101:data_out<=7'b1011110; 4'b1110:data_out<=7'b1111001; 4'b1111:data_out<=7'b1110001; default:data_out<=7'b0000000; endcaseendendmodule仿真波形:六、实验体会七段LED数码管显示电路是常用的数码管之一,它有四个数据输入端(D0-D3),七个数据输出端(A-G。
十六进制7段数码显示译码器设计实验报告
十六进制7段数码显示译码器设计实验报告实验报告:十六进制7段数码显示译码器设计一、实验目的本实验的主要目的是设计一种用于将十六进制数码转化为七段显示的译码器电路。
通过这个实验,我们可以学习和了解数字电路的工作原理、数码管的控制方式以及七段数码的译码方法。
二、实验原理本实验所用到的数码管为共阳数码管,它由7个发光二极管组成,其中的每一个发光二极管称为一个段。
这七个段依次为a、b、c、d、e、f和g,它们分别对应数码管上的abcdefg七个引脚。
当一些引脚输出高电平时,相应的段就会被点亮,从而显示出特定的字符。
为了实现将十六进制数码转化为七段显示的功能,我们需要设计一个译码器电路。
译码器电路的输入为十六进制数码,输出为七段信号,用于控制数码管的每个段的亮灭情况。
为了简化设计,我们可以采用CMOS数字集成电路74LS47来实现译码器电路。
该集成电路内部集成了BCD转七段译码器,可以将二进制代码转化为七段数码显示所需要的信号。
它的输入为四个二进制输入端口A、B、C和D,输出为七个段芯片(a、b、c、d、e、f和g)的控制信号。
三、实验步骤1.首先,根据74LS47的真值表,确定译码器的输入和输出。
2.根据真值表,画出逻辑图,确定硬件电路的连接方式。
3.按照逻辑图和电路连接方式,进行硬件电路的布线。
4.按照实验仪器的操作说明,对电路进行调试和测试。
5.将输入端口连接至外部的十六进制信号源,观察输出端口的数据是否正确。
6.验证电路的正确性和稳定性,如果出现问题,进行排除和修复。
四、实验结果经过实验,我们成功地设计并实现了一个十六进制7段数码显示译码器电路。
当输入端口接收到一个十六进制信号时,通过电路的处理和转换,将其转化为了相应的七段信号,用于控制数码管的每个段的亮灭情况。
通过实验观察,我们发现电路的输出结果与预期一致,且工作稳定。
五、实验总结通过这个实验,我们对于数字电路的工作原理和数码管的控制方式有了更深的了解。
组合电路——7段数码管显示驱动电路设计报告
实验一、组合电路——7段数码管显示驱动电路设计一、实验目的了解EDA实验箱7位八段数码管显示模块的工作原理,设计标准扫描驱动电路模块,以备后面实验用。
二、硬件要求主芯片为Cyclone V E,型号为EP4CE22F17C8,7位八段数码管显示器,四位拨码开关。
三、实验内容用四位拨码开关产生8421BCD码,用CPLD分别产生7段数码管扫描驱动电路,然后进行仿真,观察波形,正确后编程下载实验测试。
四、实验原理1、72、动信号a,b,c,d,e,f,g。
通过调节四位拨码开关的状态,数码管应显示与之对应的字符。
五、实验连线输入:将芯片管角a0~a3分别接4个拨码开关;输出:将芯片管角led7s0~7分别接到数码管7段驱动信号a、b、c、d、e、f、g上。
六、实验源程序:decl7s.vhdlibrary 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"; when others => null;end case;end process;end;七、波形仿真结果。
七段数码显示驱动实验
第 3 步:运行 make 编译命令,用 ls 命令查看编译后的结果,在该目录中应生成 xsb_seg.ko 模块文件,利用 file 命令查看 xsb_seg.ko 文件的格式,应为 ARM 格 式的 ELF 文件。
第 4 步:利用 vi 编辑器在 test 目录下编译测试驱动的 seg_test.c 源文件。
(3)写具体某位七段数码光驱动管显示函数
void value_seting(struct seg *seg_7, char position, char value)
{ if (seg_7->negative==0) value=~value & ~(0x1<<7); else value=(0x1<<7)|value; if (position==1) seg_7->LED1_Val=value; else if(position==2) seg_7->LED2_Val=value; else if(position==3) seg_7->LED3_Val=value; else if(position==4) seg_7->LED4_Val=value; }
(7)实现七段数码管驱动释放函数
static int XSB_Seg_release(struct inode *inode, struct file *filp) { printk(KERN_EMERG "The Module is release,XSB_Seg_release\n"); kfree(filp->private_data); return 0; }
char number[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7F, 0x6F}; void clear_led(int fd) { int i; char val=0; for(i=1;i<=4;i++) ioctl(fd, i, &val); sleep(1); } void display_led(int fd) { int i; char val=0x7f; for(i=1;i<=4;i++) ioctl(fd, i, &val); sleep(1); } void appear_same(int fd) { char i,j,base=0; for (j=0, base=0 ;j<=9; j++, base++) { for(i=1; i<=4; i++) ioctl(fd, i, number+base); sleep(1); } } void appear_roll(int fd) { char i, j, base=0; for (j=0, base=0; j<=9; j++, base++) { for(i=1; i<=4; i++) ioctl(fd, i, number+(base+i-1)%10); sleep(1); } } void display_menu() { printf(" *****Choice Menu*********\n"); printf(" [0] Open Device\n");
可编程逻辑器件实验EDA-七段数码管显示电路
实验四 七段数码管显示电路
一、实验目的
实现十六进制计数显示。
二、硬件需求
EDA/SOPC 实验箱一台。
三、实验原理
七段数码管分共阳极与共阴极两种。
共阳极数码管其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。
共阴极数码管则与之相反,它是将发光二极管的阴极短接后作为公共阴极,当驱动信号为高电平、公共阴极接低电平时,才能发光。
图2-13为共阳极数码管和共阴极数码管的内部结构图。
a b c d e f g h
a
b
c
d
e
f
g
h
a b c d e f g h
DIG
DIG
共阴极七段数码管
共阳极七段数码管
图2-13 共阳极数码管和共阴极数码管的内部结构图
用七段数码管除了可以显示0~9的阿拉伯数字外,还可以显示一些英语字母。
下表是常见的字母与7段显示关系(共阴极数码管)。
编写一个0~F 轮换显示的电路(注意:选用实验箱中的共阳数码管DP1A ,FPGA 上
P25引脚连接50MHz时钟。
实验时为了便于观察,要将50MHz时钟经过分频得到1Hz时钟)。
五、实验步骤
(1)实验程序
(2)仿真结果
为方便观察程序功能,分频改为6分频,从上图可以看出数码管输出能够连续变化,同时输出正确稳定的七位码。
(3)管脚绑定
(4)实验实际结果
从实际的上电结果可以看出,每过一秒,数码管数值增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)实验目的学习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”。
7段数码管静态显示实验说明
#include "xplatform_info.h" //平台定义头文件
3.2 程序代码
/************************** Constant Definitions ****************************/
/* * The following constants map to the XPAR parameters created in the * xparameters.h file. They are defined here such that a user can easily * change all the needed parameters in one place.
*
- XST_FAILURE if the example has failed.
*
* @note
None
*
******************************************************************************/
int main(void)
{ int Status; int led_bus0,led_bus1,led_sel; xil_printf("Start to display the 7segment leds\r\n"); XGpioPs_Config *ConfigPtr; int Type_of_board; /*Test the target board chip*/ Type_of_board = XGetPlatform_Info(); switch (Type_of_board) { case XPLAT_ZYNQ_ULTRA_MP: printf("It's a ZYNQ_ULTRA board\r\n"); break;
七段数码管的动态扫描显示实验
七段数码管的动态扫描显示实验七段数码管的动态扫描显示实验一、实验名称:七段数码管的动态扫描显示实验二、实验目的:(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命令按钮,开始分析综合,此步骤在这里用于检查设计错误。
汇编数码显示及键盘实验实验报告
数码显示及键盘实验【实验内容】1、数码管显示0-72、独立按键识别【需要了解的知识】1、GPIO设定2、数码管动态扫描显示原理,键盘扫描工作原理,输入与输出及其处理【实验预习】仔细预读实验指导电子文档的实验六、七及其前面的实验流程【实验设备】Keil C51软件、ICE52 仿真驱动、MEFlash编程软件、USB驱动程序【实验过程】实验一数码管显示0-7实验任务:1)先将“0-7”数码管的段码值写入存储器中,使8位数码管从右至左显示0-7.实验步骤:1)首先在硬盘上建立一个文件夹;2)启动Keil C51软件;3)执行Keil C51软件的菜单“Project|New Project……”,弹出一个名为“Create New Project”的对话框。
输入工程文件名,选择保存路径uv2后缀,点击“保存”按钮;4)紧接着弹出“Options for Target‘Target 1’”,为刚才的项目选择ATMEL的AT89S52的CPU。
选择之后,点击“确定”按钮;5)接下来弹出一个对话框提示你是否要把标准8051的启动代码添加项目中去,此时,点击“否”按钮;6)执行菜单“File|New……”,出现一个名为“Text1”的文档。
接着执行菜单“File|Save”弹出一个名为“Save As”的对话框,将文件名改为“.asm”后缀,然后保存;7)添加源程序文件到工程中,一个空的源程序文件建成。
单击Keil C51软件左边项目工作窗口“Target1”上的“+”,将其展开。
然后右击“Source Group1”文件夹弹出下拉菜单,单击其中的“Add Files to Group‘Source Group1’”项;8)在弹出的对话框中先选择文件类型为“Asm Source file(*.s*;*.src;*.a*)”,这时对话框内创建的空的源程序文件已经出现在项目工作窗口的“Source Group1”文件夹中;输入源程序代码;9)点击工具栏“Options for target”按钮,弹出一个对话框,定义“Xtal”为11.0592.下面依序是存储模式、程序空间大小等设置,均用默认值即可。
七段数码管显示十进制数字
一、实验内容实现某开关闭合时对应显示相应的十进制数字二、设计方案1、实验中需要十个按钮来表示输入的数字,一个十进制数码显示器。
2、要将按钮与数码显示器连接起来,则需要一个74147编码器和一个7449译码器。
因7449译码器为高电频有效,所以数码显示器应该选用共阴极数码显示器。
由于74147编码器是低点频有效,而7449译码器是高电频有效,所以需要在编码器和译码器之间每个连线上加上一个反相器。
又因为74147编码器为低电频有效,所以每个开关闭合时应该为低点频,所以开关左端应接地。
3、当所有输入都为高电频时,74147编码器默认输出0的8421BCD编码,此时数码显示器上显示“0”,这样的话不能与按下开关“0”区别开来。
所以应想办法使得所有按钮都不按下时,数码显示器不显示数字。
注意到7449译码器上有一个输入BI。
当BI为高电频时,译码器才正常输出,当BI为低电频时,无论其他输入是什么,都不输出。
因此可以利用这一点。
如果当所有按钮都不按下时,译码器的BI输入为低电频,那么数码显示器就不显示数字。
因此在所有按钮与译码器的BI端之间加上一个与非门,则可以实现当所有按钮都不按下时,译码器无输出,当按钮“0”按下时,数码显示器显示“0”,当其他按钮按下时,数码显示器显示相应的数字。
4、由于没有10输入的与非门,所以使用一个3输入的与门和一个8输入的与非门代替10输入的与非门。
5、在电源和开关之间、电源和数码显示器之间需要串联若干个上拉电阻,保护元器件。
三、实验过程根据实验方案的设计,用proteus设计电路,如图所示:实验结果分别按下各个按钮,数码显示器上则显示相应的十进制数字。
当所有按钮都不按下时,显示器不显示。
实验一七段数码管显示译码器
实验⼀七段数码管显⽰译码器实验⼀七段数码显⽰译码器⼀.实验⽬的:1.设计七段显⽰译码器,并在实验板上验证;2.学习Verilog HDL⽂本⽂件进⾏逻辑设计输⼊;3.学习设计仿真⼯具的使⽤⽅法;⼆.实验内容1.实现BCD/七段显⽰译码器的“ Verilog ”语⾔设计。
说明:7段显⽰译码器的输⼊为:IN0…IN3共5根, 7段译码器的逻辑表同学⾃⾏设计,要求实现功能为:输⼊“ 0…15 ”(⼆进制),输出“ 0…9…F ”(显⽰数码),输出结果应在数码管(共阴)上显⽰出来。
2.使⽤⼯具为译码器建⽴⼀个元件符号3.设计仿真⽂件,进⾏验证。
4.编程下载并在实验箱上进⾏验证。
三.实验原理:7段数码是纯组合电路,通常的⼩规模专⽤IC,如74或4000系列的器件只能作⼗进制BCD码译码,然⽽数字系统中的数据处理和运算都是⼆进制的,所以输出表达都是⼗六进制的,为了满⾜⼗六进制数的译码显⽰,最⽅便的⽅法就是利⽤译码程序在FPGA/CPLD 中来实现。
例如6-18作为7段译码器,输出信号LED7S的7位分别接图6-17数码管的7个段,⾼位在左,低位在右。
例如当LED7S输出为“1101101”时,数码管的7个段g,f,e,d,c,b,a分别接1,1,0,1,1,0,1;接有⾼电平的段发亮,于是数码管显⽰“5”。
这⾥没有考虑表⽰⼩数点的发光管,如果要考虑,需要增加段h,然后将LED7S改为8位输出。
四.实验步骤1.编辑和输⼊设计⽂件新建⽂件夹——输⼊源程序——⽂件存盘2.创建⼯程打开并建⽴新⼯程管理窗⼝——将设计⽂件加⼊⼯程中——选择⽬标芯⽚——⼯具设置——结束设置3.全程编译前约束项⽬设置选择FPGA⽬标芯⽚——选择配置器件的⼯作⽅式——选择配置器件和编程⽅式——选择⽬标器件引脚端⼝状态——选择Verilog语⾔版本4.仿真测试五.实验参考程序module LED(A,LED7S);input [3:0]A;output [6:0]LED7S;reg [6:0]LED7S;always @ (A)begin:case(A)4'b0000: LED7S<=7'b0111111;4'b0001: LED7S<=7'b0000110;4'b0010: LED7S<=7'b1011011;4'b0011: LED7S<=7'b1001111; 4'b0100: LED7S<=7'b1100110; 4'b0101: LED7S<=7'b1101101; 4'b0110: LED7S<=7'b1111101; 4'b0111: LED7S<=7'b0000111; 4'b1000: LED7S<=7'b1111111; 4'b1001: LED7S<=7'b1101111; 4'b1010: LED7S<=7'b1110111; 4'b1011: LED7S<=7'b1111100; 4'b1100: LED7S<=7'b0111001; 4'b1101: LED7S<=7'b1011110; 4'b1110: LED7S<=7'b1111001; 4'b1111: LED7S<=7'b1110001; default: LED7S<=7'b0111111; endcaseendendmodule六.编译仿真结果1.时序仿真:2.延时分析及结果:3.⽣成RTL原理图:4.该实验的配置模式:5.适配板布局图及实验仪IO脚与芯⽚的管脚对应关系和其详细放⼤图⽚:6.⼗六进制逻辑分析:7.计数器和译码器连接电路的顶层⽂件原理图:七.体会思考:通过本次实验对EDA和QUARTER2有了初步的了解,第⼀次上机感觉挺难的,这次对Verilog也有了深⼊了解。
数码管实验报告实验原理(3篇)
第1篇一、实验背景数码管是一种常用的显示器件,它可以将数字、字母或其他符号显示出来。
数码管广泛应用于各种电子设备中,如计算器、电子钟、电子秤等。
本实验旨在通过实践操作,让学生了解数码管的工作原理,掌握数码管的驱动方法,以及数码管在电子系统中的应用。
二、实验原理1. 数码管类型数码管分为两种类型:七段数码管和液晶数码管。
本实验主要介绍七段数码管。
七段数码管由七个发光二极管(LED)组成,分别代表七个笔画。
当七个LED中的某个或某几个LED点亮时,就可以显示出相应的数字或符号。
根据发光二极管的连接方式,七段数码管可分为共阳极和共阴极两种类型。
2. 数码管驱动方式(1)静态驱动静态驱动是指每个数码管独立驱动,每个数码管都连接到单片机的I/O端口。
这种方式下,数码管显示的数字或符号不会闪烁,但需要较多的I/O端口资源。
(2)动态驱动动态驱动是指多个数码管共用一组I/O端口,通过控制每个数码管的扫描时间来实现动态显示。
这种方式可以节省I/O端口资源,但显示的数字或符号会有闪烁现象。
3. 数码管显示原理(1)共阳极数码管共阳极数码管的特点是七个LED的阳极连接在一起,形成公共阳极。
当要显示数字时,将对应的LED阴极接地,其他LED阴极接高电平,即可显示出相应的数字。
(2)共阴极数码管共阴极数码管的特点是七个LED的阴极连接在一起,形成公共阴极。
当要显示数字时,将对应的LED阳极接地,其他LED阳极接高电平,即可显示出相应的数字。
4. 数码管驱动电路(1)BCD码译码驱动器BCD码译码驱动器是一种将BCD码转换为七段数码管所需段码的电路。
常用的BCD码译码驱动器有CD4511、CD4518等。
(2)74HC595移位寄存器74HC595是一种8位串行输入、并行输出的移位寄存器,常用于数码管的动态驱动。
它可以将单片机输出的串行信号转换为并行信号,驱动数码管显示。
三、实验目的1. 了解数码管的工作原理和驱动方式。
计数显示_实验报告
一、实验目的1. 了解计数显示的基本原理和方法。
2. 掌握计数显示电路的设计与制作。
3. 熟悉计数显示模块的使用。
二、实验原理计数显示是一种将数字信号转换为直观的数字显示的方法。
常见的计数显示方法有LED数码管显示、LCD液晶显示等。
本实验以LED数码管显示为例,介绍计数显示的基本原理。
LED数码管是一种由多个LED灯组成的显示器件,通过控制LED灯的亮与灭来显示数字。
常见的LED数码管有七段式和十四段式两种。
本实验采用七段式LED数码管,其结构如图1所示。
图1 七段式LED数码管结构图计数显示的基本原理如下:1. 计数器:用于记录输入的脉冲信号数量,常见的计数器有十进制计数器、十六进制计数器等。
2. 比较器:将计数器的输出与预设的数值进行比较,当计数器输出等于预设数值时,输出一个信号。
3. 驱动电路:将比较器输出的信号转换为LED数码管所需的驱动信号,驱动LED数码管显示相应的数字。
三、实验仪器与设备1. 实验箱:1套2. LED数码管:1个3. 74LS90计数器:1个4. 74LS20比较器:1个5. 电阻:若干6. 电容:若干7. 信号发生器:1个8. 电源:1个四、实验步骤1. 连接电路:根据实验原理图,将计数器、比较器、驱动电路、LED数码管等元器件连接到实验箱上。
2. 调整参数:根据实验要求,调整计数器的预设数值和比较器的阈值。
3. 测试电路:将信号发生器输出的脉冲信号连接到计数器的输入端,观察LED数码管显示的数字是否正确。
4. 调试电路:根据观察结果,对电路进行调整,直至LED数码管显示的数字正确。
五、实验结果与分析1. 实验结果:连接电路后,调整参数,观察LED数码管显示的数字为预设数值,实验成功。
2. 实验分析:(1)计数器在脉冲信号的作用下,计数器中的数值逐渐增加。
(2)当计数器的数值达到预设数值时,比较器输出一个信号,该信号通过驱动电路驱动LED数码管显示相应的数字。
(3)实验过程中,若LED数码管显示的数字不正确,可能是电路连接错误、元器件损坏或参数设置不当等原因。
LabVIEW之七段数码管实验报告(正式版)
Guangdong Polytechnic Normal UniversityLabVIEW程序设计基础实验报告实验题目:一位七段数码管显示专业:应用电子技术教育(师范)年级班别:13级2班组员姓名:指导教师:向英二级学院:电子与信息学院二◦一六年三月三^一日一位七段数码管显示【实验目的】1. 认识七段数码管并学习七段数码管的工作原理;2. 学习在NI ELVIS II硬件实验平台,并通过LabVIEW程序控制数码管显示的数字。
3. 学会使用NI ELVISII的软件驱动、连接NI ELVIS II实验平台、编写LabVIEW 程序。
【实验原理】利用NI ELVIS II硬件实验平台,采用元器件搭建硬件电路,编写LabVIEW 程序框图与前面板控制窗口,然后运行程序以实现采用自动与手动两种方式在数码管上显示数字的现象。
1. 了解数码管结构:图1 一位七段数码管结构图2 •数码管原理及接线原理:每个数码管的有8个段:a、b、c、d、e、f、g、h (h是小数点),都分别连到对应的P0-P7, 8个数码管分别由8个选通信号P0-P7来选择。
本实验采用共阴极的七段数码显示器,将七段数码显示器的阴极连在一起,为了不让数码管被意外烧掉,将abcdefgh七段数码管分别通过100Q的上拉电阻接入原型实验平台中的数字I/O 口,a接口接入上端数码管,b接口接入右上端数码管,c 接口接入右下端数码管,d接口接入下端数码管,e接口接入右下端数码管,f 接口接入右上端数码管。
当需要哪一段数码管发亮时,只需在LabVIEW的程序控制中输入高电平1即可。
2. 数码管硬件接线原理图。
段符十人进制代码显示号dp0f e d c b a共阴极共阳极0001111113FH COH06H F9H 1000001102010110115BH A4H3010011114FH BOH4010011099H5011011016DH92H601111101S2H70000011107H F8H8011111117FH SOH9011011116FH9OH图3 一位七段数码管真值表【实验所需元器件】所需元器件与器材:【实验步骤】、搭建硬件电路:GND■■■VE f 匸O O Q 1 O O S *■ F * ■■ d !• '* lr * n O O 0 o o H AD SB -M CR5O d 口 €Z3 o o o B F-" ■—* I —»■ED 7 tn 5图4七段数码管硬件连接图、设计程序流程图图5七段数码管程序流程图设计思路的是利用应用数码管显示数字,采用两种方式控制输入显示,每位显示的数字由实验者通过各自的数字输入框控制输入0-9的数值,各位数字的显示间相互独立,互不影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一七段数码管显示译码器设计
一、实验目的
(1)熟悉VHDL转向控制语句的用法;
(2)熟悉共阴极数码管的工作原理
(3)用VHDL语言设计七段数码管显示译码器,并仿真,下载验证其功能;二、实验原理
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。
图1 共阴极数码管
图1是共阴极数码管的原理图。
当各段分别接高电平时,相应段点亮,构成不同的组合,显示不同的数字。
如当a,b,c,d,e,f接高电平,g接低电平时,数码管显示数字0。
三、实验内容
(1)用case…when…语句实现七段数码管显示译码器的设计,用四个按键来做输入,当输入值从0000到1111时,数码相应显示0—F;
(2)仿真所编程序,验证其正确性。
(3)锁定引脚,下载到实验板上,观察效果。
引脚锁定建议:输入脚(34-37)、输出脚(5-11)
四、思考题
(1)用其它语句实现七段数码管显示译码器,并写出源程序
(2)讨论语句WHEN OTHERS语句的作用。
五、实验报告
根据以上的实验内容写出实验报告,包括设计原程序,仿真波形图及思考题。
附录:。