📄 include.h
字号:
//===================================================================================
//
// INCLUDE.H
// Author: Duran Liu
// Date: 06\12\03
// Version: 1.0
// Copyright: AUO
//===================================================================================
#include "cchip.h"
#include <stdio.h>
#include <math.h>
#include <intrins.h>
sbit SW2 = P1^0 ;
sbit SW1 = P1^1 ;
sbit DIPSW1 = P1^4 ;//Color Filter Control
sbit DIPSW2 = P1^5 ;//RC2
sbit DIPSW3 = P1^6 ;//RC1
sbit DIPSW4 = P1^7 ;//A18
//sbit VS = P3^4 ;
sbit NP = P3^5 ;
sbit SCL = P3^6 ;
sbit SDA = P3^7 ;
sbit MEM_A0 = P2^0 ;
sbit MEM_A1 = P2^1 ;
sbit MEM_A2 = P2^2 ;
sbit MEM_SCL = P2^3 ;
sbit MEM_SDA = P2^4 ;
sbit MEM_WP = P2^5 ;
sbit VS = P1^3 ;
#define BYTE unsigned char
#define WORD unsigned int
#define EnableINT0 EX0=1,IE0=1;
#define EnableINT1 EX1=1,IE1=1;
#define DisableINT0 EX0=0,IE0=0;
#define DisableINT1 EX1=0,IE1=0;
//*********** Delay.c ***********************************************************************
void Delay1ms(void);
void Delay3us(void);
void Delay4us(void);
void Delay5us(void);
void DelayX1ms(int idx);
void DelayX1us(int idx);
//*******************************************************************************************
//********** IIC.C **************************************************************************
#define InitIIC SDA=0;SCL=1;
#define IICStart SDA=1;SDA=0;SCL=0;// SDA and SCL is active high.
#define IICStop SCL=1;SDA=1;SDA=0;
#define IIC_SCL SCL=1;SCL=0;
#define SendHigh SDA=1;IIC_SCL;SDA=0;
#define SendLow SDA=0;IIC_SCL;SDA=0;
//======================
void SendIIC(BYTE Data);
//======================
void SendEEPROMIIC(BYTE Data);
BYTE GetEEPROMIIC(void);
//*******************************************************************************************
//*********** OSD.C *************************************************************************
#define OSDSlaveAddress 0x7a
#define SetCmdReg 0x0f //Row 15 . (Set command register)
// b7 b6 b5 b4 b3 b2 b1 b0
#define VERTD 0x0c //Column 12. DATA FORMAT: MSB LSB
#define HORD 0x0d //Column 13. DATA FORMAT: MSB LSB
#define ChVerHeight 0x0e //Column 14. DATA FORMAT: - CH6 CH5 CH4 CH3 CH2 CH1 CH0
#define RSPACE 0x10 //Column 16. DATA FORMAT: - - - MSB LSB
#define Parameter 0x11 //Column 17. DATA FORMAT: OSDEN BSEN SHADOW FBEN BLEND WENCLR RAMCLR FBKGC
#define ClkFrq 0x12 //Column 18. DATA FORMAT: TRIC FSS - DWE HSP VSP PWM1 PWM0
#define RowCtrlReg 0x1e
#define WinOne 1
#define WinTwo 2
#define WinThree 3
#define WinFour 4
#define TurnOn 0x80 //OSDEN=1
#define TurnOff 0x00 //OSDEN=0
//************* BAR **************
#define BAR_Start 0x80
#define BAR_Stop 0x86
#define BAR_Color 1
//********************************
//************* Color ************
#define BG 0 //Background Color
#define Blue 1
#define Green 2
#define Cyan 3
#define Red 4
#define Magent 5
#define Yellow 6
#define White 7
//********************************
void SendOSDByte(BYTE row,column,value);
void SendOSDCode(BYTE row,column,value);
void OpenWindow(BYTE WinNo,H_Start,H_Stop,V_Start,V_Stop,Color,bit Shadow);
void CloseWindow(BYTE WinNo);
void OSDSwitch(bit status);
void ClearOSD(void);
//void gotoxy(BYTE x,y);
void ShowWord(BYTE Row,Column,DATA,BGColor,Color,bit DSize,BLINK);
void PrintLine(BYTE *string,row,attribute);
void SetOSDPosition(BYTE x,y);
void SetOSDHeight(BYTE height);
void SetOSDRowCtrlReg(BYTE row,CHS_CWS);
void SetOSDRowSpace(BYTE rowspace);
void InitOSD(void);
void BAR(void);
void BAR_H(void);
void BAR_V(void);
void Show_Number(void);
void SaveReg(void);
char ASCII_TO_OSD(char Data);
//*******************************************************************************************
//*********** CCHIP.c ***********************************************************************
#define CCHIPSlaveAddress 0x88
void CCHIP_Default(void);
void SendCCHIPData(void);
void InitCCHIP(void);
//*******************************************************************************************
//*********** EEPROM.c **********************************************************************
#define IIC_EEPROM_Start MEM_SCL=1;Delay5us();MEM_SDA=0;Delay5us();MEM_SCL=0;Delay5us();
#define IIC_EEPROM_Stop MEM_SDA=0;Delay5us();MEM_SCL=1;Delay5us();MEM_SDA=1;MEM_SCL=0;
#define IIC_MEM_SCL Delay4us();MEM_SCL=1;Delay4us();MEM_SCL=0;Delay4us();
#define Send_EEPROM_High MEM_SDA=1;IIC_MEM_SCL;MEM_SDA=0;Delay4us();
#define Send_EEPROM_Low MEM_SDA=0;IIC_MEM_SCL;MEM_SDA=0;Delay4us();
#define EnableMEM MEM_A0=0;MEM_A1=0;MEM_A2=0;
#define DisableMEM MEM_A0=1;MEM_A1=1;MEM_A2=1;
#define EEPROMSlaveAddress 0xA0
#define StartAddress 0x00//Page0 = 0x00,Page1 = 0x10,...
void MemInit(void);
void SendMem(BYTE Add,Data);
BYTE ReadMem(BYTE Add);
void SendPage(void);
void ReadPage(void);
//*******************************************************************************************
#ifdef USE_GLOBAL
#define GLOBAL_VARIABLE_BYTE
#else
#define GLOBAL_VARIABLE_BYTE extern
#endif
//GLOBAL_VARIABLE_BYTE BYTE CursorX,CursorY; //For start point location.
GLOBAL_VARIABLE_BYTE BYTE RegBuf,SubBuf;
GLOBAL_VARIABLE_BYTE BYTE ModeBuf;
//GLOBAL_VARIABLE_BYTE VCOM,Color,Tint,CommonDC;
#ifdef USE_GLOBAL
#define GLOBAL_VARIABLE_BIT
#else
#define GLOBAL_VARIABLE_BIT extern
#endif
GLOBAL_VARIABLE_BIT bit Flag;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -