6位7段LED数码管显示实验
实验二 LED数码管动态显示

特点
动态显示方式
图3
首先从段选线上送出字段码, 首先从段选线上送出字段码,再控制位选 字符就显示在指定位置上,持续一段时间, 线,字符就显示在指定位置上,持续一段时间,然 后关闭所有显示;接下来又送出新的字段码, 后关闭所有显示;接下来又送出新的字段码,按照 上述过程又显示在新的位置上, 上述过程又显示在新的位置上,直到每一位数码管 都扫描完为止,即为一个扫描周期。 都扫描完为止,即为一个扫描周期。
概念
I/O口线上 每个LED I/O口线上,每个LED的数码管的位码单独使用一 口线上, LED的数码管的位码单独使用一 I/O口线 口线, 位动态显示的LED LED数码管只需 个 I/O 口线 , 则 n 位动态显示的 LED 数码管只需 +n位I/O口线 从而大大地简化了硬件电路。 口线, 8+n位I/O口线,从而大大地简化了硬件电路。选 亮数码管采用动态扫描显示。 亮数码管采用动态扫描显示 。 所谓动态扫描显示 即轮流向各位数码管送出字形码和相应的位选, 即轮流向各位数码管送出字形码和相应的位选 , 利用发光管的余辉和人眼视觉暂留作用, 利用发光管的余辉和人眼视觉暂留作用 , 使人的 感觉好像各位数码管同时都在显示。 感觉好像各位数码管同时都在显示。 比较节省I/O口 硬件电路也较静态显示方式简单, 比较节省I/O口,硬件电路也较静态显示方式简单, I/O 但其亮度不如静态显示方式, 但其亮度不如静态显示方式 , 而且在显示位数较 多时, CPU要依次扫描 占用CPU 较多的时间。 要依次扫描, CPU较多的时间 多时 , CPU 要依次扫描 , 占用 CPU 较多的时间 。 单 片机控制系统常采用此方式。 片机控制系统常采用此方式。
3、LED显示器显示接口按驱动方式的分类 LED显示器显示接口按驱动方式的示是指数码管显示某一字符时, 概念 静态显示是指数码管显示某一字符时, 相应的发光二极管恒定导通或恒定截止。 相应的发光二极管恒定导通或恒定截止。
七段数码管显示实验报告

七段数码管显示实验报告实验目的:本实验的目的是通过控制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段数码管和译码器常常被用于数字显示、计数器、时钟、温度计等电子设备中,具有广泛的应用前景。
LED数码管显示实验报告

实验一LED 数码管显示一、实验要求:使用6位数码管显示数字,第一个数码管显示0,时间1秒,然后关闭第一个数码管,同时第二个数码管显示1,时间为1秒,然后关闭第二个数码管……直到最后一个数码管显示5,第一个数码管显示6,……,一直循环显示。
请自行设计电路、编写程序。
二、实验目的:掌握LED数码管的使用方法。
三、实验内容:LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
这些段分别由字母a,b,c,d,e,f,g,dp来表示。
当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。
在本次实验中采用的是AT89C51和六位数码管组合而成。
四、实验程序://LED数码管显示#include<reg51.h>#define uint unsigned intvoid delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=100;y>0;y--);}void main(){P3=0x01;P1=0xc0;delay(1000);P3=0x02;P1=0xf9;delay(1000);P3=0x04;P1=0xa4;delay(1000);P3=0x08;P1=0xb0;delay(1000);P3=0x10;P1=0x99;delay(1000);P3=0x20;P1=0x92;delay(1000);P3=0x01;P1=0x82;delay(1000);P3=0x02;P1=0xf8;delay(1000);P3=0x04;P1=0x80;delay(1000);P3=0x08;P1=0x90;delay(1000);P3=0x10;P1=0x88;delay(1000);P3=0x20;P1=0x83;delay(1000);P3=0x01;P1=0xc6;delay(1000);P3=0x02;P1=0xa1;delay(1000);P3=0x04;P1=0x86;delay(1000);P3=0x08;P1=0x8e;delay(1000); }五、实验结果:图1、显示数字1图2、显示数字5。
数码管动态显示实验报告

数码管动态显示实验报告1.实验目的:本实验旨在通过使用单片机控制数码管的动态显示,了解数码管的原理和使用方法,加深对单片机控制的理解。
2.实验原理:数码管是由许多发光二极管(LED)组成的,每个数码管有7个发光二极管组成7段,再加上一个小数点(或8段数码管),通过控制每个发光二极管的亮灭状态,可以显示出数字、字母等字符。
本实验使用的是共阴极数码管,在通常情况下,数码管引脚为低电平时亮灯,为高电平时灭灯。
3.实验器材:-STC89C52单片机-共阴极数码管-电阻-面包板及连接线-电源4.实验步骤:步骤1:连接电路将数码管的7个引脚分别连接到单片机的7个I/O引脚上,并通过电阻限流。
连接电路后,确认连接无误。
步骤2:编写程序使用C语言编写程序,实现数码管的动态显示。
可以使用延时函数和位操作函数控制数码管的亮灭,通过改变每个数码管引脚的高低电平状态,实现显示不同的数字、字母。
步骤4:实验观察与分析观察数码管的显示效果,通过改变程序中的参数,可以实现不同的显示效果。
5.实验结果与分析:经过实验,我们成功实现了数码管的动态显示。
通过编写程序,我们可以实现数码管显示数字、字母等不同的字符。
调整程序中的参数,可以实现不同的动态显示效果,如流水灯、闪烁等。
数码管的动态显示是通过改变每个数码管引脚的高低电平实现的,通过快速改变引脚电平状态的时间间隔,创建了肉眼无法察觉的视觉效果,从而实现了动态显示。
此外,通过实验我们还了解到了单片机控制数码管的原理和方法,加深了对单片机控制的理解。
6.实验总结:通过本实验,我们了解到了数码管的动态显示原理和方法,并通过编写程序,成功实现了数码管的动态显示。
同时,我们还巩固了单片机控制的知识,提高了自己的动手能力和问题解决能力。
在今后的学习和工作中,我们将进一步掌握数码管的使用方法,并能够将其应用于更加复杂的应用场景中,实现更多有趣的功能。
七段数码显示器显示实验报告

七段数码显示器显示实验报告单片机原理及接口技术实验报告实验项目:姓名:专业:班级:学号:一、实验名称七段数码显示器显示实验(SPI通信方式)二、实验设备PC机1台,CEPARK畅学系列实验装置1套三、实验目的1.熟悉I/O口作为数字量输出的初始化;2.熟悉共阳极与共阴极两种数码管的工作原理;3.学会软硬件的设计和调试方法;4.根据七段数码管的特性,对应出每个数字引脚输出的16进制码,然后编写程序。
四、实验要求1.将0-9这十个数字按顺序依次在数码管上显示出来,时间间隔为0.5S;2.熟悉延时函数的使用(可用for循环自己写一个延时函数);3.掌握PIC16F877A芯片及电子元件的使用方法;4.实现单片机软件与硬件的结合,将理论知识应用于实践。
五、理论原理1.LED七段数码显示器由8个发光二极管组成显示字段,根据内部发光二极管的连接形式不同,LED有共阴极和共阳极两种(原理图如下图1所示)。
(实验板采用的LED为共阳极的连接方式)图1.单个共阳极数码管原理图2.接口说明:接口编号为JP44,需要一个8位端口(A~G、DP)去控制,因此提供给LED的字形码也是8位的。
数码管各段编号如下图2所示:图2.数码管各段编号3.LED七段数码显示器各字段与控制端口位的对应关系如下表1所示:表1. 七段数码显示器各字段与控制端口位的对应关系控制端口位D7 D6 D5 D4 D3 D2 D1 D0 字段名dp g f e d c b a 4.共阳极LED七段数码显示器字形代码如下表2所示:字形显示编码字形显示编码0 C0H 9 90H1 F9H A 88H2 A4H b 83H3 B0H C C6H4 99H d A1H5 92H E 86H6 82H F 8EH7 F8H .(小数点)7FH8 80H -(负号)BFH六、实验内容步骤1.接线说明核心板RD口接底板JP15,具体为:RD0-A,RD1-B,RD2-C,RD3-D,RD4-E,RD5-F,RD6-G,RD7-DP2.创建项目打开MPLAB IDE v8.90 →选择Project,进入Project Wizard,进入下面的界面,单击下一步。
实验二 数码管显示实验

k实验二数码显示实验一、实验内容1、选用一位数码管,编送不同码字,显示静态数据;2、轮流选择不同位数码管,编送不同码字,并做视觉残留,实现动态显示。
二、实验目的1、了解七段数码显示数字的原理。
2、掌握四个LED动态显示,即一位一位地轮流点亮显示器各个位(扫描)。
三、实验原理七段LED显示器有共阳极和共阴极两种,共阴极LED显示器是发光二极管的阴极连在一起,通常此公共阴极接地;共阳极LED显示器是发光二极管的阳极连在一起,公共阳极接正电压。
通过LED显示器中二极管的亮灭,则显示不同的字符或数字。
共阴极发光二极管内部结构图(可参考学习板89C52学习板说明书做补充说明)四、实验电路(见学习板说明书)五、连线方法(见学习板说明书)五、参考程序程序一,/*************************************************************** 功能:数码管静态显示,数码管1循环显示0-F作者:txl时间:2009-04版本:V1.0***************************************************************/ #include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit wei1=P2^0; //第一位数码管位选uchar num;uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//共阳数码管码表void delay(uint z);void main(){while(1){for(num=0;num<16;num++){wei1=0;P0=table[num];delay(1000);}}}void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}程序二、/*************************************************************** 功能:实现4位数码管显示"2009"这四个数字作者:txl时间:2009-04版本:V1.0***************************************************************/ #include "reg52.h"#define uchar unsigned charsbit wei1=P2^0;sbit wei2=P2^1;sbit wei3=P2^2;sbit wei4=P2^3;uchar code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};//共阳数码管码表//函数声明void led_display(unsigned char *temp );void Delay_xuS(unsigned int x);/*-------------------------------------------------主程序-------------------------------------------------*/void main(){uchar temp[4]={2,0,0,9};while(1){led_display(temp);}}/*------------------------------------------------- 功能100uS延时子程序-------------------------------------------------*/void Delay_xuS(unsigned int x){unsigned int i,j;for( i =0;i < x;i++ ){for( j =0;j<50;j++ );}}/*------------------------------------------------- 功能:数码管显示子程序-------------------------------------------------*/void led_display(unsigned char *temp ) {wei1=0; //点亮第一个数码管P0 = table[temp[0]];Delay_xuS(5);wei1=1;wei2=0; //点亮第二个数码管P0 = table[temp[1]];Delay_xuS(5);wei2=1;wei3=0; //点亮第三个数码管P0 = table[temp[2]];Delay_xuS(5);wei3=1;wei4=0; //点亮第四个数码管P0 = table[temp[3]];Delay_xuS(5);wei4=1;}程序三、显示字母ABCD#include <AT89X52.H> //包含头文件#define shuma P0 //定义数码管数据位sbit LED_0=P2^0; //定义4个控制脚sbit LED_1=P2^1;sbit LED_2=P2^2;sbit LED_3=P2^3;void delay(unsigned int x); //声明延时函数void display(unsigned char d1,unsigned char d2,unsigned char d3,unsigned chard4);//声明显示函数/*=====0-9=====A-G=====*/unsigned char a[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳极数码管的段码0 1 2 3 4 5 6 7 8 9 A B C D E Fvoid main() //主函数开始{while(1){display(10,11,12,13); //在循环中调用显示函数}}void delay(unsigned int x) //延时函数,有效效果为数码管不闪烁{unsigned int i;for(i=0;i<x;i++);}void display(unsigned char d1,unsigned char d2,unsigned char d3,unsigned char d4) {shuma=a[d1]; //选中第一位,发送第一位段码LED_0=0; //第一位显示delay(100); //延时显示LED_0=1; //第一位关显示shuma=a[d2]; //选中第二位,发送第二位段码,以下原理同上LED_1=0;delay(100);LED_1=1;shuma=a[d3]; //选中第三位,发送第三位段码,以下原理同上LED_2=0;delay(100);LED_2=1;shuma=a[d4]; //选中第四位,发送第四位段码,以下原理同上LED_3=0;delay(100);LED_3=1;}五、体会讨论。
七段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。
数码显示控制实验报告(3篇)

第1篇一、实验目的1. 熟悉数码显示模块的结构和工作原理;2. 掌握51单片机控制数码显示模块的方法;3. 学会使用移位寄存器实现数码显示的动态扫描;4. 提高单片机编程能力和实践操作能力。
二、实验原理数码显示模块是一种常见的显示器件,主要由7段LED组成,可以显示0-9的数字以及部分英文字符。
51单片机通过控制数码显示模块的段选和位选,实现数字的显示。
移位寄存器是一种常用的数字电路,具有数据串行输入、并行输出的特点。
在本实验中,使用移位寄存器74HC595实现数码显示的动态扫描。
三、实验仪器与材料1. 51单片机实验板;2. 数码显示模块;3. 移位寄存器74HC595;4. 电阻、电容等电子元件;5. 电路连接线;6. 编译软件Keil uVision;7. 仿真软件Proteus。
四、实验步骤1. 电路连接(1)将51单片机的P1口与数码显示模块的段选端相连;(2)将74HC595的串行输入端Q(引脚14)与单片机的P0口相连;(3)将74HC595的时钟端CLK(引脚11)与单片机的P3.0口相连;(4)将74HC595的锁存端LR(引脚12)与单片机的P3.1口相连;(5)将数码显示模块的位选端与74HC595的并行输出端相连。
2. 编写程序(1)初始化51单片机的P1口为输出模式,P3.0口为输出模式,P3.1口为输出模式;(2)编写数码显示模块的段码数据表;(3)编写74HC595的移位和锁存控制函数;(4)编写数码显示模块的动态扫描函数;(5)编写主函数,实现数码显示模块的循环显示。
3. 编译程序使用Keil uVision编译软件将编写的程序编译成hex文件。
4. 仿真实验使用Proteus仿真软件进行实验,观察数码显示模块的显示效果。
五、实验结果与分析1. 编译程序后,将hex文件下载到51单片机实验板上;2. 使用Proteus仿真软件进行实验,观察数码显示模块的显示效果;3. 通过实验验证,数码显示模块可以正常显示0-9的数字以及部分英文字符;4. 通过实验,掌握了51单片机控制数码显示模块的方法,学会了使用移位寄存器实现数码显示的动态扫描。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6位7段LED数码管显示实验
【实验要求】1)初始化时,使6位LED均显示8,显示时间为1s。
2)从第一个LED开始,从0显示到9,0.5s刷新一次。
直到最后一个LED。
【实验目的】1)熟悉并进一步掌握定时器中断的使用和时基信号的使用。
2)进一步巩固I/O口的使用方法。
3)了解6位7段LED数码管的使用。
【实验设备】1)装有u’nsp IDE仿真环境的PC机一台。
2)μ’nSP?十六位单片机实验箱一个。
【实验原理】通过对I/O口的控制,初始化时点亮所有的数码管,即6位LED数码管均显示8。
1s 后,从第一位数码管开始从0显示到9,刷新时间为0.5s。
直到最后一个数码管。
1s的时间使用定时器A (FIQ);0.5s的时间使用2HZ的时基信号(IRQ5)。
【硬件连接图】A0—A6 接A---G A8—A13 接CS1—CS6 B0—B7 接KEY
【实验步骤】⑴按硬件电路原理图进行连接。
⑵画程序流程图。
⑶编写程序。
⑷调试程序。
⑸结合硬件调试,实现最终功能。
【主程序流程图】
广告灯设计(利用取表方式)
桂林电子工业学院孙安青
1.实验任务
利用取表的方法,使端口P1做单一灯的变化:左移2次,右移2次,闪烁2次(延时的时间0.2秒)。
2.电路原理图
3.系统板上硬件连线
把“单片机系统”区域中的P1.0-P1.7用8芯排线连接到“八路发光二极管指示模块”区域中的L 1-L8端口上,要求:P1.0对应着L1,P1.1对应着L2,……,P1.7对应着L8。
4.程序设计内容
在用表格进行程序设计的时候,要用以下的指令来完成
(1).利用MOV DPTR,#DATA16的指令来使数据指针寄存器指到表的开头。
(2).利用MOVC A,@A+DPTR的指令,根据累加器的值再加上DPTR的值,就可以使程序计数器PC指到表格内所要取出的数据。
因此,只要把控制码建成一个表,而利用MOVC工,@A+DPTR做取码的操作,就可方便地处理一些复杂的控制动作,取表过程如下图所示:
5.
6.汇编源程序
ORG 0
START: MOV DPTR,#TABLE LOOP: CLR A
MOVC A,@A+DPTR
CJNE A,#01H,LOOP1
JMP START
LOOP1: MOV P1,A
MOV R3,#20
LCALL DELAY
INC DPTR
JMP LOOP
DELAY: MOV R4,#20
D1: MOV R5,#248
DJNZ R5,$
DJNZ R4,D1
DJNZ R3,DELAY
RET
TABLE: DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0DFH,0BFH,07FH
DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,07FH
DB 07FH,0BFH,0DFH,0EFH
DB 0F7H,0FBH,0FDH,0FEH DB 07FH,0BFH,0DFH,0EFH DB 0F7H,0FBH,0FDH,0FEH DB 00H, 0FFH,00H, 0FFH DB 01H
END。