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

📄 main.c

📁 ISD4002语音芯片驱动
💻 C
字号:
#include "reg51.h"
#include "ISD4002.h"
#include "key.h"



sbit LED_RG   =  P1^6;	
sbit LED_LAMP =  P1^4;
sbit LAMP     =  P1^5;

sbit KEY_DOOR =  P3^0;
sbit ALARM	  =  P3^1;
sbit PIR      =  P1^7;



bit SET,save,btest,BJX;
void alarm(void);
unsigned long count,c;
unsigned key_value;

struct { 
	unsigned char 	led_sta;
	unsigned char	led_fd;
	unsigned char	buzzer;
	unsigned char	lamp;
}state;

void delay(unsigned int t){
	unsigned char i;
	for(;t>0;t--){
		for(i=20;i>0;i--);
	}
}

void main(void){
P3=0xff;
P1=0xff;
PIR=0;
EA=1;
STOP_WRDN();
while(1){
	key_value=SCAN_KEY();
	if(key_value){
		switch(key_value){
			case(1):
				ALARM=0;
				break;
			case(2):
				ALARM=1;
				break;
			case(3):
				LED_RG=0;
				STOP_WRDN();
				YS50();
				POWERUP();
				POWERUP();
				SET_REC(0x00);
				//REC();
				break;
			case(4):
				STOP_WRDN();
				YS50();
				POWERUP();
				SET_PLAY(0x00);
				//PLAY();
				LED_RG=1;
				break;
			case(5):
				LED_LAMP=0;
				break;
			case(6):
				LED_LAMP=1;
				break;
			case(7):
				LAMP=0;
				break;
			case(8):
				LAMP=1;
				break;
		}
	}
//	if(RINT())
//		STOP_WRDN();
	}
}



/*

void main(void){
	P3=0xff;
	P1=0xff;
	SET=1;
	while(1){
		if(KEY_P){
			delay(70);
			if(KEY_P)
				SET=1;
		}
		if(SET){
			SET=0;
			if(KEY_A){
				LED_STA=0;
				save=1;
			//	LED_STA=state.led_sta;
				LED_FD=state.led_fd;
				BUZZER=state.buzzer;
				LAMP=state.lamp;
				BJX=0;	
			}
			else{
				LED_STA=1;					
			}
			if(!BJX){
				if(KEY_B){
					LED_FD=0;
				}
				else{
					LED_FD=1;
				}
				if(KEY_C){
					BUZZER=0;
				}
				else{
					BUZZER=1;
				}
				if(KEY_D){
					LAMP=0;
				}
				else{
				 	LAMP=1;
				}
			}
		}
		if(LED_STA){
			if(KEY_DOOR){
				if(save){
					state.led_sta=LED_STA;
					state.led_fd=LED_FD;
					state.buzzer=BUZZER;
					state.lamp=LAMP;
					save=0;
					LED_FD=1;
					BUZZER=1;
					BJX=1;
				}
				alarm();				
			}
			else
			{
				if(BJX){
					LED_FD=0;
					BUZZER=0;
				}
			}
		}
	}
}

void alarm(void){
	count++;
	if(count>c){
		count=0;
		btest=!btest;	
		LED_FD=btest;
		BUZZER=btest;
		if(btest)
			c=1500;
		else
			c=6000;
	}
}
*/

⌨️ 快捷键说明

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