运用51单片机实现2位8段LED数码管的动态数字显示,写出汇编程序(C程序也行)

运用51单片机实现2位8段LED数码管的动态数字显示,数据位由P2口控制,数码管的位选信号由P3口的低2位控制,使这个2段LED数据
管实现一个十进制数的显示
我才写了这些,接下来的不会,请高手指教,万分感谢!
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:MOV 20H,#0
MOV DPTR,#TAB
LOOP:MOV 4,20H
ANL A,#0FH
MOVC A,@A+DPTR
MOV P3,#2
能不能给个完整的程序我参考参考哦,谢谢
看了下面几位的回答,还是不大懂哦

第1个回答  2009-06-02
动态显示的是有固定格式的,赋值,开显示,延时,关显示,假设P0口接数据显示位,P2口低4位接片选,
P2=TAB[1]; //赋值
P3_0=0; //开第一位显示
FOR(I=0;I<200:I++);//延时
P3_0=1; //关第一位显示

P2=TAB[2];
P3_1=0; //开第二位显示
FOR(I=0;I<200:I++);
P3_1=1;
这个程序就是让两个数码管分别显示1和2,注意程序开头包含头文件regx52.h,如果是包含reg52.h编译不了的本回答被网友采纳
第2个回答  2009-06-02
需要使用驱动芯片 可以采用74hc573 分时控制
第3个回答  2009-06-03
#include<reg51.h>

void delay(unsigned char w)
{
while(w--);
}

void main()
{
while(1) //一直循环
{
P3 = ? //位选数码管1
P2 = ? //显示一个数字
delay(20);//消影

P3 = ? //位选数码管2
P2 = ? //显示一个数字
delay(20);//消影
}
}
第4个回答  2009-06-05
现在谁还用汇编啊,用C51来编就得了嘛
相似回答