基于keil开发环境写移动程序时序c51单片机对数码管实现1-9999变化的功能
时间: 2024-05-01 16:16:31 浏览: 115
keil C51单片机开发工具
下面是基于Keil开发环境写移动程序时序C51单片机对数码管实现1-9999变化的功能的代码:
```
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code ledCode[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void delay(uint xms){
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void main(){
uchar i,j,k,l;
while(1){
for(i=1;i<=9;i++){
for(j=0;j<=9;j++){
for(k=0;k<=9;k++){
for(l=0;l<=9;l++){
P2=0xff;
P0=ledCode[i];
P2=0xfe;
delay(1);
P2=0xff;
P0=ledCode[j];
P2=0xfd;
delay(1);
P2=0xff;
P0=ledCode[k];
P2=0xfb;
delay(1);
P2=0xff;
P0=ledCode[l];
P2=0xf7;
delay(1);
}
}
}
}
}
}
```
这段代码的基本思路是使用四个循环,依次控制千位、百位、十位和个位的变化,然后使用数码管代码数组ledCode将对应的数字转换为相应的数码管显示码,将显示码输出到对应的P2口上,通过P2口的四个引脚控制显示千位、百位、十位和个位的数码管。在每个循环中加入1ms的延时,使得数码管的变化能够被人眼观察到。
阅读全文