实验三 数码管显示实验
数码管的显示的实验报告
数码管的显示的实验报告数码管的显示的实验报告引言:数码管是一种常见的数字显示装置,广泛应用于各种电子设备中。
本实验旨在通过实际操作,了解数码管的原理和工作方式,并通过一系列实验验证其显示效果和功能。
实验一:数码管的基本原理数码管是由多个发光二极管(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所示对话框。
数码管动态扫描显示实验综述
实验三准时器和中止实验一、实验目的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实验三七段数码管显示译码
实验三:七段数码管显示译码一、实验目的: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得电,继而得到想要显示的字符。
三位数码管实验报告
三位数码管实验——实验日志及报告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实验报告
广州大学学生实验报告开课学院及实验室:工程北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
数码管显示实验 实验报告
数码管显示实验实验报告一、实验目的本次数码管显示实验的主要目的是深入了解数码管的工作原理和显示控制方式,通过实际操作掌握数码管与微控制器的接口技术,并能够编写相应的程序实现各种数字和字符的显示。
二、实验原理数码管是一种由多个发光二极管组成的显示器件,常见的有共阴数码管和共阳数码管两种类型。
共阴数码管是将所有发光二极管的阴极连接在一起,当阳极接高电平时,相应的二极管发光;共阳数码管则是将所有发光二极管的阳极连接在一起,当阴极接低电平时,相应的二极管发光。
在控制数码管显示时,通常采用动态扫描的方式,即依次快速地给每个数码管的段选端送入相应的字形码,同时使位选端选通对应的数码管,利用人眼的视觉暂留效应,使人看起来好像所有数码管同时在显示。
三、实验设备与材料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 数码管采用静态接口时,共阴极或共阳极节点连接在一起地或者接高电平。
实验三 八段数码管显示
实验三八段数码管显示一、实验要求利用实验仪提供的显示电路,动态显示一行数据.二、实验目的1.了解数码管动态显示的原理。
2.了解用总线方式控制数码管显示三、实验线路及连线这里只是显示草图,详细原理参见图1四、实验说明1.本实验仪提供了6 位8 段码LED 显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。
显示共有6位,用动态方式显示。
8 位段码、6位位码是由两片74LS374输出。
位码经MC1413或ULN2003倒相驱动后,选择相应显示位。
本实验仪中 8 位段码输出地址为0X004H,位码输出地址为 0X002H。
此处X 是由KEY/LED CS 决定,参见地址译码。
做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。
以便用相应的地址来访问。
例如,将KEY/LED CS 接到CS0 上,则段码地址为08004H,位码地址为08002H。
五、程序框图MAIN:MOV A,#02HMOV 79H,AMOV A,#00HMOV 7AH,AMOV A,#01HMOV 7BH,AMOV A,#03HMOV 7CH,AMOV A,#01HMOV 7DH,AMOV A,#02HMOV 7EH,ADIR: MOV R0,#79H ;置缓冲器指针初值MOV R3,#01H ;位选码初值送R3MOV A,R3LD0: MOV DPTR,#8002HMOVX @DPTR,AINC DPTRINC DPTRMOV A,@R0 ;显示数据ADD A,#0FH ;加偏移量MOVC A,@A+PC ;根据显示数据查表取段码DIRI:MOVX @DPTR,AACALL DelayINC R0 ;显示数据指针指向下一个数据单元MOV A,R3JB Acc.5,LD1 ;判断是否扫描到最左边的LED灯,如是则返回 RL A ;位选码左移一位,让显示位左边的下一位LED亮 MOV R3,A ;位选码送R3中保存AJMP LD0LD1:LJMP MAINDSE:DB 3FH,06H,5BH,4FH,66H,6DH ;共阴极段码表Delay:MOV R7,#02H ;延时1ms子程序DL: MOV R6,#0FFHDL6: DJNZ R6,DL6DJNZ R7,DLRETEND通过这次实验我学会了用LED动态显示数据的设计和实现。
数码管显示实验报告
_nop_();
if(n==0)
TM1668R_STB_H = 0;
else
TM1668L_STB_H = 0;
Send_Data(0x88,n);
if(n==0)
TM1668R_STB_H = 1;
else
TM1668L_STB_H = 1;
}
/*******************************************************************************
{
if(n==0)
TM1668R_DIO_H = 0;
else
TM1668L_DIO_H = 0;
}
_nop_();
_nop_();
_nop_();
_nop_();
if(n==0)
TM1668R_CLK_H = 1;
else
TM1668L_CLK_H =1;
}
}
void DIS_data_1668(uchar data1,uchar data2,uchar data3,uchar data4,uchar n)
sbit TM1668L_STB_H = P2^4;
sbit LIGHT = P0^1;
uchar Today_data[8];
uint temp,kk;
const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
Send_Data(0x00,n);
Send_Data(data3,n);
Send_Data(0x00,n);
数码管实验报告实验原理(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数码显示管实验
实验三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. 动态扫描显示技术能够有效地实现多位数码管的显示,提高了显示效率。
实验三数码管显示
实验三数码管显示一、实验目的和要求初步学习和掌握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个比特。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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、调试运行程序观察程序运行。
自行修改程序观察各变量、寄存器等的作用。