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

上传人:小飞机 文档编号:3164414 上传时间:2023-03-11 格式:DOCX 页数:5 大小:37.37KB
返回 下载 相关 举报
Protues中用AT89C51驱动6个7段数码管.docx_第1页
第1页 / 共5页
Protues中用AT89C51驱动6个7段数码管.docx_第2页
第2页 / 共5页
Protues中用AT89C51驱动6个7段数码管.docx_第3页
第3页 / 共5页
Protues中用AT89C51驱动6个7段数码管.docx_第4页
第4页 / 共5页
Protues中用AT89C51驱动6个7段数码管.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《Protues中用AT89C51驱动6个7段数码管.docx》由会员分享,可在线阅读,更多相关《Protues中用AT89C51驱动6个7段数码管.docx(5页珍藏版)》请在三一办公上搜索。

1、Protues中用AT89C51驱动6个7段数码管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

2、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 R

3、2,#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作为循环次数寄存

4、器 ;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,

5、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 $ TIM

6、E0: 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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号