数码管驱动与程序设计

合集下载

02实验二:数码管动态显示程序设计25页PPT

02实验二:数码管动态显示程序设计25页PPT
(P195 表10-2)
八段LED段码表
10.1.2 LED显示器工作原理
1、LED静态显示方式
LED显示器工作于静态显示方式时,各位的共阴 极(或共阳极)连接在一起,每位的段码线分别与1 个8位的锁存器输出相连。之所以称为静态显示,是 因为各个LED的显示字符一经确定,相应锁存器锁存 的段码输出将维持不变,直到送入另一个字符的段码 为止。正因为如此,静态显示的亮度都较高。
dp g f …… a 低电平点亮
dp g f e d c b a
f
a g
b
高电平点亮 dp g f …… a
ed
c dp
公共阴极
接地
思考:如果要在8段显示器上显示P. ,那么共阳极 和共阴极段码分别是什么?
共阳极段码是:0CH ;共阴极段码是:F3H
字符 字形
共阳 共阴
理论上,八段可以 显示128种不同的字符, 扣除其中没有意义的组 合状态后,八段LED显示 器可以显示的字符如表 所示。
动态显示:
各显示器在显示过程中轮流得到送显信号,与各显示器接口 的I/O口线是共用的。
静态显示特点:
无闪烁,无须扫描,节省CPU时间,编程简单,用元器件多, 占I/O线多。
动态显示特点:
用元器件少,占I/O线少,有闪烁,必须扫描,花费CPU时间, 编程复杂。(有多个LED时尤为突出)
动态显示中延时时间的选择
各显示器在显示过程中轮流得到送显信号与各显示器接口动态显示中延时时间的选择动态显示中延时时间的选择在动态显示方式中各led显示器轮流工作为了防止产生闪烁现象每个led数码管刷新频率必须大于25hz即相邻两次点亮的时间间隔要小于40msled显示器的位数越多每一位的显示时间越短在驱动电流一定的情况下亮度越低正因如此在动态led显示电路中要适当增大驱动电流一般取20ma35ma正常情况下的工作电流一般在1020ma之间以抵消因显示时间短造成亮度下降

LED显示程序设计实验

LED显示程序设计实验

实验二LED数码管驱动显示程序实验一、实验目的1、初步学习和了解VHDL语言编程方式2、学习和掌握七段数码显示译码器的设计方法3、学习和掌握VHDL的多层设计方法二、实验要求1、根据硬件设计的思维方式,编制LED七段码的显示程序2、要求是一位LED以定位方式显示3、完成LED七段码波形分析的显示功能4、在EDA实验箱上按要求显示三、实验设备1、计算机一台2、EDA——Ⅳ实验箱一台四、实验原理1、七段码是用一种纯组合的逻辑电路,通常是用小型专用的IC门电路组成,数字输入与输出表达均未16进制,处理一般较复杂,而用FPGA/CPLD来实现较为简单。

2、七段码输入与输出的原理与真值表关系。

(a)输入:七段码输入为四个输入信号,用来表示为“0000”到“1111”,即表示为十六进制的“0”到“F”。

(b)输出:七段码输出为七个输出信号,分别用“A、B、C、D、E、F、G”七个符号来表示。

一般规定,输出信号为“1”时,它所控制的发光二极管为点亮状态,输出信号为“0”时,它所控制的发光二极管为熄灭状。

本实验使用的七段数码管为共阴极组,其电路如图2.1所示。

图2.1 共阴极数码管及其电路(c)输入与输关系为四位二进制代码组成十六进制代码,将其代码显示,其对应关系如表2.1所示。

(d)显示方式是通过选位的方式进行,是将FPGA/CPLD的三位二进制的信号输出,通过外部三——八译码器硬件电路,选中一路LED信号为输出,故选择一位LED数码管显示,本实验是采取选相应的一个指定位置进行LED显示。

3、输入是通过外部的四个按键操作而组成一位十六进制。

其连接到FPGA/CPLD的对应的引脚上,需进行引脚分配。

4、编写译码程序,生成底层组件,组合成底层文件。

表2-1 七段字符显示真值表五、实验步骤1、 在D 盘建立自己的文件目录,D: \ EX \ Z04** \ you*\ex*;2、 在Max+Pluse Ⅱ的界面下,自己的文件目录下,建立项目文件 File \ Project \ 文件名A ;3、 在自己的文件目录下,建立文本文件 File \ New \ 文件名B.vhd ;4、 保存此文件并划归到项目文件内, File \ Project \ Set Project current File ,其中文本文件名B 必须和实体名一致;5、 输入程序,保存文件“文件名B.vhd ”,File \ Save As “文件名B.vhd ”(注意后缀,如保存默认文件名时,其后缀通常为“*.tdf ”文件,必须删除后缀为“*.tdf ”文件名;6、 单击编译器快捷方式按钮,对文本文件进行编译,观察是否有原则错误;7、 如有修改则修改程序中错误,若无错误则可做以下工作; 8、 建立底层器件的封装,File \ Create Default Symbol ;9、 建立图形文件,File \ New \ 文件名C.gdf 并化归到项目内。

51单片机数码管0到99循环程序代码

51单片机数码管0到99循环程序代码

51单片机数码管0到99循环程序代码1. 概述在嵌入式系统的开发中,数码管是一种常见的输出设备,可以用于显示数字、字符等信息。

而51单片机是一种广泛应用的微控制器,其结合了强大的功能和灵活的应用,能够很好地驱动数码管。

本文将介绍如何使用51单片机编写一个循环显示0到99的程序,通过数码管输出这些数字。

2. 电路连接我们需要连接51单片机和数码管。

通常我们使用的是共阴数码管,其连接方式如下:- VCC连接到5V电源- GND连接到GND- DIO(数据输入/输出)连接到51单片机的IO口3. 程序设计下面是一个简单的C语言程序设计,用于控制数码管显示0到99的数字。

```c#include <reg51.h>sbit DIO = P2^0; // 数码管数据输入/输出sbit CL = P2^1; // 数码管片选信号unsigned char code numCode[10] = { 0xc0, // 00xf9, // 10xa4, // 20xb0, // 30x99, // 40x92, // 50x82, // 60xf8, // 70x80, // 80x90 // 9};//延时函数void delay(unsigned int i) {unsigned int j,k;for (j=i;j>0;j--)for(k=110;k>0;k--);}void display(unsigned char num) { CL = 1; //关闭片选DIO = numCode[num / 10]; //十位 delay(2);CL = 0;DIO = 0xff; //消隐delay(2);CL = 1; //关闭片选DIO = numCode[num 10]; //个位 delay(2);CL = 0;DIO = 0xff; //消隐delay(2);}void m本人n() {unsigned char i,j;while(1) {for(i=0;i<10;i++) {for(j=0;j<10;j++) {display(i * 10 + j);}}}}```4. 程序说明- 首先定义了数码管的连接引脚,以及0~9的显示编码。

七段数码管驱动电路设计

七段数码管驱动电路设计

七段数码管驱动电路设计说起这七段数码管驱动电路设计,咱们得先来聊聊它是个啥宝贝。

想象一下,那些电子钟、计算器上闪烁的数字,还有咱们游戏机上计分用的那些酷炫数字,它们背后可都离不开这七段数码管的默默付出。

今儿个,咱们就来手把手,用大白话聊聊怎么给这七段数码管搭个温馨的小窝,让它能在咱的电路世界里大放异彩。

一、初探七段数码管首先,咱们得认识这位主角——七段数码管。

它呀,就像是个简约版的霓虹灯,由七条线段(a到g)和一个小数点组成,通过不同的组合,能显示出0到9这十个数字,外加一些简单的字符。

想象一下,这七条线段就像是小朋友手里的画笔,一笔一划地勾勒出数字的模样,多有趣!1.1 挑选合适的数码管挑数码管,得看看它是共阳极的还是共阴极的。

这就像选房子,有的房子阳台朝南采光好(共阳极),有的则朝北凉爽些(共阴极)。

选对了,后续设计才省心。

1.2 理解工作原理数码管工作的秘密在于电流。

咱们通过控制哪些线段通电,哪些不通电,来“画”出不同的数字。

这就像是在玩灯光秀,开灯关灯之间,数字就活灵活现地出现了。

二、设计驱动电路接下来,就是给数码管找个好搭档——驱动电路。

这就像是给数码管找了个司机,告诉它啥时候该亮,啥时候该暗。

2.1 选择驱动芯片市面上有好多驱动芯片,比如74HC595、TM1637等,它们就像是不同类型的汽车,有的省油(功耗低),有的跑得快(驱动能力强)。

咱们得根据实际需求,挑个最合适的。

2.2 搭建电路框架搭电路就像搭积木,把电源、驱动芯片、数码管还有必要的电阻电容按规矩摆好。

电源是心脏,驱动芯片是大脑,数码管是显示屏,电阻电容则是调节器,保证电路稳定运行。

2.3 编程控制电路搭好了,还得给它编个程序,告诉它怎么工作。

这就像是在教小朋友跳舞,一步步指导它怎么迈步、转身。

编程时,咱们得设定好每个数字对应的线段组合,让数码管能按咱们的意愿显示。

三、调试与优化电路搭完,程序编好,接下来就是见证奇迹的时刻了。

51单片机数码管显示程序设计

51单片机数码管显示程序设计

练习3主程序参考:
ORG 0000H LJMP START ORG 000BH LJMP T0SERV ;T0中断入口 ORG 0030H START: MOV SP,#50H ;初始化堆栈 LCALL INIT ;初始化 MOV DISBUF,#0 MOV DISBUF+1,#1 MOV DISBUF+2,#2 MOV DISBUF+3,#3 MOV DISBUF+4,#4 MOV DISBUF+5,#0 MOV FLASH,#11000000B MOV R0,#0 LOOP: MOV DISBUF+5,R0 LCALL DELAY INC R0 CJNE R0,#10,LOOP MOV R0,#0 AJMP LOOP
恢复现场
返回
动态显示参考程序1:定义变量
;--------------------------------------------------------;动态显示程序 ;--------------------------------------------------------;全局变量定义 FLAG EQU 20H ;标志位 DISSEG EQU P0 ;显示段驱动 DISBIT EQU P2 ;显示位驱动P2.7-P2.2 DISBUF EQU 21H ;显示缓冲区首地址21H-26H DISBITBUF EQU 27H ;当前显示位计数器0-5 FLASH EQU 28H ;闪烁控制xxxxxx00,将x=1闪烁,=0不闪 ;小数点的处理: ;若显示‘3’,缓冲区放‘3’,若显示‘3.’,缓冲区放‘3+80H’, 最高位为1 S_PULSE EQU FLAG.0 ;秒脉冲 CNT_2D5MS EQU 2FH ;2.5MS计数器 CNT_10MS1 EQU 30H ;10MS计数器 CN_0D5S EQU 31H ;0.5秒计数器 ;----------------------------------------------------------

七段数码管显示控制程序设计

七段数码管显示控制程序设计
数码管G段
P、B、E、F、2、3、4、5、6、8、9
网络68为停止程序。
网络69为复位程序。将M.0至M7.7全部复位。
寄存器如表4所示:
表4 对应寄存器表
P
M2.3、M6.1
L
M2.5、M6.3
C
M2.7、M6.5
B
M3.1、M6.7
E
M3.3、M7.1
F
M3.5、M7.3
1
M0.1、M5.7
2
M0.3、M5.5
(2),具体所建数据如图4所示:
图4 数据字典
(3)通信关联
关联方式如图5所示:
图5 通信关联
4.联合调试
当PLC运行的时候,打开组态王监控界面。通过虚拟界面实现对PLC的控制,图5和图6、7分别表示当PLC 启动、停止和复位,PLC与虚拟界面状态显示图。
图5 启动画面
2.硬件电路的设计
2.1I/O地址分配
根据课设要求,由于只是利用PLC控制数码管显示,所以在输入模块设计中只需要设计三个输入量,及启动、停止、复位,分别用I0.0、I0.1、I0.2表示,具体的输入模块分配表1所示。
表1 输入模块分配表
输入点
作用
I0.0
启动
I0.1
停止
I0.2
复位
根据课设要求,是在数码管上显示“1、2、3、4、5、6、7、8、9、P、L、C、B、E、F、9、8、7、6、5、4、3、2、1、P、L、C、B、E、F”,由于数码管是由七段LED灯控制,所以输出模块采用七个输出控制,具体分配如表2所示。
根据本次实验要求,程序流程图如图2所示:


图2 程序流程图
3.2PLC程序设计

组合电路——7段数码管显示驱动电路设计报告

组合电路——7段数码管显示驱动电路设计报告

实验一、组合电路——7段数码管显示驱动电路设计一、实验目的了解EDA实验箱7位八段数码管显示模块的工作原理,设计标准扫描驱动电路模块,以备后面实验用。

二、硬件要求主芯片为Cyclone V E,型号为EP4CE22F17C8,7位八段数码管显示器,四位拨码开关。

三、实验内容用四位拨码开关产生8421BCD码,用CPLD分别产生7段数码管扫描驱动电路,然后进行仿真,观察波形,正确后编程下载实验测试。

四、实验原理1、72、动信号a,b,c,d,e,f,g。

通过调节四位拨码开关的状态,数码管应显示与之对应的字符。

五、实验连线输入:将芯片管角a0~a3分别接4个拨码开关;输出:将芯片管角led7s0~7分别接到数码管7段驱动信号a、b、c、d、e、f、g上。

六、实验源程序:decl7s.vhdlibrary ieee;use ieee.std_logic_1164.all;entity decl7s isport(a:in std_logic_vector(3 downto 0);led7s:out std_logic_vector(6 downto 0));end;architecture one of decl7s isbeginprocess(a)begincase a iswhen "0000" => led7s<="0111111"; when "0001" => led7s<="0000110"; when "0010" => led7s<="1011011"; when "0011" => led7s<="1001111"; when "0100" => led7s<="1100110"; when "0101" => led7s<="1101101"; when "0110" => led7s<="1111101"; when "0111" => led7s<="0000111"; when "1000" => led7s<="1111111"; when "1001" => led7s<="1101111"; when "1010" => led7s<="1110111"; when "1011" => led7s<="1111100"; when "1100" => led7s<="0111001"; when "1101" => led7s<="1011110"; when "1110" => led7s<="1111001"; when "1111" => led7s<="1110001"; when others => null;end case;end process;end;七、波形仿真结果。

数码管动态延时程序设计

数码管动态延时程序设计

数码管动态延时程序设计【原创版】目录一、引言二、数码管动态显示原理1.动态显示概念2.数码管显示原理三、延时程序设计1.延时程序作用2.延时时间长短对显示效果的影响四、51 单片机控制数码管动态实现 00 到 231.程序包含头文件2.定义符号和变量3.延时函数 t0isr()4.动态显示数码管函数5.主函数五、定时器控制数码管动态显示实例1.程序包含头文件2.定义符号和变量3.延时函数4.动态显示数码管函数5.主函数六、结论正文一、引言数码管动态显示程序设计是单片机应用领域的一个重要课题。

在很多场合,我们需要对数码管进行动态显示,以实时反映数据的变化。

为了实现这一功能,我们需要编写相应的程序,并通过延时程序控制数码管的显示效果。

本文将详细介绍数码管动态显示的原理及程序设计方法。

二、数码管动态显示原理1.动态显示概念动态显示是指在数码管上逐个显示数字或字符,以形成视觉暂留效果。

与静态显示相比,动态显示能够实时反映数据的变化,更具有实用性。

2.数码管显示原理数码管是一种常用的显示器件,其工作原理是通过驱动管的导通与截止来显示数字或字符。

在动态显示中,我们需要逐个驱动数码管的各个段码,以形成视觉暂留效果。

三、延时程序设计1.延时程序作用在数码管动态显示中,延时程序的作用是保持当前显示数码管足够时间,同时稳定显示效果,以形成视觉暂留。

这样可以使得数码管上的数字或字符能够被清晰地看到。

2.延时时间长短对显示效果的影响延时时间的长短会影响数码管的显示效果。

一般来说,延时时间需要大于 2 毫秒,以保证视觉暂留效果。

同时,所有数码管一次扫描完成的总时间不能大于 40 毫秒,因为 40 毫秒基本上是人眼视觉暂留的极限。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.4 数码管驱动与程序设计


LED数码管 数码管 数码管驱动电路 段码表的生成 数码管的动态扫描显示 数字符号与数值的关系
LED数码管的内部结构
a b c d e f g h
a f g e d 单个LED数码管 数码管 单个 c h b
+ -
COM
为了方便地控制数码管 的每个笔段,相应地将数 , 的每个笔段:阴极并联 共阴: 共阴 码管的每个笔段分别命名
f g e d
+ + + + + + + +
+5V COM
a b c h
笔段发光: 笔段发光: 位选端输入低电平1; 位选端输入低电平 ; 段选端输入高电平0。 段选端输入高电平 。
单个共阳极数码管——LN3161BS
Vcc 一个数码管只能显示1位数字, 一个数码管只能显示 位数字,如果要 位数字 LN3161BS引脚结构图 引脚结构图 显示多位数字怎么办? 显示多位数字怎么办? 它有10个管脚 个内部相连的 个管脚, 个内部相连的com端1 它有 个管脚,2个内部相连的 端
TinyView数码管电路组成
PNP型三极管 型三极管 单片机I/O口驱动能力不够, 单片机 口驱动能力不够, 口驱动能力不够 增加三极管以提高com口 增加三极管以提高 口 的电流驱动能力 的电流驱动能力
4位共阳数码管 位共阳数码管 LN3461BS
与单片机相连
TinyView 数码管电路
限流电阻
将JP36的com连接到 的 连接到 位选控制开关 相连的JP1 与K9相连的 相连的 8个开关控制数码管的 个显示段, 个开关控制数码管的8个显示段 个开关控制数码管的 个显示段, 8个段选控制开关 个段选控制开关 JP1与JP36的segA~segH连接 与 的 ~ 连接
实验2——4位数码管显示1234
实验分析:只要求在 位数码管上显示 位数码管上显示1234,但并没有要求在同一时间显示数字。 实验分析:只要求在4位数码管上显示 ,但并没有要求在同一时间显示数字。 实现方法:每次只让一个数码管显示。将与 相连的 相连的JP1先与 先与JP36中的 中的com1相连, 相连, 实现方法:每次只让一个数码管显示。将与K9相连的 先与 中的 相连 拨动K1~ 在第 个数码管上显示正确的数字;然后将K9拨到控制 在第1个数码管上显示正确的数字 ① 第1个数码管显示 拨动 ~K8在第 个数码管上显示正确的数字;然后将 个数码管显示 ; 拨到控制 个数码管显示1; com2,……依此类推,实现在 个数码管上分别显示 依此类推, 个数码管上分别显示1234。 , 依此类推 实现在4个数码管上分别显示 。 个数码管显示2; ② 第2个数码管显示 ; 个数码管显示 ③ 第3个数码管显示 ; 个数码管显示3; 个数码管显示 个数码管显示4。 ④ 第4个数码管显示 。 个数码管显示
f 2
g 3
h 7
方法二:动态扫描方式进行数码管显示。 方法二:动态扫描方式进行数码管显示。 进行数码管显示 将段选端a~ 连接到单片机的 连接到单片机的P0口 将段选端 ~h连接到单片机的 口,则 不增加段选信号线, 优 点:不增加段选信号线,利用人眼的视觉暂 通过程序即可控制笔段的亮灭。 通过程序即可控制笔段的亮灭。 。 留效应,使数字轮流显示来实现。 留效应,使数字轮流显的 发光二极管按照“ 字形排列起来的。 单个数码管就是用 个独立的LED发光二极管按照“日”字形排列起来的。 个独立的 发光二极管按照 在实际应用中,一般会将 个 的阳极或者阴极并联在一起组成数码管。 在实际应用中,一般会将8个LED的阳极或者阴极并联在一起组成数码管。 的阳极或者阴极并联在一起组成数码管 由此可见,一个数码管至少有 个引入端 其中a~ 被定义为段选端 个引入端, 被定义为段选端, 由此可见,一个数码管至少有9个引入端,其中 ~h被定义为段选端,并联在一起 的公共端com被定义为位选 端。 被定义为位选 的公共端


LED数码管 数码管 数码管驱动电路 段码表的生成 数码管的动态扫描显示 数字符号与数值的关系
笔段与数值的对应关系
共阳极数码管
1 0 h 1 0 g 1 0 1 f 1 0 1 e 1 0 1 d 1 0 1 c 1 0 b 0 1 a - - - - - - - -
数码管有8个笔段, 数码管有 个笔段,每个笔段有亮和灭 个笔段 两种状态,则每个数码管有 两种状态,则每个数码管有28 = 256种 种 显示组合,去掉“ 其余7 显示组合,去掉“点(h)”,其余 ) 个笔段有2 种显示组合。 个笔段有 7 = 128种显示组合。 种显示组合
f g e d

+5V
假设将a~h对应 位二进制数的 ~7位: 对应8位二进制数的 假设将 ~ 对应 位二进制数的0~ 位
a b 笔段 c h 数值 0x7f h
笔段数值对应关系表
g 0xbf f 0xdf e 0xef d 0xf7 c 0xfb b 0xfd a 0xfe
七段共阳极数码管段码表
- - - - - - - - - - - - - - - - + + + + + + + +
为a~h。 ~ 。 8个独立的 个独立的LED发光二极管 个独立的 发光二极管
共阳: 共阳:阳极并联
COM
LED数码管的工作原理
通过控制笔段发光,数码管可以显示数字0~ ,以及一些字母符号等 通过控制笔段发光,数码管可以显示数字 ~9,以及一些字母符号等。 显示数字
数值
0xC0 0xF9 0xA4 0xB0 0x99 0x92 0x82 0xF8 0x80 0x90 0x88 0x83 0xC6 0xA1 0x86 0x8E
a f g e d c h b
5 6 7 8 9 A b C d E F
实验1——TinyView段码表生成
当位选控制开关K9 当位选控制开关 拨到位置0时 拨到位置 时,三极管 导通, 导通,com1被拉到高 被拉到高 电平,K1~K8对段选 电平, ~ 对段选 端的控制才有效。 端的控制才有效。 假设将K1~ 对应 假设将 ~K8对应 8位二进制数的 ~7位, 位二进制数的0~ 位 位二进制数的 通过实验验证: 通过实验验证:笔段数 值对应关系表和七段共 阳极数码管段码表。 阳极数码管段码表。
12 12
段 选 端 复 用
3 5 10 1 2 4 7 11 11
COM1
LN3461AS四位动态共阴数码管内部结构 四位动态共阴数码管内部结构 4位数码管管脚排列图 位数码管管脚排列图
COM2 COM3 COM4
序和名称完全一样。 段 选 端 复 序和名称完全一样。 用
3 5 10 1 2 4 7 11
好像有点投机取 巧,对实际有什 么作用呢
实验步骤: 实验步骤:
com1相连 与com2相连 com4相连 com3相连 相连
1” 根据段码表,拨到显示字符“2” 4” ” 根据段码表,拨到显示字符“3” 的位置1111 的位置1001 0000 的位置1010 1001 的位置 的位置1011 0100


LED数码管 数码管 数码管驱动电路 段码表的生成 数码管的动态扫描显示 数字符号与数值的关系
数码管的动态扫描显示——实验电路
每次只有一位数码管显示,即在实际操作过程中数字是轮流显示的, 动态扫描:每次只有一位数码管显示,即在实际操作过程中数字是轮流显示的, 但只要轮流操作的速度达到一定的范围,人眼看到的将是整体显示的效果。 但只要轮流操作的速度达到一定的范围,人眼看到的将是整体显示的效果。
P3.0置0,三极管 置 ,三极管Q11导通, 导通, 导通 送往P1口 将0xF9送往 口 P3.0置 :在保证数码管 关闭, 置 送往 位数码管 ,三极管Q11关闭 关闭 延时长短:,第1位数码管 , 延时长短1,三极管,即数码 第1 com1被拉高 被拉高, 被拉高 管的段选端segA~segH 管的段选端 ~ 位数码管的所有笔段全部熄灭 ” 显示亮度的前提下尽量短 将显示字符“1” 位数码管显示“ 将显示字符1位数码管显示“1” 第“ ” 位数码管显示 0xF9:1111 1001 字符“1”的数值 字符“ ” :
LN3461BS四位动态共阳数码管内部结构 四位动态共阳数码管内部结构
9 9
1 采用段选端复用的方法,仅需12个 采用段选端复用的方法,仅需 个 管脚。 管脚。 两者外型尺寸大小、 2 两者外型尺寸大小、管脚的排列顺
8 8
6 6


LED数码管 数码管 数码管驱动电路 段码表的生成 数码管的动态扫描显示 数字符号与数值的关系
分别与P3.0、P3.1、P3.2、 、 分别与 、 、 P3.3相连,替代手动拨插 相连, 相连 连接它们的引线
口相连, 与P1口相连,相当于 口相连 K1~K8位置 ~ 位置
数码管的动态扫描显示——程序实现
.AREA .ORG Start: MOV CLR ACALL SETB MOV CLR ACALL SETB MOV CLR ACALL SETB MOV CLR ACALL SETB SJMP HOME(ABS, CODE) 0x0000 P1 , #0xF9 P3.0 Delay P3.0 P1 , #0xA4 P3.1 Delay P3.1 P1 , #0xB0 P3.2 Delay P3.2 P1 , #0x99 P3.3 Delay P3.3 Start
e
0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0
d
0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1
c
0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1
b
0 0 0 0 0 1 1 0 0 0 0 1 1 0 1 1
a
0 1 0 0 1 0 0 0 0 0 0 1 0 1 0 0
相关文档
最新文档