📄 dig.c
字号:
/*===============================================================
程序名称:多位数码管显示
-----------------------------------------------
( http://www.bluepw.com http://www.bluepw.cn )
Agni 07-EV开发板的数码管与单片机接线方式:
注:(1):主芯片AT89S52使用11.0592M晶振
(2):Keil uV3 3.30编译运行通过
(3):本例程在 Agni 07-EV 开发平台上成功运行通过
(4):蓝极风电子技术网版权所有,只供学习参考,不得应用于商业用途.
==================================================================*/
#include <at89x52.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
//********数码管位选代码***********
uchar code SPACE_ADD[]={0x01,0x02,0x04,0x08};
//********数码管数据显示代码*******
uchar code SET_TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint count;
void display(uint number);
delay(uchar a)
{
uchar i;
while(--a!=0)
{
for(i=0;i<125;i++);
}
}
//********数码管显示函数***********
void display(uint number)
{
uchar buffer[8];
uchar j;
uchar i=0;
do{ //坼分参数number
buffer[i++]=number%10;
number=number/10;
j=i;
}while(number!=0);
for(i=0;i<j;i++) //动态扫描
{
P1=SPACE_ADD[i]; //选择数码管
P0=SET_TAB[buffer[i]];//输送显示数据
delay(2);
P0=0xff; //清除数码管阴影
}
}
//********主函数***********
void main(void)
{
while(1)
{
display(1573);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -