Protues中用AT89C51驱动6个7段数码管

来源:网络收集 时间:2025-06-19 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

Protues中用AT89C51驱动6个7段数码管

7SEG-MPX6-CA-BLUE的使用

如图所示ABCDEFG为7段LED的输入端口,DP为小数点,123456为片先信号,当1为高电平时则选中第一个数码管,2为高电平时则选中第二个数码管,以此类推。

ATC89C51组成最小系统驱动数码管电路

本电路中用AT89C51构成一最小系统,然后用P1.0到P1.5的6个引脚输出片选信号,P2.0到P2.6的7个引脚输出数据,硬件电路就是这么简单了。

LEDBUF EQU 30H ; 为显示数据开辟内存单元

ORG 0000H LJMP MAIN ORG 000BH LJMP TIME0 ORG 0030H

TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H, 82H, 0F8H ,80H, 90H ;7段数码管译码表

MAIN: MOV SP,#70H MOV LEDBUF,#5

MOV LEDBUF+1,#2 MOV LEDBUF+2,#0 MOV LEDBUF+3,#1 MOV LEDBUF+4,#3 MOV LEDBUF+5,#1

;初始化堆栈

MOV LEDBUF+6,#4

;写入要显示的数字 ;将ledbuf的首地址给R0

MOV R0,#LEDBUF

MOV DPTR,#TABLE MOV R2,#06H

MOV R1,#01H

MOV TMOD, #01H MOV TH0, #0DFH MOV TL0,#0B0H SETB TR0 SETB EA SETB ET0

SJMP $

TIME0: DJNZ R2, LOOP1 MOV R2,#06H

MOV R1,#01H

MOV R0,#LEDBUF

LOOP1:

MOV TH0,#0DFH MOV TL0,#0B0H

MOV A,R1 MOV P1,A RL A

MOV R1,A

MOV A,@R0

MOVC A,@A+DPTR MOV P2,A INC R0

RETI

END

;将TABLE的首是址给DPTR ;R2作为循环次数寄存器 ;R1中放片选信号

;定时器0工作在方式1

;初始代定时器0 ;开定时器0 ;开总中断 ;开定时器0中断

;动态停机

;循环6次后回到初始值继续循环,小于6次跳到LOOP1

;初始化数据

;初始化定时器0

;将R1中片选信号输入P1并且使其数据左移一位

;通过查表将ledbuf中数据送往P2

改动ledbuf中的数字则可显示想要显示的数据,改动如下

LEDBUF EQU 30H ; 为显示数据开辟内存单元

ORG 0000H LJMP MAIN ORG 000BH LJMP TIME0

ORG 0030H

TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H

DB 92H, 82H, 0F8H ,80H, 90H ;7段数码管译码表

MAIN: MOV SP,#70H

;初始化堆栈

MOV LEDBUF,#1

MOV LEDBUF+1,#2 MOV LEDBUF+2,#3 MOV LEDBUF+3,#4 MOV LEDBUF+4,#5

MOV LEDBUF+5,#6 MOV LEDBUF+6,#7 MOV R0,#LEDBUF

MOV DPTR,#TABLE MOV R2,#06H

MOV R1,#01H

MOV TMOD, #01H MOV TH0, #0DFH MOV TL0,#0B0H SETB TR0 SETB EA SETB ET0

SJMP $

TIME0: DJNZ R2, LOOP1

环,小于6次跳到LOOP1 MOV R2,#06H

MOV R1,#01H

MOV R0,#LEDBUF

LOOP1:

MOV TH0,#0DFH MOV TL0,#0B0H

MOV A,R1

MOV P1,A

RL A MOV R1,A

据左移一位 MOV A,@R0

MOVC A,@A+DPTR MOV P2,A INC R0

RETI

END

结果下如:

;写入要显示的数字

;将ledbuf的首地址给R0

;将TABLE的首是址给DPTR

;R2作为循环次数寄存器 ;R1中放片选信号

;定时器0工作在方式1

;初始代定时器0 ;开定时器0 ;开总中断

;开定时器0中断 ;动态停机

;循环6次后回到初始值继续循

;初始化数据

;初始化定时器0

;将R1中片选信号输入P1并且使其数

;通过查表将ledbuf中数据送往P2

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库Protues中用AT89C51驱动6个7段数码管在线全文阅读。

Protues中用AT89C51驱动6个7段数码管.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/192710.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219