基于51单片机四位共阳极数码管动态显示1.234keil程序
时间: 2023-08-11 14:06:07 浏览: 166
基于51单片机的数码管显示程序
以下是基于51单片机四位共阳极数码管动态显示1.234的Keil程序:
```
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit D1 = P2^2;
sbit D2 = P2^3;
sbit D3 = P2^4;
sbit D4 = P2^5;
uchar code seg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80,0x40,0x00,0x00,0x00,0x00};
void delay(uint n) //延时函数
{
uint i,j;
for(i=0;i<n;i++)
for(j=0;j<110;j++);
}
void display(uchar a,uchar b,uchar c,uchar d) //数码管动态显示函数
{
D1 = 0;
P0 = seg[a];
delay(1);
D1 = 1;
D2 = 0;
P0 = seg[b];
delay(1);
D2 = 1;
D3 = 0;
P0 = seg[c];
delay(1);
D3 = 1;
D4 = 0;
P0 = seg[d];
delay(1);
D4 = 1;
}
void main()
{
uchar a,b,c,d;
while(1)
{
a = 1;
b = 2;
c = 3;
d = 10; // 10表示小数点
display(a,b,c,d);
delay(500);
a = 1;
b = 2;
c = 3;
d = 11; // 11表示小数点和字母e
display(a,b,c,d);
delay(500);
}
}
```
在上述代码中,使用了一个数码管显示的共阳极连接方式。使用了延时函数和数码管动态显示函数来控制数码管显示的内容。在主程序中,循环显示1.234和1.234e。
阅读全文