您好,欢迎来到划驼旅游。
搜索
您的当前位置:首页六位LED八段数码管显示(精)

六位LED八段数码管显示(精)

来源:划驼旅游
六位LED八段数码管显示(精)

八段数码管显示 1. 实验目的 :

(1 认识数码管动向显示的原理。 (2 认识 74LS1 扩展端口的方法。 2. 实验内容 :

利用实验仪供给的显示电路 , 动向显示一行数据。

3. 实验线路 : PB 0数据输入

PB 1时钟输入

说明 :这里不过显示草图 ,详尽原理拜见 \" 8155 接口实验 \" 4. 实验器械 :

(1 QTH2008 下载式 综合实验仪 1 台 (2 QTH2008 仿真器 1 台 (3计算机 1 台 5. 实验说明 :

(1 本实验仪供给了 8 段码 LED 显示电路 , 学生只需按地点输出相应数据 , 就能够实现对显示器的控制。 显示共有 6 位, 用动向方式显示。 8 段码是由 8155 的PB0、 PB1 经 74LS1“串转并 ”后输出获得。 6 位位码由 8155(或 8255 的 PA0-5 口输出 ,经 uA2003 反向驱动后 ,选择相应显示位。

74LS1 是串行输入并行输出变换电路 ,串行输入的数据位由 8155 的 PB0 控制 , 时钟位由 8155 的 PB1 控制输出。 写程序时 , 只需向数据位地点输出数据 , 而后向时

1 / 18

六位LED八段数码管显示(精)

钟位地点输出一高一低两个电平就能够将数据地点到

74LS1 中, 而且 实现移位。

向显示位选通地点输出高电平就能够点亮相应的显示位。

本实验仪中数据位输出地点为 0e102H , 时钟位输出地点为 0e102H , 位选通输出地点为 0e101H 。本实验波及到了 8155 I0/RAM 扩展芯片的工作原理以及 74LS1 器件的工作原理。

2 / 18

六位LED八段数码管显示(精)

7. 参照程序 (SY10.ASM: OUTBIT equ 0e101h ; 位控制口

CLK1 equ 0e102h ; 段控制口 (接 1 时钟位 DAT1 equ 0e102h ; 段控制口(接 1 数据位 IN equ 0e103h ; 键盘读进口

LEDBuf equ 60h ; 显示缓冲

Num equ 70h ; 显示的数据

3 / 18

六位LED八段数码管显示(精)

DelayT equ 75h org 0000h ljmp Start

LEDMAP: ; 八段管显示码

db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h Delay: ; 延时子程序

mov r7, #0 DelayLoop: djnz r7, DelayLoop djnz r6, DelayLoop ret

DisplayLED: mov r0, #LEDBuf

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

mov r2, #00100000b ; 从左侧开始显示 Loop: mov dptr, #OUTBIT mov a, #00h

movx @dptr, a ; 关全部八段管 mov a, @r0

4 / 18

六位LED八段数码管显示(精)

mov B, #8 ; 送 1 DLP: rlc a mov r3, a mov acc.0, c ANL A, #0FDH mov dptr, #DAT1 movx @dptr, a mov dptr, #CLK1 orl a,#02h movx @dptr, a anl a,#0fDh movx @dptr, a mov a, r3 djnz B, DLP mov dptr, #OUTBIT mov a, r2

movx @dptr, a ; 显示一位八段管call Delay

mov r6, #1 5 / 18

六位LED八段数码管显示(精)

mov a, r2 ; 显示下一位 rr a mov r2, a inc r0 djnz r1, Loop mov dptr, #OUTBIT mov a, #0

movx @dptr, a ; 关全部八段管

ret

Start: mov dptr,#0e100h mov a,#03h movx @dptr,a mov sp, #40h mov Num, #0 MLoop: inc Num mov a, Num mov b, a mov r0, #LEDBuf

6 / 18

六位LED八段数码管显示(精)

FillBuf: mov a, b anl a, #0fh

mov dptr, #LEDMap

movc a, @a+dptr ; 数字变换成显示码 mov @r0,a ; 显示在码填入显示缓冲 inc r0 inc b

cjne r0, #LEDBuf+6, FillBuf mov DelayT,#30 DispAgain:

call DisplayLED ; 显示 djnz DelayT,DispAgain ljmp MLoop END

八位数码管显示 :8155 控制

参照程序 2:对 8155 初始化 ,使 I/O 口控制 LED 的显示状况。

ORG 0000H

MOV DPTR , #4400H ; 指向 8155 命令寄存器

7 / 18

六位LED八段数码管显示(精)

MOV A , #03H

MOVX @DPTR,A; 写入控制字。 A 口、 B 口为输出 , C 口为输入 INC DPTR ; 指向 8155A 口

MOV A , #00H

MOVX @DPTR, A ; 向 A 口写入 00H , ;输出选中全部 8 个 LED INC DPTR ; 指向 8155B 口 MOV A , #0FFH

MOVX @DPTR, A ; 向 B 口写入某个字型 码,输出点亮 8 个 LED SJMP $

8155 控制 8 位数码管和键盘电路图

2 多位动向显示接口应用采纳 8051 与 8155 接口 , 再采纳 8155 的 I/O 口控制数码管的段码 和位码 , 同时 , 采纳动向扫描方式挨次循环点亮各位数码管 , 即可组成多位动向数码管显示 电路。

整体设计思路以下 :

由 8155 的 A 口控制段码输出 , C 口控制位码输出。 采纳准时器中止方式实现动向扫描 , 每隔 20ms 扫描一次 ,每位数码管点亮的时间为 1ms 。在单片机内部

RAM 设置待显示数据 缓冲区 ,由查表程序达成显示译码。

8 / 18

六位LED八段数码管显示(精)

将缓冲区内待显示数据变换成相应的段码

,再将段码经过 8051 的 P0 口送至

8155 的 A 口;位码数据由累加器循环左移指令产生 ,再经过 P0 口送至 8155 的 C 口。

硬件电路设计以下 :

上图为数码管动向显示电路。此中 , 8 路驱动采纳 74LS244 总线驱动器 , 6 路驱动采纳 74LS07 OC 门驱动器。 74LS244 输出经 300 Ω上拉 (或限流电阻后接至电源 , 同时 ,接至 数码管的各段 , 控制数码管的显示字符。 74LS07 输出经 1 k Ω上拉电阻接至电源 , 同时接至 各位数码管的公共端 , 控制每位数码管的显示时间 , 实现动向扫描。 模拟生产线计数的按键 信号接至 P3.3口。 六位实现 6 位显示的秒表 :从左到右每 2 位 LED 分别显示小时、 分和秒 , 并正常计数进位 ;上电后小时 00 00 00,当显示到 23 59 59后, 6 位显示清零 ,重新开始显 示。

9 / 18

六位LED八段数码管显示(精)

软件设计以下 :

10 / 18

六位LED八段数码管显示(精)

以单片机内部 RAM 的 30H ~35H 单元作为显示数据缓冲区 , 六位数码管段码的获 取及每位数码管的显示时间均由显示子程序达成。 采纳准时器中止方式实现动向扫描 , 每隔 50 ms扫描一次 ,每位数码管点亮的时间为 1 ms。单片机每接收一次按键信号 (即模拟交通 灯改变计数信号 ,显示缓冲区的待显示数据被刷新一次 ,数码管相应的显示数值也就随之 发生变化。如连续按键进行测试 ,即可产生计数数据从左至右循环挪动的成效。依据图中 IO/、与单片机的连结可知 ,能够确立数令 /状态字 A 口、 B 口、 C 口、计数值低 8 位寄存器 及高 6 位和方式寄存器地点分别

为 :0100H 、 0101H 、 0102H 、 0103H 、 0104H 、 0105H 。 片内资源分派以下表 :

主程序 :

MSEC EQU 20H ; 50MS 计数单元

SECOND EQU 21H ;秒单元 MIN EQU 22H ; 分单元 HOUR EQU 23H ; 小时单元 ORG 0000H

11 / 18

六位LED八段数码管显示(精)

LJMP MAIN ORG 000BH LJMP CONT

MAIN : MOV SP , #3FH

MOV TMOD #01H MOV TH0, #3CH MOV TL0, #0B0H MOV IE, #82H MOV SECOND, #00H MOV MIN, #00H MOV HOUR, #00H MOV MSEC, #14H MOV 35H, #00H MOV 34H, #00H MOV 33H, #00H MOV 32H, #00H MOV 31H, #00H MOV 30H, #00H SETB TR0

12 / 18

六位LED八段数码管显示(精)

START :LCALL DISP SJMP START ; LED 动向显示子程序 ;功能 :动向显示六个数码管

;进口 :显示缓冲区 30H — 35H 中待显示的 6 个数据 DISP: MOV R0, #30H ; 显示缓冲区首址 MOV R7, #00H ; 设定每位显示延不时间 MOV R2, #06H ; 显示位数

MOV R3, #20H ; 共阳管位码初始值 ,从右端先亮 MOV A , @R0 ; 取显示缓冲区的一个数据 DISP1:MOV DPTR, #TAB ; 查表首址给 DPTR

MOVC A, @A+DPTR ; 查表获得显示字符的字型码 MOV P0 , A ; 将字型码送

P0 口

MOV DPTR, #0101H

MOVX @DPTR, A ; 字型码送 8155A 口 MOVA,R3;位选码送 A MOV P2 , A ; 位码送 P2口 MOV DPTR, #0103H

MOVX @DPTR, A ; 位码送 8155C 口

DJNZ R7 , $ ;延时

13 / 18

六位LED八段数码管显示(精)

DJNZ R7 , $ ;延时 RR A ; 位码右移

MOV R3, A ; 位码回送 R3 INC R0 ;指向下一位

MOV A , @R0 ; 取显示缓冲区下一个数据 DJNZ R2, DISP1 ; 6 位显示一遍吗 ? RET

TAB :DB 0C0H, 0F9H, 0A4H , 0B0H, 99H, 92H, 82H, 0F8H, 80H, 90H

主程序流程图 :

;准时器中止子程序 :

14 / 18

六位LED八段数码管显示(精)

;功能 :50MS 履行一次 ,达成秒、分、小时单元的刷新并打开放到显示缓冲区 ;出口 :显示缓冲区 30H — 35H 中寄存待显示的 6 个数据 CONT :PUSH ACC MOV TH0, #3CH MOV TL0, #0B0H

DJNZ MSEC, RN ; 判断到 20 次吗 ?(暨 1 秒到 1 秒,返回主程序 MOV MSEC, #14H ; 1 秒到 ,重置 MSEC=20 INC SECOND MOV A, SECOND

MOV R1, #31H ; 指向显示缓冲区的 31H 单元

LCALL BINBCD ; 调用拆字子程序 , 将秒打开为十位、 个位 ,MOV A, SECOND

CJNE A, #60, RN ;到 60 秒 ?未到返主程序 MOV A, #0

MOV SECOND, A ; 60 秒到 ,秒单元清零 显示子程序流程图 :

15 / 18

31H,30H

分别放

六位LED八段数码管显示(精)

MOV R1, #31H ; 指向 31H 单元 LCALL BINBCD ; 调用拆字子程序 MOV A, MIN

INC A ; 分单元内容加 1 MOV MIN, A

MOV R1, #33H ; R1 指向 33H 单元

LCALL BINBCD ; 调用拆字子程序 , 将分单元打开为十位、33H 和 32H 单元

MOV A, MIN

CJNE A, #60, RN ;到 60 分吗 ?未到返主程序

16 / 18

个位 ,

分别寄存 六位LED八段数码管显示(精)

MOV A, #00

MOV MIN, A ; 60 分到 ,分单元清零 MOV R1, #33H ; 指向 33H 单元 LCALL BINBCD ; 调用拆字子程序 MOV A, HOUR

INC A ; 小时单元内容加 1 MOV HOUR, A

MOV R1, #35H ; R1 指向 35H 单元

LCALL BINBCD ; 调用拆字子程序 , 将小时打开为十位、35H 和 34H 单元

MOV A, HOUR

CJNE A, #24, RN ;到 24 小时吗 ?未到返回主程序 MOV A, #00

MOV HOUR, A ; 到 24 小时 ,小时单元清零 MOV R1, #35H LCALL BINBCD RN :POP ACC RETI

准时中止子程序流程图 :

17 / 18

个位 , 分别寄存到

六位LED八段数码管显示(精)

; BCD 码拆字子程序 :

;进口参数 :A , 待打开的 BCD 码

;R1:打开后 BCD 码寄存的末地点 ;功能:将 A 中的两个十六进制数打开为哦两个 BCD 码,分别寄存到 R1 指向的两个缓冲 单元 BINBCD :MOV B, #10 DIV AB MOV @R1 , A DEC R1 MOV A, B MOV @R1 ,A RET END

18 / 18

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.com 版权所有 湘ICP备2023023988号-11

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务