LED数码管静态显示
- 格式:doc
- 大小:22.00 KB
- 文档页数:1
实验项目四 LED数码管静态显示电路的设计与仿真[实验目的]1.掌握LED数码管编码方法2.掌握LED数码管静态显示电路的设计3.掌握对LED数码管静态显示的控制方法[实验原理][实验仪器]PC机一台[Proteus用到器件的关键词]单片机(at89c52)、数码管(7seg-com-cathode)、排阻(respack-7)[实验内容与步骤]1.用Proteus软件设计出LED数码管显示电路原理图。
2.由于单片机P0口内部无上拉电阻,故使用时要外接上拉电阻,阻值为10KΩ。
3.用Keil编写程序让第二个数码管从0显示到F,然后再让从0开始显示;每当第二个数码管显示到F后,第一个数码管显示值加1一次,最后调试程序、编译后生成HEX文件。
4.将HEX文件装载到MCU AT89C52中,单击Start按钮开始动态仿真。
[实验数据记录];******两位数码管静态显示程序*******;ORG 0000HLJMP MAINORG 0050H MAIN: MOV R3,#0MOV P0,#3FHLP2: MOV DPTR,#0200H LP1: MOVC A,@A+DPTRMOV P2,ALCALL DELAYMOV R2,ACLR AINC DPTRCJNE R2,#6FH,LP1INC R3MOV DPL,R3MOVC A,@A+DPTRMOV P0,ACLR ACJNE R3,#10,LP2AJMP MAIN DELAY: MOV R0,#0FFHDL2: MOV R1,#0FFHDL1: NOPNOPNOPDJNZ R1,DL1DJNZ R0,DL2RETORG 0200HTAB: DB 3FH;0 DB 06H;1 DB 5BH;2 DB 4FH;3 DB 66H;4 DB 6DH;5 DB 7DH;6 DB 07H;7 DB 7FH;8 DB 6FH;9END[实验数据处理][实验结果及讨论]。
简要描述数码管的静态显示方式和动态显示方式数码管是一种常见的数字显示器件,它由多个发光二极管组成。
数码管广泛应用于各种仪器、仪表以及数码钟表等领域,方便人们对数字进行直观的观察。
数码管的显示方式可以分为静态显示和动态显示两种。
一、静态显示方式:静态显示方式是指在任意时刻,只有某一个数码管被点亮,显示对应的数字。
在静态显示模式下,每个数码管都有一个对应的驱动电路,通过给驱动电路加电来点亮相应的数码管。
这种方式显示的数字清晰、稳定,但相对来说比较耗能。
静态显示常用于对显示要求较高、静止不动的场合。
二、动态显示方式:动态显示方式是指通过快速切换多个数码管的点亮状态来显示一个完整的数字。
通常一次只有一个数码管被点亮,然后迅速关闭,接着点亮下一个数码管,如此循环往复,以达到显示多个数字的目的。
动态显示通过控制每个数码管点亮的时间片段,用肉眼看到的是所有数字都在不断刷新,形成一个连续的显示效果。
动态显示方式能够节省能源,适用于显示频繁切换的场合。
动态显示方式还可以分为多路复用和直接显示两种。
1. 多路复用动态显示方式:多路复用动态显示方式是指通过在每一个时间片段内,依次对每个数码管进行点亮,以形成数字的显示效果。
在每个时间片段内,通过给对应的驱动电路加电,在该时间段内点亮对应的数字。
通过快速地在不同的时间片段内切换数码管的点亮状态,人眼可以看到所有数字的完整显示。
这种方式能够降低驱动电路的复杂度,适用于需要显示较多位数的场合。
2. 直接显示动态显示方式:直接显示动态显示方式是指通过在每一个时间片段内,同时点亮多个数码管,以形成数字的显示效果。
在每个时间片段内,通过给对应的驱动电路加电,在该时间段内点亮多个数码管。
通过快速地在不同的时间片段内切换多个数码管的点亮状态,人眼可以看到所有数字的完整显示。
这种方式增加了驱动电路的复杂度,但能够提高数字的亮度,适用于需要显示较亮的数字的场合。
总结:数码管的静态显示方式和动态显示方式各有特点,适用于不同的场合。
静态数码管显示1.实验目的学习7段数码显示译码器的设计,进一步了解、熟悉和掌握FPGA开发软件的使用方法及VHDL的编程方法。
2.实验内容试验箱上有2个4位动态共阳数码管。
其中8个位码DIG0-DIG7和8位段码SEG0-SEG7分别与FPGA相应的引脚相连。
这样,只要DIG0-DIG7上一直输出低电平“0”,则8个数码管将显示相同的数码(因为8个LED数码管的段码线分别接上了同引脚上),这样8位动态LED数码管就变成了静态LED。
本实验的内容是建立7段译码显示模块,用于控制LED数码管的静态显示。
要求在实验箱上的数码管依次显示0-9和A-F这16个字符。
3.实验原理数码管LED显示是工程项目中使用较广的一种输出显示器件。
常见的数码管有共阴和共阳2钟。
共阴数码管是将8个发光二极管的阴极连接在一起作为公共端,而共阳数码管是将8个发光二极管的阳极连接在一起作为公共端。
公共端常称为位码,而将其他8位称为段码。
本实验通过七段译码模块译码后在数码管上显示出来。
4.实验步骤(1)启动Xilinx ISE,新建项目并命名为sled(2)分别新建VHDL源程序文件并命名为int_div、count、decl7s,输入程序代码并保存(完整的VHDL程序参考实验参考程序),进行综合编译,若在编译过程中发现错误,则找到并更正错误,直至编译成功为止。
(3)从VHDL源程序文件,创建模块符号文件。
(4)新建顶层模块原理图文件sledtop,分别将模块int_div、count、decl7s添加到原理图中,将各个模块连接起来,添加输入、输出引脚,给引脚命名并保存。
完整的原理图如下所示(5)分配FPGA引脚,设置方法如下信号引脚信号引脚信号引脚信号引脚信号引脚Seg[0] 52 Seg[4] 77 Dig[0] 81 Dig[4] 43 clkin 128Seg[1] 75 Seg[5] 54 Dig[1] 85 Dig[5] 74Seg[2] 58 Seg[6] 53 Dig[2] 83 Dig[6] 59Seg[3] 76 Seg[7] 66 Dig[3] 82 Dig[7] 51(6)对该项目文件进行全程编译处理,若在编译过程中发现错误,则找出并更正错误,直至编译成功为止。
实验三 静态数码管显示一.实验目的 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个数。
数码管静态显示和动态显示原理数码管是一种常见的显示设备,它由多个发光二极管(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.位数切换在时分复用中,需要对每个数码管进行位数的切换,以显示对应的数字。
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。
数码管的显示方式有两种:静态显示和动态显示。
1.静态显示方式。
所谓静态显示就是指无论是多少位数码管,同时处于显示状态。
如图2.19所示。
图2.19 4个共阳极数数码管静态显示时的连接方式与显示状态当单片机系统中使用静态数码管显示时,需要在每一个数码管上添加一个锁存器,当需要某个数码管显示其他内容时,只需要修改与其相连的锁存器的值即可。
由图2.19中可以看出,当数码管处于静态显示方式时,所有位选线(数码管的公共端)连接在一起,而各个数码管的段选线(数码管上各笔段的引出线)是相互分离的。
静态显示的优点是:数码管显示无闪烁,亮度高,软件控制比较容易;缺点是:需要的硬件电路较多(每一个数码管都需要一个锁存器),如果在全国大学生电子设计竞赛中使用,将造成很大的不便,同时由于所有数码管都处于被点亮状态,所以需要的电流很大,当数码管的数量增多时,对电源的要求也就随之增高。
所以,在大部分的硬件电路设计中,很少采用静态显示方式。
2.动态显示方式。
所谓动态显示,是指无论在任何时刻只有一个数码管处于显示状态,每个数码管轮流显示。
如图2.20所示。
图2.20 4个共阴极数码管动态显示时的连接方式与显示状态由图2.20中可以看出,当数码管处于动态显示时,所有位选线分离,而每个数码管的各条段选线相连。
当需要显示数字或字符时,需要将所有数码管轮流点亮,这时对每个数码管的点亮周期有了一个较严格的要求:由于发光体从通入电流开始点亮到完全发光需要一定的时间,叫做响应时间,这个时间对于不同的发光材质是不同的,通常情况下为几百微秒,所以数码管的刷新周期(所有数码管被轮流点亮一次的时间)不要过短,这也与数码管的数量有关,一般的数码管的刷新周期应控制在5ms~10ms,即刷新率为200Hz~100Hz,这样既保证了数码管每一次刷新都被完全点亮,同时又不会产生闪烁现象。
动态显示的优点是:硬件电路简单(数码管越多,这个优势越明显),由于每个时刻只有一个数码管被点亮,所以所有数码管消耗的电流较小;缺点是:数码管亮度不如静态显示时的亮度高,例如有8个数码管,以1秒为单位,每个数码管点亮的时间只有1/8秒,所以亮度较低;如果刷新率较低,会出现闪烁现象;如果数码管直接与单片机连接,软件控制上会比较麻烦等。
单片机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数码管及其在静态显示电路中的应用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数码管及其在静态显示电路中的应用。
一、实训目的通过本次实训,掌握数码管的基本工作原理,学习如何使用51单片机控制数码管进行静态显示,并了解静态显示的优缺点及在实际应用中的注意事项。
二、实训原理数码管是一种常用的显示器件,由多个发光二极管(LED)组成。
根据连接方式的不同,数码管可分为共阴极和共阳极两种类型。
共阴极数码管的段码共用负极,高电平点亮;共阳极数码管的段码共用正极,低电平点亮。
静态显示是指每个数码管的每个段码都由单片机的I/O口进行驱动,或使用BCD码二-十进位转换器进行驱动。
静态显示的优点是编程简单,显示亮度高,但缺点是占用I/O口多。
三、实训步骤1. 硬件连接:- 将共阴极数码管的段码(a-g、dp)连接到单片机的P0口。
- 将数码管的共阴极连接到单片机的GND。
- 将数码管的正极连接到单片机的VCC。
2. 软件设计:- 编写程序,定义数码管显示数字的字形码。
- 使用循环语句控制数码管依次显示0~9的数字。
- 使用延时函数实现数字显示的切换。
3. 程序代码:```c#include <reg51.h>// 定义数码管字形码,共阴极unsigned char code digit_code[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};void delay(unsigned int ms) {unsigned int i, j;for (i = ms; i > 0; i--)for (j = 110; j > 0; j--);}void main() {unsigned char i;while (1) {for (i = 0; i < 10; i++) {P0 = digit_code[i]; // 显示数字delay(500); // 延时}}}```4. 测试与调试:- 将程序烧录到单片机中。
- 连接数码管,观察数码管是否能够依次显示0~9的数字。
广东海洋大学学生实验报告书实验名称实验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六、实验心得:通过实验,让我对这门课程有了更深入的了解。
数码管静态显示实验,单片机实验报告数码管静态显示实验一.实验目的 1.熟悉数码管的功能和使用。
2.熟悉延时子程序的编写和使用。
3.初步熟悉单片机软硬件设计方法。
二.实验仪器计算机、Keil 编程环境、普中下载软件、单片机开发实验仪。
三.实验原理与内容P0 口做输出口,接一个共阳极数码管,要求循环显示。
共阳极数码管字形表(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,-共17 个字形码)0C0H,0FCH,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0 A1H,86H,8EH,0BFH。
四 . 实验线路及原理五 . 注意事项1.安装实验仪时,先接通讯串口线,再开电源开关。
2.实验过程中,在进行接插线操作时,必须先关闭电源。
六 . 实验步骤1、主机连线说明:JP10 单片机0 P0 口(8 8 位)JP3 共阳极数码管七 . 实验步骤2.打开 Keil 编程软件编写程序,并进行汇编产生HEX 文件。
(1)流程图(2)汇编源程序ORG 00H LJMP MAIN ;初始位置直接跳转MAIN 主程序START; MOV R2,#0 ;赋值R2=0 MOV R5,#17;赋值 R5=17 MAIN: MOV DPTR,#TAB;将 TAB 地址传送给数据指针MOV A,R2 ;赋值累加器 A=0 MOVC A,@A+DPTR;将数组第 A+1 的数据赋值 A MOV P0,A ;赋值 P0 数据的数据INC R2 ;R2 加一LCALL DELAY ;调用延时子程序DJNZ R5,MAIN ;R5 减一不为0 跳转主程序MAIN JMP START ;跳转 START RET DELAY: MOV R0,#5 ;延时子程序DL2: MOV R7,#200 DL1: MOV R6,#250DJNZ R6,$ DJNZ R7,DL1 DJNZ R0,DL2 TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0 A1H,86H,8EH, END (1) C 语言源程序#include #define uint unsigned int Uint table [ ]= (0xC0,0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E, 0xBF )Void delay (int z) { int x,y; for (x=z;x>0;x--) for (y=100;y>0;i++) } Void main ( ) {int i ;While (1) {for (i=0;i<17;i++) { P0=table [i]; delay (1000) // 延时 } } } 3.点击普中下载软件,检查设置是否正确,然后下载到实验仪的单片机中。
数码管动态显示和静态显示的原理
数码管动态显示和静态显示都使用LED数码管作为显示器件。
不同之处在于,动态显示是通过周期性地刷新数码管来实现显示效果,而静态显示则是通过直接将数码管接通电源来实现显示效果。
具体原理如下:
动态显示:在动态显示中,每个数码管都有一个独立的控制信号,也就是所谓的扫描信号。
控制信号的频率通常在几十赫兹到几千赫兹之间,可以忽略不计的频率,因为人眼无法分辨过于频繁的变化。
每次扫描信号到来时,只有一个数码管会被点亮,显示当前需要呈现的数字。
为了实现连续的数字显示,控制信号在所有数码管之间轮流切换,切换速度快到人眼无法察觉。
这就像是在快速地切换电影幻灯片,使得不同的图片连续呈现在眼前的感觉。
这种方法的好处是可以极大地减少需要的控制信号线的数量,实现简单而经济的数字显示。
静态显示:与动态显示相比,静态显示不需要扫描信号,也就不需要周期性地刷新数码管。
数字显示的实现过程更加简单直接,只需要将数字和相应的管脚连接即可。
尽管静态显示需要更多的针脚,但是它的显示效果更加稳定和清晰。
同时,它可以承载更多的信息,并且在视觉效果上更加炫酷。
总之,无论是使用动态显示还是静态显示,都在数码管的控制信号和显示电路之间建立了一条有用的桥梁,使得我们可以方便地将数字信息呈现给用户。