📄 demo.h
字号:
typedef unsigned char BYTE;
typedef unsigned short WORD;
#define uint unsigned int
#define CXA3106
#define CXA3500
#define CXA2111
#define MAX7219
sfr P4=0xD8;
sbit ACC_7=ACC^7;
sbit ACC_0=ACC^0;
sbit P00 = P0 ^ 0;
sbit P01 = P0 ^ 1;
sbit P02 = P0 ^ 2;
sbit P03 = P0 ^ 3;
sbit P04 = P0 ^ 4;
sbit P05 = P0 ^ 5;
sbit P06 = P0 ^ 6;
sbit P07 = P0 ^ 7;
sbit P10 = P1 ^ 0;
sbit P11 = P1 ^ 1;
sbit P12 = P1 ^ 2;
sbit P13 = P1 ^ 3;
sbit P14 = P1 ^ 4;
sbit P15 = P1 ^ 5;
sbit P16 = P1 ^ 6;
sbit P17 = P1 ^ 7;
sbit P20 = P2 ^ 0;
sbit P21 = P2 ^ 1;
sbit P22 = P2 ^ 2;
sbit P23 = P2 ^ 3;
sbit P24 = P2 ^ 4;
sbit P25 = P2 ^ 5;
sbit P26 = P2 ^ 6;
sbit P27 = P2 ^ 7;
sbit P30 = P3 ^ 0;
sbit P31 = P3 ^ 1;
sbit P32 = P3 ^ 2;
sbit P33 = P3 ^ 3;
sbit P34 = P3 ^ 4;
sbit P35 = P3 ^ 5;
sbit P36 = P3 ^ 6;
sbit P37 = P3 ^ 7;
sbit P40 = P4^0;
sbit P41=P4^1;
#ifdef CXA3106
#define SENABLE_3106 P10
#define SCLK_3106 P11
#define SDATA_3106 P12
#endif
#ifdef CXA3500
#define SCTR_3500 P15
#define SCLK_3500 P14
#define SDATA_3500 P13
#endif
#ifdef CXA2111
#define SCL_2111 P16
#define SDA_2111 P17
#endif
#define I2C_SCL P16
#define I2C_SDA P17
#ifdef MAX7219
#define DIN P25
#define CS P26
#define CLK P27
#endif
#define VER0 P20
#define VER1 P21
#define VER2 P22
#define LINE0 P23
#define LINE1 P24
#define X0 0x00
#define X1 0x01
#define X2 0x02
#define X3 0x03
#define X4 0x04
#define X5 0x05
#define X6 0x06
#define X7 0x07
#define X8 0x08
#define X9 0x09
#define XA 0x0A
#define XB 0x0B
#define XC 0x0C
#define XD 0x0D
#define XE 0x0E
#define XF 0x0F
#define BIT0 0x01
#define BIT1 0x02
#define BIT2 0x04
#define BIT3 0x08
#define BIT4 0x10
#define BIT5 0x20
#define BIT6 0x40
#define BIT7 0x80
#define BIT01 0x03
#define BIT10 0x03
#define BIT17 0xfe
#define BIT20 0x07
#define BIT27 0xfc
#define BIT30 0x0F
#define BIT21 0x06
#define BIT23 0x0c
#define BIT31 0x0E
#define BIT32 0x0C
#define BIT34 0x18
#define BIT37 0xf8
#define BIT40 0x1F
#define BIT41 0x1E
#define BIT42 0x1C
#define BIT43 0x18
#define BIT45 0x30
#define BIT50 0x3F
#define BIT54 0x30
#define BIT53 0x38
#define BIT64 0x70
#define BIT65 0x60
#define BIT70 0xFF
#define BIT74 0xF0
#define BIT76 0xC0
#define BIT75 0xE0
#define BITALL 0xFF
#define RECORDHEADER 'A'
#define WRITE2111 0x76
#define ScreenEnable P37
#define EEPROMWRITEID 0xA0
#define EEPROMREADID 0xA1
#define LASTBYTE 0
struct _Userdate {
union {
struct {
BYTE ampRgain;//0
BYTE ampGgain;//1
BYTE ampBgain;//2
BYTE ampRbias;//3
BYTE ampGbias;//4
BYTE ampBbias;//5
BYTE gamR_whp;//6
BYTE gamG_whp;//7
BYTE gamB_whp;//8
BYTE gamR_b1p;//9
BYTE gamG_b1p;//10
BYTE gamB_b1p;//11
BYTE gamR_b2p;//12
BYTE gamG_b2p;//13
BYTE gamB_b2p;//14
BYTE gamR_whg;//15
BYTE gamG_whg;//16
BYTE gamB_whg;//17
BYTE gamR_b1g;//18
BYTE gamG_b1g;//19
BYTE gamB_b1g;//20
BYTE gamR_b2g; //21
BYTE gamG_b2g;//22
BYTE gamB_b2g;//23
BYTE dly_cnt; //24
BYTE a1;//25
BYTE a2;//26
BYTE a3;//27
BYTE a4; //28
BYTE a5; //29
BYTE a6; //30
BYTE a7; //31
} items;
BYTE bytes[1];
} value0;
union{
struct{
BYTE gamoff;
BYTE datest;
BYTE pos_cnt2;
BYTE pos_cnt1;
BYTE dir_cnt;
BYTE inv_cnt;
BYTE b6;
BYTE b7;
} items;
BYTE bytes[1];
}value1;
union{
struct{
BYTE mirror;
BYTE flip;
BYTE minute;
WORD hour;
BYTE c5;
BYTE c6;
BYTE c7;
} items;
BYTE bytes[1];
}value2;
union{
struct{
BYTE m393_clplev;
BYTE m393_gain;
BYTE m393_bias;
BYTE m393_prglev;
BYTE m393_sidlev;
BYTE m393_dlcyr;
BYTE m393_dlcyg;
BYTE m393_dlcyb;
}items;
BYTE bytes[1];
}value3;
union{
struct{
BYTE mode;
BYTE moveRightorLeft;
BYTE moveUporDown;
BYTE m_address9;
BYTE m_ttlpolreg;
BYTE m_select_rgb;
BYTE m_pow;
BYTE reserved;
}items;
BYTE bytes[1];
}value4;
union{
struct{
BYTE name0; //0
BYTE name1; //0
BYTE name2; //1
BYTE name3; //2
BYTE year; //3
BYTE mouth; //4
BYTE date; //5
WORD number;//6,7
}items;
BYTE bytes[1];
}boardinfo;
};
extern struct _Userdate Userdate;
extern BYTE UILevel,LEDdate,Flag_rs232,recbyte[3];
extern WORD InterruptCount ; // every 1 ms increase 1
void ShortDelay(BYTE);
void showOnLED(BYTE,BYTE);
void scanButton(void);
void ButtonEnterDown(void);
void ButtonEnterUp(void);
void ButtonPlus(void);
void ButtonMns(void);
void ButtonSave(void);
void I2C_SendStart(void);
void I2C_SendStop(void);
void I2C_ReleaseBus(void);
bit I2C_SendByte(BYTE);
bit I2C_SendByteWithStart(BYTE);
bit I2C_GetACK(void);
BYTE I2C_GetLastByte(void);
void I2C_SendStart2111(void);
bit I2C_SendByte2111(BYTE);
void I2C_SendStop2111(void);
void I2C_ReleaseBus2111(void);
BYTE I2C_GetByteWithAddr(BYTE);
bit I2C_SendByteWithAddr(BYTE,BYTE);
BYTE getchecksum0(void);
BYTE getchecksum1(void);
BYTE getchecksum2(void);
BYTE getchecksum3(void);
void write3500AddrByte(BYTE,BYTE);
void LoadEEPROM0(void);
void setMAXICdate(BYTE,BYTE);
void setMAXICmode(BYTE,BYTE);
void DefaultOnLED(void);
void sendparamtopc(void);//new add
void write3106Byte(BYTE temp,BYTE k);
void mywrite3106(void);
//void changeRGB(BYTE selectRGB); //no use
void AdjustPow(BYTE m_pow);
//////////////////////////////
#define WRITE_M62393 0x90
sbit REST_M62393=P3^4;
bit Set_M62393(BYTE addr,BYTE val);
void init_M62393();
sfr CHPENR=0xF6;
sfr CHPCON=0xBF;
sfr SFRAL=0xC4;
sfr SFRAH=0xC5;
sfr SFRFD=0xC6;
sfr SFRCN=0xC7;
void seutity(void);
void reset_CPU(void);
BYTE checkButtonReset(void);
void write2111(void);
void write3500(void);
void write3106(void);
BYTE I2C_GetLastByte(void);
BYTE read24c16(BYTE address);
void write24c16(BYTE address,BYTE value);
void setlock(void);
void readlock(void);
void setboardinfo(void);
void readboardinfo(void);
////////////////////////////////
void do_F04KBOOT();
void Erase_4k();
bit blank_check();
void set_rs232(); //set rs232 and send 's' to pc
void program_4k();
void read_4k();
void Isp_64K_4K(void);
//////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -