实验三 数码管显示实验

合集下载

数码管的显示的实验报告

数码管的显示的实验报告

数码管的显示的实验报告数码管的显示的实验报告引言:数码管是一种常见的数字显示装置,广泛应用于各种电子设备中。

本实验旨在通过实际操作,了解数码管的原理和工作方式,并通过一系列实验验证其显示效果和功能。

实验一:数码管的基本原理数码管是由多个发光二极管(LED)组成的,每个发光二极管代表一个数字或符号。

通过对不同的发光二极管进行点亮或熄灭,可以显示出不同的数字或符号。

本实验使用的是共阳数码管,即共阳极连接在一起,而阴极分别连接到控制芯片的输出引脚。

实验二:数码管的驱动电路为了控制数码管的显示,需要使用驱动电路。

常见的驱动电路有共阴极驱动和共阳极驱动两种。

本实验使用的是共阳极驱动电路。

驱动电路由控制芯片、电阻和电容组成。

控制芯片通过控制输出引脚的高低电平来控制数码管的点亮和熄灭。

实验三:数码管的显示效果通过控制芯片的输出引脚,可以实现数码管的显示效果。

本实验使用的是四位数码管,可以显示0-9的数字。

通过改变控制芯片输出引脚的电平,可以控制数码管显示不同的数字。

实验中通过编写程序,使数码管显示从0到9的数字循环显示,并通过按键控制数字的增加和减少。

实验四:数码管的多位显示除了显示单个数字外,数码管还可以实现多位显示。

通过控制不同位数的数码管,可以显示更多的数字或符号。

本实验使用的是四位数码管,可以同时显示四个数字。

通过编写程序,可以实现四位数码管的多位显示,例如显示当前时间、温度等信息。

实验五:数码管的亮度调节数码管的亮度可以通过改变驱动电路中的电阻值来实现。

本实验通过改变电阻值,调节数码管的亮度。

实验中通过编写程序,通过按键控制数码管的亮度增加和减少,从而实现亮度的调节。

结论:通过本次实验,我们深入了解了数码管的原理和工作方式。

数码管可以通过驱动电路的控制,实现数字和符号的显示。

同时,数码管还可以实现多位显示和亮度调节。

数码管作为一种常见的数字显示装置,具有广泛的应用前景,可以应用于各种电子设备中。

通过进一步的研究和实践,我们可以更好地利用数码管的功能,满足不同应用场景的需求。

数码管动态显示EDA实验三

数码管动态显示EDA实验三

实验三数码管动态显示姓名:赵佳伟学号:1002100449一、实验目的l、实现实现0~9十个数的动态显示。

2、掌握数码管的工作状态。

二、实验的硬件要求1、输入:CLK时钟信号2、输出:LED灯3、主芯片:ALTERA下载板三、实验内容用VHDL语言输入法设计一个数码管动态显示电路,要求能够使之在0~9循环显示。

四、实验步骤(1)进入windows操作系统,打开MAX+PLUSⅡ10.0。

1、启动File/Project Name菜单,输入设计项目的名字。

点Assign/Device菜单,选择器件(本设计全选用EPM7128) 。

见图2.2.1。

2、启动菜单File/New,选择Text Editor file,打开编程编辑器,进行原理图设计输入。

图2.2.1(2)输入代码(下图2.2.2)3、保存单击保存按钮,扩展名为.vhd,本实验中取名为:p4_5.vhd。

(3)编译启动MAX+PLUS II\COMPILER菜单,按START开始编译,生成.SOF和.POF等文件,以便硬件下载和编程时调用,同时生成.RPT文件,如图2.2.3。

图2.2.3(4)仿真1、创建波形文件:①首先,将设计指定为当前项目。

②创建一个波形文件。

选择菜单MAX+PLUSⅡ\Waveform Editor,打开仿真工具Waveform Editor,或选择新建一个Waveform Editor文件,将创建一个新的无标题波形文件,如图2.2.4所示:③储存波形文件。

选择File\Save As,在File Name框中,输入相应文件名,单击OK 按钮存盘。

④设定时间轴网格大小。

选择菜单Option\Grid Size,输入时间间隔(20ns),单击OK 按钮。

⑤设定时间轴长度。

选择菜单File\End Time并输入文件的结束时间(1s )。

图2.2.42、选择欲仿真的引线端子:①选择菜单Node\Enter Nodes Nodes from SNF出现如图2.2.5所示对话框。

数码管动态扫描显示实验综述

数码管动态扫描显示实验综述

实验三准时器和中止实验一、实验目的1、学习 51 单片机内部准时器的使用方法。

2、掌握中止办理程序的方法。

3、掌握数码管与单片机的连结方法和简单显示编程方法。

4、学习和理解数码管动向扫描的工作原理。

二、实验内容1、使用准时器T0,准时1秒,控制P1口发光管循环点亮。

2、使用准时器 T0,准时 1 秒,控制 1 个数码管循环显示数字 0~9,每秒钟数字加一。

3、使用软件准时 1 秒,控制 2 个数码管循环显示秒数 0~59,每秒钟数字加一。

4、使用准时器 T0,准时 1 秒,控制 2 个数码管循环显示秒数 0~59,每秒钟数字加一。

三、实验电路图四、实验说明1、数码管的基本观点(1)段码数码管中的每一段相当于一个发光二极管, 8 段数码管则拥有 8 个发光二极管。

本次实验使用的是共阴数码管,公共端是 1、6,公共端置 0,则某段选线置 1 相应的段就亮。

公共端1 控制左面的数码管;公共端6 控制右边的数码管。

正面看数码管的引脚、段选线和数据线的对应关系为:图1数码管封装图图2数据线与数码管管脚连结关系段码是指在数码管显示某一数字或字符时,在数码管各段所对应的引脚上所加的高低电平按次序摆列所构成的一个数字,它与数码管的种类(共阴、共阳)和与数据线的连结次序相关。

对应数据线D7D6D5D4D3D2D1D0对应显示段e f DP g c d b a显示数字段码00CFH11001111103H0000001125DH0101110135BH01011011493H1001001150DAH1101101060DEH11011110743H0100001180DFH1101111190DBH11011011( 2)位码位码也叫位选,用于选中某一位数码管。

在实验图中要使第一个数码管显示数据,应在公共端 1上加低电平,即便 P2.7 口为 0,而公共端 6上加高电平,即便口为 1。

位码与段码相同和硬件连结相关。

EDA实验三七段数码管显示译码

EDA实验三七段数码管显示译码

实验三:七段数码管显示译码一、实验目的:1 设计并实现一个7段数码管控制接口,要求:在输入四位数据为0~15时,数码管显示0~F;2设计并实现一个两位7段数码管控制接口,实现输入八位二进制,结果由两位7段数码管显示功能。

3 熟悉ISE9.1软件中电路的设计仿真及综合实现方法;4 熟悉下载方法及实验系统调试方法。

二、实验原理七段数码管显示译码程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY hex2led ISPORT(hex : IN STD_LOGIC_VECTOR(3 downto 0);ledout : OUT STD_LOGIC_VECTOR(6 downto 0));END hex2led;ARCHITECTURE rtl OF hex2led ISSIGNAL led :STD_LOGIC_VECTOR(6 downto 0);BEGINledout<= NOT led;WITH hex SELECTled<="1111001" when "0001","0100100" when "0010","0110000" when "0011","0011001" when "0100","0010010" when "0101","0000010" when "0110","1111000" when "0111","0000000" when "1000","0010000" when "1001","0001000" when "1010","0000011" when "1011","1000110" when "1100","0100001" when "1101","0000110" when "1110","0001110" when "1111","1000000" when others;END rtl;三、实验处理激励代码:tb : PROCESSBEGINhex<="0000";wait for 50 ns;for i in 0 to 15 loophex<=hex+1;wait for 50 ns;end loop;功能仿真图时序仿真图(图中黄线可以看出延时)延时报告:Data Sheet report:All values displayed in nanoseconds (ns) Pad to PadSource Pad |Destination Pad| Delay | hex<0> |ledout<0> | 5.963| hex<0> |ledout<1> | 5.963| hex<0> |ledout<2> | 5.963| hex<0> |ledout<3> | 5.958| hex<0> |ledout<4> | 5.963| hex<0> |ledout<5> | 5.958| hex<0> |ledout<6> | 5.958| hex<1> |ledout<0> | 5.963| hex<1> |ledout<1> | 5.963| hex<1> |ledout<2> | 5.963| hex<1> |ledout<3> | 5.958| hex<1> |ledout<4> | 5.963| hex<1> |ledout<5> | 5.958| hex<1> |ledout<6> | 5.958| hex<2> |ledout<0> | 5.963| hex<2> |ledout<1> | 5.963| hex<2> |ledout<2> | 5.963| hex<2> |ledout<3> | 5.958| hex<2> |ledout<4> | 5.963| hex<2> |ledout<5> | 5.958| hex<2> |ledout<6> | 5.958| hex<3> |ledout<0> | 5.963| hex<3> |ledout<1> | 5.963| hex<3> |ledout<2> | 5.963| hex<3> |ledout<3> | 5.958| hex<3> |ledout<4> | 5.963| hex<3> |ledout<5> | 5.958| hex<3> |ledout<6> | 5.958| ---------------+---------------+---------+可编程器件、拨码开关、与发光二极管关系#PACE: Start of PACE I/O Pin AssignmentsNET "hex<0>" LOC = "N17" ;NET "hex<1>" LOC = "H18" ;NET "hex<2>" LOC = "L14" ;NET "hex<3>" LOC = "L13" ;NET "ledout<0>" LOC = "B4" ;NET "ledout<1>" LOC = "A4" ;NET "ledout<2>" LOC = "D5" ;拨码开关状态数码管显示D1D2D3D4下下下下0下下下上1下下上下2下下上上3下上下下4下上下上5下上上下6下上上上7上下下下8上下下上9上下上下A 上下上上B 上上下下C 上上下上D 上上上下E 上上上上FNET "ledout<3>" LOC = "C5" ;NET "ledout<4>" LOC = "A6" ;NET "ledout<5>" LOC = "B6" ;NET "ledout<6>" LOC = "E7" ;设计表格记录实验结果,并分析其结果的正确性。

PLC实验三报告-LED数码显示控制

PLC实验三报告-LED数码显示控制

实验三 LED数码显示控制一、实验要求拨上开关后,由八组LED发光二极管模拟的八段数码管开始显示:字母A、b、C、d、E、F、G、H、I、J,时间间隔1s,并循环不止。

拨下启动开关后停止显示。

二、实验软元件X000—启动开关 Y000~Y007---数码管的a段~h段三、实验梯形图四、实验程序及注释0.启动2.字段显示间隔1秒6.产生秒冲8.启动后延时1.5秒显示13.脉冲移位输入14.循环显示设置,F接A17.左移位指令31.输出数码管a段36.输出数码管b段43.输出数码管c段50.输出数码管d段61.输出数码管e段70.输出数码管f段77.输出数码管g段82.打下开关得到一个下降沿激活复位84.复位计时器89.复位M10~M20五、实验结果1)仿真结果程序设置了M11到M20分别控制显示字母A、b、C、d、E、F、G、H、I、J,则跟着左移位指令就可以按顺序显示这十个字母。

再设置一个M20在移位输入M10前面即可在左移位到M20显示字母J后即再次激活M10,然后继续左循环脉冲,自此实现循环显示的效果。

LDF X000指令可以在打下开关后得到一个下降沿从而触发复位指令,清除M10~M20,使得所有相关输出的段位灯熄灭。

字母A 字母b 字母C 字母d字母E 字母F 字母G 字母H左:字母I右:字母J2)实验结果在实验室得到的实验结果与仿真结果一致。

打上开关循环显示字母A~J,打下开关后所有灯熄灭。

六、实验总结1)实验台上的输出Y4个一组要接一个地,所以在实验过程中如果输出需要用到7个输出Y000~Y006,则除了COM1要接地外,COM2也要接地。

2)通过这次实验,我们了解了用PLC模拟数码管显示的原理。

如果需要使数码管显示一个字符,则先观察该字符需要数码管的哪个段位同时亮,然后可以用一个辅助继电器M来控制这个字符,在这个字符需要发光的几个段对应的输出Y的前面都添加一个常开的触点M,则当这个M得到一个脉冲后即会闭合使得输出Y得电,继而得到想要显示的字符。

三位数码管实验报告

三位数码管实验报告

三位数码管实验——实验日志及报告1. 实验日志实验日期:2020.3.161.1三位数码管实验下载与观察1.1.1操作说明:待完成时序验证、管脚分配后:将下载电缆线与USB接口连接,打开实验板电源开关。

选择Tools->Programmer命令进入下载窗口(尚无实验板);单击Hardware Setup键,进入电缆配置窗口,USB版电缆在Available hardwa items列表选择USB-Blaster;然后选择Add File,选中.sof文件完成配置;选择Add Hardware,进入如图对话框,在Hardware type列表中选择ButeBlaster II项,Port 栏为LPT1,之后Start,Progress栏中出现100%则下载成功。

1.1.2 实验现象:下载成功后,三位数码管显示的都是0,且持续显示,熄灭时间极短,X0、Y7二极管常亮,拨动CLK开关,降低时钟频率,三个数码管依次显示;对三个通道分别进行设置,将配置的拨码开关相应的调整后可以看到数码管显示出相应的数字。

1.2示波器测量位选信号和时钟信号(暂无)2. 实验报告2.1实验目的A.结合三位数码管显示实验,熟悉软件quartusII的使用,熟悉FPGA开发模式;B.熟悉DDA系列数字系统实验平台的使用;C.在DDA—IIIA实验平台上完成三位数码管显示实验的观察与测量,进一步加深通过实验板验证电路的方法;D.了解图形输入、文本输入、层次实际的过程;E.了解图形输入的注意事项和画图技巧;2.2设计2.2.1模4计数器电路图仿真波形:芯片号:cycloneII ep2c5t144c8管脚分配:clk:pin_91、q[1]:pin_118、q[0]:pin_115说明:模4计数器可记录5个脉冲,以实现控制功能。

Quartus II工程设计过程:创建工程文件、电路设计、编译综合、仿真验证、引脚配置、编程下载、硬件验证等。

实验三 LED数码显示控制 PLC实验报告

实验三 LED数码显示控制 PLC实验报告

广州大学学生实验报告开课学院及实验室:工程北529 2015年 5 月28 日学院机械与电气工程年级、专业、班姓名学号实验课程名称电气控制与可编程控制器成绩实验项目名称实验三 LED数码显示控制指导老师一、实验目的熟练掌握移位寄存器位SHRB ,能够灵活的运用二、实验说明移位寄存器位(SHRB)指令将DATA数值移入移位寄存器。

S_BIT指定移位寄存器的最低位。

N指定移位寄存器的长度和移位方向(移位加 = N,移位减 = -N)。

SHRB指令移出的每个位被放置在溢出内存位(SM1.1)中。

该指令由最低位(S_BIT)和由长度(N)指定的位数定义。

三、实验面板图四、实验内容1、设计一个照明灯的控制程序。

当按下接在I0.0上的照明灯按钮,可发光30s。

如果在这段时间内又有人按下按钮,则时间间隔从头开始。

这样可确保在最后一次按下按钮后,灯光可维持30s的照明。

2、设计程序,用SEG指令,循环显示0~F字符。

3、设计程序,用一个按钮控制两盏灯:按一次,第一盏亮,按二次,第二盏亮,按三次,两盏全亮,按四次,两盏全灭,按五次,两盏全亮,按六次,只有第二盏亮,按七次,只有第一盏亮,按八次,两盏全灭,完成一次工作循环。

五、实验过程原始记录(程序、数据、图表、计算等)思考题梯形图1:思考题2梯形图:思考题3梯形图:六、实验结果及分析1、思考题1中当每按下一次按钮,Q0.0接通并自锁。

同时T37定时器复位,经过30S后T37置位,其常闭触点断开,Q0.0断开,灯熄灭。

2、思考题2中输入I0.0,I0.1分别控制开关和手动清零计数器。

本题通过在SEG指令的输入端输入数字0~15,将输出端接到数码管中实现循环显示0~F。

由于SEG指令的输入端只能是字节类型,而计数器的输出是字类型,需要用I_B转换指令,将C0(字类型)转化为MB0(字节类型)。

当C0当前为16时,计数器复位,当前值清零。

从而实现循环显示。

计数器的预设值应为16而不是15,因16的时候计数器当前值C0马上变为0,而如果设15则在15的时候C0当前值变为0,就会导致显示不出F字符。

单片机实验3 数码管控制实验-动态显示

单片机实验3  数码管控制实验-动态显示
/**********实验二数码管控制实验-动态显示**************/
;实验名称:数码管动态显示
;功能:4位数码管循环显示“0123”“4567”“89AB”“CDEF”,间隔0.5S。
;编写人:陈建泽
;编写时间:2010年11月2日
/**********************程序代码************************/
D1MS: MOV R2,#250 ;250*(1+1+2)=1000us=1ms
L1:NOP
NOP
DJNZ R2,L1
RET
/*****************中断服务子程序*****************/
T0_INT:MOV TH0,#(65536-50000)/256
MOV TL0,#(65536-50000)MOD 256
MOV A,R4
CJNE A,#16,L3
AJMP MAIN
L3:MOV R5,A
AJMP L1
DIS:MOV P2,R6;用A作为中间寄存器,因后面要循环显示
MOV A,R5
ACALL SQR ;查表
MOV P0,A
ACALL D1MS ;1ms
INC R5
MOV A,R6
RL A;指向下一位
MOV R6,A
RET;子程序返回
TAB: DB 0C0H,0F9H,0A4H,0B0H ;共阳极字型码表0、1、2、3
DB 99H, 92H, 82H, 0F8H;共阳极字型码表4、5、6、7
DB 80H, 90H, 88H, 83H;共阳极字型码表8、9、A、B
DB 0C6H,0A1H,86H, 8EH;共阳极字型码表C、D、E、F
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验十九数码管显示实验
一、实验目的
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 应用程序的框架结构;
3、了解数码管的显示原理;
五、实验说明
1、LED显示原理
发光二极管数码显示器简称LED显示器。

LED显示器具有耗电低、成本低、配置简单灵活、安装方便、耐震动、寿命长等优点,目前广泛应用于各类电子设备之中。

7段LED由7个发光二极管按“日”字排列。

所有发光二极管的阳极连接在一起称共阳极接法,阴极连接在一起称为共阴极接法。

一般共阴极可以不需要外接电阻。

其中各二极管的排列如上图在共阳极接法中,如果显示数字“5”,需要在a、c、d、f、g端加上高电压,其它加低电压。

这样如果按照dp、g、fe、d、c、b、a的顺序排列的话对应的码段是:6DH。

其它的字符同理可以得到。

2、数码管显示驱动
数码管的显示一般有动态显示和静态显示两大类,另外按照驱动方式又分串行驱动和并行驱动两种方式。

串行驱动主要是提供串-并转换,减少控制线数量;并行驱动对每一个段提供单独的驱动,电路相对简单。

这方面参看数字电路相关内容。

下面主要介绍静态显示和动态显示:
1)静态显示:
LED数码管采用静态接口时,共阴极或共阳极节点连接在一起地或者接高电平。

每个显示位的段选线与一个8位并行口线相连,只要在显示位上的段选位保持段码电平不变,则该位就能保持相应的显示字符。

这里的8位并行口可以直接采用并行I/O口,也可以采用串行驱动。

相应的电路如下:
很明显采用静态显示方式要求有较多的控制端(并行)或较复杂的电路(串行)。

但是在设计中对器件的要求低。

2)动态显示
在多位LED显示时,为了简化电路、节省端口(在很多系统中I/O端口资源非常宝贵),
将所有的段选线冰凉在仪器由一个8位I/O口控制。

而共阴极(或共阳极)分别由相应的I/O 口控制,实现各位的分时选通。

由于各个数码管共用一个段码输出口,分时轮流通电,从而大大简化了硬件线路。

降低了成本。

但是这种方式的数码管接口电路中数码管不宜太多,一般应控制在8个以内。

否则会因为每个数码管发光时间太短而导致亮度低。

若LED位数较多,应采用增加驱动能力的方式提高显示亮度。

典型电路如下:
JX44B0采用的是动态接口办法,数码管采用共阳方式,向该地址写一个数据就可以控制LED的显示,其原理图如下图所示。

JX44B0采用两片74HC273,一片实现片选功能,输出连在六块数码管的共阳极,另一片控制数码管的亮灭。

控制寄存器分别为:(均为低电平有效)
数码管扫描控制地址为0x02000006,8位访问
Bit0 –控制数码管0 –低电平有效
Bit1 –控制数码管1 –低电平有效
Bit2 –控制数码管2 –低电平有效
Bit3 –控制数码管3 –低电平有效
Bit4 –控制数码管4 –低电平有效
Bit5 –控制数码管5 –低电平有效
地址0x02000004为数码管的数据寄存器,控制数码管的段码输出。

3、程序解析
制作LED字符与码段对应表
unsigned char seg7table[16] = {
/* 0 1 2 3 4 5 6 7*/
0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,
/* 8 9 A B C D E F*/
0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e };
扫描控制
*((U8*) 0x02000006) = 0x3E; /* 使能第一个数码管*/ 段码输出
*((U8*) 0x02000004) = seg7table[0]; /* 输出数据0 */
六、实验步骤
1、仔细阅读实验说明部分,熟悉LED的原理及驱动机制;
2、直接用ADS打开已有的工程文件,或者按照实验一中的方法重新建立工程(当函数无法通过右键跳转的时候,就必须重新建立工程,把所需文件放在一个文件夹下)
3、在DebugRel目录下编译源文件。

(详见实验一),分析并熟悉程序。

4、将PC机、仿真器和实验板连接并打开“Multi-ICE Server”和“AXD Debugger”对CPU进行初始化,导入“example\leddemo\leddemo_Data\DebugRel”中“leddemo.axf”文件。

5、调试运行程序观察程序运行。

自行修改程序观察各变量、寄存器等的作用。

相关文档
最新文档