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

📄 sino_mos_disp.h

📁 我个人编写的车载dvd上的程序
💻 H
字号:
/*********************************************************
	Project:		ST FST(TDA7540)
	File name:	DISPLAY.H
	Description:	
	Write/Modify:	Perry Liang
	Time:		2006-1-24- 15:32:15
*********************************************************/

extern void DisplayInit(void);
extern void DisplayMain(void);
extern void Display(unsigned char command);
extern void DisplayRefresh(void);

extern void PrintLine(unsigned char *pStr1);
extern void PrintString(unsigned char @far *pStr1);
extern unsigned char DisplayReadBusy(void);
extern void WaitWhenBusy(void);
extern void DisplaySendCommand(unsigned char sendcommand);
extern void DisplaySendData(unsigned char senddata);
extern unsigned char ReturnDispNum(unsigned int inputnum,unsigned int pos);
extern void   DisplayIcon(unsigned char icon,unsigned char on);
extern void ClearDisplay();
extern void VolDisplay(unsigned char vol);
extern void Display7Seg(unsigned char datas);
extern void WheelShow();
extern void MovChar();
#define DRIVER_1_2  0
#define DRIVER_1_3  1
#define CCB_ADDR  0x41

ext UCharField SPIFlag;
#define ON   1
#define OFF   0
#define DR  SPIFlag.field.B0
#define SC  SPIFlag.field.B1
#define BU SPIFlag.field.B2
#define RESERVED  SPIFlag.field.B3

#define PD_INH   PD_DDR7
#define PCR1_INH   PD_CR17
#define PCR2_INH   PD_CR27
#define Pin_INH      PD_ODR7
#define PinIn_INH   PD_IDR7

#define PD_DATA   PD_DDR6
#define PCR1_DATA   PD_CR16
#define PCR2_DATA   PD_CR26
#define Pin_DATA      PD_ODR6
#define PinIn_DATA  PD_IDR6

#define PD_CLK     PD_DDR5
#define PCR1_CLK PD_CR15
#define PCR2_CLK PD_CR25
#define Pin_CLK    PD_ODR5
#define PinIn_CLK PD_IDR5

#define PD_CE       PF_DDR4
#define PCR1_CE    PF_CR14
#define PCR2_CE    PF_CR24
#define Pin_CE       PF_ODR4
#define PinIn_CE   PF_IDR4

#define PD_LED     PF_DDR6
#define PCR1_LED PF_CR16
#define PCR2_LED PF_CR26
#define Pin_LED    PF_ODR6
#define SPICESETUP  {PD_CE  = 1;\
	                         PCR1_CE = 1;\
	                         PCR2_CE = 0;}

#define SetSPICE     Pin_CE = 1

#define ClearSPICE  Pin_CE  = 0

#define SPICLKSETUP  {PD_CLK  = 1;\
	                         PCR1_CLK = 1;\
	                         PCR2_CLK = 0;}

#define SetSPICLK     Pin_CLK = 1

#define ClearSPICLK  Pin_CLK  = 0

#define SPIDATASETUP  {PD_DATA  = 1;\
	                         PCR1_DATA = 1;\
	                         PCR2_DATA = 0;}

#define SetSPIDATA     Pin_DATA = 1

#define ClearSPIDATA  Pin_DATA  = 0

#define SPIINHSETUP  {PD_INH  = 1;\
	                         PCR1_INH = 1;\
	                         PCR2_INH = 0;}

#define SetSPIINH     Pin_INH = 1

#define ClearSPIINH  Pin_INH = 0
/********************************
   米字段设计
              
*********************************/
#define SEG7_A       0x01
#define SEG7_B       0x02
#define SEG7_C       0x04
#define SEG7_D       0x08
#define SEG7_E       0x10
#define SEG7_F       0x20
#define SEG7_G       0x40
#define CHAR_NUM_0    (SEG7_A|SEG7_B|SEG7_C|SEG7_D|SEG7_E|SEG7_F)
#define CHAR_NUM_1    (SEG7_B|SEG7_C)
#define CHAR_NUM_2    (SEG7_A|SEG7_B|SEG7_G|SEG7_D|SEG7_E)
#define CHAR_NUM_3    (SEG7_A|SEG7_B|SEG7_G|SEG7_C|SEG7_D)
#define CHAR_NUM_4    (SEG7_F|SEG7_G|SEG7_B|SEG7_C)
#define CHAR_NUM_5    (SEG7_A|SEG7_F|SEG7_G|SEG7_C|SEG7_D)
#define CHAR_NUM_6    (SEG7_A|SEG7_C|SEG7_D|SEG7_E|SEG7_F|SEG7_G)
#define CHAR_NUM_7    (SEG7_A|SEG7_C|SEG7_B)
#define CHAR_NUM_8    (SEG7_A|SEG7_B|SEG7_C|SEG7_D|SEG7_E|SEG7_F|SEG7_G)
#define CHAR_NUM_9    (SEG7_A|SEG7_B|SEG7_C|SEG7_D|SEG7_F|SEG7_G)
#define M_SEG_A     0x0001
#define M_SEG_B     0x0002
#define M_SEG_C     0x0004
#define M_SEG_D     0x0008
#define M_SEG_E     0x0010
#define M_SEG_F     0x0020
#define M_SEG_H     0x0040
#define M_SEG_I      0x0080
#define M_SEG_J     0x0100
#define M_SEG_K    0x0200
#define M_SEG_L    0x0400
#define M_SEG_M    0x0800
#define M_SEG_N    0x1000
#define M_CHAR_NUM_0   (M_SEG_A|M_SEG_B|M_SEG_C|M_SEG_D|M_SEG_E|M_SEG_F)
#define M_CHAR_NUM_1   (M_SEG_B|M_SEG_C)
#define M_CHAR_NUM_2   (M_SEG_A|M_SEG_B|M_SEG_M|M_SEG_L|M_SEG_E|M_SEG_D)
#define M_CHAR_NUM_3   (M_SEG_A|M_SEG_B|M_SEG_M|M_SEG_L|M_SEG_C|M_SEG_D)
#define M_CHAR_NUM_4   (M_SEG_F|M_SEG_L|M_SEG_M|M_SEG_B|M_SEG_C)
#define M_CHAR_NUM_5   (M_SEG_A|M_SEG_F|M_SEG_L|M_SEG_M|M_SEG_C|M_SEG_D)
#define M_CHAR_NUM_6   (M_SEG_A|M_SEG_F|M_SEG_E|M_SEG_D|M_SEG_C|M_SEG_M|M_SEG_L)
#define M_CHAR_NUM_7   (M_SEG_A|M_SEG_B|M_SEG_C)
#define M_CHAR_NUM_8   (M_SEG_A|M_SEG_B|M_SEG_C|M_SEG_E|M_SEG_F|M_SEG_D|M_SEG_L|M_SEG_M)
#define M_CHAR_NUM_9   (M_SEG_A|M_SEG_B|M_SEG_C|M_SEG_D|M_SEG_F|M_SEG_L|M_SEG_M)

#define M_CHAR_A    (M_SEG_A|M_SEG_B|M_SEG_C|M_SEG_E|M_SEG_F|M_SEG_L|M_SEG_M)
#define M_CHAR_B    (M_SEG_F|M_SEG_M|M_SEG_L|M_SEG_C|M_SEG_D|M_SEG_E)
#define M_CHAR_C    (M_SEG_A|M_SEG_F|M_SEG_E|M_SEG_D)
#define M_CHAR_D    (M_SEG_B|M_SEG_L|M_SEG_M|M_SEG_E|M_SEG_D|M_SEG_C)
#define M_CHAR_E    (M_SEG_A|M_SEG_F|M_SEG_L|M_SEG_M|M_SEG_E|M_SEG_D)
#define M_CHAR_F    (M_SEG_A|M_SEG_F|M_SEG_M|M_SEG_L|M_SEG_E)
#define M_CHAR_G    (M_SEG_A|M_SEG_F|M_SEG_E|M_SEG_D|M_SEG_C|M_SEG_M)
#define M_CHAR_H    (M_SEG_F|M_SEG_E|M_SEG_B|M_SEG_C|M_SEG_L|M_SEG_M)
#define M_CHAR_I     (M_SEG_B|M_SEG_C)
#define M_CHAR_J     (M_SEG_B|M_SEG_C|M_SEG_D)
#define M_CHAR_K    (M_SEG_F|M_SEG_E|M_SEG_I|M_SEG_K|M_SEG_L)
#define M_CHAR_L    (M_SEG_F|M_SEG_E|M_SEG_D)
#define M_CHAR_M    (M_SEG_F|M_SEG_E|M_SEG_H|M_SEG_I|M_SEG_B|M_SEG_C)
#define M_CHAR_N    (M_SEG_F|M_SEG_E|M_SEG_H|M_SEG_K|M_SEG_B|M_SEG_C)
#define M_CHAR_O    M_CHAR_NUM_0
#define M_CHAR_P    (M_SEG_A|M_SEG_B|M_SEG_L|M_SEG_M|M_SEG_F|M_SEG_E)
#define M_CHAR_Q    (M_SEG_A|M_SEG_B|M_SEG_C|M_SEG_F|M_SEG_L|M_SEG_M)
#define M_CHAR_R    (M_SEG_M|M_SEG_A|M_SEG_B|M_SEG_K|M_SEG_L|M_SEG_F|M_SEG_E)
#define M_CHAR_S    M_CHAR_NUM_5
#define M_CHAR_T    (M_SEG_A|M_SEG_N)
#define M_CHAR_U    (M_SEG_E|M_SEG_F|M_SEG_D|M_SEG_B|M_SEG_C)
#define M_CHAR_V    M_SEG_F|M_SEG_E|M_SEG_I|M_SEG_J
#define M_CHAR_W   (M_SEG_F|M_SEG_E|M_SEG_J|M_SEG_K|M_SEG_B|M_SEG_C)
#define M_CHAR_X    (M_SEG_H|M_SEG_K|M_SEG_I|M_SEG_J)
#define M_CHAR_Y    (M_SEG_F|M_SEG_L|M_SEG_M|M_SEG_C|M_SEG_D|M_SEG_B)
#define M_CHAR_Z    (M_SEG_A|M_SEG_I|M_SEG_J|M_SEG_D)

#define ST_ICON   0
#define POINT_ICON    87
#define MECR_ICON      72
#define DDIR_ICON  75
#define MP3_ICON        12
#define EON_ICON        121
#define LOUND_ICON    122
#define S1_ICON      123
#define S2_ICON      124
#define S3_ICON      125
#define CLASS_ICON   126
#define POP_ICON    127
#define ROCK_ICON  128
#define MP4_ICON    129
#define INT_ICON     130
#define RDM_ICON    131
#define DTS_ICON     132
#define AC3_ICON     133
#define RPT_ICON     134
#define EQ_ICON    136
#define VOL_S1     137
#define VOL_S2     138
#define VOL_S3     139
#define VOL_S4     140
#define VOL_S5     141
#define VOL_S6     142
#define BASE_SEG  143
#define CD_ICON    144
//#define VCD_ICON  145
#define DVD_ICON  120
#define IR_ICON    147
#define BLUETOOTH_ICON  148
#define AF_ICON    27
#define TA_ICON    42
#define TP_ICON    57
#define EON_ICON  121
#define PTY_ICON  90




#define MAX_CHAR_NUM 8
#define TITLE_HIGH_ADDR    2
#define TITLE_LOW_ADDR     17
#define HOUR_HIGH_ADDR       32
#define HOUR_LOW_ADDR        47
#define MIN_HIGH_ADDR       62
#define MIN_LOW_ADDR        77
#define SEC_HIGH_ADDR       92
#define SEC_LOW_ADDR        107

#define SEG7_A_ADDR     15
#define SEG7_B_ADDR     30
#define SEG7_C_ADDR     60
#define SEG7_D_ADDR      102
#define SEG7_E_ADDR      105
#define SEG7_F_ADDR    117
#define SEG7_G_ADDR     45

#define M_SEG_F_OFFSET   0
#define M_SEG_E_OFFSET   1
#define M_SEG_J_OFFSET   2
#define M_SEG_H_OFFSET   3
#define M_SEG_L_OFFSET   4
#define M_SEG_D_OFFSET   5
#define M_SEG_A_OFFSET   6
#define M_SEG_N_OFFSET   7
#define M_SEG_K_OFFSET   8
#define M_SEG_I_OFFSET  9
#define M_SEG_M_OFFSET   10
#define M_SEG_B_OFFSET   12
#define M_SEG_C_OFFSET   13
 
ext unsigned char DisplayBuff[20];
#define DISP_CLEAR		0xEE
#define DISP_CLEAR0		10
#define DISP_CLEAR1		11
#define DISP_CLEAR2		12
#define DISP_CLEAR3		13
#define DISP_REFRESH	0xFF
#define DISP_REFRESH0	0
#define DISP_REFRESH1	1
#define DISP_REFRESH2	2
#define DISP_REFRESH3	3

ext unsigned char DispBuff[4][20];
ext UCharField DispFlag;
#define F_DispRefresh0	DispFlag.field.B0
#define F_DispRefresh1	DispFlag.field.B1
#define F_DispRefresh2	DispFlag.field.B2
#define F_DispRefresh3	DispFlag.field.B3


/*********************************************************
				File End
*********************************************************/

⌨️ 快捷键说明

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