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

📄 main.c

📁 一个小程序
💻 C
字号:
/****************************************************************************
********                 石家庄智讯科技有限公司                      ********
********                                                             ********
******** ShijiaZhuang Intelligence&Communication Scientific CO.,LTD. ********
****************************************************************************/


/****************************************************************************
********                      系统配置                                *******
*****************************************************************************/
#define IN_MAIN
#include "config.h"
uint8 led_flag;//点阵公共端设置 =0共阴  >0共阳
const uint8  led_zifu[][8]={	0x06,0x09,0x0b,0x0b,0x0d,0x0d,0x09,0x06,
								0x06,0x0e,0x06,0x06,0x06,0x06,0x06,0x0f,
								0x06,0x09,0x01,0x01,0x06,0x08,0x08,0x0f,
								0x0f,0x01,0x02,0x06,0x01,0x01,0x09,0x06,
								0x02,0x06,0x0a,0x0a,0x0f,0x02,0x02,0x02,
								0x0f,0x08,0x08,0x0e,0x01,0x01,0x09,0x06,
								0x06,0x09,0x08,0x0e,0x09,0x09,0x09,0x06,
								0x0f,0x01,0x01,0x02,0x04,0x04,0x04,0x04,
								0x06,0x09,0x09,0x06,0x09,0x09,0x09,0x06,
								0x06,0x09,0x09,0x09,0x07,0x01,0x09,0x06,
								0x06,0x09,0x09,0x09,0x0f,0x09,0x09,0x09,
								0x0e,0x09,0x09,0x0e,0x09,0x09,0x09,0x0e,
								0x06,0x09,0x08,0x08,0x08,0x08,0x09,0x06,
								0x0e,0x09,0x09,0x09,0x09,0x09,0x09,0x0e,
								0x0f,0x08,0x08,0x0e,0x08,0x08,0x08,0x0f,
								0x0f,0x08,0x08,0x0e,0x08,0x08,0x08,0x08,
								0x06,0x09,0x08,0x08,0x0b,0x09,0x09,0x06,
								0x09,0x09,0x09,0x0f,0x09,0x09,0x09,0x09,
								0x0f,0x06,0x06,0x06,0x06,0x06,0x06,0x0f,
								0x0f,0x02,0x02,0x02,0x02,0x02,0x0a,0x04,
								0x09,0x0a,0x0c,0x08,0x08,0x0c,0x0a,0x09,
								0x08,0x08,0x08,0x08,0x08,0x08,0x09,0x0f,
								0x09,0x09,0x0f,0x0f,0x09,0x09,0x09,0x09,
								0x09,0x09,0x09,0x0d,0x0b,0x09,0x09,0x09,
								0x06,0x09,0x09,0x09,0x09,0x09,0x09,0x06,
								0x0e,0x09,0x09,0x0e,0x08,0x08,0x08,0x08,
								0x06,0x09,0x09,0x09,0x09,0x09,0x0B,0x07,
								0x0E,0x09,0x09,0x0E,0x0C,0x0A,0x09,0x09,
								0x06,0x09,0x08,0x04,0x02,0x01,0x09,0x06,
								0x0F,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
								0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x06,
								0x09,0x09,0x09,0x09,0x09,0x09,0x0A,0x04,
								0x09,0x09,0x09,0x09,0x09,0x0F,0x0F,0x09,
								0x09,0x09,0x09,0x06,0x06,0x09,0x09,0x09,
								0x09,0x09,0x09,0x07,0x01,0x01,0x02,0x0C,
								0x0F,0x01,0x01,0x02,0x04,0x08,0x08,0x0F,
								0x00,0x42,0xA5,0x00,0x00,0x81,0x42,0x3C,//SMILE
								0x18,0x30,0x60,0xFF,0xFF,0x60,0x30,0x18,//LEFT
								0x18,0x0C,0x06,0xFF,0xFF,0x06,0x0C,0x18,//RIGHT
								0x69,0x9a,0x9c,0x98,0x98,0x9c,0x9a,0x69//OK
							};


uint8 temp[8]={0};

/****************************************************************************
********                       子程序                                 *******
*****************************************************************************/
void  IRQ_EXE(void)//非向量中断入口,勿删
{
    while(1);//用户替换自己的程序
}


void delayns()
{
	uint32 i;
	for(i=200;i>0;i--);
}

void delay()
{
	uint8 i;
	for(i=10;i>0;i--);
}
void delayms(uint32 x)
{
	uint32 i;
	for(;x>0;x--)
		for(i=50000;i>0;i--);
}

void init_led()
{
	IO0DIR=IO0DIR|red_cs;
	IO0DIR=IO0DIR|com_cs;
	IO0DIR=IO0DIR|led_cs;
	IO0DIR=IO0DIR|ad0;
	IO0DIR=IO0DIR|ad1;
	IO0DIR=IO0DIR|ad2;
	IO0DIR=IO0DIR|ad3;
	IO0DIR=IO0DIR|ad4;
	IO0DIR=IO0DIR|ad5;
	IO0DIR=IO0DIR|ad6;
	IO0DIR=IO0DIR|ad7;
	
	PINSEL0=0;
	PINSEL1=0;
	IO0SET=red_cs;
	IO0SET=com_cs;
	IO0SET=led_cs;
	
	led_flag=1;//点阵为共阳

}
void red_out(uint8 dat)
{
	uint8 i;
	if(led_flag==0)i=dat;
	else i=~dat;
	if(i&0x01)IO0SET=ad7;
	else IO0CLR=ad7;
	
	
	i>>=1;
	if(i&0x01)IO0SET=ad6;
	else IO0CLR=ad6;
	
	i>>=1;
	if(i&0x01)IO0SET=ad5;
	else IO0CLR=ad5;
	
	i>>=1;
	if(i&0x01)IO0SET=ad4;
	else IO0CLR=ad4;
	
	i>>=1;
	if(i&0x01)IO0SET=ad3;
	else IO0CLR=ad3;
	
	i>>=1;
	if(i&0x01)IO0SET=ad2;
	else IO0CLR=ad2;
	
	i>>=1;
	if(i&0x01)IO0SET=ad1;
	else IO0CLR=ad1;
	
	i>>=1;
	if(i&0x01)IO0SET=ad0;
	else IO0CLR=ad0;

	
}

void com_out(uint8 dat)
{
	uint8 i;
	if(led_flag==0)i=dat;
	else i=~dat;
	if(i&0x01)IO0SET=ad0;
	else IO0CLR=ad0;
	
	
	i>>=1;
	if(i&0x01)IO0SET=ad1;
	else IO0CLR=ad1;
	
	i>>=1;
	if(i&0x01)IO0SET=ad2;
	else IO0CLR=ad2;
	
	i>>=1;
	if(i&0x01)IO0SET=ad3;
	else IO0CLR=ad3;
	
	i>>=1;
	if(i&0x01)IO0SET=ad4;
	else IO0CLR=ad4;
	
	i>>=1;
	if(i&0x01)IO0SET=ad5;
	else IO0CLR=ad5;
	
	i>>=1;
	if(i&0x01)IO0SET=ad6;
	else IO0CLR=ad6;
	
	i>>=1;
	if(i&0x01)IO0SET=ad7;
	else IO0CLR=ad7;

	
}
void red_on(uint8 dat)
{
	IO0SET=red_cs;
	delay();
	
	
	red_out(dat);
	delay();
	
	IO0CLR=red_cs;
	delay();
	
	IO0SET=red_cs;
	delay();
	
}

void com_on(uint8 dat)
{
	IO0SET=com_cs;

	delay();

	com_out(dat);
	delay();
	
	IO0CLR=com_cs;

	delay();
	
	IO0SET=com_cs;

	delay();
	
	
}


void disp_dat(uint8 x)
{
	uint8 i,j,k,l;
	
	for(j=x;j>0;j--)
	{
		for(k=10;k>0;k--)
		{
			l=0xfe;
			for(i=0;i<8;i++)
			{
				red_on(0);
				com_on(l);
				red_on(temp[i]);
				delayns();
				l<<=1;
				l++;
			}
		}
	}
}
void adjust_jingtai(const uint8 *dat)// 赋值
{
	uint8 i;
	for(i=0;i<8;i++)
	{
		temp[i]=*dat;
		dat++;
	}
}

void disp_zifu(const uint8 *dat)
{
	adjust_jingtai(dat);
	disp_dat(100);
	
}





/*****************************************************************************
*******                        主程序                                 ********
*****************************************************************************/
void Main(void)
{
    uint8 i;
    TargetInit();//系统初始化程序,勿删! 
    init_led();
    while(1)
	{
		for(i=0;i<40;i++)
		{
			disp_zifu(&led_zifu[i][0]);
		}

	}
}

⌨️ 快捷键说明

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