51单片机实习-数码管动态显示4399(模块化编程)

 

#include<reg52.h>
sbit wei0=P1^0;
sbit wei1=P1^1;
sbit wei2=P1^2;
sbit wei3=P1^3;
int zxm[]={0x98,0x98,0xb0,0x99};
void delay(int i)
{
	while(i--)
	{
		int j=0;
		for(;j<115;j++);
	}
}
 
void display()
{
	int i;
	for( i=0;i<4;i++)
	{
		switch(i)
		{
			case 0:
				wei0=0,wei1=1,wei2=1,wei3=1;break;
			case 1:
				wei0=1,wei1=0,wei2=1,wei3=1;break;
			case 2:
				wei0=1,wei1=1,wei2=0,wei3=1;break;
			case 3:
				wei0=1,wei1=1,wei2=1,wei3=0;break;
			
		}
		P0=zxm[i];
		delay(1);
	  P0=0xFF;
	}
}
int main()
{   
    while(1)
	  display();
		return 0;
}

模块化编程

4399.c

#include<reg52.h>
#include"shumaguang.h"
int main()
{   
    while(1)
	  display();
		return 0;
}

shumaguang.c

#include<reg52.h>
#include"shumaguang.h"

sbit wei0=P1^0;
sbit wei1=P1^1;
sbit wei2=P1^2;
sbit wei3=P1^3;
int zxm[]={0x98,0x98,0xb0,0x99};

void delay(int i)
{
	while(i--)
	{
		int j=0;
		for(;j<115;j++);
	}
}
void display()
{
	int i;
	for( i=0;i<4;i++)
	{
		switch(i)
		{
			case 0:
				wei0=0,wei1=1,wei2=1,wei3=1;break;
			case 1:
				wei0=1,wei1=0,wei2=1,wei3=1;break;
			case 2:
				wei0=1,wei1=1,wei2=0,wei3=1;break;
			case 3:
				wei0=1,wei1=1,wei2=1,wei3=0;break;
			
		}
		P0=zxm[i];
		delay(1);
	  P0=0xFF;
	}
}

shumaguang.h      变量定义不要放头文件里

#ifndef _SHUMAGUANG_H_
#define _SHUMAGUANG_H_

#include<reg52.h>
void delay(int i);
void display();

#endif

猜你喜欢

转载自blog.csdn.net/qq_40642465/article/details/108492830