4位七段数码管动态显示系统设计 主要原理方法和依据(包括硬件原理图软件流程图及程序代码)谢谢

第1个回答  2011-06-07
这是我用我的 开发板写的一个0-9999计数器,你给个邮箱,我把原理图发给你,照片上传不了

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define dula P0
#define wela P2
uchar aa,qian,bai,shi,ge;
uint i;
void init();
void delay(uint z);
void display(uchar qian,uchar bai,uchar shi,uchar ge);
void shu(uchar qian,uchar bai,uchar shi,uchar ge) ;
uchar code num_table[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
/*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E , F */
void main()
{
init(); //初始化
i=0;
//wela=0xf0;//选择点亮的数码管
while(1)
{

if(aa==10)
{
aa=0;
if (i==9999)
i=0;
i++;
qian=i/1000;
bai=i%1000/100;
shi=i%100/10;
ge=i%10;

}
display(qian,bai,shi,ge);
}
}
void init()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void timer0()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
}
/*void shu(uchar qian,uchar bai,uchar shi,uchar ge)
{
qian=i/1000;
bai=i%1000/100;
shi=i%100/10;
ge=i%10;
} */
void display(uchar qian,uchar bai,uchar shi,uchar ge)
{
wela=0xef;
dula=num_table[qian];
P0=dula;
delay(1) ;

wela=0xdf;
dula=num_table[bai];
P0=dula;
delay(1) ;

wela=0xbf;
dula=num_table[shi];
P0=dula;
delay(1);

wela=0x7f;
dula=num_table[ge];
P0=dula;
delay(1) ;
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}追问

[email protected]

追答

已经把我的原理图发到你的邮箱了,你可以直接按照我的原理图自己仿真,那个程序好用

追问

我以前没接触过着东西 什么都不懂 你能不能按照我的要求 给作一个 我给你追加分?

追答

刚才找到个以前写的数码管流动显示(动态刷新的),带仿真图的,你自己看看吧,已经发到你的邮箱了

本回答被网友采纳
第2个回答  2011-06-07
2015468追问

什么呀?

第3个回答  2011-06-07
笨怂!
第4个回答  2011-06-07
我自己的毕设做到4位七段数码管动态显示系统设计,但是不知道你要的是哪一张语言,我的是FPGA语言实现
相似回答