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

📄 rf.h

📁 实现6种报警语音合成和RF双向解码.可用于RF防盗报警设备开发的参考
💻 H
字号:
/*
**********************************************************************
*                      RF RECEIVE&SEND SOUND                         *
*                       THE FILE FUNCTIONS                          *
*                        DIFINE ALL REGISTER                         *
*                                                                    *
* File    : RF.h                                                     *
* By      : CAESAR                                                   *
* Version : V1.0                                                     *
* Date    : 07.01.20                                                 *
**********************************************************************
*/

/*
                     ____    ____                            ____    ____
           (AN7)PA7-|1   |__|  28|-VDD        (AN8/Aref)PB7-|1   |__|  20|-VDD
           (AN6)PA6-|2         27|-VSS             (AN7)PA7-|2         19|-VSS
           (AN5)PA5-|3         26|-XI/RC/ECLK      (AN6)PA6-|3         18|-XI/RC/ECLK
           (AN4)PA4-|4         25|-_____XO         (AN5)PA5-|4  SPMC65 17|-_____XO
           (AN3)PA3-|5         24|-RESET           (AN4)PA4-|5         16|-RESET
           (AN2)PA2-|6  SPMC65 23|-PD0(INT2)       (AN3)PA3-|6  2404A  15|-PB0(TC0)
           (AN1)PA1-|7         22|-PD1(INT3)       (AN2)PA2-|7         14|-PB1(TC1)
           (AN0)PA0-|8  2404A  21|-PD2 __          (AN1)PA1-|8         13|-PB3(PWM1/COMP1)
          (Vref)PB5-|9         20|-PC0(SS)         (AN0)PA0-|9         12|-PB4(INT0/TC2)
           (BUZ)PB6-|10        19|-PC1(SCK)        (BUZ)PB6-|____________|-PB5(INT1/TC3)
      (INT1/TC3)PB5-|11        18|-PC2(SDI)     
      (INT0/TC2)PB4-|12        17|-PC3(SDO)
    (PWM1/COMP1)PB3-|13        16|-PB0(TC0)
         (COMP0)PB2-|____________|-PB1(TC1)

description:
            PA0:RF receive
            PA1:RF send
            PA2:speaker signal output
            PA3:touch signal input
            PA4:status signal output
*/

#define testbit(var, bit) ((var) & (1 <<(bit)))
#define setbit(var, bit) ((var) |= (1 << (bit)))
#define clrbit(var, bit) ((var) &= ~(1 << (bit)))
#define inversebit(var, bit) ((var) ^=(1 <<(bit)))

typedef const unsigned char* serial;

typedef unsigned char* const_pointer;


typedef union{
	unsigned char byte_x;
	struct{
		unsigned char bit0:1;
		unsigned char bit1:1;
		unsigned char bit2:1;
		unsigned char bit3:1;
		unsigned char bit4:1;
		unsigned char bit5:1;
		unsigned char bit6:1;
		unsigned char bit7:1;
	}bits;
}bit_variable_gather;

bit_variable_gather byte_bit1,byte_bit2,byte_bit3;
 


#define increment_down_up                byte_bit1.bits.bit0
#define frequency_parameter_change_YN    byte_bit1.bits.bit1
#define silence_flag                     byte_bit1.bits.bit2
#define time128us_dec_YN                 byte_bit1.bits.bit3
#define logic_time_overflow_error        byte_bit1.bits.bit4
#define header_code_flag                 byte_bit1.bits.bit5
#define receive_done_YN                  byte_bit1.bits.bit6
#define sound_out_YN                     byte_bit1.bits.bit7

#define time_2ms_flag                    byte_bit2.bits.bit0
#define speaker_out_start_flag           byte_bit2.bits.bit1
#define commande_key4_YN                 byte_bit2.bits.bit2
#define sensitive_grade_select_EN        byte_bit2.bits.bit3
#define sensitive_grade_change_EN        byte_bit2.bits.bit4
#define delay_1500ms_EN                  byte_bit2.bits.bit5
#define commande_key4_run_flag           byte_bit2.bits.bit6
#define send_done_YN                     byte_bit2.bits.bit7

#define warning_send_status_YN           byte_bit3.bits.bit0
#define GUARD_DONE_YN                    byte_bit3.bits.bit1
#define PREAMBLE_DONE_YN                 byte_bit3.bits.bit2
#define HEADER_DONE_YN                   byte_bit3.bits.bit3
#define ONE_PULSE_DONE_YN                byte_bit3.bits.bit4






#define P_IOA_bit0                       P_IOA_Data_S->B.bit0
#define P_IOA_bit1                       P_IOA_Data_S->B.bit1
#define P_IOA_bit2                       P_IOA_Data_S->B.bit2
#define P_IOA_bit3                       P_IOA_Data_S->B.bit3
#define P_IOA_bit4                       P_IOA_Data_S->B.bit4
#define P_IOA_bit5                       P_IOA_Data_S->B.bit5
#define P_IOA_bit6                       P_IOA_Data_S->B.bit6
#define P_IOA_bit7                       P_IOA_Data_S->B.bit7


serial NO_1=(const_pointer)0x7ff0;
serial NO_2=(const_pointer)0x7ff1;
serial NO_3=(const_pointer)0x7ff2;
serial NO_4=(const_pointer)0x7ff3;
#define SERIAL_NO1           *NO_1
#define SERIAL_NO2           *NO_2
#define SERIAL_NO3           *NO_3
#define SERIAL_NO4           *NO_4





unsigned char frequency_increment_step,frequency_parameter,frequency_division;

unsigned int  frequency_division_16bit;

unsigned char music_number,next_music_number,loop_times;

unsigned int  counter_time,MAX_logic_estimate_time;

unsigned char data_number,data_bit_number,displacement_number;

unsigned char MIN_logic_estimate_time,logic_estimate_time,multiple_400us;

unsigned char data1,data2,data3,data4,data5,data6,data7,data8;

unsigned char buzzer_again,time_200ms,commande_key4_time;

unsigned int  buzzer_high,buzzer_low,buzzer_time,time_1500ms;

unsigned char time_2ms,key_code_number,sensitive_grade,sensitive_loop;

unsigned char warn_code1,warn_code2,warn_code3,warn_code4,warn_code5;

unsigned char warn_code6,warn_code7,warn_code8,send_bit_number,send_code_number;

unsigned char wave_HI_delay,wave_LOW_delay,send_loop_times,PREAMBLE,GUARD,HEADER;

unsigned char time_384us;



void systeam_initialize(void);
void music_initialize(void);
//void sound_processor(void);
unsigned char commande_receive(void);
void commande_verify(void);
void HEADER_CODE_SIGNAL_RIGHT(void);
void HEADER_CODE_SIGNAL_ERROR(void);
void commande_verify(void);
void sensitive_adjust(void);
void warn_commande_read(void);
void warn_commande_parameter(void);

⌨️ 快捷键说明

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