当前位置:网站首页>Simple operation with independent keys (hey, a little fancy) (keil5)

Simple operation with independent keys (hey, a little fancy) (keil5)

2022-07-05 07:18:00 After reading thousands of books, you can pick them up and put

Just got a brief understanding
sbit Definition *** One pin ***
sfr Definition *** A parallel port ***( Such as P2 Calculate a parallel port , Yes 8 One pin )
#define It's equivalent to changing names ,( Of course, self understanding , I don't know how to say it in technical terms ) For example, this string of code ***P2=0X8f&(P2|0xe0);// open y4 Latch ***, If you don't want to play so long next , Then you can ***#define Y4 P2=0X8f&(P2|0xe0);*** such , Next, you can write ***Y4;*** Just fine . All in all #define Pins and parallel ports cannot be defined .

#include <STC15F2K60S2.H>
sbit s7 = P3^0;// Definition P30 Pin , It can also be used directly P30
sbit s6 = P3^1;// Definition P31 Pin , It can also be used directly P31
/***************************************************/
void initsystem(unsigned char i)// initialization 
{
    
	switch(i)
	{
    
		case 4:
			P2=0X8f&(P2|0xe0);// open y4 Latch 
		break;
		case 5:
			P2=0xbf&(P2|0xe0);// open y5 Latch 
		break;
		case 6:
			P2=0xdf&(P2|0xe0);// open y6 Latch 
		break;
		case 7:
			P2=0xff&(P2|0xe0);// open y7 Latch 
		break;
		case 0:
		P2=0x1f&(P2|0xe0);// Close the latch (y4,y5,y6,y7)
		break;
	}
}
/***********************************************/

void led_control(unsigned char n,unsigned char q)// Control lights (p0 End , Latch )
{
    
	initsystem(q);
	P0 = n;
}
/*******************************************/

void Delay (unsigned int t)// Time delay 
{
    
	while(t--);
	while(t--);
}
/********************************************/

void LED_Running ()// Running lights 
{
    
	unsigned char i;
	for (i=0;i<3;i++)// All lights are on and off 3 Time 
	{
    
		led_control(0x00,4);
		Delay (60000);
		led_control(0xff,4);
		Delay (60000);

	}
	for(i=1;i<8;i++)// The lights come on in turn 
	{
    
		led_control(0xff<<i,4);
		Delay(60000);

	} 
	for(i=1;i<8;i++)// The lights go out in turn 
	{
    
		led_control(~(0xff<<i),4);
		Delay(60000);

	}
}
/**********************************************/
void LED_1()// Interval flashing light 
{
    
	led_control(0xaa,4);
	Delay (10000);
	led_control(0x55,4);
	Delay (10000);
}
/*********************************************************/
void key_alone()// Press s7 Execute the running light , Press s6 Perform interval flashing 
{
    
	if(s7==0)// or P30==0
	Delay(60000);
	if(s7==0)// or P30==0
	{
    
		LED_Running ();
	}
	if(s7==1)// or P30==1
	{
    
		led_control(0xff,4);
	}
/**********************************************/
	if(s6==0)// or P31==0
		Delay(60000);
	if(P31==0)// or P31==0
	{
    
		LED_1();
	}
	if(s6==1)// or P31==1
	{
    
		led_control(0xff,4);
	}

	}
	/***************************************************/
void main()// The main function 
{
    
	led_control(0Xff,4);initsystem(0);// initialization 
	led_control(0x00,5);initsystem(0);// initialization 
	while(1)
	{
    
		key_alone();
	}
}


原网站

版权声明
本文为[After reading thousands of books, you can pick them up and put ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202140558148698.html