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

📄 数码管0-9999.c

📁 此文件包含用visual c++编译的流水灯的程序代码
💻 C
字号:
	/***********************************/
	/*                                 */
	/*该程序实现的功能:               */
	/*                                 */
	/*  数码管显示0-9999的数。         */
	/*                                 */
	/*接线方法:                       */
	/*                                 */
	/*  将P0口接在数码管的数据端       */
	/*  再将4位位选端依次接在P2.0-P2.3 */
	/*                                 */
	/***********************************/

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

uchar ge,shi,bai,qian;	                   //定义数码管显示的四位数
uint a;                                    //定义要显示的变量a

uchar code number[]={0x28,0xeb,0x32,0xa2,
					 0xe1,0xa4,0x24,0xea,  //针对我们板子的数码管0-9编码
					 0x20,0xa0};

uchar wei[4]={0x07,0x0b,0x0d,0x0e};	       //数码管位选编码

void delay(uint m)						   //延时函数
{
	while(m--);
}
void main()
{
    uint i=0;							   //定义变量i供for语句使用
	while(1)
	{
		for(i=0;i<50;i++)
		{
			qian=a/1000;
			bai=(a%1000)/100;
			shi=(a%100)/10;
			ge=a%10;					   //将a的值分散到每一位
				   
			if(qian!=0)
			{
			  	P0=number[qian];		   //不为0则显示千位
				P2=wei[0];
				delay(300);
			}	

			if(qian!=0||bai!=0)			   //千位百位不同时为0则显示百位
			{
				P0=number[bai];
				P2=wei[1];
				delay(300);
			}	
	
			if(qian!=0||bai!=0||shi!=0)	   //千位百位十位不同时为0则显示十位
			{
				P0=number[shi];
				P2=wei[2];
				delay(300);
			}
	
			P0=number[ge];				   //显示个位
			P2=wei[3];
			delay(300);	
		}
		a++;
		if(a==10000)a=0;
	}
}

⌨️ 快捷键说明

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