📄 数码管0-9999.c
字号:
/***********************************/
/* */
/*该程序实现的功能: */
/* */
/* 数码管显示0-9999的数。 */
/* */
/*接线方法: */
/* */
/* 将P0口接在数码管的数据端 */
/* 再将4位位选端依次接在P2.0-P2.3 */
/* */
/***********************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar ge,shi,bai,qian; //定义数码管显示的四位数
uint a; //定义要显示的变量a
uchar code number[]={0x28,0xeb,0x32,0xa2,
0xe1,0xa4,0x24,0xea, //针对我们板子的数码管0-9编码
0x20,0xa0};
uchar wei[4]={0x07,0x0b,0x0d,0x0e}; //数码管位选编码
void delay(uint m) //延时函数
{
while(m--);
}
void main()
{
uint i=0; //定义变量i供for语句使用
while(1)
{
for(i=0;i<50;i++)
{
qian=a/1000;
bai=(a%1000)/100;
shi=(a%100)/10;
ge=a%10; //将a的值分散到每一位
if(qian!=0)
{
P0=number[qian]; //不为0则显示千位
P2=wei[0];
delay(300);
}
if(qian!=0||bai!=0) //千位百位不同时为0则显示百位
{
P0=number[bai];
P2=wei[1];
delay(300);
}
if(qian!=0||bai!=0||shi!=0) //千位百位十位不同时为0则显示十位
{
P0=number[shi];
P2=wei[2];
delay(300);
}
P0=number[ge]; //显示个位
P2=wei[3];
delay(300);
}
a++;
if(a==10000)a=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -