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

📄 include.h

📁 UPS111配小尺寸3.5寸摸拟屏的源码
💻 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 + -