51单片机74HC595驱动四位共阴数码管显示代码
以下是使用51单片机和74HC595芯片驱动四位共阴数码管的代码:
#include<reg51.h>
//定义74HC595引脚
sbit DS=P2^0; //数据输入
sbit SH_CP=P2^1; //移位时钟
sbit ST_CP=P2^2; //存储时钟
//定义共阴数码管显示数字0-9的编码
unsigned char code Number[10]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f
};
//定义显示函数
void display(unsigned char num)
{
unsigned char i;
//循环4次,依次显示4位数码管
for(i=0;i<4;i++)
{
//将要显示的数字编码通过74HC595芯片发送到数码管
DS=Number[num%10];
num/=10;
//上升沿移位
SH_CP=1;
SH_CP=0;
}
//上升沿存储,显示数据
ST_CP=1;
ST_CP=0;
}
//主函数
void main()
{
unsigned char i;
while(1)
{
//循环显示数字0-9
for(i=0;i<10;i++)
{
display(i);
//延时一段时间,便于观察
delay(10000);
}
}
}
//延时函数
void delay(unsigned int i)
{
unsigned int j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
注:需要在程序中添加延时函数,以便观察数码管的显示效果。
原文地址: https://www.cveoy.top/t/topic/oVPP 著作权归作者所有。请勿转载和采集!