首页 > 编程知识 正文

数码管显示实验报告,数码管动态显示程序C语言

时间:2023-05-06 02:12:07 阅读:111169 作者:1252

8段数码管显示实验

8段数码管显示实验报告

一.设计目的

1 .掌握数码管动态显示的原理

2 .学习通过总线方式控制数字代码的显示;

3 .熟悉用单片机驱动数码管的电路和编程原理。

2 .设计内容

利用实验箱提供的显示电路,设计了一种可动态显示一行数据的系统。 实验箱一般准备6位8段的LED显示电路,只要输出对应于每个地址的数据,就可以控制显示器。 一共显示6位,动态显示。 数据可以正常显示后,请改变数字的变化速度或LED显示的方向。

三.实验原理

1 .原理:采用总线方式驱动八级显示管时,应将八级驱动方式选择开关置于"内驱"位置; 用I/O方式驱动八段显示管时,请将开关置于“外驱”位置。

本实验机提供6位8段LED显示电路,学生只需输出对应于每个地址的数据即可控制显示器。 一共显示6位,动态显示。 8位段、6位代码从2张74LS374输出。 位代码由MC1413或ULN2003反转驱动后,选择相应的显示位。

本实验装置中8位段的代码输出地址为0X004H,位代码输出地址为0X002H。 其中x由KEY/LED CS决定。 请参见地址解码。 进行键盘和LED实验时,需要将KEY/LED CS连接到正确的地址解码器。 允许用合适的地址访问。 例如,如果将KEY/LED CS连接到CS0,则段代码地址为08004H,位代码地址为08002H。

7段字体代码表如下表所示。

a

f b

g

电商

d。 dp

字形的gfedcba段代码0011111113 FH 100011006 h 210110115 BH 310011114 FH 4110011066 h511011016 DH 611100001107 DH 8111111111117 FH 9111111111111116 FHA

2 .程序框图

3 .程序

OUTBIT equ 08002h; 位控制端口

OUTSEG equ 08004h; 段控制端口

IN equ 08001h; 键盘读取

LEDBuf equ 60h; 显示缓冲区

Num equ 70h; 显示的数据

DelayT equ 75h;

ljmp Start

LEDMAP: 八段管显示代码

db 3fh、06h、5bh、4fh、66h、6dh、7dh、07h

db 7fh、6fh、77h、7ch、39h、5eh、79h、71h

延迟: 延迟子程序

mov r7,#0

延迟锁定:

djnz r7,DelayLoop

djnz r6,DelayLoop

回复

显示led :

mov r0,#LEDBuf

mov r1,#6; 一共六个八段管

mov r2; 从左开始显示

Loop:

mov dptr,#OUTBIT

mov a,#0

movx @dptr,a; 关闭所有八段管

mov a,@r0

mov dptr,#OUTSEG

movx @dptr,a

mov dptr,#OUTBIT

mov a,r2

movx @dptr,a; 显示一位数的八段管

mov r6,#01

科尔德雷

mov a、r2; 显示下一位

rr a

mov r2,a

inc r0

djnz r1,Loop

mov dptr,#O

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。