📄 main.h
字号:
// Compiler : Keil uVision2
// Target : STC89LE516AD
// Crystal: 12Mhz
//*********************************************************
#define uchar unsigned char
#define uint unsigned int
//*********************************************************
//sbit CS = P1^0;
sbit CS = P3^0;
sbit SCK = P1^1;
//sbit SO = P3^0;
sbit SO = P1^0;
sbit SI = P3^1;
//********************define of AT25128*******************************
#define NULL_DATA 0xFF //no use data
#define WREN 0x06 //set write enable latch
#define WRDI 0x04 //reset write enable latch
#define RDSR 0x05 //read status register
#define WRSR 0x01 //write status register
#define READ 0x03 //read data from memory array
#define WRITE 0x02 //write data to memory array
#define ALL_NOT_PRO 0x02 //all not protected,to status register
#define ALL_PROTECTED 0x8C //all protected ,to status register
#define SIZE 32 //max data number write to eeprom everytime
//*********************************************************
uchar SPI_tx_buffer[SIZE] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//SPI transmit buffer
uchar SPI_rx_buffer[SIZE + 1] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
uchar SPI_tx_counter = 0x00; //data number counter
//uchar SPI_op_code = 0x00; //the spi op_code transmit control(counter)
//uchar code *P_SPI_tx; //data pionter
uint P_SPI_tx;
uint P_SPI_rx; //read data pointer
uchar SPI_rx_counter = 0x00; //
uchar SPI_pro_flag = 0x00; //which row to transmit now
uchar SPI_status = 0x00;
uchar SPI_rx_flag = 0x00; //read eeprom
uchar SPI_tx_addl = 0x00; //global variable in register,save the low address byte in eeprom
uchar SPI_tx_addh = 0x00;
uchar SPI_rx_addl = 0x00; //read data use
uchar SPI_rx_addh = 0x00;
//uchar SPI_address_count = 0x00; //write data number counter,max 64 bytes
uchar row_data_num = 0x00;
//
uchar led_pp_data = 0x00;
uchar led_pp_data1 = 0x00;
uchar led2_flash_time_count = 0x00;
//*****************BIT flag********************************
bit SPI_Rstatus_flag = 0; //read status register
bit SPI_start_flag = 0; //the flag of if the transmit start or not
bit SPI_wrt_end_flag = 0; //the flag of if the transmit end or not
bit SPI_once_end_flag = 0; //one row data transmit over flag
bit SPI_all_end_flag = 0; //all data transfer
bit b64_enable_flag = 0; //1;enable write . 0; disable write.
bit SPI_read_flag = 0; //begin to verify the data flag
bit verify_on_flag = 0; //
bit verify_error_flag = 0; //
//*********************************************************
sbit LED1 = P2^0;
sbit LED2 = P2^1;
sbit LED3 = P2^2;
//
void delay(uchar temp_data);
void write_byte(uchar wrt_data);
void write_address_ajust();
uchar read_byte();
void SPI_write();
void put_spi_char();
void eep_program_enable();
/*
//old version data that can well run in old PCB data,
uchar code dspcode[] = {
0x20,0x00,0x00,0x08,0xAA,0x00,0x18,0x00,0x03,0x08,0x00,0x00,0x10,0x00,0x00,0x00,0x80,0x07,0x2F,0x00,0x00,0x05,0x00,0x4A,0x11,0xEE,0xFF,0xF4,0x95,0x80,0x00,0x77,0x11,0x00,0x38,
0x20,0x00,0x20,0x80,0x81,0x77,0x11,0x00,0x39,0x10,0x81,0xEE,0x01,0x8A,0x11,0xFC,0x00,0x4A,0x11,0xEE,0xFF,0xF4,0x95,0x80,0x00,0x77,0x11,0x00,0x38,0x80,0x81,0x77,0x11,0x00,0x39,
0x20,0x00,0x40,0x10,0x03,0x80,0x81,0xEE,0x01,0x8A,0x11,0xFC,0x00,0x4A,0x11,0xEE,0xFF,0xF4,0x95,0x80,0x00,0x77,0x11,0x00,0x48,0x80,0x81,0x77,0x11,0x00,0x49,0x10,0x81,0xEE,0x01,
0x20,0x00,0x60,0x8A,0x11,0xFC,0x00,0x4A,0x11,0xEE,0xFF,0xF4,0x95,0x80,0x00,0x77,0x11,0x00,0x48,0x80,0x81,0x77,0x11,0x00,0x49,0x10,0x03,0x80,0x81,0xEE,0x01,0x8A,0x11,0xFC,0x00,
0x20,0x00,0x80,0xFC,0x00,0x4A,0x11,0x77,0x11,0x00,0x3C,0x76,0x81,0x00,0xE0,0x77,0x11,0x00,0x3D,0x76,0x81,0x00,0x00,0x8A,0x11,0xFC,0x00,0x4A,0x11,0xEE,0xFE,0xF4,0x95,0x76,0x00,
0x20,0x00,0xA0,0x00,0x00,0xF2,0x74,0x05,0x0D,0xF4,0x95,0xE8,0x00,0x76,0x00,0x00,0x20,0xF2,0x74,0x05,0x0D,0xF4,0x95,0xE8,0x01,0x76,0x00,0x00,0x03,0xF2,0x74,0x05,0x0D,0xF4,0x95,
0x20,0x00,0xC0,0xE8,0x0E,0x76,0x00,0x00,0xA0,0xF2,0x74,0x05,0x0D,0xF4,0x95,0xE8,0x02,0x76,0x00,0x00,0x00,0xF2,0x74,0x05,0x0D,0xF4,0x95,0xE8,0x03,0x76,0x00,0x01,0xA0,0xF2,0x74,
0x20,0x00,0xE0,0x05,0x0D,0xF4,0x95,0xE8,0x04,0x76,0x00,0x00,0x00,0xF2,0x74,0x05,0x0D,0xF4,0x95,0xE8,0x05,0xF2,0x74,0x07,0x73,0xF4,0x95,0xE8,0x0A,0xF2,0x74,0x07,0x73,0xF4,0x95,
0x20,0x01,0x00,0xE8,0x0A,0x77,0x11,0x00,0x23,0x76,0x81,0x00,0x00,0x77,0x11,0x00,0x22,0x76,0x81,0x00,0x00,0x76,0x00,0x00,0x01,0xF2,0x74,0x05,0x0D,0xF4,0x95,0xE8,0x00,0x76,0x00,
0x20,0x01,0x20,0x00,0x01,0xF2,0x74,0x05,0x0D,0xF4,0x95,0xE8,0x01,0xF2,0x74,0x07,0x73,0xF4,0x95,0xE8,0x0A,0x77,0x11,0x00,0x00,0x69,0x81,0x00,0x10,0x69,0x81,0x00,0x30,0xEE,0x02,
0x20,0x01,0x40,0x8A,0x11,0xFC,0x00,0x4A,0x11,0xEE,0xFE,0xF4,0x95,0x76,0x00,0x00,0x00,0xF2,0x74,0x05,0x28,0xF4,0x95,0xE8,0x01,0x76,0x00,0x00,0x00,0xF2,0x74,0x05,0x28,0xF4,0x95,
0x20,0x01,0x60,0xE8,0x00,0x76,0x00,0x18,0x00,0xF2,0x74,0x05,0x28,0xF4,0x95,0xE8,0x00,0x76,0x00,0x00,0x0D,0xF2,0x74,0x05,0x28,0xF4,0x95,0xE8,0x0E,0x76,0x00,0x00,0x00,0xF2,0x74,
0x20,0x01,0x80,0x05,0x28,0xF4,0x95,0xE8,0x02,0x76,0x00,0x00,0x00,0xF2,0x74,0x05,0x28,0xF4,0x95,0xE8,0x04,0x76,0x00,0x20,0x00,0xF2,0x74,0x05,0x28,0xF4,0x95,0xE8,0x07,0x76,0x00,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -