⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 数码管检测.c

📁 单片机C源程序+HEX文件。配合实验板。需要的话加Q:394011495.并注明。
💻 C
字号:
//各个数码管依次从a段亮到dp段。

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit ser=P1^5;
sbit rclk=P1^4;
sbit srclk=P1^7;
uchar a,i,j,k,x,y,h,weitable[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f},
		duantable[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};		  //位编码和段编码
void delay(uint x)	   //延时函数
{
	uint a,b;
	for(a=x;a>0;a--)
		for(b=112;b>0;b--);
}

void main()
{
	a=1;
	while(1)
	{
		x=0;
		for(h=0;h<8;h++)
		{
			for(i=0;i<8;i++)
			{
			
				k=weitable[x];	   //x的值表示第几个数码管亮
				for(j=0;j<8;j++)
				{
					srclk=0;
					k=k<<1;
					ser=CY;
					srclk=1;
	   	
				}
				k=duantable[y];
				for(j=0;j<8;j++)
				{
					srclk=0;
					k=k<<1;
					ser=CY;
					srclk=1;

				}
				rclk=0;
				rclk=1;	
				delay(500);
				a++;
				y++;
				if(a==9)	//当一个数码管的八段都亮完之后,a重新计数。
				{
					a=1;
					x++;
					y=0;   //y为段控制
				}
				
			}		
		}
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -