51单片机数码管交替闪烁1234
时间: 2023-07-02 21:06:32 浏览: 129
以下是使用C语言编写的51单片机程序,实现数码管交替闪烁1、2、3、4的功能:
```c
#include <reg51.h> //包含51单片机头文件
#define uchar unsigned char //定义uchar类型
sbit LSA=P2^2; //数码管A选择位
sbit LSB=P2^3; //数码管B选择位
sbit LSC=P2^4; //数码管C选择位
uchar code table[]={0x3f,0x06,0x5b,0x4f}; //数码管显示0~3的值
void delay(unsigned int t) //延时函数
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<125;j++);
}
void main()
{
while(1)
{
LSA=0;LSB=0;LSC=0;P0=table[1];delay(100); //数码管1闪烁
LSA=1;LSB=0;LSC=0;P0=table[2];delay(100); //数码管2闪烁
LSA=0;LSB=1;LSC=0;P0=table[3];delay(100); //数码管3闪烁
LSA=1;LSB=1;LSC=0;P0=table[0];delay(100); //数码管4闪烁
}
}
```
程序中使用了三个选择位 LSA、LSB、LSC 控制四个数码管的显示,通过不断切换选择位和设置 P0 端口的值,实现数码管交替闪烁1、2、3、4的效果。可以根据需要调整延时函数的参数,控制闪烁速度。
阅读全文