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

📄 led.c

📁 基于RC500射频卡读写模块的程序设计
💻 C
字号:
#include "main.h"
unsigned char code seg[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x19};
unsigned char code seg_zero[10]={0x02,0x9e,0x24,0x0c,0x98,0x48,0x40,0x1e,0x00,0x18};unsigned char dispbuff[6];


void delay12(unsigned int temp1)
{
    while(temp1--);
}

void Moni_Send(unsigned char dsdata)
 {
 unsigned char i,temp=0;

	CLK=0;
		for(i=0;i<=7;i++)
		{
			temp=dsdata&0x01;
			dsdata=dsdata>>1;
			if(temp==0)
				DAT=0;
			else
				DAT=1;   //置数据在端口上

			CLK=1;  //发出移位脉冲
			CLK=0;
		}

 }
 //清空显示---------------------------------------------------------------
void disp_cls(void)
{ char i;
  for(i=0;i<8;i++)
   {
    Moni_Send(0xff);
    }


 }
void disp_int()
{ char i,j;
  for(i=0;i<10;i++)
  {
    dispbuff[0]=seg[i];
    dispbuff[1]=seg[i];
    dispbuff[2]=seg[i];
    dispbuff[3]=seg[i];
    dispbuff[4]=seg[i];
    dispbuff[5]=seg[i];
    dispbuff[6]=seg[i];
    dispbuff[7]=seg[i];

    for(j=0;j<8;j++)
    {Moni_Send(dispbuff[j]);
     }

	delay12(60000);

    disp_cls();
  }
}

//*键盘处理程序--------------------------------------------
unsigned char key_chk()
{
	unsigned char temp,key_c;
						// 11xx xxxx
    P2 =0xF0;			// 1111 0000
	ACC =P2 & 0xF0;		// 1111 0000
	B =ACC;
	P2 =0x0F;			// 0000 1111
	ACC =P2 & 0x0F;		// 0000 1111
	temp=ACC | B;
	if( temp !=0xff ) 	// 1111 1111
	{
		switch( temp)
		{

			case 0x77: key_c= 0; break;//0
			case 0xbd: key_c= 1; break;//1
			case 0xbb: key_c= 2; break;//2
			case 0xb7: key_c= 3; break;//3
			case 0xed: key_c= 4; break;//4
			case 0xeb: key_c= 5; break;//5
			case 0xe7: key_c= 6; break;//6
			case 0xdd: key_c= 7; break;//7
			case 0xdb: key_c= 8; break;//8
	        case 0xd7: key_c= 9; break;//9
            case 0x7b: key_c= 10; break;//chuanhuan
            case 0xee: key_c= 11; break;   	//+
            case 0xbe: key_c= 12 ; break;	//*
			case 0x7d: key_c= 13; break;	//<-
			case 0xde: key_c= 14; break;	//clear
			case 0x7e: key_c= 15; break;//enter
			default: key_c=0xff;
		}

		return(key_c);
	}
	else return(0xff);
}

unsigned char get_key()
{
	unsigned char temp,temp1;
    temp=key_chk();
    delay12(15320);
    temp1=key_chk();
	if(temp==temp1)
	return temp;
	else
	return 0xff;
//	do
//	{
//	temp=key_chk();
//	delay12(12000);
//	temp1=key_chk();
//	}
//	while(temp==0xff||temp!=temp1);

//	return(temp);
}

//*显适数值程序--------------------------------------------
void disp_num(unsigned char *buff)
{

 
 dispbuff[5]=seg[buff[5]];  //ge wei
 dispbuff[4]=seg[buff[4]];  //shi wei
 dispbuff[3]=seg[buff[3]];  //bai wei
 dispbuff[2]=seg[buff[2]];  //qian wei
 dispbuff[1]=seg[buff[1]];  //wang wei
 dispbuff[0]=seg[buff[0]];  //shiwang wei
 //if(buff[5]==0)dispbuff[5]=0xff;
 //if(buff[4]==0)dispbuff[4]=0xff;
 //if(buff[3]==0)dispbuff[3]=0xff;
 //if(buff[2]==0)dispbuff[2]=0xff;
 //if(buff[1]==0)dispbuff[1]=0xff;

 Moni_Send(0xff);
 Moni_Send(0xff);
 Moni_Send(dispbuff[3]);
 Moni_Send(dispbuff[2]);
 Moni_Send(dispbuff[1]);
 Moni_Send(dispbuff[0]);
 }
void disp_num_dot(unsigned char *buff)
{
 dispbuff[5]=0xff;  //ge wei
 dispbuff[4]=0xff;  //shi wei
 dispbuff[3]=0xff;  //bai wei
 dispbuff[2]=seg_zero[buff[2]];  //qian wei
 dispbuff[1]=seg[buff[1]];  //wang wei
 dispbuff[0]=seg[buff[0]];  //shiwang wei
 Moni_Send(dispbuff[5]);
 Moni_Send(dispbuff[4]);
 Moni_Send(dispbuff[3]);
 Moni_Send(dispbuff[2]);
 Moni_Send(dispbuff[1]);
 Moni_Send(dispbuff[0]);
 }

void disp_num_dot2(unsigned char *buff)
{
 dispbuff[5]=seg[buff[5]];  //ge wei
 dispbuff[4]=seg[buff[4]];  //shi wei
 dispbuff[3]=seg[buff[3]];  //bai wei
 dispbuff[2]=seg_zero[buff[2]];  //qian wei
 dispbuff[1]=seg[buff[1]];  //wang wei
 dispbuff[0]=seg[buff[0]];  //shiwang wei
 Moni_Send(dispbuff[5]);
 Moni_Send(dispbuff[4]);
 Moni_Send(dispbuff[3]);
 Moni_Send(dispbuff[2]);
 Moni_Send(dispbuff[1]);
 Moni_Send(dispbuff[0]);
 }




⌨️ 快捷键说明

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