#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit LSD=P2^5;
sbit led=P2^7;
#define GPIO P0
u8 code smgduan[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};//显示0~F的值
u8 n=0;
u16 a,b,c;x;
void delayms(u16 i)
{
while(i--);
}
void disp(void)
{
LSA=0;LSB=1;LSC=1;LSD=1; //显示第0位
GPIO=smgduan[a%10 / 1];
delayms(1);
GPIO=0;
LSA=1;LSB=0;LSC=1;LSD=1; //显示第1位
GPIO=smgduan[(a%100 / 10)]; //加小数点
delayms(1);
GPIO=0;
LSA=1;LSB=1;LSC=0;LSD=1; //显示第2位
GPIO=smgduan[a%1000 / 100];
delayms(1);
GPIO=0;
LSA=1;LSB=1;LSC=1;LSD=0; //显示第3位
GPIO=smgduan[a%10000 / 1000];
delayms(1);
GPIO=0;
}
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
x=1278; //改变X值,可以改变显示,最大四位,小于四位前几位为0显示。
a=x;
while(1)
{
disp();
}
}
引脚自己改下吧!~