STC89C52 的单片机C语言实现数码管显示任意的一个四位数包括小数点

共阳的

第1个回答  2012-03-31
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit wr=P1^0;
sbit cs1=P1^1;
sbit cs2=P1^2;
uchar q,w,a[8];
uchar code zm[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
}
void wx(uchar xx)
{
wr=0;
cs2=0;
P0=xx;
wr=1;
cs2=1;
}
void wx(uchar xx)
{
wr=0;
cs1=0;
P0=xx;
wr=1;
cs1=1;
}
void T0_time() interrupt 1
{
TH0=(65536-1835)/256;
TL0=(65536-1835)%256;
wx(0xff);
if(q==1)
{
dx(zm[a[q]]);
}
else
{
dx(zm[a[q]]&0x7f);//小数点;
}
wx(w);
w=w<<1|0x01;
if(++q==8)
{
q=0;
w=0xfe;
}
}
void main()
{
TH0=(65536-1835)/256;
TL0=(65536-1835)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
a[0]=8;
a[1]=7;
a[2]=6;
a[3]=5;
}
}本回答被网友采纳
第2个回答  2012-03-29
显示码放数组里面,小数点用查数组出来的数与上小数点的显示码。着就行了追问

帮忙写一个能输出567.8的程序吧,跪求 明天就交了

第3个回答  2012-03-29
采用动态扫描。利用二维数组
相似回答