数码管显示原理及实例
- 格式:doc
- 大小:86.50 KB
- 文档页数:6
数码管显示控制实验原理
嘿,朋友们!今天咱来聊聊数码管显示控制实验原理。
想象一下,数码管就像是一个个小小的窗户,每个窗户里都能显示出不同的数字或符号。
其实啊,这原理就好像是一个聪明的指挥家在控制着一场精彩的灯光秀。
数码管里的每一段就像是一个小灯,通过巧妙地控制这些小灯的亮灭,就能组合出我们想要的数字啦。
比如说,要显示数字“8”,那就得让数码管的所有段都亮起来,就像把所有的灯光都打开,一下子就呈现出一个完整的“8”啦。
而要显示其他数字呢,就按照特定的组合让相应的段亮起来就行。
这就好像我们家里的电灯开关,想开哪个灯就按哪个开关,只不过这里的开关是通过电路和程序来控制的哦。
在实验里,我们就是要搞清楚怎么去设置这些开关,让数码管乖乖地显示出我们想要的东西。
是不是感觉挺有意思的呀?就像是在玩一个超级有趣的电子游戏,只不过这个游戏是关于数字和电路的。
所以,下次当你看到数码管显示出清晰的数字时,就可以想象一下背后那个神奇的“指挥家”是怎么工作的啦!。
数码管动态显示实验报告1.实验目的:本实验旨在通过使用单片机控制数码管的动态显示,了解数码管的原理和使用方法,加深对单片机控制的理解。
2.实验原理:数码管是由许多发光二极管(LED)组成的,每个数码管有7个发光二极管组成7段,再加上一个小数点(或8段数码管),通过控制每个发光二极管的亮灭状态,可以显示出数字、字母等字符。
本实验使用的是共阴极数码管,在通常情况下,数码管引脚为低电平时亮灯,为高电平时灭灯。
3.实验器材:-STC89C52单片机-共阴极数码管-电阻-面包板及连接线-电源4.实验步骤:步骤1:连接电路将数码管的7个引脚分别连接到单片机的7个I/O引脚上,并通过电阻限流。
连接电路后,确认连接无误。
步骤2:编写程序使用C语言编写程序,实现数码管的动态显示。
可以使用延时函数和位操作函数控制数码管的亮灭,通过改变每个数码管引脚的高低电平状态,实现显示不同的数字、字母。
步骤4:实验观察与分析观察数码管的显示效果,通过改变程序中的参数,可以实现不同的显示效果。
5.实验结果与分析:经过实验,我们成功实现了数码管的动态显示。
通过编写程序,我们可以实现数码管显示数字、字母等不同的字符。
调整程序中的参数,可以实现不同的动态显示效果,如流水灯、闪烁等。
数码管的动态显示是通过改变每个数码管引脚的高低电平实现的,通过快速改变引脚电平状态的时间间隔,创建了肉眼无法察觉的视觉效果,从而实现了动态显示。
此外,通过实验我们还了解到了单片机控制数码管的原理和方法,加深了对单片机控制的理解。
6.实验总结:通过本实验,我们了解到了数码管的动态显示原理和方法,并通过编写程序,成功实现了数码管的动态显示。
同时,我们还巩固了单片机控制的知识,提高了自己的动手能力和问题解决能力。
在今后的学习和工作中,我们将进一步掌握数码管的使用方法,并能够将其应用于更加复杂的应用场景中,实现更多有趣的功能。
数码管的动态显示原理及应用1. 数码管简介数码管是一种用于显示数字和符号的电子器件,常见的包括七段数码管、八段数码管等。
它由许多发光二极管(LED)组成,每个LED代表一个数字或符号。
数码管广泛应用于电子设备、仪器仪表等领域,具有直观、易读、低功耗等优点。
2. 数码管的工作原理数码管的工作原理主要依靠电流和电压的控制,通过控制每个LED的亮灭状态,实现数字和符号的显示。
数码管通常由多个LED组成,每个LED分别代表一个数字或符号。
在数码管中,每个LED的正极(阳极)接通位线,而负极(阴极)则分别连接到不同的控制引脚。
通过控制这些引脚的高低电平,可以控制相应的LED点亮或熄灭。
2.1 驱动方式数码管的驱动方式分为静态和动态两种。
静态驱动方式是指每个LED的亮灭状态不变,即只显示一个数字或符号。
动态驱动方式是通过快速地改变LED的亮灭状态,以达到显示多个数字或符号的效果。
2.2 动态显示原理动态显示原理是指通过快速地改变LED的亮灭状态,使人眼产生视觉暂留效应,从而在有限的时间内显示多个数字或符号。
动态显示使用了时间分片的原理,即将一个显示周期分为多个时间片段,在每个时间片段内只显示一个数字或符号。
通过控制每个时间片段内不同LED的亮灭状态,可以实现数字或符号的动态切换。
3. 数码管的应用数码管由于其直观、易读的特点,在各行各业都有广泛的应用。
3.1 仪器仪表数码管在仪器仪表领域得到广泛应用,例如数字万用表、电子测量仪器等。
它们通过控制不同的LED点亮或熄灭,可以直观地显示测量结果、电压、电流等信息。
3.2 数字时钟数码管常被用于制作数字时钟。
通过控制每个LED的亮灭状态,可以实时显示小时、分钟、秒等信息,方便人们了解当前的时间。
3.3 电子秤数码管还广泛应用于电子秤。
它们通过控制LED的亮灭状态,实时显示被称量物体的重量,方便人们进行称重工作。
3.4 电子计数器数码管常被用于制作电子计数器。
通过控制LED的亮灭状态,可以实时显示计数结果,常见于工业自动化、交通信号灯等领域。
数码管静态显示和动态显示原理数码管是一种常见的显示设备,它由多个发光二极管(LED)组成,通过控制每个LED的点亮与否,可以显示数字、字母、符号等。
数码管的显示方式主要分为静态显示和动态显示两种。
静态显示即直接将需要显示的数字发送给数码管进行显示。
实现静态显示的原理是通过控制LED的正向电流,使其发光。
1.显示单个数码管静态显示一位数码管时,需要将需要显示的数字转换为对应的二进制编码,并通过控制数码管的引脚,将对应的编码信号送到数码管,从而点亮对应的LED。
LED管的引脚包括共阳(正)端和共阴(负)端,需要根据具体的数码管类型,将对应的编码信号送到相应的引脚上。
例如,常见的共阳数码管,其引脚对应的编码信号如下表所示:数码管编码,a,b,c,d,e,f,g,DOT二进制值,1,2,4,8,16,32,64,128我们可以选择使用并口或者串口的方式,将对应的编码信号通过控制引脚进行发送,从而实现对数码管的显示。
2.显示多位数码管如果需要显示多位数码管,可以依次控制每个数码管的引脚,逐个显示数字。
例如,如果需要显示一个四位的数字,可以选择多个数码管,然后依次对每个数码管进行静态显示。
对于多位数码管,如果静态刷新频率较低,人眼会觉得显示闪烁。
因此,在静态显示中,通常需要使用较高的刷新频率,以使得显示效果更加稳定。
动态显示是指通过间歇性显示不同的位数,从而实现连续显示的效果。
动态显示的原理是通过快速的切换不同的位数,让人眼产生连续显示的错觉。
1.时分复用最常见的动态显示原理是时分复用技术,即通过快速的切换不同的位数,以使得数码管在较短的时间内完成多个位数的显示。
例如,对于一个四位数码管的显示,可以快速切换每个数码管的引脚,使得数码管按照一定的频率逐个显示不同的数字。
实现时分复用的关键是要保证刷新频率足够高,以至于人眼无法察觉到刷新的效果。
2.位数切换在时分复用中,需要对每个数码管进行位数的切换,以显示对应的数字。
51单片机数码管显示0到99实验原理51单片机是一种常用的单片机微控制器,它可以用来完成各种控制任务,包括数码管显示。
数码管是一种显示器件,可以用来显示数字、字母或符号等。
在本实验中,我们将使用51单片机控制数码管显示从0到99的数字。
实验原理如下:1. 51单片机介绍:51单片机是一种基于Intel 8051架构的微控制器。
它是一种具有48KB的程序存储器和52个输入/输出引脚的芯片。
单片机通过内部时钟和逻辑电路来执行各种任务。
2.数码管介绍:数码管是一种由LED组成的显示器件。
一般用于显示数字,通过控制LED的亮灭来显示不同的数字。
常见的数码管有共阳极和共阴极两种类型。
3.共阳极数码管原理:共阳极数码管的原理是通过控制不同的引脚来点亮相应的LED。
在显示数字0到9时,需要同时点亮特定的LED。
通过控制引脚为高电平来点亮对应的LED,其他引脚保持低电平。
4.共阴极数码管原理:共阴极数码管的原理与共阳极相反,需要使引脚为低电平来点亮相应的LED。
其他引脚保持高电平。
5. 51单片机控制数码管原理:通过设置51单片机的输出引脚和电平,可以控制数码管的显示。
首先需要将数码管的引脚连接到51单片机的输出引脚上,并设置相应的输出模式和电平。
然后通过程序来控制输出引脚的电平,从而控制数码管的亮灭。
实验步骤如下:1.连接电路:首先将51单片机与数码管进行连接。
根据具体的实验条件,选择合适的数码管和电路图。
2.编写程序:使用51单片机的编程软件(如Keil C等),编写控制数码管的程序。
程序应该包括初始化引脚、设置输出模式和控制引脚电平等内容。
3.烧录程序:将编写好的程序烧录到51单片机的程序存储器中。
通过编程软件将程序下载到单片机中。
4.检查电路:验证电路连接是否正确。
可以通过使用示波器或万用表等工具来检查引脚的电平和波形。
5.运行实验:将电路通电,观察数码管的显示效果。
通过控制程序中的循环和延时等参数,可以实现数字的滚动显示、闪烁显示等效果。
数码管显示实验实验报告一、实验目的本次数码管显示实验的主要目的是深入了解数码管的工作原理和显示控制方式,通过实际操作掌握数码管与微控制器的接口技术,并能够编写相应的程序实现各种数字和字符的显示。
二、实验原理数码管是一种由多个发光二极管组成的显示器件,常见的有共阴数码管和共阳数码管两种类型。
共阴数码管是将所有发光二极管的阴极连接在一起,当阳极接高电平时,相应的二极管发光;共阳数码管则是将所有发光二极管的阳极连接在一起,当阴极接低电平时,相应的二极管发光。
在控制数码管显示时,通常采用动态扫描的方式,即依次快速地给每个数码管的段选端送入相应的字形码,同时使位选端选通对应的数码管,利用人眼的视觉暂留效应,使人看起来好像所有数码管同时在显示。
三、实验设备与材料1、实验开发板2、数码管模块3、杜邦线若干4、电脑5、编程软件四、实验步骤1、硬件连接将数码管模块与实验开发板进行连接,确定好段选和位选引脚的连接。
检查连接是否牢固,确保电路无短路或断路现象。
2、软件编程打开编程软件,选择相应的开发板型号和编程语言。
定义数码管的段选和位选引脚。
编写控制程序,实现数字 0 到 9 的循环显示。
3、编译与下载对编写好的程序进行编译,检查是否有语法错误。
将编译成功的程序下载到实验开发板上。
4、观察实验现象接通实验开发板的电源,观察数码管的显示情况。
检查显示的数字是否正确,显示的亮度和稳定性是否符合要求。
五、实验结果与分析1、实验结果数码管能够正常显示数字 0 到 9,并且能够按照设定的频率循环显示。
显示的数字清晰、稳定,没有出现闪烁或模糊的现象。
2、结果分析程序编写正确,能够准确地控制数码管的段选和位选信号,实现数字的显示。
动态扫描的频率设置合理,既保证了显示的稳定性,又不会出现明显的闪烁。
六、实验中遇到的问题及解决方法1、问题数码管显示出现闪烁现象。
解决方法调整动态扫描的频率,增加扫描的速度,减少每个数码管的点亮时间,从而减轻闪烁现象。
实验四数码管显示控制一、实验目的1、熟悉Keil uVision2软件的使用;2、掌握LED数码管显示接口技术;3、理解单片机定时器、中断技术。
二、实验设备及仪器Keil μVision2软件;单片机开发板;PC机一台三、实验原理及内容1、开发板上使用的LED 数码管是四位八段共阴数码管(将公共端COM接地GND),其内部结构原理图,如图4.1所示。
图4.1共阴四位八段LED数码管的原理图图4.1表明共阴四位八段数码管的“位选端”低电平有效,“段选端”高电平有效,即当数码管的位为低电平,且数码管的段为高电平时,相应的段才会被点亮。
实验开发板中LED数码管模块的电路原理图,如图4.2所示。
SP1a~hP0.4~P0.7SP2P0.0~P0.3图4.2 LED数码管模块电路原理图图中,当P1.0“段控制”有效时,P0.0~P0.7分别对应到数码管的a~h段。
当P1.1“位控制”有效时,P0.0~P0.7分别对应到DIG1~DIG8。
训练内容一:轮流点亮数码管来检测数码管是否正常。
参考程序:ORG 00HAJMP MAINMAIN:SETB P1.2;LED流水灯模块锁存器的控制位MOV P0,#0FFH;关闭LED灯CLR P1.2SETB P1.3 ;点阵模块的行控制锁存器MOV P0,#0 ;关闭点阵行CLR P1.3MOV A,#11111110B;数码管“位选信号”初值,低电平有效LOOP:SETB P1.1;数码管位控制锁存器有效MOV P0,ACLR P1.1RL A ;形成新的“位选信号”,为选择下一位数码管做准备SETB P1.0;数码管段控制锁存器有效MOV P0,#0FFH ;数码管的所有段点亮,显示“8”CLR P1.0CALL DELAYSJMP LOOPDELAY:MOV R5,#0;延时子程序D1: MOV R6,#0D2:NOPDJNZ R6,D2DJNZ R5,D1RETEND训练内容二:静态显示,0~9计数。
实验二数码管显示本实验的目的是掌握数码管的工作原理与使用,实现数码管的静、动态显示。
静态数码管我们先看看什么是数码管,上图就是各种长相各种样子的数码管了,肯定很眼熟了吧。
不管将几位数码管连在一起,数码管的显示原理都是一样的,都是靠点亮内部的发光二极管来发光,下面就来我们讲解一个数码管是如何亮起来的。
数码管内部电路如下图所示,从右图可看出,一位数码管的引脚是10个,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产商为了封装统一,单位数码管都封装10个引脚,其中第3和第8引脚是连接在一起的。
而它们的公共端又可分为共阳极和共阴极,中间图为共阴极内部原理图,右图为共阳极内部原理图。
上图展出了常用的两种数码管的引脚排列和内部结构。
总所周知,点亮发光二极管就是要给予它足够大的正向压降。
所以点亮数码管其实也就是给它内部相应的发光二极管正向压降。
如上图左(一共a、b、c、d、e、f、g、DP 八段),如果要显示“1”则要点亮b、c 两段LED;显示“A”则点亮a、b、c、e、f、g 这六段LED;我们还知道,既然LED 加载的是正向压降,它的两端电压必然会有高低之分:如果八段LED 电压高的一端为公共端,我们称之为共阳极数码管(如上图中);如果八段LED 电压低的一段为公共端,则称之为共阴极数码管(上图右)。
所以,要点亮共阳极数码管,则要在公共端给予高于非公共端的电平;反之点亮共阴极数码管,则要在非公共端给予较高电平。
对共阴极数码来说,其8个发光二极管的阴极在数码管内部全部连接在一起,所以称“共阴”,而它们的阳极是独立的,通常在设计电路时一般把阴极接地。
当我们给数码管的任意一个阳极加一个高电平时,对应的这个发光二极管就点亮了。
如果想要显示出一个8字,并且把右下角的小数点也点亮的话,可以给8个阳极全部送高电平,如果想让它显示出一个0字,那么我们可以除了给第“g, dp”这两位送低电平外,其余引脚全部都送高电平,这样它就显示出0字了。
微机原理实验四LED数码管显示实验LED数码管显示实验是微机原理中的一项重要实验,通过该实验可以学习到数码管的工作原理以及如何通过控制数字信号来实现数字的显示。
本文将详细介绍实验所需材料和步骤,并解析实验原理。
一、实验材料1.STM32F407开发板2.数码管模块3.面包板4.连接线5.杜邦线二、实验原理数码管是一种能够显示数字的装置,它由七个发光二极管组成,分别代表数字0-9、通过控制这七个发光二极管的亮灭,可以显示出不同的数字。
在实验中,我们使用STM32F407开发板来控制数码管。
数码管模块通过引脚与STM32F407开发板进行连接,其中共阴数码管的引脚与开发板的GPIO引脚相连,通过控制GPIO引脚的高低电平来控制数码管的亮灭。
三、实验步骤1.在面包板上连接数码管模块。
将数码管模块的引脚与STM32F407开发板的相应引脚通过杜邦线连接。
具体连接方式可以参考数码管模块和开发板的引脚定义。
2. 打开STM32CubeMX软件,创建一个新工程。
选择适合的开发板型号,并进行引脚配置。
将引脚配置为通用输出模式,并将相应的引脚定义为控制数码管的引脚。
3. 在生成的代码中找到main.c文件,在其中添加控制数码管的代码。
首先需要引入相应的头文件,并定义控制数码管的引脚宏定义。
4. 在main函数中,初始化控制数码管的引脚为输出模式。
然后通过控制引脚的高低电平来实现数码管的亮灭。
四、实验结果与分析经过以上步骤,我们成功控制了数码管的显示。
数码管显示的数字由控制引脚的高低电平确定,通过改变控制引脚的电平可以实现不同的数字显示。
值得注意的是,数码管的亮灭是通过切换引脚的电平来实现的,当引脚为高电平时,数码管熄灭;反之,当引脚为低电平时,数码管亮起。
在实际应用中,可以通过编写代码来改变控制引脚的电平,从而实现字母、字符、动画等更加复杂的显示效果。
五、实验总结本次实验通过控制STM32F407开发板的GPIO引脚,成功实现了LED数码管的显示。
第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. 了解数码管的工作原理和驱动方式。
数码管的基本原理应用实例1. 前言数码管是一种常见的电子显示器件,广泛应用于计算机、电子钟、电子秤等领域。
本文将介绍数码管的基本原理以及在实际应用中的一些实例。
2. 数码管的基本原理数码管是由多个发光二极管(LED)组成的,可以显示数字、字母和符号等信息。
它的基本原理是通过控制每个LED的发光状态来显示相应的信息。
2.1 负极共接法在负极共接法中,数码管的负极端口(COM)通过一个公共的电压源连接在一起,而数码管的阳极端口(A、B、C…)则通过对应的控制电路输入信号进行控制。
当对应的控制信号为高电平时,对应的LED发光,从而显示相应的信息。
2.2 驱动方式数码管的常见驱动方式有静态驱动和动态驱动两种。
•静态驱动方式:静态驱动方式是指每个LED都直接受到控制信号的控制,它的译码电路和显示电路相对简单,但是对于多位数码管时,需要使用多个译码器和驱动器,因此成本较高。
•动态驱动方式:动态驱动方式是指数码管的各段LED由时间分片依次显示,只需要一个译码器和驱动器,因此成本较低。
动态驱动方式通过高速切换LED的亮灭来实现多位数码管的显示。
3. 数码管的应用实例3.1 电子时钟电子时钟是数码管的典型应用之一。
它使用动态驱动方式,通过译码器和驱动器控制数码管的亮灭,从而显示当前的时间。
应用实例:•使用STM32单片机和数码管模块搭建电子时钟原型•编写程序,实现时钟的时间设置、显示和闹钟功能•搭建时钟外壳,提供按键、电源和显示控制电路等3.2 温度计温度计也是数码管的常见应用之一。
它通过传感器获取温度值,然后通过数码管将温度值以数字的形式进行显示。
应用实例:•使用温度传感器采集当前的温度值•使用数码管显示温度值(例如显示为摄氏度或华氏度)•根据不同的温度值进行警告或控制其他设备(例如温度达到一定值时,自动打开空调)3.3 计数器数码管还可以用于制作计数器,例如电子秤中的计数器功能。
计数器通过控制数码管的亮灭,将计数结果以数字的形式进行显示。
数码管的动态显示实验报告一、实验目的1、了解数码管的工作原理和显示方式。
2、掌握数码管动态显示的编程方法和技巧。
3、通过实验,提高对数字电路和单片机编程的综合应用能力。
二、实验原理数码管是一种常用的数字显示器件,分为共阴极和共阳极两种类型。
共阴极数码管的阴极连接在一起并接地,当阳极接高电平时,对应的段点亮;共阳极数码管则是阳极连接在一起并接电源,当阴极接低电平时,对应的段点亮。
动态显示是指依次快速地轮流点亮多个数码管,利用人眼的视觉暂留效应,使人感觉多个数码管同时稳定地显示不同的数字。
在动态显示中,需要通过控制数码管的位选和段选信号来实现数字的显示。
三、实验设备1、单片机开发板2、电脑3、编程软件四、实验步骤1、硬件连接将数码管与单片机的 I/O 口进行连接,确定位选和段选的引脚。
连接好电源和地线,确保电路连接正确无误。
2、软件编程选择合适的编程语言,如 C 语言。
定义数码管的引脚和相关的控制变量。
编写数码管显示的函数,包括位选函数和段选函数。
在主函数中,通过循环调用显示函数,实现数字的动态显示。
3、编译下载使用编程软件对编写的程序进行编译,检查是否有语法错误。
将编译成功的程序下载到单片机开发板中。
五、实验程序```cinclude <reg52h> //包含 52 系列单片机的头文件//数码管段选引脚定义sbit SEG_A = P2^0;sbit SEG_B = P2^1;sbit SEG_C = P2^2;sbit SEG_D = P2^3;sbit SEG_E = P2^4;sbit SEG_F = P2^5;sbit SEG_G = P2^6;sbit SEG_DP = P2^7;//数码管位选引脚定义sbit BIT1 = P1^0;sbit BIT2 = P1^1;sbit BIT3 = P1^2;sbit BIT4 = P1^3;//显示数字 0 9 的段码unsigned char code SEGMENT_CODE ={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};//数码管位选函数void SelectBit(unsigned char bit){switch (bit){case 1:BIT1 = 0; BIT2 = 1; BIT3 = 1; BIT4 = 1; break;case 2:BIT1 = 1; BIT2 = 0; BIT3 = 1; BIT4 = 1; break;case 3:BIT1 = 1; BIT2 = 1; BIT3 = 0;BIT4 = 1;break;case 4:BIT1 = 1;BIT2 = 1;BIT3 = 1;BIT4 = 0;break;}}//数码管段选函数void SelectSegment(unsigned char num){SEG_A =(num & 0x01)? 1 : 0; SEG_B =(num & 0x02)? 1 : 0; SEG_C =(num & 0x04)? 1 : 0; SEG_D =(num & 0x08)? 1 : 0; SEG_E =(num & 0x10)? 1 : 0;SEG_F =(num & 0x20)? 1 : 0; SEG_G =(num & 0x40)? 1 : 0; SEG_DP =(num & 0x80)? 1 : 0;}//主函数void main(){unsigned char i, num = 0;while (1){for (i = 1; i <= 4; i++){SelectBit(i);SelectSegment(SEGMENT_CODEnum);num++;if (num == 10)num = 0;delay_ms(5);//适当的延时,以实现稳定显示}}}```六、实验现象与结果在实验中,当程序下载到单片机开发板后,数码管依次快速地显示数字 0 到 9,循环往复。
单片机实验报告二-数码管显示实验摘要:本实验使用单片机控制数码管的显示,在实验过程中通过学习单片机的GPIO口的编程,调试程序、调节电路来达到正确的显示效果。
最终按照要求实现了单片机控制数码管的计数器。
关键词:单片机、数码管、GPIO口、计数器一、实验介绍数码管是一种介于机械仪表和液晶显示器之间的电子显示器件,广泛应用于计时器、计数器、仪表等电子产品中。
本实验旨在通过单片机控制数码管的显示来加深对GPIO口的使用和调试程序的理解,同时了解数码管的原理。
本实验主要分为两部分:数码管显示基础实验和数码管控制开关实验。
通过这两部分的实验可以了解数码管的工作原理和单片机的基本控制方式。
二、实验原理2.1 数码管的基本原理数码管显示器将数字显示为一组符号,例如“0”到“9”。
表示不同数字的符号被编码成一个数字码。
七段数码管用一个七段数码字母来表示数字,如下表所示:| 数字 | a | b | c | d | e | f | g || ---- | - | - | - | - | - | - | - || 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 || 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 || 2 | 1 | 1 | 0 | 1 | 1 | 0 | 1 || 3 | 1 | 1 | 1 | 1 | 0 | 0 | 1 || 4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 || 5 | 1 | 0 | 1 | 1 | 0 | 1 | 1 || 6 | 0 | 0 | 1 | 1 | 1 | 1 | 1 || 7 | 1 | 1 | 1 | 0 | 0 | 0 | 0 || 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 || 9 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |通过控制数码管的七个LED灯的亮灭,可以实现不同符号显示。
一、实验目的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. 动态扫描显示技术能够有效地实现多位数码管的显示,提高了显示效率。
数码管显示电路原理
(1)元件需求以及选型
8个八段数码管,8个PNP三极管,8个电阻,数码管内部由8个发光二极管组成,排
成一个8字,可以组成0到9数字以及A-F字符的表示形式,分共阴和共阳两种,共
阴表示8个二极管公共极接的是二极管的负极,共阳表示公共极接的是发光二极管的
正极。
我们选的是共阳的数码管,三极管(8550)用来做片选,增加驱动,电阻的作
用在于限流,由于基极电流很大,所以需要一个电阻来限流,防止烧坏单片机IO口。
阻值选择用1K。
建议使用1K。
(2)程序原理
数码管要亮,必须满足里面的二极管导通,有两个条件,片选打开,数据口要置低(视硬件而定)。
首先要得到0到9十个数据的断码。
即按硬件的排布,画出对应的0到9形状,标出对应的二极管控制IO口,得到数值,可以参照我们提供的数据。
片选:片选就是开关,控制数码管亮或不亮的,每个数码管都有自己的片选。
数据口:
数据口就直接接到了IO口上面,低电平有效,灌电流。
数码管的显示分为两种:静态显示和动态显示。
静态显示:
只能显示一个数码管或者几个数码管而且只能同时显示同一个数字,静态显示不需要扫描的,就是说打开片选后不需要关闭,只需要跟换数据口出来的数据就可以改变显
示的内容。
一般静态显示用的比较少,只用在数码管只有一个的情况下。
动态显示:
动态显示用的很普遍,动态显示可以任意数码管随意显示想要显示的内容。
动态显示需要不断的对数码管进行扫描。
原理是开一个片选送一个字节显示,延时一些时间(注:延时时间很重要,没有的话就会显示一片红,超过的话数码管就会闪烁,一般
一个数码管延时显示1MS左右就可以了)。
然后关闭第一个片选,开启第二个片选,
送另外的一个数据,延时,然后关闭低二个片选,送数值,延时……循环,那么就可
以看到几个数码管显示出不同的数值了。
每个显示数字共用数据线,每个分别有一个使能管脚,显示数据采用隐消的编程方法,即每一位显示一段时间再轮换。
实验内容:
在四位数码管上显示8051
接线说明:
P0口接八段显示数据低电平有效,P2口低四位接片选低电平有效。
程序清单:
****************************************************************** ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV P2,#0FFH
MOV P0,#0FFH
TT:
MOV P0,#080H
MOV P2,#0F7H;;;11101111B
LCALL DELAY_1S;;延时显示8
MOV P0,#0C0H;;;;;;;;;;;
MOV P2,#0FBH;;1101,1111B显示0
LCALL DELAY_1S
MOV P0,#092H;;;
MOV P2,#0FDH;;1011,1111B显示5
LCALL DELAY_1S
MOV P0,#0f9H;;;
MOV P2,#0FEH;;0111,1111B显示1
LCALL DELAY_1S
SJMP TT
DELAY_1S:mov r1,#1
delay_1s_lp2:mov r2,#2
delay_1s_lp1:mov r3,#200
djnz r3,$
djnz r2,delay_1s_lp1
djnz r1,delay_1s_lpl2
ret
end
数码管显示3210
ORG 000h
LJMP START
ORG 0100H
START: MOV SP,#30H
MOV A,#03H
MOV DPTR,#7100H
MOVX @DPTR,A
MOV 79H,#00H
MOV 7AH,#01H
MOV 7BH,#02H
MOV 7CH,#03H
MAIN: LCALL DISP
LCALL DELAY
LJMP MAIN
;********** 数码管显示函数********************************** DISP: MOV R1,#79H ;缓冲区首地址
MOV R2,#10H ;用于位选
MOV A,R2
DISP1: MOV DPTR,#7101H ;位选
MOVX @DPTR,A
MOV A,@R1
;MOV A,#0FFH
MOV DPTR,#DBSEG
MOVC A,@A+DPTR ;取段码
MOV DPTR,#7102H
MOVX @DPTR,A ;输出显示
LCALL DELAY ;延时
INC R1
MOV A,R2
JB ACC.7,EXT ;当4个数码管都点亮一遍时,结束
RL A
MOV R2,A
JMP DISP1
EXT: RET
;*************** 延时子程序******************************* DELAY: MOV R6,#10H
DELA1: MOV R5,#20H
DJNZ R5,$
DJNZ R6,DELA1
RET
;************** 段码缓冲区********************************** DBSEG: DB 0fcH,60H,0daH,0f2H,66H,0b6H,0beH,0e0H,0feH,0f6H
THANKS !!!
致力为企业和个人提供合同协议,策划案计划书,学习课件等等
打造全网一站式需求
欢迎您的下载,资料仅供参考。