LED数码管静态显示接口与编程
LED数码管显示
动态驱动
通过扫描方式逐行点亮 LED数码管,适用于多位 数显示。
集成电路驱动
使用专用集成电路芯片驱 动LED数码管,具有驱动 能力强、稳定性高等优点。
03
LED数码管的分类与选择
七段数码管
01
02
03
04
七段数码管是最常见的LED数 码管,由七个LED段(a-g)和 一个可选的小数点(dp)组成。
十六进制数码管也有共阳和共阴两种类型,使用方法与 七段数码管类似。
它能够显示数字和英文字母,以及一些特殊字符,通过 控制每个段的亮灭来显示不同的字符。
十六进制数码管在计算机、通信、仪器仪表等领域应用 广泛。
点阵式LED显示屏
01
点阵式LED显示屏由多个LED灯组成的矩阵,通过控制每个LED 灯的亮灭来显示文字、图像和视频等。
它能够显示数字0-9和某些英 文字母,通过控制每个段的亮
灭来显示不同的字符。
七段数码管有共阳和共阴两种 类型,共阳极的公共端接高电 平,共阴极的公共端接低电平
。
七段数码管具有低功耗、高亮 度、长寿命等优点,广泛应用
于各种显示设备中。
十六进制数码管
十六进制数码管是一种能够显示十六进制字符的LED数 码管,由16个LED段(0-9、A-F)组成。
驱动芯片的作用
提供稳定的电流,控制LED数码管的亮度和显示内 容。
常见驱动芯片型号
如74HC595、74HC164等。
驱动芯片的选择
根据LED数码管的位数和扫描方式,选择合适的驱 动芯片。
LED数码管的接口电路
接口电路的作用
实现LED数码管与微控制器的通信,传输显示数据。
常见接口电路
如共阳极、共阴极等。
基于51单片机实现LED数码管静态与动态显示的设计浅析
33第2卷 第22期产业科技创新 2020,2(22):33~34Industrial Technology Innovation 基于51单片机实现LED数码管静态与动态显示的设计浅析龙 志(广州大学松田学院,广州 增城 511370)摘要:随着社会的发展,在我们日常的生活中,数码管的应用随处可见,尤其是在电子应用设计显示等方面常常发挥着非常重要的作用,因此研究数码管的显示有非常重要的现实意义。
数码管我们可以分为静态显示和动态显示,这两种显示有着本质的区别,静态显示的特点是占用CPU 时间少,显示便于监测和控制,显示字形稳定,而动态数码管的显示,效果相对静态显示亮度差少许,但成本较低。
本设计主要是基于51单片机,先通过结合集成芯片74HC573对LED 数码管静态显示的硬件电路设计与分析,进一步拓展到采用芯片74HC138与LED 数码管动态显示的硬件电路设计与分析,最终实现两种不同的电路设计显示的方法。
关键词:LED 数码管;静态显示;动态显示;51单片机中图分类号:TP368.12 文献标识码:A 文章编号:2096-6164(2020)22-0033-02随着电子应用技术的不断发展,显示电路在电子设计应用方面更加广泛,尤其是LED 数码管显示在各行各业中的应用更加重要,如红绿交通灯显示,电子时钟显示,家电产品功能显示等方面都需要用到LED 数码管作为显示。
因此,对LED 数码管的显示控制有着非常重要的现实意义。
因此我们要实现LED 数码管的熟练显示控制,我们必须要根据数码管的特点来进行分析和设计,数码管有静态显示和动态显示的两种方法,接下对这两种电路作详细的分析与设计,最终实现对LED 数码管静态与动态的两种不同显示设计方法。
1 数码管静态显示电路设计数码管静态显示设计是利用MCS-51单片机结合两片集成芯片74HC573,实现对4个LED 数码管的显示控制。
具体设计如图1所示:图1 数码管静态显示设计电路图本电路设计主要是利用单片机的P0口来实现对数码管的位选控制与段选的控制,P0口之所以能够正确的对数码管进行位选与段选的控制,关键是在于设计中使用了芯片74HC573。
单片机实验报告——LED数码管显示实验
单⽚机实验报告——LED数码管显⽰实验(此⽂档为word格式,下载后您可任意编辑修改!)《微机实验》报告LED数码管显⽰实验指导教师:专业班级:姓名:学号:联系⽅式:⼀、任务要求实验⽬的:理解LED七段数码管的显⽰控制原理,掌握数码管与MCU的接⼝技术,能够编写数码管显⽰驱动程序;熟悉接⼝程序调试⽅法。
实验内容:利⽤C8051F310单⽚机控制数码管显⽰器基本要求:利⽤末位数码管循环显⽰数字0-9,显⽰切换频率为1Hz。
提⾼要求:在4位数码管显⽰器上依次显⽰当天时期和时间,显⽰格式如下:yyyy (年份)mm.dd(⽉份.⽇).asm;Description: 利⽤末位数码管循环显⽰数字0-9,显⽰切换频率为1Hz。
;Designed by:gxy;Date:2012117;*********************************************************$include (C8051F310.inc)ORG 0000H ;复位⼊⼝AJMP MAINORG 000BH ;定时器0中断⼊⼝AJMP TIME0MAIN: ACALL Init_Device ;初始化配置MOV P0,#00H ;位选中第⼀个数码管MOV R0,#00H ;偏移指针初值CLR PSW.1 ;标志位清零SETB EA ;允许总中断SETB ET0 ;允许定时器0中断MOV TMOD,#01H ;定时器0选⼯作⽅式1MOV TH0,#06HMOV TL0,#0C6H ;赋初值,定时1sLOOP: MOV A,R0ADD A,#0BH ;加偏移量MOVC +PC ;查表取,段码MOV P1,A ;段码给P1显⽰SETB TR0 ;开定时LOOP1: JNB PSW.1,LOOP1 ;等待中断CLR PSW.1INC R0 ;偏移指针加⼀CJNE R0,#0AH,LOOP3MOV R0,#00H ;偏移指针满10清零AJMP LOOP ;返回DB 0FCH,60H,0DAH,0F2H,66H ;段码数据表:0、1、2、3、4 DB 0B6H,0BEH,0E0H,0FEH,0F6H; 5、6、7、8、9 ;***************************************************************** ; 定时器0中断;***************************************************************** TIME0: SETB PSW.1 ;标志位置⼀MOV TH0,#06H ;定时器重新赋值MOV TL0,#0C6HLOOP3: CLR TR0 ;关定时RETI;***************************************************************** ;初始化配置;***************************************************************** PCA_Init:anl PCA0MD, #0BFhmov PCA0MD, #000hretTimer_Init:mov TMOD, #001hmov CKCON, #002hretPort_IO_Init:; P0.0 - Unassigned, Open-Drain, Digital ; P0.1 - Unassigned, Open-Drain, Digital ; P0.2 - Unassigned, Open-Drain, Digital ; P0.3 - Unassigned, Open-Drain, Digital ; P0.4 -Unassigned, Open-Drain, Digital ; P0.5 - Unassigned, Open-Drain, Digital ; P0.6 - Unassigned, Open-Drain, Digital ; P0.7 - Unassigned, Open-Drain, Digital ; P1.0 - Unassigned, Open-Drain, Digital ; P1.1 - Unassigned, Open-Drain, Digital ; P1.2 - Unassigned, Open-Drain, Digital ; P1.3 - Unassigned, Open-Drain, Digital ; P1.4 - Unassigned, Open-Drain, Digital ; P1.5 - Unassigned, Open-Drain, Digital ; P1.6 - Unassigned, Open-Drain, Digital ; P1.7 - Unassigned, Open-Drain, Digital ; P2.0 - Unassigned, Open-Drain, Digital ; P2.1 -Unassigned, Open-Drain, Digital ; P2.2 - Unassigned, Open-Drain, Digital ; P2.3 - Unassigned, Open-Drain, Digital mov XBR1, #040hretInterrupts_Init:mov IE, #002hretInit_Device:lcall PCA_Initlcall Timer_Initlcall Port_IO_Initlcall Interrupts_Initretend提⾼部分:;*********************************************************;Filename: shumaguan2.asm;Description:在4位数码管显⽰器上依次显⽰当天时期和时间,显⽰格式如下:; 2012 (年份); 12.07(⽉份.⽇); 12.34(⼩时.分钟);Designed by:gxy;Date:2012117;*********************************************************$include (C8051F310.inc)ORG 0000HAJMP MAINORG 000BHAJMP TIME0MAIN: ACALL Init_DeviceMOV R0,#00H ;⽤于位选MOV R1,#00H ;⽤于段选MOV R2,#22H ;置偏移量,⽤于控制模式MOV R4,#8MOV R5,#250CLR PSW.1 ;标志位清零SETB EA ;允许总中断SETB ET0 ;允许定时器0中断MOV TMOD,#01H ;定时器0选⼯作⽅式1MOV TH0,#0FFHMOV TL0,#0C0H ;定时器赋初值1msBACK: MOV P0,R0 ;位选MOV A,R0ADD A,#40H ;选下⼀位MOV R0,AMOV A,R1ADD A,R2 ;加偏移量MOVC +PC ;查表取段码MOV P1,A ;段码给P1显⽰LOOP: SETB TR0 ;开定时HERE: JNB PSW.1,HERE ;等待中断CLR PSW.1DJNZ R5,BACKMOV R5,#250DJNZ R4,BACKMOV R4,#8 ;循环2000次(2s)MOV A,R2ADD A,#04H ;偏移量加04H,到下⼀模式段码初值地址 MOV R2,ACJNE R2,#2EH,LOOP2MOV R2,#22H ;加三次后偏移量回到初值LOOP2: AJMP BACK ;返回进⼊下⼀模式;段码数据表:DB 0DAH,60H,0FCH,0DAH ; 2102DB 0E0H,0FCH,61H,60H ; 701. 1DB 66H,0F2H,0DBH,60H ; 432. 1;*****************************************************************; 定时器0中断;***************************************************************** TIME0: MOV TH0,#0FFH MOV TL0,#0C0HCLR TR0SETB PSW.1INC R1 ;偏移指针加⼀CJNE R1,#04H,LOOPMOV R1,#00H ;偏移指针满04H清零RETI;***************************************************************** ; 初始化配置;***************************************************************** PCA_Init:anl PCA0MD, #0BFhmov PCA0MD, #000hretTimer_Init:mov TMOD, #001hmov CKCON, #002hretPort_IO_Init:; P0.0 - Unassigned, Open-Drain, Digital; P0.1 - Unassigned, Open-Drain, Digital; P0.2 - Unassigned, Open-Drain, Digital; P0.3 - Unassigned, Open-Drain, Digital; P0.4 - Unassigned, Open-Drain, Digital; P0.5 - Unassigned, Open-Drain, Digital; P0.6 - Unassigned, Open-Drain, Digital; P0.7 - Unassigned, Open-Drain, Digital; P1.0 - Unassigned, Open-Drain, Digital; P1.1 - Unassigned, Open-Drain, Digital; P1.2 - Unassigned, Open-Drain, Digital; P1.3 - Unassigned, Open-Drain, Digital; P1.4 - Unassigned, Open-Drain, Digital; P1.5 - Unassigned, Open-Drain, Digital; P1.6 - Unassigned, Open-Drain, Digital; P1.7 - Unassigned, Open-Drain, Digital; P2.0 - Unassigned, Open-Drain, Digital; P2.1 - Unassigned, Open-Drain, Digital; P2.2 - Unassigned, Open-Drain, Digital; P2.3 - Unassigned, Open-Drain, Digitalmov XBR1, #040hretInterrupts_Init:mov IE, #002hretInit_Device:lcall PCA_Initlcall Timer_Initlcall Port_IO_Initlcall Interrupts_Initretend六、程序测试⽅法与结果、软件性能分析软件调试总体截图:基础部分:软件运⾏时,我们发现P0端⼝为00H,P1端⼝以依次为FCH、60H、DAH、F2H、66H、B6H、BEH、E0H、FEH、F6H。
单片机原理及接口技术第5章 IO口应用-显示与开关键盘输入
图5-1
发光二极管与单片机并行口的连接
5
如果端口引脚为低电平,能使灌电流Id从单片机的外部流入内部,则将
大大增加流过的灌电流值,如图5-1(b)所示。所以,AT89S51单片机任 何一个端口要想获得较大的驱动能力,要采用低电平输出。 如果一定要高电平驱动,可在单片机与发光二极管之间加驱动电路,如 74LS04、74LS244等。 5.1.2 单片机I/O端口控制发光二极管的编程 发光二极管与单片机的I/O端口的连接,如图5-1(b)所示。如要点亮 某发光二极管,只需该I/O端口位写入“0”即可。下面通过一个例子介绍如
21
图5-6 4位LED静态显示的示意图
示字符。这样在同一时间,每一位显示的字符可以各不相同。但是,静态
显示方式占用I/O口线较多。 对于图5-6所示电路,要占用4个8位I/O口(或锁存器)。如果数码管 数目增多,则还需要增加I/O口的数目。在实际的系统设计中,如果显示位 数较少,可采用静态显示方式。但显示位数较多时,为了降低成本,一般 采用动态显示方式。 2. 动态扫描显示方式 显示位数较多时,静态显示所占用的I/O口多,为节省I/O口与驱动电路
单片机控制的8位I/O口锁存器输出相连。如果送往各个LED数码管所显示字 符的段码一经确定,则相应I/O口锁存器锁存的段码输出将维持不变,直到
送入下一个显示字符的段码。因此,静态显示方式的显示无闪烁,亮度较
高,软件控制比较容易。 图5-6所示为4位LED数码管静态显示电路,各个数码管可独立显示,
只要向控制各位I/O口锁存器写入相应的显示段码,该位就能保持相应的显
闭合时,P3.0引脚为低电平。单片机对开关状态的检测是由程序检测
10
图5-3
开关、LED发光二极管与P1口的连接
数码管的接线及显示(程序)
共阳共阴LED数码管引脚图管脚接口共阳共阴LED数码管引脚图管脚接口常见的数码管由七个条状和一个点状发光二极管管芯制成,叫七段数码管如下图所示,根据其结构的不同,可分为共阳极数码管和共阴极数码管两种。
根据管脚资料,您可以判断使用的是何总接口类型.<LED数码管引脚图>LED数码管中各段发光二极管的伏安特性和普通二极管类似,只是正向压降较大,正向电阻也较大。
在一定范围内,其正向电流与发光亮度成正比。
由于常规的数码管起辉电流只有1~2 mA,最大极限电流也只有10~30 mA,所以它的输入端在5 V电源或高于TTL 高电平(3.5 V)的电路信号相接时,一定要串加限流电阻,以免损坏器件。
数码管使用的电流与电压电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。
电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。
怎样测量数码管引脚,分共阴和共阳?找公共共阴和公共共阳首先,我们找个电源(3到5伏)和1个1K(几百的也欧的也行)的电阻, VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的找到一个就够了,,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED (一般是8个),那它就是共阴的了。
5.2.1数码显示原理1.LED显示器的结构与原理LED数码显示器是由若干个发光二极管组成的,当发光二极管导通时,相应的点或线段发光,将这些二极管排成一定图形,控制不同组合的二极管导通,就可以显示出不同韵字形。
单片机应用系统中常用的LED显示器为七段显示器,再加上有一个小数点,因此也可把它称为八段显示器。
结构形式有共阴极和共阳极两种,它的结构图如图5.11所示。
共阴极是把所有发光二极管的阴极连起来,通常接地,通过控制每一只发光二极管的阳极电平来使其发光或熄灭,阳极为高电平发光,为低电平熄灭;共阳极是把所有发光二极管的阳极连起来,通常为高电平(如+5V),通过控制每一只发光二极管的阴极电平来使其发光或熄灭,阴极为低电平发光,为高电平熄灭。
单片机led数码管的静态控制显示方式实验报告
单片机led数码管的静态控制显示方式实验报告开发环境:
本实验使用的是Keil uV5,MCU为STC89C52RC,和四位数码管模块。
实验目的:
本次实验是静态控制数码管显示,目的是使用单片机控制四位数码管上显示一个数字。
实验准备:
硬件:STC89C52RC单片机模块,4位数码管模块;
软件:Keil uV51.3 + STC-ISP软件;
实验原理:
单片机控制数码管显示,需要使用三个管脚控制,分别为A,B,C,当A为高电平时,B和C同时为低电平时,这时显示第一个数字;当B为高电平时,A和C同时为低电平时,这时显示第二个数字;当C为高电平时,A和B同时为低电平时,这时显示第三个数字。
实验步骤:
1. 设计电路:确定STC89C52RC控制四位数码管控制连接。
2. 安装软件:安装Keil uV5以及STC-ISP软件。
3. 编程:根据原理进行程序编写,编写完整的显示代码,实现任意数字的显示。
4. 烧录:将编写的程序通过STC-ISP软件烧录,然后重新启动单片机。
5. 测试:当烧写完成,四位数码管显示正确且稳定时,表示实验测试成功。
实验结果:
实验成功,STC89C52RC控制四位数码管显示正确且稳定。
实验结论:
实验证明,基于STC89C52RC芯片,通过编写程序,可以实现不同数字或字母在四位
数码管上的显示,达到定量和定性的要求。
led数码管 静态显示 电路
LED数码管及其在静态显示电路中的应用1. 介绍LED数码管的基本概念LED数码管是一种由发光二极管(LED)组成的数字显示器件,通常用于显示数字和少量特殊字符。
它们可以在各种设备中被发现,包括数字时钟、仪表盘和计算器等。
LED数码管通常由7段或14段LED组成,每个LED代表显示数字中的一个线条或段。
2. 静态显示电路的基本原理静态显示电路是指在不改变显示内容的情况下,通过给显示器件(如LED数码管)加电来显示一组固定的数字或字符。
在静态显示电路中,LED数码管的每个段由一个控制开关来控制,当控制开关打开时,相应的LED亮起,反之则灭。
3. LED数码管在静态显示电路中的连接方式在静态显示电路中,LED数码管的连接方式通常采用共阳或共阴的方式。
共阳接法是指LED数码管的阳极均接在一起,通过接通对应的阴极来控制显示内容。
而共阴接法则是LED数码管的阴极均接在一起,通过接通对应的阳极来控制显示内容。
4. 静态显示电路中的驱动电路设计静态显示电路需要配合驱动电路来实现稳定的显示效果。
驱动电路通常包括译码器、锁存器和显示数据输入端等部分,通过这些部件能够将外部输入的数字信号转换成LED数码管需要的控制信号,从而实现对LED数码管的静态显示。
5. 对LED数码管静态显示电路的个人理解和观点静态显示电路中LED数码管的应用非常广泛,不仅可以用于数字显示,还可以结合其他传感器等模块来实现更为复杂的功能。
在设计静态显示电路时,需要考虑电路的稳定性、功耗以及显示效果等因素,以确保显示效果的同时也保证电路的可靠性和稳定性。
6. 总结LED数码管在静态显示电路中的应用是一种常见且重要的应用场景。
通过合理的连接方式和驱动电路设计,能够实现稳定、清晰的数字显示效果,为各种电子设备的显示提供了便利和可靠性。
通过这篇文章的撰写,我对LED数码管在静态显示电路中的原理和应用有了更深入的了解。
希望这篇文章也能够帮助读者更好地理解LED数码管及其在静态显示电路中的应用。
LED显示器接口技术及实验
LED显示器接口技术及实验在单片机系统中,经常用LED(发光二极管)数码显示器来显示单片机系统的工作状态、运算结果等各种信息,LED数码显示器是单片机与人对话的一种重要输出设备。
16.1 LED数码显示器的构造及特点图16-1是LED数码显示器的构造。
它实际上是由8个发光二极管构成,其中7个发光二极管排列成“8”字形的笔画段,另一个发光二极管为圆点形状,安装在显示器的右下角作为小数点使用。
通过发光二极管亮暗的不同组合,从而可显示出0~9的阿拉伯数字符号以及其它能由这些笔画段构成的各种字符。
图16-1 LED数码显示器的构造LED数码显示器的内部结构共有两种不同形式,一种是共阳极显示器,其内部电路见图16-2,即8个发光二极管的正极全部连接在一起组成公共端,8个发光二极管的负极则各自独立引出。
另一种是共阴极显示器,其内部电路见图16-3,即8个发光二极管的负极全部连接在一起组成公共端,8个发光二极管的正极则各自独立引出。
图16-2 共阳极显示器内部电路图16-3 共阴极显示器内部电路LED数码显示器中的发光二极管共有两种连接方法:共阳极接法。
把发光二极管的阳极连在一起,使用时公共阳极接+5V,这时阴极接低电平的段发光二极管就导通点亮,而接高电平的则不点亮。
共阴极接法。
把发光二极管的阴极连在一起,使用时公共阴极接地,这时阳极接高电平的段发光二极管就导通点亮,而接低电平的则不点亮。
驱动电路中的限流电阻R,通常根据LED的工作电流计算而得到,R=(Vcc-Vled)/Iled。
式中,Vcc为电源电压(+5V),Vled为LED压降(一般取2V左右),Iled为工作电流(可取1~20mA)。
R通常取数百欧姆。
我们实验中使用的89C51单片机,其P0~P3口具有20mA的灌电流输出能力,因此可直接驱动共阳极的LED数码显示器。
为了显示数字或符号,要为LED数码显示器提供代码,因为这些代码是为显示字形的,因此称之为字形代码。
单片机驱动LED数码管电路及编程
单片机驱动LED数码管电路及编程单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路,我们从常用的LED显示原理开始,详尽讲解利用单片机驱动LED数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解I/O口的编程原理,意在起举一反三,抛砖引玉的作用。
左图为实验电路图,我们使用80C51单片机,电容C1、C2和CRY1组成时钟振荡电路,这部分基本无需调试,只要元件可靠即会正常起振。
C3和R1为单片机的复位电路,80C51的并行口P1.0-P1.7直接与LED数码管的a-f引脚相连,中间接上限流电阻R3-R10。
值得一提的是,80C51并行口的输出驱动电流并非很大,为使LED有足够的亮度,LED数码管应选用高亮度的器件。
此外,图中的80C51还可选用C51系列的其它单片机,只要它们的指令系统兼容C51即可正常运行,程序可直接移植,例如选用低价Flash型的AT89C1051或2051(详细技术手册)等,它们的ROM可反复擦写,非常适合作实验用途。
程序清单:01 START: ORG 0100H ;程序起始地址02 MAIN: MOV R0,#00H ;从“0”开始显示03 MOV DPTR,#TABLE ;表格地址送数据指针04 DISP: MOV A,R0 ;送显示05 MOVC A,@A+ADPTR ;指向表格地址06 MOV P1,A ;数据送LED07 ACALL DELAY ;延时08 INC R0 ;指向下一个字符09 CJNE R0,#0AH,DISP ;未显示完,继续10 AJMP MAIN ;下一个循环11 DELAY: MOV R1,#0FFH ;延时子程序,延时时间赋值12 LOOP0: MOV R2,#0FFH13 LOOP1: DJNZ R2,LOOP114 DJNZ R1,LOOP015 RET ;子程序返回16 TABLE: DB 0C0H ;字型码表17 DB 0F9H18 DB 0A4H19 DB 0B0H20 DB 99H21 DB 92H22 DB 82H23 DB 0F8H24 DB 80H25 DB 90H26 END ;程序结束。
实验一 实验一 并行接口实验-LED与数码管使用
3.2********** *** ***
4.实验总结
LED模块
八进制 3 态非反转透明锁存器-74HC573
1脚三态允许控制端低电平有效 1D~8D为数据输入端 1Q~8Q为数据输出端 74HC573引脚图
高性能硅门 CMOS 器件 当锁存使能端LE为高时,这些器件的锁存对 于数据是透明的(也就是说输出同
(1)通过单片机的P0口控制8个LED的流水灯实现学号显示;
实验内容:
(1)通过单片机的P0口控制8个LED的流水灯实现学号显 示; (2)要求实现至少3种流水效果切换,切换时间约5s; (3)通过P0口送不同的数字,实现单位数码管轮流显示 0-9数字的静态显示;
(4)通过P1口和P2送不同的数字,实现八位数码管轮流 显示0-9数字的动态显示,切换时间约1s;
实验一、并行接口实验-LED与数码管使用
实验目的:
ቤተ መጻሕፍቲ ባይዱ
(1)学习并行口做I/O口的使用方法; (2)学习从并行口输入、输出数据的程序设计方法; (3)学习发光二极管、八段数码管的驱动与动、静态显示方法。
实验要求:
(1)掌握I/O口的读写操作; (2)掌握发光二极管、八段数码管的工作原理与驱动电路设计; (3)掌握74573 八位锁存器的原理与使用方法。
(3)通过P0口送不同的数字,实现单位数码管轮流显示0-9 数字的静态显示;
(4)通过P0口和P2送不同的数字,实现八位数码管轮流显 示0-9数字的动态显示,切换时间约1s;
实验报告要求
1.实验目的 2.实验要求 3.实验内容
3.1*********
实验2LED数码管动态和静态显示实验
广东海洋大学学生实验报告书实验名称实验2 LED数码管动态和静态显示课程名称计算机控制技术系自动化系专业自动化班级1132 学生姓名袁明星/201311632223 实验地点科技楼403实验日期王波成绩指导教师一、设计目的:LED数码管动态和静态显示二、设计任务:1.LED数码管动态显示,动态扫描时间间隔可调;2.LED数码管静态显示,显示动态扫描时间间隔;三、操作流图:步骤:1.上排的三个数码管用静态扫描方式,显示动态扫描时间间隔;2.下排的6用数码管用动态扫描方式,显示时钟;3.一个独立的按键,每按一次,可增加动态扫描时间间隔四、实验要求:1、态度严谨,独立完成,勤于思考,善于总结;2、认真完成实验报告。
ORG 0000HAJMP STARTORG 0003HAJMP INT_0ORG 000BHAJMP INT_T0ORG 0030H START:MOV 30H,#0 ;秒MOV 31H,#0 ;分MOV 32H,#0 ;时MOV 33H,#1MOV SP,#40HSETB IT0MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HMOV IE,#83HSETB TR0MOV R0,#20V1: MOV A,33HMOV B,#100DIV ABMOV DPTR,#TABMOVC A,@A+DPTRMOV P3,#4FHMOV P2,AMOV A,BMOV B,#10DIV ABMOV DPTR,#TABMOVC A,@A+DPTRMOV P3,#2FHMOV P2,AMOV A,BMOV DPTR,#TABMOVC A,@A+DPTRMOV P3,#1FHMOV P2,AMOV A,30HMOV B,#10DIV ABMOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,#02H MOV P0,AACALL DELAY MOV A,BMOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,#01H MOV P0,AACALL DELAYMOV A,31HMOV B,#10DIV ABMOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,#08H MOV P0,AACALL DELAY MOV A,BMOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,#04H MOV P0,AACALL DELAYMOV A,32HMOV B,#10DIV ABMOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,#20H MOV P0,AACALL DELAY MOV A,BMOV DPTR,#TAB MOVC A,@A+DPTR MOV P1,#10H MOV P0,AACALL DELAYAJMP V1INT_T0:PUSH ACCDJNZ R0,NEXTMOV A,30HINC ACJNE A,#60,NEXT1MOV 30H,#0MOV A,31HINC ACJNE A,#60,NEXT2MOV 31H,#0MOV A,32HINC ACJNE A,#24,NEXT3MOV 32H,#0AJMP NEXT4NEXT1: MOV 30H,AAJMP NEXT4NEXT2: MOV 31H,AAJMP NEXT4NEXT3: MOV 32H,ANEXT4: MOV R0,#20 NEXT: MOV TH0,#3CHMOV TL0,#0B0HPOP ACCRETIINT_0: PUSH ACCMOV A,33HCJNE A,#100,NEXT01MOV 33H,#1AJMP NEXT0NEXT01:MOV B,#10MUL ABMOV 33H,ANEXT0: POP ACCRETIDELAY:MOV R7,33HDEL1: MOV R6,#4NOPDEL2: MOV R5,#123DEL3: DJNZ R5,DEL3DJNZ R6,DEL2DJNZ R7,DEL1RETTAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H END六、实验心得:通过实验,让我对这门课程有了更深入的了解。
PLC课程设计LED灯数码显示控制
P L C课程设计L E D灯数码显示控制The pony was revised in January 2021成绩可编程逻辑控制器课程设计报告题目 LED灯数码显示控制系别专业名称班级学号姓名指导教师目录一、引言 (6)二、系统总体方案设计 (6)2.1系统硬件配制及组成原理 (6)2.1.1 PLC各组成部件及作用 (6)2.1.2 PLC的分类 (8)2.1.3 LED数码管的结构及工作原理 (9)2.2系统变量定义及分配表 (10)2.3系统接线图设计......................................... 错误!未定义书签。
三、控制系统设计 (10)3.1控制程序设计思想 (10)3.2控制程序时序图设计 (11)四、系统调试及结果分析 (11)4.1系统调试及解决的问题 (11)4.2结果分析 (11)五、结束语.................................................... 错误!未定义书签。
六、参考文献 (11)附录 (12)LED数码显示控制一、实验目的了解并掌握LED数码显示控制中的应用及其编程方法。
二、控制要求按下启动按钮后,由八组LED发光二极管模拟的八段数码管开始显示:一一显示各段,之后一次显示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F再返回初始显示,并循环不止。
四、实验设备1、安装了STEP7-Micro/WIN32编程软件的计算机一台2、PC/PPI编程电缆一根3、锁紧导线苦干五、实验步骤1、根据上表进行输入输出接线;2、编写程序,并把程序输入STEP7中;3、检查输入程序无误以后,将程序下载到主机内,并且把PLC的工作模式达到RUN模式;4、拨动输入开关SD,观察输出LED的显示结果。
一、引言《可编程逻辑控制器》课程设计是该课程的一个重要教学环节,既有别于毕业设计,又不同于课堂教学。
LED数码管显示程序设计
选择合适的显示方式,如静态显示、动态显示等。
设计显示程序流程图
流程图设计
根据显示内容和方式,设计出相应的 程序流程图。
模块划分
将程序划分为不同的模块,以便于编 写和调试。
编写显示程序代码
代码编写
根据流程图,编写相应的程序代码。
代码优化
优化代码结构,提高程序执行效率。
调试与测试程序
调试
检查程序中是否存在错误或异常。
LED数码管显示程序设计
• LED数码管基础知识 • LED数码管显示程序设计基础 • LED数码管显示程序设计流程 • LED数码管显示程序设计实例 • LED数码管显示程序设计的常见问题
与解决方案 • LED数码管显示程序设计的未来发展
与展望
01
LED数码管基础知识
LED数码管简介
01
LED数码管是一种由多个LED发光 二极管组成的显示器件,通常用 于显示数字和某些字母。
编程语言
了解常用的编程语言,如 C语言、汇编语言等,以 便选择适合的编程语言进 行设计。
开发工具
了解常用的开发工具,如 编译器、调试器等,以便 选择适合的开发工具进行 设计。
LED数码管显示程序设计的编程语言基础
C语言基础
了解C语言的基本语法、数 据类型、控制结构等,以 便使用C语言进行程序设计。
数码管显示程序运行不稳定或出现错误
总结词
数码管显示程序运行不稳定或出现错误,可 能是由于硬件兼容性问题、程序代码错误或 系统资源不足等原因。
详细描述
检查硬件设备是否兼容,确保数码管与主控 制器等设备能够正常通信和协同工作。检查 程序代码中是否有逻辑错误或语法错误,导 致程序运行不稳定或出现错误。检查系统资 源是否充足,如内存、处理器等资源是否足
数码管的静态显示原理
数码管的静态显示原理
数码管是一种数字显示设备,它由多个LED发光二极管组成。
每个数码管由若干个LED发光二极管组成,可以显示数字0到9或其他符号。
数码管的静态显示原理是通过控制每个LED发光二极管的亮灭来组成数字或符号。
通常使用的是共阳数码管,即每个数码管的所有LED发光二极管的阳极都连接在一起,而各个LED发光二极管的阴极分别接在控制芯片的不同引脚上。
当要显示某个数字时,就需要先计算出各个LED发光二极管的亮灭状态。
例如,当要显示数字1时,需要亮两个LED发光二极管。
然后,根据计算得到的亮灭状态,控制芯片通过引脚输出相应的高低电平,从而控制LED的亮灭状态,实现静态显示。
总的来说,数码管的静态显示原理就是利用LED发光二极管的亮灭状态来显示数字或符号,实现数字显示功能。
课题四 数码管显示
图4-1 数码管显示实物图
任务一
LED数码管的静态显示
本任务就是将单片机与数码管接成图 4-2所示静态显示方式,编程实现数码管 每隔0.5s的0-9数字显示。
图4-2
数码管显示电路图
一、任务分析
所谓静态显示,就是当单片机某一端口输出 一组显示数据之后,该端口一直保持该数据输出, 维持数码管的显示数字,直到端口数据改变,又 保持显示下一数据的显示方式。 在具体电路连接上,将单片机一个端口的八 个端子接在一只数码管的八个引脚上(h端为小数 点),控制数码管的七段LED的亮或熄,显示器 出数字,这种显示控制方式就是静态显示。静态 显示电路连接特点是单片机端口的每一位与数码 管的一个端相连接,相当于单片机的一个引脚外 接一只发光二极管。
unsigned char dispcount; void delay02s(void) { unsigned char i,j,k; for(i=10;i>0;i--) for(j=200;j>0;j--) for(k=248;k>0;k--);} void main(void) { while(1) {for(dispcount=0;dispcount<8;dispcount++) { P0=tablewe[dispcount]; P1=tabledu[dispcount]; delay02s(); } } }
数码管段码表
表4-1 共阴数码管显示数字的段码表
段名称 dp g f e d c b a 对应段码
对应引脚
数字0 数字1 数字2 数字3 数字4 数字5 数字6 数字7 数字8
P1.7
0 0 0 0 0 0 0 0 0
P1.6
0 0 1 1 1 1 1 0 1
微机接口实验三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、根据LED数码管连接电路(电路中U1是74LS244作为段码驱动电路;U5和U4是SN75452,与非门,作为位选信号电路),编写实验程序,实现1位数码管的静态显示,要求:内容为0~9循环显示。
2、接线方案:
P10~P17/51单片机 接 a、b…dp/数码管;
P2.0~P2.3/51单片机 接 s1~s4/数码管。
单 片 机实验报告
通信工程系13班(2016年5月19日 )
姓名学号31130
实验题目:数码管静态显示实验
实验目的:
1.掌握8051单片机与七段LED数码管连接的设计方法;
2.掌握LED数码管静态显示的编程方法。
实验仪器:
51单片机、LED数码管
实验原理:
LED数码管静态显示的显示程序简单,显示亮度高,但所需的I/O端口较多,并且功耗较大。所以静态显示常用在显示位数较少的系统中。下表为共阴极LED数码管的段码表
实验步骤:
1.连接串行通信电缆盒电源线;
2.将C51单片机核心板上的三个开关分别拨到“独立”、”运行”“单片机”;
3.打开实验箱上的电源开关。
4.利用KeilC51创建实验程序,并进行编译生产后缀为.HEX的文件;
5.利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;
6.观察实验现象,并记录。若实验现象有误请重复第5、6步。
实验程序:
实验结果:
任课老师评语:
签名:__________
日期_____Leabharlann __月__
数码管动态显示和静态显示的原理
数码管动态显示和静态显示的原理
数码管动态显示和静态显示都使用LED数码管作为显示器件。
不同之处在于,动态显示是通过周期性地刷新数码管来实现显示效果,而静态显示则是通过直接将数码管接通电源来实现显示效果。
具体原理如下:
动态显示:在动态显示中,每个数码管都有一个独立的控制信号,也就是所谓的扫描信号。
控制信号的频率通常在几十赫兹到几千赫兹之间,可以忽略不计的频率,因为人眼无法分辨过于频繁的变化。
每次扫描信号到来时,只有一个数码管会被点亮,显示当前需要呈现的数字。
为了实现连续的数字显示,控制信号在所有数码管之间轮流切换,切换速度快到人眼无法察觉。
这就像是在快速地切换电影幻灯片,使得不同的图片连续呈现在眼前的感觉。
这种方法的好处是可以极大地减少需要的控制信号线的数量,实现简单而经济的数字显示。
静态显示:与动态显示相比,静态显示不需要扫描信号,也就不需要周期性地刷新数码管。
数字显示的实现过程更加简单直接,只需要将数字和相应的管脚连接即可。
尽管静态显示需要更多的针脚,但是它的显示效果更加稳定和清晰。
同时,它可以承载更多的信息,并且在视觉效果上更加炫酷。
总之,无论是使用动态显示还是静态显示,都在数码管的控制信号和显示电路之间建立了一条有用的桥梁,使得我们可以方便地将数字信息呈现给用户。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机汇编语言教程:23课:LED数码管静态显示接口与编程在单片机系统中,常常用LED数码数码管显示器来显示各种数字或符号。
由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
引言:还记得我们小时候玩的“火柴棒游戏”吗,几根火柴棒组合起来,能拼成各种各样的图形,LED数码管显示器实际上也是这么一个东西。
八段LED数码管显示器
<单片机静态显示接口>
八段LED数码管显示器由8个发光二极管组成。
基中7个长条形的发光管排列成“日”字形,另一个贺点形的发光管在数码管显示器的右下角作为显示小数点用,它能显示各种数字及部份英文字母。
LED数码管显示器有两种不一样的形式:一种是8个发光二极管的阳极都连在一起的,称之为共阳极LED数码管显示器;另一种是8个发光二极管的阴极都连在一起的,称之为共阴极LED数码管显示器。
如下图所示。
`
共阴和共阳结构的LED数码管显示器各笔划段名和安排位置是相同的。
当二极管导通时,对应的笔划段发亮,由发亮的笔划段组合而显示的各种字符。
8个笔划段hgfedcba对应于一个字节(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二进制码就能表示欲显示字符的字形代码。
例如,对于共阴LED数码管显示器,当公共阴极接地(为零电平),而阳极hgfedcba各段为0111011时,数码管显示器显示"P"字符,即对于共阴极LED数码管显示器,“P”字符的字形码是73H。
如果是共阳LED数码管显示器,公共阳极接高电平,显示“P”字符的字形代码应为10001100(8CH)。
这里必须注意的是:很多产品为方便接线,常不按规则的办法去对应字段与位的关系,这个时候字形码就必须根据接线来自行设计了,后面我们会给出一个例程。
在单片机应用系统中,数码管显示器显示常用两种办法:静态显示和动态扫描显示。
所谓静态显示,就是每一个数码管显示器都要占用单独的具有锁存功能的I/O接口用于笔划段字形代码。
这样单片机只要把要显示的字形代码发送到接口电路,就不用管它了,直到要显示新的数据时,再发送新的字形码,因此,使用这种办法单片机中CPU的开销小。
能供给单独锁存的I/O接口电路很多,这里以常用的串并转换电路74LS164为例,介绍一种常用静态显示电路,以使大家对静态显示有一定的了解。
MCS-51单片机串行口方式押为移们寄存器方式,外接6片74LS164作为6位LED数码管显示器的静态显示接口,把8031的RXD作为数据输出线,TXD作为移位时钟脉冲。
74LS164为TTL单向8位移位寄存器,可实现串行输入,并行输出。
其中A、B(第1、2脚)为串行数据输入端,2个管脚按逻辑与运算规律输入信号,公一个输入信号时可并接。
T(第8脚)为时钟输入端,可连接到串行口的TXD端。
每一个时钟信号的上升沿加到T 端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。
R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。
Q1…Q8(第3-6和10-13管脚)并行输出端分别接LED数码管显示器的hg---a各段对应的管脚上。
关于74LS164还能作如下的介绍:所谓时钟脉冲端,其实就是需要高、低、高、低的脉冲,不管这个脉冲是怎么来的,比如,我们用根电线,一端接T,一端用手拿着,分别接高电平、低电平,那也是给出时钟脉冲,在74LS164获得时钟脉冲的瞬间(再讲清楚点,是在脉冲的沿),如果数据输入端(第1,2管脚)是高电平,则就会有一个1进入到74LS164的内部,如果数据输入端是低电平,则就会有一个0进入其内部。
在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,然后再来一个脉冲会有什么发生呢?再来一个脉冲,第一个脉冲就会从最高位移出,就象车站排队买票,栏杆就那么长,要从后面进去一本人,前面必须要从前面走出去一本人才行。
搞清了这一点,下面让我们来看电路,6片7LS164首尾相串,而时钟端则接在一起,这样,当输入8个脉冲时,从单片机RXD端输出的数据就进入到了第一片74LS164中了,而当第二个8个脉冲到来后,这个数据就进入了第二片74LS164,而新的数据则进入了第一片74LS164,这样,当第六个8个脉冲完成后,首次送出的数据被送到了最左面的164中,其他数据依次出现在第一、二、三、四、五片74LS164中。
有个问题,在第一个脉冲到来时,除了第一片74LS164中接收数据外,其他各片在干吗呢?它们也在接收数据,因为它们的时钟端都是被接在一起的,可是数据还没有送到其他各片呢,它们在接收什么数据呢?。
其实所谓数据不过是一种说法而已,实际就是电平的高低,当第一个脉冲到来时,第一片164固然是从单片机接收数据了,而其它各片也接到前一片的Q8上,而Q8是一根电线,在数字电路中它只可能有两种状态:低电平或高电平,也就是“0”和“1”。
所以它的下一片74LS164也相当于是在接收数据啊。
只是接收的全部是0或1而已。
这个问题放在这儿说明,可能有朋友不屑一顾,而有的朋友可能还是不清楚,这实际上涉及到数的本质的问题,如果不懂的,请仔细思考,并找一些数字电路的数,理解164的工作原理,再来看这个问题,或者去看看我的另一篇文章《27课:关于单片机的一些基本概念》的文章。
务必搞懂,搞懂了这一点,你的级别就高过开始学习者,可谓入门者了。
入口:把要显示的数分别放在显示缓冲区60H-65H共6个单元中,并且分别对应各个数码管LED0-LED5。
出口:将预置在显示缓冲区中的6个数成对应的显示字形码,然后输出到数码管显示器中显示。
单片机led显示程序如下:
DISP: MOV SCON,#00H ;初始化串行口方式0
MOV R1,#06H ;显示6位数
MOV R0,#65H ;60H-65H为显示缓冲区
MOV DPTR,#SEGTAB ;字形表的入口地址
LOOP:
MOV A,@R0 ;取最高位的待显示数据
MOVC A,@A+DPTR ;查表获取字形码
MOV SBUF,A ;送串行口显示
DELAY: JNB TI,DELAY ;等待发送完毕
CLR TI ;清发送标志
DEC R0 ;指针下移一位,准备取下一个待显示数
DJNZ R1,LOOP ;直到6个数据全显示完。
RET
SETTAB: ;字形表,前面有介绍,以后我们再介绍字形表的制作。
DB 03H 9FH 27H 0DH 99H 49H 41H 1FH 01H 09H 0FFH
; 0 1 2 3 4 5 6 7 8 9 消隐码
单片机显示测试用主程序
ORG 0000H
AJMP START
ORG 30H
START: MOV SP,#6FH
MOV 65H,#0
MOV 64H,#1
MOV 63H,#2
MOV 62H,#3
MOV 61H,#4
MOV 60H,#5
LCALL DISP
SJMP $
如果按图示数码管排列,则以上主程序将显示的是543210,想想看,如果要显示012345该怎样送数?
下面我们来分析一下字形表的制作问题。
先就上述“标准”的图形来看吧。
写出数据位和字形的对应关系并列一个表如下(设为共阳型,也就是对应的输出位为0时笔段亮)
如何,字形表会做了吧,就是这样列个表格,根据要求(0亮或1亮)写出对应位的0和1,就成了。
做个练习,写出A-F的字形码吧。
如果为了接线方便而打乱了接线的次序,那么字形表又该如何接呢?也很简单,一样地列表啊。
以新实验板为例,共阳型。
接线如下:
P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
C E H
D G F A B
则字形码如下所示:
;0 00101000 28H
;1 01111110 7EH
;2 10100100 0A4H
;3 01100100 64H
;4 01110010 72H
;5 01100001 61H
;6 00100001 21H
;7 01111100 7CH
;8 00100000 20H
;9 01100000 60H。