八个数码管共用一个总线,怎样让数码管显不一样的数

最近在学习单片机,单片机的MCU是STC89C52RC,看那图纸上八个数码管是共用一个数据总线,现在要几个管子同时都显,并且显的数不一样,哪位高手指教下~~!!(最好是用... 最近在学习单片机,单片机的MCU是STC89C52RC,看那图纸上八个数码管是共用一个数据总线,现在要几个管子同时都显,并且显的数不一样,哪位高手指教下~~!!(最好是用C写下) 展开
 我来答
匿名用户
2013-08-19
展开全部
可以循环扫描。有不同的程序,你只要设置合适的扫描时间,由于LED余晖作用,人眼看见都亮。
ORG
0100H
MAIN:
MOV
R3,#00H

;字型码初始地址

LOOP:
MOV
DPRT,#TABLE
;字型码送数据指针

MOV
A,R3

MOV
A,@A+DPTR

MOV
P1,A

;送显示

MOV
R4,#0E8H
;循环显示某个字符1S
DELAY: ACALL DISPLAY

;显示

DJNZ
R4,#DELAY
;延时显示时间示到继续

INC
R3

;显示下个字符

CJNE
R3,#0AH,LOOP
;示显示到9续续

AJMP
MAIN

;返回主程序
DISPLAY:MOV
R1,#08H

;共显示8位LED

MOV
R5,#00H

;从第一位开始显示
DISP:
MOV
A,R5

MOV
P3,A

;送地址数据

ACALL DELAY1

;送位显示15MS

INC
R5

;指向下一位LED

DJNZ
R1,DISP

;8位未显示完继续

RET
DELAY1: MOV
R6,#10H

;延时子程序
LOOP1: MOV
R7,#38H

LOOP2: DJNZ
R7,LOOP2

DJNZ
R6,LOOP1

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

DB
92H,82H,0F8H,80H,90H

END

;程序结束
匿名用户
2013-08-19
展开全部
就扫描法 数据线是公用的没有关系,还有一跟是使能线你注意到了没有,8个数码管应该还有8个使能线直连到I/O口或通过3-8译码器连接到I/O来控制到底是哪个数码管亮,这样就分别给8个数码管使能在写数据 频率快点 由于视觉暂留等原因我们会看到8个管子都是亮的 程序如下 P0口段码 P2口位码
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
//延时
void DelayMS(uint x)
{
uchar t;
while(x--) for(t=0;t<120;t++);
}
//主程序
void main()
{
uchar i,wei=0x80;
while(1)
{
for(i=0;i<8;i++)
{
P0=0xff;
P0=DSY_CODE[i]; //发送段码
wei=_crol_(wei,1);
P2=wei; //发送位码
DelayMS(2);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-19
展开全部
用动态扫描的驱动,随公用数据线,带式可以改变位选信号来选择要驱动的点亮的数码管。通过这种方式逐个点亮 要驱动的数码管。
我的例程--四位数码管的动态显示
void display(bai,shi,ge,miao)
{
P2=table[bai];//要显示的数据--公用数据总线--段驱动
P1=0xff;
bai_sel=0;//数码管位选通,点亮当前的数码管--以下相同
delay(1);
P2=table_dot[shi];
P1=0xff;
shi_sel=0;
delay(1);
P2=table[ge];
P1=0xff;
ge_sel=0;
delay(1);
P2=table[miao];
P1=0xff;
miao_sel=0;
delay(1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-19
展开全部
用 动态扫描,再用74LS595,或者用74LS164
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式