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

📄 organ.h

📁 凌阳61单片机实现的多功能电子琴源程序代码
💻 H
字号:
#ifndef	__ORGAN_H__
#define	__ORGAN_H__
//函数声明
void lcd_initial(void);		//lcd初始化
void delay_nus(int n);		//125us延时
void delay_nms(int n);		//ms级延时
void send_cmd(unsigned char cmd);		//送命令
void send_dat(unsigned char dat);		//送数据
void set_page_address(unsigned char dat);	//设置页地址
void set_colume_address(unsigned char dat);	//设置列地址
void Clear_S();				//清屏
void display_cha(unsigned char *cha,int page,int colume);	//显示一个汉字
void display_note(unsigned char *note,int page,int colume);	//显示一个音符
void display_pic(unsigned char *pic);
void display_mode_0(void);		//模式选择界面显示
void display_mode_1(void);		//模式1
void display_mode_2(void);		//模式2
void display_mode_3(void);		//模式3
void sound(unsigned int key_delay);
unsigned int code_to_delay(unsigned int key_code);
unsigned char *code_to_note(unsigned int key_code);
int code_to_num(unsigned int key_code);

void display_add(unsigned char *note);				//添加一个音符
void display_del(void);	
void store_note(int num);
void store_end();		
void del_note();

void sing(unsigned int *song);

void Key_Init(void);
void Key_Scan(void);
unsigned Key_Get(void);
void Initial_INT(void);
void speak(unsigned int key_code);


//位操作1
#define LCD_CS_L  	(*P_IOB_Data&=0xfffe)
#define LCD_CS_H 	(*P_IOB_Data|=0x0001)
#define LCD_RES_L   (*P_IOB_Data&=0xfffd)
#define LCD_RES_H 	(*P_IOB_Data|=0x0002)
#define LCD_A0_L 	(*P_IOB_Data&=0xfffb)
#define LCD_A0_H 	(*P_IOB_Data|=0x0004)
#define LCD_SCK_L 	(*P_IOB_Data&=0xfff7)
#define LCD_SCK_H	(*P_IOB_Data|=0X0008)
#define LCD_CDA_L	(*P_IOB_Data&=0xffef)
#define LCD_CDA_H	(*P_IOB_Data|=0x0010)


//位操作2

/*
IOB 10---L5 1111,1011
IOB 9---L6
IOB 8---L7
IOB 15---1
IOB 14---2
IOB 13---3
IOB 12---4
IOB 11---5
IOB 10---6
IOB 9---7
IOB 8---H1
*/

#define LEDL5_OFF  	(*P_IOB_Data&=0xfbff)
#define LEDL5_ON 	(*P_IOB_Data|=0x0400)
#define LEDL6_OFF  	(*P_IOB_Data&=0xfdff)
#define LEDL6_ON 	(*P_IOB_Data|=0x0200)
#define LEDL7_OFF  	(*P_IOB_Data&=0xfeff)
#define LEDL7_ON 	(*P_IOB_Data|=0x0100)

#define LED1_OFF 	(*P_IOA_Data&=0x7fff)
#define LED1_ON 	(*P_IOA_Data|=0x8000)
#define LED2_OFF 	(*P_IOA_Data&=0xbfff)
#define LED2_ON	 	(*P_IOA_Data|=0x4000)
#define LED3_OFF	(*P_IOA_Data&=0xdfff)
#define LED3_ON		(*P_IOA_Data|=0x2000)
#define LED4_OFF	(*P_IOA_Data&=0xefff)
#define LED4_ON		(*P_IOA_Data|=0x1000)
#define LED5_OFF	(*P_IOA_Data&=0xf7ff)
#define LED5_ON		(*P_IOA_Data|=0x0800)
#define LED6_OFF	(*P_IOA_Data&=0xfbff)
#define LED6_ON		(*P_IOA_Data|=0x0400)
#define LED7_OFF	(*P_IOA_Data&=0xfdff)
#define LED7_ON		(*P_IOA_Data|=0x0200)

#define LEDH1_OFF	(*P_IOA_Data&=0xfeff)
#define LEDH1_ON	(*P_IOA_Data|=0x0100)

#define LED_OFF		*P_IOA_Data&=0x00ff;*P_IOB_Data&=0xf8ff;
#define LED_ON		(*P_IOA_Data|=0x00ff)

#define KEY_0		0x88
#define KEY_1		0x84
#define KEY_2		0x82
#define KEY_3		0x81
#define KEY_4		0x48
#define KEY_5		0x44
#define KEY_6		0x42
#define KEY_7		0x41
#define KEY_8		0x28
#define KEY_9		0x24
#define KEY_A		0x22
#define KEY_B		0x21
#define KEY_C		0x18
#define KEY_D		0x14
#define KEY_E		0x12
#define KEY_F		0x11


#define GREEN  0x00ff
#define RED    0xff00
#define HaveKey  1
#define NoKey    0


#define		SPEECH_1	    0
#define		DAC1			1
#define		DAC2			2
#define		Ramp_UpDn_Off	0
#define		Ramp_Up_On		1
#define		Ramp_Dn_On		2
#define		Ramp_UpDn_On	3
#define		Auto			1
#define		Full			1
#define		Empty			2


#endif

⌨️ 快捷键说明

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