实验三 数码管显示实验
数码管的显示的实验报告
数码管的显示的实验报告数码管的显示的实验报告引言:数码管是一种常见的数字显示装置,广泛应用于各种电子设备中。
本实验旨在通过实际操作,了解数码管的原理和工作方式,并通过一系列实验验证其显示效果和功能。
实验一:数码管的基本原理数码管是由多个发光二极管(LED)组成的,每个发光二极管代表一个数字或符号。
通过对不同的发光二极管进行点亮或熄灭,可以显示出不同的数字或符号。
本实验使用的是共阳数码管,即共阳极连接在一起,而阴极分别连接到控制芯片的输出引脚。
实验二:数码管的驱动电路为了控制数码管的显示,需要使用驱动电路。
常见的驱动电路有共阴极驱动和共阳极驱动两种。
本实验使用的是共阳极驱动电路。
驱动电路由控制芯片、电阻和电容组成。
控制芯片通过控制输出引脚的高低电平来控制数码管的点亮和熄灭。
实验三:数码管的显示效果通过控制芯片的输出引脚,可以实现数码管的显示效果。
本实验使用的是四位数码管,可以显示0-9的数字。
通过改变控制芯片输出引脚的电平,可以控制数码管显示不同的数字。
实验中通过编写程序,使数码管显示从0到9的数字循环显示,并通过按键控制数字的增加和减少。
实验四:数码管的多位显示除了显示单个数字外,数码管还可以实现多位显示。
通过控制不同位数的数码管,可以显示更多的数字或符号。
本实验使用的是四位数码管,可以同时显示四个数字。
通过编写程序,可以实现四位数码管的多位显示,例如显示当前时间、温度等信息。
实验五:数码管的亮度调节数码管的亮度可以通过改变驱动电路中的电阻值来实现。
本实验通过改变电阻值,调节数码管的亮度。
实验中通过编写程序,通过按键控制数码管的亮度增加和减少,从而实现亮度的调节。
结论:通过本次实验,我们深入了解了数码管的原理和工作方式。
数码管可以通过驱动电路的控制,实现数字和符号的显示。
同时,数码管还可以实现多位显示和亮度调节。
数码管作为一种常见的数字显示装置,具有广泛的应用前景,可以应用于各种电子设备中。
通过进一步的研究和实践,我们可以更好地利用数码管的功能,满足不同应用场景的需求。
数码管动态显示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所示对话框。
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数码显示控制
实验三 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得电,继而得到想要显示的字符。
实验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综述
实验三数码管动态显示程序设计实验目的1、理解数码管动态显示原理2、理解数码管动态显示电路的设计方法3、掌握数码管动态显示程序的设计方法实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验内容1、动态扫描显示程序2、特征位小数点控制显示程序实验电路图实验步骤及调试信息1、新建实验项目2、输入实验程序并补充完整;------------------------------------------------------;数码管动态显示程序;包含小数点显示;位选码输出有两种方式:; DispSelection1: 一次一位; DispSelection2: 一次一字节;; 2009-08-20;-------------------------------------------------------LEDCLK bit P3.4LEDDIN bit P2.3LEDDATA data P0dseg at 30hdispbuf: ds 8 ;显示缓冲区8字节disppoint: ds 1 ;小数点控制数据maincode SEGMENT CODECSEG at 0LJMP StartRSEG maincodeStart: CLR E Amov sp,#0c0hmov dispbuf ,#08hmov dispbuf+1, #04hmov dispbuf+2, #00hmov dispbuf+3, #08hmov dispbuf+4, #02hmov dispbuf+5, #00hmov dispbuf+6, #02hmov dispbuf+7, #07hmov disppoint,#02h ;第2位小数点亮LCALL dispSJMP $-3;------------------------------------------------------;数码管动态显示程序;包含小数点显示;位选码输出有两种方式:; DispSelection1: 一次一位; DispSelection2: 一次一字节;; 2009-08-20;-------------------------------------------------------Disp: MOV R7,#8MOV R0,#dispbufCLR LEDCLKSETB L EDDINDisp1: MOV A,@R0MOV DPTR,#DispTabMOVC A,@A+DPTRcpl a; LCALL Dispdot ;显示小数点程序MOV LEDDA TA,A ;在输出之前加入显示小数点程序LCALL DispSelection1 ;输出位选择信号,DispSelection2是第二种; lcall dispsel3LCALL Delay1msmov p2,#0ffhINC R0DJNZ R7,Disp1mov p2,#0ffhRET;-------------------------------------------------;位选码以一次一位方式输出;-------------------------------------------------dispsel3:mov dptr,#DispSTabmov a,r7movc a,@a+dptrcpl a; swap amov p2,aretDispSelection1:CJNE R7,#8,DispSelection11CLR L EDDINDispSelection11:SETB LEDCLKNOPCLR L EDCLKSETB LEDDINRET;-------------------------------------------------;位选码以一次一字节方式输出;-------------------------------------------------DispSelection2:MOV B,#8MOV DPTR,#DispSTabMOV A,R7MOVC A,@A+DPTRCPL ADispSelection21:RLC AMOV LEDDIN,CSETB LEDCLKNOPCLR L EDCLKDJNZ B,DispSelection21RETDispSTab: DB 00H,80H,20H,40H,10H,08H,04H,02H,01H;位选码数据表dispa equ 80h ;数码管各段数据定义dispb equ 40hdispc equ 20hdispd equ 10hdispe equ 08hdispf equ 04hdispg equ 02hdisph equ 01hdisp8 equ 0ffh-disphDispTab: db disp8-dispg,dispb+dispc,dispa+dispb+dispg+dispd+dispe ;0,1,2 db disp8-dispe-dispf,disp8-dispa-dispd-dispe,disp8-dispb-dispe;3,4,5db disp8-dispb,dispa+dispb+dispc,disp8,disp8-dispe ;6,7,8,9db disp8-dispd,disp8-dispa-dispb,disp8-dispb-dispc-dispg ;a,b,cdb disp8-dispa-dispf,disp8-dispb-dispc,disp8-dispb-dispc-dispd;d,e,fdb disp8-dispb-dispc,0ffh,00h,dispg ;H,全亮,全暗,-;--------------------------------------------------------------------;特征位小数点控制显示程序;把小数点显示程序加到显示码输出之前;输入:A : 显示译码值; R7:当前正在显示的LED编号;输出:无;--------------------------------------------------------------------Dispdot:MOV B,AMOV A,R7MOV DPTR,#DispSTabMOVC A,@A+DPTRANL A,disppointSETB C ;本行及以下4行可改成MOV C,PJZ Dispdot1CLR C;点亮小数点Dispdot1:CPL C ;本行根据情况增减MOV A,BCPL AMOV ACC.7,C ;小数点由D7控制; MOV LEDDA TA,A ;本行可以删除RETDelayNms:LCALL Delay1msDJNZ R7, $-3RETDelay1ms:PUSH 07MOV R7,#250 ;1msNOPNOPDJNZ R7, $-2POP 07RETEND3、编译下载实验程序,并修改错误(按附录说明)4、全速运行程序,查看实验现象。
数字显示器实验报告
一、实验目的1. 了解数字显示器的基本原理和分类。
2. 掌握数字显示器的设计方法和应用。
3. 学会使用数码管和LCD显示器进行数字显示。
4. 提高动手实践能力和问题解决能力。
二、实验内容1. 数码管显示实验2. LCD显示器显示实验三、实验原理1. 数码管显示原理:数码管是一种半导体发光器件,由若干个发光二极管(LED)组成,每个LED代表一个数码管的笔画。
通过控制LED的亮灭,可以显示不同的数字和字符。
2. LCD显示器显示原理:LCD显示器是一种液晶显示器,通过液晶分子的旋转控制光的透过与阻挡,实现图像的显示。
LCD显示器主要由液晶面板、背光源、偏振片、驱动电路等组成。
四、实验步骤1. 数码管显示实验(1)搭建电路:将数码管与AT89C51单片机连接,连接方式包括共阴极和共阳极两种。
(2)编写程序:使用C语言编写程序,实现数码管显示数字和字符。
(3)调试程序:使用Keil软件对程序进行编译和调试,观察数码管显示效果。
2. LCD显示器显示实验(1)搭建电路:将LCD显示器与AT89C51单片机连接,连接方式包括并行和串行两种。
(2)编写程序:使用C语言编写程序,实现LCD显示器显示数字和字符。
(3)调试程序:使用Keil软件对程序进行编译和调试,观察LCD显示器显示效果。
五、实验结果与分析1. 数码管显示实验结果:通过编写程序,数码管能够显示数字和字符,实现了实验目的。
2. LCD显示器显示实验结果:通过编写程序,LCD显示器能够显示数字和字符,实现了实验目的。
3. 分析:(1)数码管显示实验:在实验过程中,发现数码管的共阴极和共阳极连接方式不同,需要根据实际连接方式编写程序。
此外,为了提高显示效果,需要对数码管进行动态扫描显示。
(2)LCD显示器显示实验:在实验过程中,发现LCD显示器的并行和串行连接方式不同,需要根据实际连接方式编写程序。
此外,为了提高显示效果,需要对LCD显示器进行初始化和设置显示模式。
实验三 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 数码管控制实验-动态显示
;实验名称:数码管动态显示
;功能: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
实验三 LED数码管显示控制
实验三 LED 数码显示控制
一、实验目的
了解并掌握LED 数码显示控制中的应用及其编程方法。
二、控制要求
1.按下启动按钮后,由八组LED 发光二极管模拟的八段数码管以1s 的时间间隔开始显示0、1、2、3、4、5、6、7、8、9, A 、b 、C 、d 、E 、F 再返回初始显示,并循环不止;
2.按下启动按钮后,由八组LED 发光二极管模拟的八段数码管以1s 的时间间隔开始一段一段的显示显示次序是A 、B 、C 、D 、E 、F 、G 、H 并循环;
3. 按下启动按钮后,由八组LED 发光二极管模拟的八段数码管以1s 的时间间隔开始显示:先是一段一段的显示,显示次序是A 、B 、C 、D 、E 、F 、G 、H ,随后显示0、1、2、3、4、5、6、7、8、9, A 、b 、C 、d 、E 、F 再返回初始显示,并循环不止。
三、LED 数码显示控制的实验面板图:
输入
接线 SD I0.0
启动
四、实验设备
1、安装了STEP7-Micro/WIN32编程软件的计算机一台
2、PC/PPI 编程电缆一根
3、锁紧导线苦干
五、实验步骤
1、根据上表进行输入输出接线;
2、编写程序,并把程序输入STEP7中;
3、检查输入程序无误以后,将程序下载到主机内,并且把PLC 的工作模式达到RUN 模式;
4、拨动输入开关SD ,观察输出LED 的显示结果。
输出 接线 A B C D E F G H Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7 A B C D E F G H。
数码管显示实验报告
实验三数码管显示实验一、实验目的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 数码管采用静态接口时,共阴极或共阳极节点连接在一起地或者接高电平。
实验三数码管显示
实验三数码管显示一、实验目的和要求初步学习和掌握MCS-51的体系结构和汇编语言,了解Keil编程环境和程序下载工具的使用方法。
了解数码管输出的原理及编程方式。
二、实验器材和软件单片机基础实验开发平台Keil 开发环境STC-ISP程序下载工具三、实验内容使用MCS-51汇编语言编写程序,完成以下功能:1、使用三个数码管显示十进制数值2、每隔0.1秒,该数值自动增一,到999后归零继续。
3、当开关S1按下时,暂停计数;S1松开时,恢复计数。
四、实验步骤4.1 预习参考附录三及其他辅助材料,学习8031汇编语言以及后面的实验原理。
4.2简单程序录入和调试MCS51单片机汇编语言的基本格式比较简单,程序中可以使用通用寄存器或者内存单元进行计算。
另外,单片机的程序没有退出到操作系统的概念,一般都是死循环程序。
一个简单程序举例如下:ORG 0000H ;复位起始地址LJMP START ;中间地址保留给中断向量表ORG 0040H ;程序实际起始地址START: ; 实际程序MOV R1, #55HNEXT:INC R1MOV A, R1MOV P0, A ;板上的P0口连接到8个LED,可以监视运行状态SETB CMOV P0.1, C; 令P0口的低1位始终为1,因此第2个LED会不亮。
MOV 40H,#2 ;使用内存单元ADD A, 40HLJMP NEXTEND参考Keil使用指南,创建工程,设置工程参数,添加ASM文件,并录入上面的简单程序。
确保无编译和链接错误。
4.3 程序调试使用Keil环境可以进行仿真调试。
进入“调试”菜单,开始调试,可以单步运行,或者先设置断点然后连续运行;可以在调试过程中观察各个寄存器的值。
还可以在sys区域观察到当前程序执行的时间。
4.4 编写程序,完成功能4.4.1 显示本开发平台有3个数码管,使用串行方式连接在一起,具体电路参见实验原理。
要想输出一个字形码,就需要从高位到低位依次向移位寄存器输出8个比特。
数码管实验报告实验原理(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. 了解数码管的工作原理和驱动方式。
数码管动态显示实验报告
数码管动态显示实验报告数码管动态显示实验报告一、引言数码管是一种常见的电子显示器件,广泛应用于各种仪器仪表、计时器、计算器等电子设备中。
数码管动态显示实验是电子技术实验中的一项基础实验,通过控制数码管的亮灭状态,可以实现数字的显示。
本实验旨在通过实际操作,加深对数码管工作原理的理解,并掌握数码管的动态显示方法。
二、实验原理数码管是由多个发光二极管(LED)组成的,每个发光二极管代表一个数字或字符。
通过对发光二极管的亮灭状态进行控制,可以显示不同的数字或字符。
数码管一般采用共阳极或共阴极的方式接线,共阳极的数码管的阳极连接在一起,而共阴极的数码管的阴极连接在一起。
在动态显示实验中,采用的是共阳极数码管。
数码管的亮灭状态是通过控制数码管的阳极与地之间的电压差来实现的。
当某个数码管需要亮时,将其对应的阳极与地连接,电流通过发光二极管,使其发光。
当某个数码管需要灭时,将其对应的阳极与电源正极连接,断开与地的连接,发光二极管不通电,不发光。
三、实验步骤1. 准备实验所需材料:共阳极数码管、面包板、电阻、导线等。
2. 将数码管与面包板连接,确保连接正确,数码管的阳极连接到面包板的相应引脚。
3. 连接电路:将电源正极与数码管的共阳极连接,电源负极与面包板的地引脚连接。
4. 编写程序:根据控制数码管显示数字的逻辑,编写相应的程序。
5. 将程序下载到单片机中,通过单片机控制数码管的亮灭状态。
四、实验结果经过实验,我们成功实现了数码管的动态显示。
在程序的控制下,数码管可以显示不同的数字或字符,实现了数字的动态变化。
通过调整程序中的参数,可以实现不同的显示效果,如闪烁、滚动、循环等。
五、实验总结本次实验通过实际操作,加深了对数码管工作原理的理解。
通过编写程序,我们掌握了控制数码管动态显示的方法。
在实验过程中,我们遇到了一些问题,如数码管显示不正常、程序错误等,但通过仔细检查和调试,最终解决了这些问题。
通过这次实验,我们不仅学到了知识,还培养了动手实践和问题解决的能力。
实验三 LED数码显示管实验
实验三LED数码显示管实验一、实验目的熟悉LED数码显示器的显示过程(共阴极,静态)。
二、实验内容1.编写程序,依次闪动显示“dais88”、“good”。
2.“8”向右循环移位。
三、程序流程四、实验程序1.CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 31E0HS9: JMP START9ZXK EQU 0FFDCHZWK EQU 0FFDDHLED DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ; 0~9显示代码表DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3H; A~F,P.,字符显示代码表BUF DB ?,?,?,?,?,?START9: MOV CX,0005H ;"dais 88" ON/OFFLED,COUNTA90: PUSH CXA91: MOV BX,OFFSET BUFMOV AX,0A0DHMOV [BX],AXADD BX,2MOV AX,0501HMOV [BX],AXADD BX,2MOV AX,0808HMOV [BX],AXMOV CX,0050H ;ONLED,TIMEA92: PUSH CX ;显示dias 88,延时CALL DISPOP CXLOOP A92MOV CX,0003HMOV AX,1010HA93: MOV [BX],AX ;输出字形码0FFH,清屏INC BXINC BXLOOP A93MOV CX,0020H ;OFFSET,TIMEA94: PUSH CXCALL DISPOP CXLOOP A94POP CXLOOP A90 ;显示dias 88,5次;-------------------MOV CX,0005H ;"good" ON/OFFLED-COUNT A99: PUSH CXA95: MOV BX,OFFSET BUFMOV AX,0009HMOV [BX],AXADD BX,2MOV AX,0D00HMOV [BX],AXADD BX,2MOV AX,1010HMOV [BX],AXMOV CX,0050H ;ONLED-TIMEA96: PUSH CXCALL DISPOP CXLOOP A96MOV CX,0003HMOV AX,1010HMOV BX,OFFSET BUFA97: MOV [BX],AXINC BXINC BXLOOP A97MOV CX,0020H ;OFFSET-TIMEA98: PUSH CXCALL DISPOP CXLOOP A98POP CXLOOP A99JMP START9;--------------------------DIS: MOV CL,20HDIS1: MOV AL,[BX]PUSH BXMOV BX,OFFSET LEDXLATPOP BXMOV DX,ZXKOUT DX,ALMOV AL,CLMOV DX,ZWKOUT DX,ALPUSH CXMOV CX,0100HDELAY: LOOP $POP CXCMP CL,01HJZ EXITINC BXSHR CL,1JMP DIS1EXIT: MOV AL,00HMOV DX,ZWKOUT DX,ALRETCODE ENDSEND S92. ;LED “8”字循环演示程序CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODE;=========================================== ORG 1000HLED8: MOV CL,20HMOV AL,80H ;8字型码MOV DX,0FFDCHOUT DX,ALMOV DX,0FFDDHLED0: MOV AL,CLOUT DX,AL ;选通LED位型码PUSH CXCALL DLL ;延时POP CXCMP CL,01HJZ LED8SHR CL,1JMP LED0DLL: MOV BX,0020H ;延时DL1: DEC BXCMP BX,0000JZ DL3MOV CX,04FFHLOOP $JMP DL1DL3: RET;=========================CODE ENDSEND LED8六、扩展练习1.修改程序,显示6个“P.”后清屏;2.修改程序,显示“123456”后清屏。
数码管显示实验报告
一、实验目的1. 理解数码管的工作原理及驱动方式。
2. 掌握51单片机控制数码管显示的基本方法。
3. 学会使用动态扫描显示技术实现多位数码管的显示。
4. 提高编程能力和实践操作能力。
二、实验原理数码管是一种常用的显示器件,它由多个发光二极管(LED)组成,可以显示数字、字母或其他符号。
根据LED的连接方式,数码管可分为共阴极和共阳极两种类型。
本实验使用的是共阳极数码管。
51单片机控制数码管显示的基本原理是:通过单片机的I/O口输出高低电平信号,控制数码管的各个段(a-g)的亮灭,从而显示相应的数字或符号。
动态扫描显示技术是将多个数码管连接到单片机的I/O口,通过快速切换各个数码管的显示状态,实现多位数码管的显示。
三、实验器材1. 51单片机实验板2. 共阳极数码管3. 电阻、电容等元件4. 仿真软件(如Proteus)5. 编译器(如Keil)四、实验步骤1. 搭建电路:按照实验原理图连接51单片机、数码管和电阻等元件。
2. 编写程序:使用Keil软件编写控制数码管显示的程序。
程序主要包括以下部分:a. 初始化:设置单片机的工作状态,配置I/O口等。
b. 显示函数:根据需要显示的数字或符号,控制数码管的各个段亮灭。
c. 动态扫描函数:实现多位数码管的动态显示。
3. 编译程序:将编写好的程序编译成机器码。
4. 仿真测试:使用Proteus软件对程序进行仿真测试,观察数码管的显示效果。
5. 实验验证:将程序烧录到51单片机实验板上,进行实际测试。
五、实验结果与分析1. 实验结果:通过仿真测试和实际测试,数码管能够正确显示0-9的数字。
2. 结果分析:实验结果表明,51单片机可以成功地控制数码管显示数字。
动态扫描显示技术能够有效地实现多位数码管的显示,提高了显示效率。
六、实验总结1. 通过本次实验,我们掌握了51单片机控制数码管显示的基本方法,提高了编程能力和实践操作能力。
2. 动态扫描显示技术能够有效地实现多位数码管的显示,提高了显示效率。
微机接口实验三LED数码管显示(精)
实验三 8255和 LED 数码管显示实验一、实验目的1.掌握并行接口 8255A 的工作原理及使用方法。
2.了解七段数码管显示数字的原理。
3.掌握多位数码显示的接口技术。
二、实验电路实验电路如图 3及图 4所示。
图 3 静态显示电路图 4 动态显示电路三、实验项目1. 静态显示:按图 3连接好电路, 将 8255A 的 A 口 PA0~PA6分别与七段数码管的段码驱动输入端 a ~g 相连, 位码驱动输入端 S1接 +5V(选中 , S0、 dp 接地 (关闭。
编程从键盘输入一位十进制数字 (0~ 9 ,在七段数码管上显示出来。
2. 动态显示:按图 4连接好电路, 七段数码管段码连接不变, 位码驱动输入端S1S0接 8255C 口的 PC1、 PC0。
编程在两个数码管上显示 56。
四、编程提示1.实验台上的七段数码管为共阴极,码段采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。
2.七段数码管的字形代码如下表:3.程序参考框图:五、实验程序和结果(要求给出程序、注释、运行结果assume cs:codea 静态显示程序b 动态显示程序code segmentorg 100hstart: nopnopstart1: mov cx,08h ;设置循环次数mov bx,00feh ;bh=0000 0000,bl=1111 1110Bmov dx, 04a6h ;控制寄存器地址mov ax,80h ;设置为 A 口输出, B 口输出out dx, ax ;8255的初始化disp: mov di, offset segcod ;取偏移地址送入 di 寄存器mov dx, 04a0h ;A口地址mov al, bh ;aL=0000 0000mov ah, 00h ;ah=0000 0000add di, ax ;得到第一个变量 (字形码 3fh 的偏移地址 mov al, cs:[di] ;将 3fh 送入al 寄存器out dx, al ;将字形码从 A 口输出mov dx, 04a2h ;B口地址mov al, bl ;al=1111 1110Bout dx, al ; al的内容从 B 口输出,使 LED1有效 push cx ; 循环次数入栈保护call delaypop cx ; 循环次数出栈inc bh ;bh内容加 1,指向第二个字形码rol bl,1 ; bl=1111 1110B循环左移,使下个位控有效 loop dispjmp start1delay: mov cx,43h ;延时程序,将此数改为最大观察结果delay1: nopnoploop delay1retsegcod db 3fh,06h,5bh,4fh,66h, 77hcode endsend start六、实验总结和体会(页面不足请附页。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与工程学院
数字电路实验报告
专业__软件工程_班级20111431 姓名__王金华____学号___50___
实验三数码管显示实验
一、实验目的
1. 熟悉共阴、共阳数码管的使用。
2. 掌握数码管的驱动方法。
二、实验仪器和器材
1、数字逻辑电路实验箱(带共阴共阳数码管)。
2、数字逻辑电路实验箱扩展板。
3、数字万用表。
4、芯片74LS47、78LS48、74LS248
三、实验原理
在数字测量仪表和各种数字系统中,都需要将数字量直观的显示出来,一方面供人们
直接读取测量和运算的结果;另一方面用于监视数字系统的工作情况。
因此,数字显示电路是许多数字设备不可缺少的部分。
数字显示电路通常由译码器、驱动器和显示器等部分组成,如图3-1 所示。
图3-1 数字显示电路组成方块图
数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵
式。
目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。
它可分为两种,一是共阳极显示器(发光二极管的阳极都接在一个公共点上),另一是共阴极显示器(发光二极管的阳极都接在一个公共点上,使用时公共点接地)。
下图3-2(a)、3-2(b)分别是共阴管和共阳管的电路,3-3(a)、3-3(b)分别是共阴管和共阳管的引出脚功能图。
3-2(a)
3-2(b)3-3(b)
一个LED 数码管可用来显示一位0~9 十进制数和一个小数点。
小型数码管(0.5 寸和
0.36 寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。
LED 数码管要显示BCD 码所表示的十进制数字就需要有一个专门的
译码器,该译码器不但要有译码功能,还
要有相当的驱动能力。
1. 74LS48 共阴极译码驱动器
它的引脚排列为:
图3-4 74LS48 的引脚排列
它的功能表为:
2. 74LS47 共阳极译码驱动器
它的引脚排列与74LS48 的引脚排列一模一样,两者的功能也差不多。
使用时要注意:
74LS47 是用来驱动共阳极显示器的,74LS48 是用来驱动共阴极的;74LS48 内部有升压电阻,使用时可以直接与显示器相连,而74LS47 为集电极开路输出,使用时要外接电阻。
3. 74LS248 共阴极译码驱动器
74LS248 的使用方法与74LS48 的使用方法一模一样,两者的功能也几乎一模一样,但两者有一点差别,那是在显示6 与9 这两个数上。
图3-5 74LS248 与74LS48 的显示区别(上为74LS248,下为74LS48)
四、实验内容及实验步骤
1、运行计算机上的仿真软件Multisim11.0(我计算机装的是最新版11.0,可
能与其他版本有稍微不同),软件运行的界面如图所示:
2、点击文件进行新建或者直接在打开的当前页面进行新建实验电路,首先选
择74LS47这块芯片,然后再选择一个合适的七段发光二极管(LED)显示器,按照正确的顺序与芯片连接起来,之后在选择一个字发生器将它也与芯片正确连接好,最后就是选择VCC +5V的电源,把所有的线路都正确连接好,最后的连接图如
下所示:
3、对字发生器进行设置,选中字发生器,右键——>属性——>显示设为二
进制,并对应设置好0—9的二进制编码,把十进制9对应的二进制设为最末位结束点,频率设为100 HZ(这个值可以随意设)。
设置图如图所示:
4、点击测试按钮后快捷键(F5)进行测试,结果如下图所示:。