实验三 数码管静态显示实验
数码管的显示的实验报告
数码管的显示的实验报告数码管的显示的实验报告引言:数码管是一种常见的数字显示装置,广泛应用于各种电子设备中。
本实验旨在通过实际操作,了解数码管的原理和工作方式,并通过一系列实验验证其显示效果和功能。
实验一:数码管的基本原理数码管是由多个发光二极管(LED)组成的,每个发光二极管代表一个数字或符号。
通过对不同的发光二极管进行点亮或熄灭,可以显示出不同的数字或符号。
本实验使用的是共阳数码管,即共阳极连接在一起,而阴极分别连接到控制芯片的输出引脚。
实验二:数码管的驱动电路为了控制数码管的显示,需要使用驱动电路。
常见的驱动电路有共阴极驱动和共阳极驱动两种。
本实验使用的是共阳极驱动电路。
驱动电路由控制芯片、电阻和电容组成。
控制芯片通过控制输出引脚的高低电平来控制数码管的点亮和熄灭。
实验三:数码管的显示效果通过控制芯片的输出引脚,可以实现数码管的显示效果。
本实验使用的是四位数码管,可以显示0-9的数字。
通过改变控制芯片输出引脚的电平,可以控制数码管显示不同的数字。
实验中通过编写程序,使数码管显示从0到9的数字循环显示,并通过按键控制数字的增加和减少。
实验四:数码管的多位显示除了显示单个数字外,数码管还可以实现多位显示。
通过控制不同位数的数码管,可以显示更多的数字或符号。
本实验使用的是四位数码管,可以同时显示四个数字。
通过编写程序,可以实现四位数码管的多位显示,例如显示当前时间、温度等信息。
实验五:数码管的亮度调节数码管的亮度可以通过改变驱动电路中的电阻值来实现。
本实验通过改变电阻值,调节数码管的亮度。
实验中通过编写程序,通过按键控制数码管的亮度增加和减少,从而实现亮度的调节。
结论:通过本次实验,我们深入了解了数码管的原理和工作方式。
数码管可以通过驱动电路的控制,实现数字和符号的显示。
同时,数码管还可以实现多位显示和亮度调节。
数码管作为一种常见的数字显示装置,具有广泛的应用前景,可以应用于各种电子设备中。
通过进一步的研究和实践,我们可以更好地利用数码管的功能,满足不同应用场景的需求。
数码管静态显示实训报告
一、实训目的通过本次实训,掌握数码管静态显示的原理和方法,熟悉51单片机的编程技巧,以及如何利用单片机控制数码管显示特定的数字和字符。
同时,了解数码管在电子显示中的应用及其驱动电路的设计。
二、实训器材1. 51单片机开发板2. 数码管(共阴极或共阳极)3. 电阻4. 译码器(如74HC138)5. 驱动器(如74HC245)6. 连接线7. 编程软件(如Keil)8. 仿真软件(如Proteus)三、实训原理数码管静态显示是指每个数码管的每个段都由单片机的I/O口直接驱动。
当某个段需要显示时,相应的I/O口输出高电平或低电平,控制该段LED的亮灭。
共阴极数码管的段码共用一个电源的负极,高电平点亮;共阳极数码管的段码共用一个电源的正极,低电平点亮。
在本次实训中,我们使用51单片机的P0口输出段码数据,P2口输出位选信号,通过译码器和驱动器实现对数码管的驱动。
四、实训步骤1. 硬件连接(1)将数码管按照共阴极或共阳极的接法连接到单片机的P0口。
(2)将译码器的输入端连接到单片机的P2口。
(3)将驱动器的输入端连接到译码器的输出端。
(4)将驱动器的输出端连接到数码管的位选端。
2. 软件编写(1)定义数码管的字形码数组,存储0~9数字的字形码。
(2)编写主函数,通过循环遍历字形码数组,控制数码管显示相应的数字。
(3)编写延时函数,实现数字显示的间隔。
3. 仿真测试(1)使用Proteus软件搭建仿真电路。
(2)编写Keil软件中的程序,并编译生成HEX文件。
(3)将HEX文件下载到51单片机中。
(4)运行仿真程序,观察数码管显示的数字是否正确。
五、实训结果经过实训,我们成功实现了数码管静态显示功能。
数码管能够按照程序设置的方式,依次循环显示0~9十个数字。
六、实训心得1. 通过本次实训,我们了解了数码管静态显示的原理和实现方法,掌握了51单片机的编程技巧。
2. 在实训过程中,我们学会了如何使用译码器和驱动器扩展单片机的I/O口功能。
静态数码管显示
静态数码管显示1.实验目的学习7段数码显示译码器的设计,进一步了解、熟悉和掌握FPGA开发软件的使用方法及VHDL的编程方法。
2.实验内容试验箱上有2个4位动态共阳数码管。
其中8个位码DIG0-DIG7和8位段码SEG0-SEG7分别与FPGA相应的引脚相连。
这样,只要DIG0-DIG7上一直输出低电平“0”,则8个数码管将显示相同的数码(因为8个LED数码管的段码线分别接上了同引脚上),这样8位动态LED数码管就变成了静态LED。
本实验的内容是建立7段译码显示模块,用于控制LED数码管的静态显示。
要求在实验箱上的数码管依次显示0-9和A-F这16个字符。
3.实验原理数码管LED显示是工程项目中使用较广的一种输出显示器件。
常见的数码管有共阴和共阳2钟。
共阴数码管是将8个发光二极管的阴极连接在一起作为公共端,而共阳数码管是将8个发光二极管的阳极连接在一起作为公共端。
公共端常称为位码,而将其他8位称为段码。
本实验通过七段译码模块译码后在数码管上显示出来。
4.实验步骤(1)启动Xilinx ISE,新建项目并命名为sled(2)分别新建VHDL源程序文件并命名为int_div、count、decl7s,输入程序代码并保存(完整的VHDL程序参考实验参考程序),进行综合编译,若在编译过程中发现错误,则找到并更正错误,直至编译成功为止。
(3)从VHDL源程序文件,创建模块符号文件。
(4)新建顶层模块原理图文件sledtop,分别将模块int_div、count、decl7s添加到原理图中,将各个模块连接起来,添加输入、输出引脚,给引脚命名并保存。
完整的原理图如下所示(5)分配FPGA引脚,设置方法如下信号引脚信号引脚信号引脚信号引脚信号引脚Seg[0] 52 Seg[4] 77 Dig[0] 81 Dig[4] 43 clkin 128Seg[1] 75 Seg[5] 54 Dig[1] 85 Dig[5] 74Seg[2] 58 Seg[6] 53 Dig[2] 83 Dig[6] 59Seg[3] 76 Seg[7] 66 Dig[3] 82 Dig[7] 51(6)对该项目文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
实验03静态数码管显示
实验三 静态数码管显示一.实验目的 1.了解数码管内部电路结构; 2.学习7段数码管显示译码器的设计; 3. 学习LPM 兆功能模块的调用。
二. 准备知识为了对数字电路进行控制、直观观察数字电路的设计结果,CPLD/FPGA 器件往往要和一些外部接口电路相连,前面实验中实验的二极管、DIP 开关、脉冲信号源等都属于外部接口电路。
在编译前我们进行的锁定管脚,就是把设计电路(元件)的数字信号输入、输出连到相应的CPLD/FPGA 器件管脚;而CPLD/FPGA 器件的一些管脚在硬件上和外部的接口电路相连;这样就把设计的输入、输出管脚和外部的接口电路相通,以便对电路进行控制(输入)、观察结果(输出)。
通常的外部接口电路有:二极管、7VGA 接口、鼠标接口、键盘、时钟信号接口、A/D 接口、D/A 接口、UART 接口、I 2C 控制器接口等其它数字信号接口。
数码管LED 显示是工程项目中使用广泛的一种输出显示器件。
从数码管的个数上数码管分为单联和多联,单联数码管的封装结构如图3.1所示;从电路连接上数码管分为共阳极和共阴极2种,共阴极数码管是将8个发光二极管的阴极连接在一起作为公共端,如图3.2所示;而共阳极数码管是将8个发光二极管的阳极连接在一起作为公共端,如图3.3所示。
公共端通常称为位码或选通位,而将其它8位称为段码。
底部管脚 上部结构图数码管的e 、d 、c 、b 、a 。
我们以图3.3所A11脚为低电平,这样发光二极1”,就需要位码为高电平,BC 段码为低电平,正向导通而发光,而其他的段码为高电平,无电流通过不发光。
故8位段码的需要赋二进制值为“00000011”,位码赋值为高电平,这就是所谓的“译码”。
位码使用了三极管。
从硬件电路原理图上可知,FPGA 器件的IO 管脚为低电平时,数码管的位码管脚为高电平,导通。
本实验通过分频器得到1Hz 的时钟信号,加载于4位计数器的时钟输入端。
计数器循环输出0~9、A~F 共16个数。
FPGA实验三七段数码管静态与动态显示实验报告
FPGA实验三七段数码管静态与动态显示实验报告实验目的:通过FPGA实现七段数码管的静态与动态显示,在FPGA上可实现对任意数字的显示和计数功能。
实验原理:七段数码管是一种能够显示数字的晶体管数字显示器件,它由七个LED数码管组成,每个数码管分别由a、b、c、d、e、f、g七个LED组成。
通过控制每个LED的亮灭情况,可以对任意数字进行显示。
七段数码管的静态显示是指每个数字的显示都是固定的,而动态显示则是通过快速地刷新七段数码管的显示,使得数字像是在变化。
在FPGA 中,可以通过时钟信号和计数器实现刷新,从而实现数字的动态显示。
实验过程:首先,将FPGA和七段数码管连接,在FPGA上选择适当的引脚连接到a、b、c、d、e、f、g七个数码管。
在FPGA中创建工程,并添加适当的引脚约束,以实现与七段数码管的连接。
然后,根据需要选择静态或动态显示。
静态显示:静态显示的原理是通过直接控制每个LED的亮灭情况,使得每个数字都可以被显示出来。
首先,需要定义每个数字对应的LED的状态(亮灭),例如数字0对应的LED状态可能为(1,1,1,1,1,1,0)等。
然后,通过FPGA的逻辑电路实现对应数字的显示。
动态显示:动态显示的原理是通过快速地刷新显示,使得数字在若干个数码管中切换,从而造成数字变化的视觉效果。
这里需要使用时钟信号和计数器来控制刷新。
首先,需要设计一个计数器,它的计数范围应该与显示数字的个数相同。
然后,通过时钟信号让计数器开始计数,并根据计数器的值选择对应的数字显示在七段数码管上。
通过控制计数器的计数速度和刷新频率,可以实现数字的动态显示。
实验结果:经过实验,我们成功地实现了七段数码管的静态显示和动态显示。
在静态显示中,我们可以通过FPGA的逻辑电路对七段数码管的每个LED进行控制,从而实现任意数字的显示。
在动态显示中,我们通过时钟信号和计数器实现了刷新功能,使得数字在七段数码管中快速地切换,从而呈现出动态的显示效果。
实验三 数码管静态显示实验
示实验
1/12
实验预习报告检查
• 1数码管显的
编程思路
• 目的:熟悉74HC573锁存器编程! • 检查:手写纸上或书上;小课带上C课本.
2/12
实验目的
掌握数码管的工作原理及其静态显示 掌握锁存器的工作原理及如何使用锁存器扩
11/12
预习内容
蜂鸣器、继电器实验
➢有源蜂鸣器、无源蜂鸣器的工作原理 及操作方法
➢继电器的原理及操作方法
12/12
展单片机的I/O口
3/12
实验内容
1、使用P0,P2,P3口,静态控制三个数码管任意显数( 0~999)。( 电路图为:直接使用单片机IO口的静态显示接口)
2、使用锁存器实现静态控制2个数码管显数(实现任意 显示0~99)。(电路图:锁存器扩展IO口的静态显示接口)
3、使用锁存器实现静态控制六个数码管显数(实现任意 1个或多个管显示0~F)。(电路图:实验板数码管显示接口)
锁存器扩展IO口的静态显示接口
7/12
实验原理
实验板数码管显示接口
8/12
实验原理
实验板电路原理图
9/12
实验原理
实验板电路原理图
10/12
提高实验
1.用静态显示的方法,通过三个数码管,实现 倒计数,从999减到0停止,计数间隔200ms;
2.用动态显示的方法,通过6个数码管,实现循 环显数,(如第一个数码管显示0,然后间隔 500ms,让第二个数码管显示1,再间隔500ms, 第三个数码管显示2 . 。。),从0到F,然后无 限重复上述过程。
4/12
实验原理
使用proteus仿真软件制作电路和实验板进 行仿真。(实验板中段和位锁存器的选通/ 锁存LE控制端分别接单片机P2.6和P2.7口)
单片机数码管静态显示实验
实验五串行口静态显示一.实验目的1.学习用单片机的串行口扩展74LS164 实现静态显示方法。
2.学习用单片机I/O 口模拟串口工作实现静态显示的编程方法。
3.掌握静态显示的编程方法和数码管显示技术。
二.实验任务1.根据共阳数码管的功能结构,自编一组0~F 的笔形码,并按顺序存放建立程序数据表格。
2.利用单片机串行口扩展74LS164,完成串--并转换输出,实现静态显示:要求循环显示0~F这数字,即输出数字“0”时,四位同时显示0,显示1 秒后再输出数字“1”,即四位同时显示1,依次类推,相当于数字自检循环显示。
3.利用单片机串行口(RXD、TXD)编写静态显示程序,在数码显示器上30H、31H 单元的内容,30H、31H 单元为任意的十六进制数。
4.用P1.6、P1.7 分别替代RXD、TXD 做模拟串口完成任务3 的静态显示程序。
三.实验电路静态显示实验电路连线方法:静态显示只要连接2 根线:单片机的RXD 与DAT 节点连接,TXD 与CLK 接点连接,要把电源短路片插上。
PW11 是电源端。
四.实验原理说明1.静态显示实际上动态的过程,静态的显示,单片机串行口输出的数据通过74LS164 串并转换输出,每输出一个数据,把原先的的数据推挤到下一个显示位上显示。
实验时,单片机串行口应工作在方式0,RXD(P3.0)输出串行数据,TXD(P3.1)输出移位时钟,在移位时钟的作用下,串行口发送缓冲器的数据一位一位地从RXD 移入到74LS164 中,并把后面送入的数据推挤原先的数据到下一个级联的74LS164 中输出,每输出一个数据可以延时1ms。
实验时,通过改变延时时间,可以更清楚地观察到数据推挤的过程。
2.串行口工作在方式0 时,串行传输数据为8 位,只能从RXD 端输入输出。
TXD 端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12,由软件置位串行控制寄存器SCON 的REN位才能启动串行接收。
数码管显示实验 实验报告
数码管显示实验实验报告一、实验目的本次数码管显示实验的主要目的是深入了解数码管的工作原理和显示控制方式,通过实际操作掌握数码管与微控制器的接口技术,并能够编写相应的程序实现各种数字和字符的显示。
二、实验原理数码管是一种由多个发光二极管组成的显示器件,常见的有共阴数码管和共阳数码管两种类型。
共阴数码管是将所有发光二极管的阴极连接在一起,当阳极接高电平时,相应的二极管发光;共阳数码管则是将所有发光二极管的阳极连接在一起,当阴极接低电平时,相应的二极管发光。
在控制数码管显示时,通常采用动态扫描的方式,即依次快速地给每个数码管的段选端送入相应的字形码,同时使位选端选通对应的数码管,利用人眼的视觉暂留效应,使人看起来好像所有数码管同时在显示。
三、实验设备与材料1、实验开发板2、数码管模块3、杜邦线若干4、电脑5、编程软件四、实验步骤1、硬件连接将数码管模块与实验开发板进行连接,确定好段选和位选引脚的连接。
检查连接是否牢固,确保电路无短路或断路现象。
2、软件编程打开编程软件,选择相应的开发板型号和编程语言。
定义数码管的段选和位选引脚。
编写控制程序,实现数字 0 到 9 的循环显示。
3、编译与下载对编写好的程序进行编译,检查是否有语法错误。
将编译成功的程序下载到实验开发板上。
4、观察实验现象接通实验开发板的电源,观察数码管的显示情况。
检查显示的数字是否正确,显示的亮度和稳定性是否符合要求。
五、实验结果与分析1、实验结果数码管能够正常显示数字 0 到 9,并且能够按照设定的频率循环显示。
显示的数字清晰、稳定,没有出现闪烁或模糊的现象。
2、结果分析程序编写正确,能够准确地控制数码管的段选和位选信号,实现数字的显示。
动态扫描的频率设置合理,既保证了显示的稳定性,又不会出现明显的闪烁。
六、实验中遇到的问题及解决方法1、问题数码管显示出现闪烁现象。
解决方法调整动态扫描的频率,增加扫描的速度,减少每个数码管的点亮时间,从而减轻闪烁现象。
数码管显示实验报告
实验三数码管显示实验一、实验目的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、数码管显示驱动、数码管显示驱动数码管的显示一般有动态显示和静态显示两大类,另外按照驱动方式又分串行驱动和并行驱动两种方式。
行驱动两种方式。
串行驱动主要是提供串-并转换,串行驱动主要是提供串-并转换,串行驱动主要是提供串-并转换,减少控制线数量;减少控制线数量;减少控制线数量;并行驱动对每一个段并行驱动对每一个段提供单独的驱动,电路相对简单。
这方面参看数字电路相关内容。
提供单独的驱动,电路相对简单。
这方面参看数字电路相关内容。
下面主要介绍静态显示和动态显示: 1)静态显示:)静态显示: LED 数码管采用静态接口时,共阴极或共阳极节点连接在一起地或者接高电平。
静态数码管显示(可编程)
电子信息与自动化学院《可编程逻辑器件》实验报告学号:姓名:实验名称:数码管静态显示一、实验原理七段数码管是电子开发过程中常用的输出显示设备。
在实验系统中使用的是四个共阳极型七段数码管。
由于七段数码管公共端连接到VCC(共阳极型),当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。
图1数码管原理图图2程序设计大致流程图二、实验步骤1、打开QuartusII软件,新建一个工程然后创建一个Verilog File,打开VHDL编辑对话框进行编程;2、主要程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity JINGTAI isport (clk:in std_logic;x: out std_logic_vector(6 downto 0);y: out std_logic_vector(3 downto 0));end JINGTAI;architecture behave of JINGTAI issignal number :integer range 50000000 downto 0;signal count: std_logic_vector (1 downto 0);signal key: std_logic_vector (3 downto 0);beginy<="0000";PROCESS(clk)begin if clk'event and clk='1' then if number<50000000 thennumber <= number+1;else number <= 0;key <= key +1;end if;end if;end process;process(key)begincase key iswhen "0000" => x <= "1000000" ;when "0001" => x <= "1111001" ;when "0010" => x <= "0100100" ;when "0011" => x <= "0110000" ;when "0100" => x <= "0011001" ;when "0101" => x <= "0010010" ;when "0110" => x <= "0000010" ;when "0111" => x <= "1111000" ;when others => null;end case;end process;end behave;3、引脚锁定图3 引脚锁定三、实验结果仿真图如下:图4时序仿真图由以上可知,实验结果符合要求,则设计成功。
实验3 LED数码管静态显示控制器的设计
实验3 LED数码管静态显示控制器的设计1.实验目的熟悉软件的使用,了解使用EDA工具进行设计的全过程。
直接使用VHDL语言进行逻辑设计。
2.实验内容(1)编写VHDL程序。
(2)进行逻辑综合和优化,进行功能仿真,实现软件到硬件的设计,时序仿真以及下载编程等。
(3)验证:用开关A3,A2 ,A1,A0作为输入设置,组成一个高输入有效的基本组合逻辑器;从输出指示LED7S观察到数字随A3,A2 ,A1,A0设置值的变化而引起的相应变化。
3.LED数码管的显示原理LED七段数码管如图1所示,七段数码管每一段为一只发光二极管,共有a~g7只发光二极管和一个小数点dp。
将七段数码管中的每一只二极管的阴极并联在一起,就组成公共阴极端。
把共阴极管脚接地,此时那个管脚输入高电平,对应发光二极管就被点亮。
4.七段数码管的真值表输入输出A3 A2 A1 A0 a b c d e f g 显示0 0 0 0 1 1 1 1 1 1 0 00 0 0 1 0 1 1 0 0 0 0 10 0 1 0 1 1 0 1 1 0 1 20 0 1 1 1 1 1 1 0 0 1 30 1 0 0 0 1 1 0 0 1 1 40 1 0 1 1 0 1 1 0 1 1 50 1 1 0 1 0 1 1 1 1 1 60 1 1 1 1 1 1 0 0 0 0 71 0 0 0 1 1 1 1 1 1 1 81 0 0 1 1 1 1 1 0 1 1 95.VHDL源程序library ieee;use ieee.std_logic_1164.all;entity dec7s1 isport(A:in std_logic_vector(3 downto 0); LED7S:out std_logic_vector(6 downto 0)); end;architecture onr of dec7s1 isbeginprocess(A)begincase A iswhen "0000" => LED7S<="1111110"; when "0001" => LED7S<="0110000"; when "0010" => LED7S<="1101101"; when "0011" => LED7S<="1111001"; when "0100" => LED7S<="0110011"; when "0101" => LED7S<="1011011"; when "0110" => LED7S<="1011111"; when "0111" => LED7S<="1110000"; when "1000" => LED7S<="1111111"; when "1001" => LED7S<="1111011"; when others => null;end case;end process;end;6.系统仿真。
静态数码管显示
//做的,
{
//插入这几条语句是用来保护数码管的,使其亮度不要过高。
P1_0=~P1_0;
//当然了,明白数码显示的原理就可以了,实际应用中几乎不
//用单片机直接对数码管进行静态扫描,
del_count=0;
//因为直接用单片机静态显示数码管太耗 I/O 口了,有专门
////静态扫描数码管的芯片,比如 MAX7219 等。
void t0(void) interrupt 1 using 0
{
tcount++;
/*********************///实际应用的静态扫描是不用这几条语句的,
del_count++;
//现在实验板上没有独立的静态扫描数码管,
if(del_count==50)
//做静态扫描实验时是利用动态扫描连接方式其中一个数码管
Created with novaPDF Printer (). Please register to remove this message.
4.实物连接图: 实物图 1:
Created with novaPDF Printer (). Please register to remove this message.
}
/*********************/
if(tcount==4000) //1S 到
{
tcount=0;
count++;
if(count==10)
count=0;
P0=dispcode[count]; //送出数码管代码显示
}
} /*************程序到此结束***********************/
数码静态显示实训报告
一、实训目的通过本次实训,掌握数码管的基本工作原理,学习如何使用51单片机控制数码管进行静态显示,并了解静态显示的优缺点及在实际应用中的注意事项。
二、实训原理数码管是一种常用的显示器件,由多个发光二极管(LED)组成。
根据连接方式的不同,数码管可分为共阴极和共阳极两种类型。
共阴极数码管的段码共用负极,高电平点亮;共阳极数码管的段码共用正极,低电平点亮。
静态显示是指每个数码管的每个段码都由单片机的I/O口进行驱动,或使用BCD码二-十进位转换器进行驱动。
静态显示的优点是编程简单,显示亮度高,但缺点是占用I/O口多。
三、实训步骤1. 硬件连接:- 将共阴极数码管的段码(a-g、dp)连接到单片机的P0口。
- 将数码管的共阴极连接到单片机的GND。
- 将数码管的正极连接到单片机的VCC。
2. 软件设计:- 编写程序,定义数码管显示数字的字形码。
- 使用循环语句控制数码管依次显示0~9的数字。
- 使用延时函数实现数字显示的切换。
3. 程序代码:```c#include <reg51.h>// 定义数码管字形码,共阴极unsigned char code digit_code[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};void delay(unsigned int ms) {unsigned int i, j;for (i = ms; i > 0; i--)for (j = 110; j > 0; j--);}void main() {unsigned char i;while (1) {for (i = 0; i < 10; i++) {P0 = digit_code[i]; // 显示数字delay(500); // 延时}}}```4. 测试与调试:- 将程序烧录到单片机中。
- 连接数码管,观察数码管是否能够依次显示0~9的数字。
数码管实验报告实验原理(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. 了解数码管的工作原理和驱动方式。
FPGA实验三 七段数码管静态与动态显示实验报告
得分:数字系统设计课程实验实验三七段数码管静态与动态显示实验项目三实验名称:七段数码管静态与动态显示实验目的:通过一个七段数码管显示器的设计,让学生掌握组合逻辑电路的设计方法;掌握组合逻辑电路的静态测试方法;再次基础上扩展了解数码管动态驱动方法并实现,要求在数码管上动态显示4个不同数字。
实验类型:设计、验证实验学时:2学时每组人数:1人实验内容及方法:用七段数码显示器显示0-F16个数字。
设计部分采用VHDL语言完成。
在完成静态显示后思考如何完成动态显示。
实验仪器设备:计算机,红芯开发板。
注意:实验板所用的数码管是共阳极。
原来PPT上讲的例子是共阴极。
在程序编写时注意频率的问题。
通过数码管片选信号选通数码管,以控制输出。
段选时0有效一、VHDL代码:--七段数码管静态与动态显-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;---------------------------------------------------------entity decl7isgeneric(DWIDTH:integer:=18);port(clk,en:in std_logic;led7s:out std_logic_vector(6downto0);bitsele:out std_logic_vector(3downto0));end decl7;---------------------------------------------------------architecture behave of decl7issignal key:std_logic_vector(3downto0);signal temp:std_logic_vector(DWIDTH-1downto0);signal count:std_logic_vector(1downto0);signal fp:std_logic;signal clkout:std_logic;------------------------------------------------------------------------------------------------------------------begin---------------------------------------------------------P1:process(clk)--时钟进行18次分频(引脚上接的是50MHZ时钟);beginif en='1'thenif clk'event and clk='1'then temp<=temp+'1';else NULL;end if;else NULL;end if;end process;clkout<=temp(DWIDTH-1);---------------------------------------------------------P2:process(clkout)--分频后的时钟作为位选时钟;beginif clkout'event and clkout='1'thenif count="11"then count<="00";else count<=count+"01";end if;else null;end if;end process;---------------------------------------------------------P3:process(count)--位选(片选)的同时跳转到段,位选(片选)0有效;begincase count iswhen"00"=>bitsele<="1110";key<="0010";--数码管最后一位显示2;when"01"=>bitsele<="1101";key<="0001";--数码管倒数第二位显示1;when"10"=>bitsele<="1011";key<="0100";--数码管第二位显示4;when"11"=>bitsele<="0111";key<="1001";--数码管第一位显示9;when others=>null;end case;end process;---------------------------------------------------------P4:process(key)--段选,数码管为共阳极,段选0有效;begincase key iswhen"0000"=>led7s<="1000000";--数码管显示0;when"0001"=>led7s<="1111001";--数码管显示1;when"0010"=>led7s<="0100100";--数码管显示2;when"0011"=>led7s<="0110000";--数码管显示3;when"0100"=>led7s<="0011001";--数码管显示4;when"0101"=>led7s<="0010010";--数码管显示5;when"0110"=>led7s<="0000010";--数码管显示6;when"0111"=>led7s<="1111000";--数码管显示7;when"1000"=>led7s<="0000000";--数码管显示8;when"1001"=>led7s<="0010000";--数码管显示9;when"1010"=>led7s<="0001000";--数码管显示A;when"1011"=>led7s<="0000011";--数码管显示b;when"1100"=>led7s<="1000110";--数码管显示c;when"1101"=>led7s<="0100001";--数码管显示d;when"1110"=>led7s<="0000110";--数码管显示E;when"1111"=>led7s<="0001110";--数码管显示F;when others=>null;end case;end process;---------------------------------------------------------end behave;---------------------------------------------------------二、波形仿真:波形仿真截图仿真时,clk输入的是50MHZ的方波,使能端en输入高低平有效,数码管位选输出1110,也就是在仿真的630ns内数码管最后一位被选通,与此同时,段选输出为0100100,也就是数码管显示数字2。
数码管静动态显示实验指导书
数码管静动态显示实验一、 实验目的1、学会将程序根据功能分成多个文件来写; 2、学会网络上搜索主要芯片的资料,得到需要的信息; 3、掌握数码管驱动电路原理; 4、实现数码管动态扫描驱动二、 实验任务用数码管显示一串数字(预置的数字,或者来自时钟芯片的时间)三、 实验设备1、ID101 89S5x 单片机模块 2、ID237 时钟存储器模块 3、ID214 8 位数码管模块 4、STC 单片机仿真模块(IAP15W4K58S4) 5、ID205 USB 转串口模块 6、USB 线(方口/打印机数据线) 7、便携电源箱(220V 电源线、4 芯端子直流电源线)四、 实验内容和步骤(一)数码管介绍 LED 数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器 件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。
数码管实际上是由七个 发光管组成 8 字形构成的,加上小数点就是 8 个。
这些段分别由字母 a,b,c,d,e,f,g,dp 来表 示。
LED 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们 要的数字,因此根据 LED 数码管的驱动方式的不同,可以分为静态式和动态式两类。
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二-十进制译码器译码进行驱动。
静态驱动的优点是编程 简单,显示亮度高,缺点是占用 I/O 端口多,如驱动 5 个数码管静态显示则需要 5×8=40 根I/O 端口来驱动,要知道一个 89S51 单片机可用的 I/O 端口才 32 个,实际应用时必须增加 译码驱动器进行驱动,增加了硬件电路的复杂性。
LED 数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是 将所有数码管的 8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公 共极 COM 增加位选通控制电路, 位选通由各自独立的 I/O 线控制, 当单片机输出字形码时, 单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选通控制打开, 该位就显示出字形,没有选通的数码管就不会亮。
实验3 数码管静态显示
实验3 数码管静态显示一.实验目的:1.学习数码管的静态控制原理2.学习用单片机的串行口扩展74LS373实现静态显示方法。
二.实验原理8字形的数码管驱动方式分两种:共阴极和共阳极。
数码管是由发光二极管组成的,发光二极管有两种驱动方式,数码管自然也有两种驱动方式:共阴极与共阳极。
共阳极是指数码管内部LED的正极接在一起,想要点亮LED,拉低相应的负极即可。
共阴极是指数码管内部LED的负极接在一起,想要点亮LED,拉高相应的正极即可。
什么是数码管编码?就是让数码管显示数字时,对应的IO输出的高低电平。
0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e。
共阳极0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71。
共阴极什么是段选?什么是位选?段选就是显示数字时,这个数字对应的IO编码,也就是上面的数码管编码。
位选就是让8个数码管的哪一个数码管显示数字。
锁存器的功能就是可以把当前输入的状态在输出脚锁住,这样及时输入变化,输出也能保持不变。
控制方式非常简单,只需控制74LS373的控制即可。
8位共阴数码管其中J2(B)为段锁存,J2(A)为位锁存。
实验原理图如下:共阳极显示数字1程序:共阴8位数码管显示1位数字(旧板子第0位显示数字4)#include<reg52.h>#include<intrins.h>sbit duan=P2^2; 连接J2(B)sbit wei=P2^3;void main(){While(1){P1=0xfe; //第0位显示Wei=1;Wei=0;Delay50ms();P1=0x66;duan=1; //显示数字4duan=0;}}Void delay50ms(){Unsigned int i;For(i=0;i<1000;i++);}。
数码管静态显示实验
1、根据LED数码管连接电路(电路中U1是74LS244作为段码驱动电路;U5和U4是SN75452,与非门,作为位选信号电路),编写实验程序,实现1位数码管的静态显示,要求:内容为0~9循环显示。
2、接线方案:
P10~P17/51单片机 接 a、b…dp/数码管;
P2.0~P2.3/51单片机 接 s1~s4/数码管。
单 片 机实验报告
通信工程系13班(2016年5月19日 )
姓名学号31130
实验题目:数码管静态显示实验
实验目的:
1.掌握8051单片机与七段LED数码管连接的设计方法;
2.掌握LED数码管静态显示的编程方法。
实验仪器:
51单片机、LED数码管
实验原理:
LED数码管静态显示的显示程序简单,显示亮度高,但所需的I/O端口较多,并且功耗较大。所以静态显示常用在显示位数较少的系统中。下表为共阴极LED数码管的段码表
实验步骤:
1.连接串行通信电缆盒电源线;
2.将C51单片机核心板上的三个开关分别拨到“独立”、”运行”“单片机”;
3.打开实验箱上的电源开关。
4.利用KeilC51创建实验程序,并进行编译生产后缀为.HEX的文件;
5.利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;
6.观察实验现象,并记录。若实验现象有误请重复第5、6步。
实验程序:
实验结果:
任课老师评语:
签名:__________
日期_____Leabharlann __月__
数码管静态显示实验,单片机实验报告
数码管静态显示实验,单片机实验报告数码管静态显示实验一.实验目的 1.熟悉数码管的功能和使用。
2.熟悉延时子程序的编写和使用。
3.初步熟悉单片机软硬件设计方法。
二.实验仪器计算机、Keil 编程环境、普中下载软件、单片机开发实验仪。
三.实验原理与内容P0 口做输出口,接一个共阳极数码管,要求循环显示。
共阳极数码管字形表(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,-共17 个字形码)0C0H,0FCH,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0 A1H,86H,8EH,0BFH。
四 . 实验线路及原理五 . 注意事项1.安装实验仪时,先接通讯串口线,再开电源开关。
2.实验过程中,在进行接插线操作时,必须先关闭电源。
六 . 实验步骤1、主机连线说明:JP10 单片机0 P0 口(8 8 位)JP3 共阳极数码管七 . 实验步骤2.打开 Keil 编程软件编写程序,并进行汇编产生HEX 文件。
(1)流程图(2)汇编源程序ORG 00H LJMP MAIN ;初始位置直接跳转MAIN 主程序START; MOV R2,#0 ;赋值R2=0 MOV R5,#17;赋值 R5=17 MAIN: MOV DPTR,#TAB;将 TAB 地址传送给数据指针MOV A,R2 ;赋值累加器 A=0 MOVC A,@A+DPTR;将数组第 A+1 的数据赋值 A MOV P0,A ;赋值 P0 数据的数据INC R2 ;R2 加一LCALL DELAY ;调用延时子程序DJNZ R5,MAIN ;R5 减一不为0 跳转主程序MAIN JMP START ;跳转 START RET DELAY: MOV R0,#5 ;延时子程序DL2: MOV R7,#200 DL1: MOV R6,#250DJNZ R6,$ DJNZ R7,DL1 DJNZ R0,DL2 TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0 A1H,86H,8EH, END (1) C 语言源程序#include #define uint unsigned int Uint table [ ]= (0xC0,0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E, 0xBF )Void delay (int z) { int x,y; for (x=z;x>0;x--) for (y=100;y>0;i++) } Void main ( ) {int i ;While (1) {for (i=0;i<17;i++) { P0=table [i]; delay (1000) // 延时 } } } 3.点击普中下载软件,检查设置是否正确,然后下载到实验仪的单片机中。
数码管的静态显示原理
数码管的静态显示原理数码管是一种常用的显示器件,可以用来显示数字、字母和符号。
它由多个发光二极管(LED)组成,通过控制LED的亮灭状态来显示不同的字符。
1.数码管的每个LED是一个发光效果良好的二极管,结构上有阳极和阴极两个引脚。
2. 数码管的每个LED都有一个对应的传导管,用于连接到数码管扫描电路的供电电压源。
这个传导管通常作为阳极(Anode)使用。
3. 数码管的每个LED的阴极(Cathode)通过选择电路与字库电路连接起来。
选择电路可以控制LED是否通电发光。
4.数码管的数字信号可以通过字库电路将数字转换为对应的二进制码,然后通过选择电路控制数码管的每个LED的亮灭状态。
5.数码管一般采用共阳极或共阴极的连接方式,共阳极时,数码管的阳极连接到正电源,阴极通过选择电路来控制。
共阴极时,数码管的阴极连接到负电源,阳极通过选择电路来控制。
具体实现静态显示的步骤如下:1.首先,设置好所要显示的数字或字符。
2.将数字或字符转换为对应的二进制编码,例如使用BCD码(二进制编码的十进制)。
3.通过选择电路将二进制编码应用到数码管的对应引脚上,以控制显示器的亮灭状态。
4.控制选择电路的开关,通过切换引脚的高低电平,实现对应LED的通断,从而显示所需的数字或字符。
具体的步骤可以分为以下几个过程:1.第一步,在一个很短的时间内,选择数码管中的一个数字管,并将其阴极置为低电平,阳极接入所需的信号电压。
2.第二步,根据要显示的数字或字符,根据字库电路将其转换为对应的二进制编码。
3.第三步,通过选择电路将二进制编码应用到数码管对应的引脚上,控制LED的通断状态。
4.第四步,将所选择的数码管阴极置为高电平,关闭其它数码管的选择。
5.第五步,在刷新周期之间,保持数码管的状态,直到下一次刷新周期开始。
6.第六步,重复上述步骤,循环刷新所有数码管,以显示所需的数字或字符。
通过上述过程,数码管的静态显示原理可以实现。
控制选择电路的开关,以周期性地刷新数码管的状态,从而完成多个数码管的显示操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用proteus仿真软件制作电路和实验板进
行仿真。(实验板中段和位锁存器的选通/
锁存LE控制端分别接单片机P2.6和P2.7口)
5/12
实验原理
直接使用单片机I/O口的接口电路
请思考:这 种驱动电路 有何不妥?
参考之前的大电流 负载驱动电路,自 己动手改进。
6/12
实验原理
3/12
实验内容
1、使用P0,P2,P3口,静态控制三个数码管任意显数
(0~999)。(电路图为:直接使用单片机IO口的静态显示接口) 2、使用锁存器实现静态控制2个数码管显数(实现任意 显示0~99)。(电路图:锁存器扩展IO口的静态显示接口) 3、使用锁存器实现静态控制六个数码管显数(实现任意 1个或多个管显示0~F)。(电路图:实验板数码管显示接口)
实验三
数码管静态显 示实验
1/12
实验预习报告检查
• 1数码管显示特定字形的字形码 • 2使实验板上6个数码管显示123456字形的 编程思路
• 目的:熟悉74HC573锁存器编程! • 检查:手写纸上或书上;小课带上C课本.
2/12
实验目的
掌握数码管的工作原理及其静态显示
掌握锁存器的工作原理及如何使用锁存器扩 展单片机的I/O口
锁存器扩展IO口的静态显示接口
7/12
实验原理
实验板数码管显示接口
8/12
实验原理
实验板电路原理图
9/12
实验原理
实验板电路原理图
10/12
提高实验
1.用静态显示的方法,通过三个数码管,实现 倒计数,从999减到0停止,计数间隔200ms;
2.用动态显示的方法,通过6个数码管,实现循
环显数,(如第一个数码管显示0,然后间隔 500ms,让第二个数码管显示1,再间隔500ms, 第三个数码管显示2.。。),从0到F,然后无 限重复上述过程。
11/12
预习内容
蜂鸣器、继电器实验
有源蜂鸣器、无源蜂鸣器的工作原
理及操作方法
继电器的原理及操作方法
12/12