📄 lcddrive.h
字号:
/*****************************************************************************
* Used only for MCU_board ZMC001-1 apply to JK *
*****************************************************************************/
#define RTC_BASE_ADDRESS 0x080000 //12887 基地址
#define COM_BASE_ADDR 0x090030 //ZCP002-1 16C550 基地址
#define COM1_BASE_ADDR 0x090030 //通讯板Ⅰ16C554 基地址
#define COM2_BASE_ADDR 0x090020 //通讯板Ⅱ16C554 基地址
#define LCD_ADDRESS 0x090010 //LCD 基地址
#define AD_ADDRESS 0x090000 //A/D 基地址
#define RBR 0
#define THR 0
#define IER 1
#define FCR 2
//#define IIR 2
#define MCR 4
#define LSR 5
/****************************************************************************/
#define SAMPLE_POINT 18 /* sampel signle number of point */
#define SAMPLE_NULL_POINT 4 //每次切换多路开关无效的采样点数 NEW!
#define SAMPLE_ACBUFSIZE 64
#define SAMPLE_DCBUFSIZE 32
/****************************************************************************/
/* Define interrupt vector */
/****************************************************************************/
#define SSC_TX_INT_NO 45 /* SSC transmit interrupt number */
#define SSC_RX_INT_NO 46 /* SSC receive interrupt number */
#define ASC_TX_INT_NO 42 /* ASC Transmit interrupt number */
#define ASC_RX_INT_NO 43 /* ASC receive interrupt number */
#define PWM_UP_INT_NO 63 /* PWM UP edge interrupt number */
/* A/D conver finish interrupt server routin*/
#define INTD_INT_NO 24 /* Port3 interrupt number */
#define INTC_INT_NO 25 /* Port2 interrupt number */
#define INTB_INT_NO 26 /* Port1/相控通讯板 COM interrupt number*/
#define INTA_INT_NO 27 /* Port0 interrupt number */
#define INTD2_INT_NO 28 /* Port7 interrupt number */
#define INTC2_INT_NO 29 /* Port6 interrupt number */
#define INTB2_INT_NO 30 /* Port5 interrupt number */
#define INTA2_INT_NO 31 /* Port4 interrupt number */
/****************************************************************************/
/* Define I/O port */
/****************************************************************************/
#define SOUND T6OUT /* 按键发声信号,低有效。 */
#define IN_YX_PORT P5 /* P50-P57 按键线,低有效,分别为: */
/*帮助、上、退出、左、确认、右、下、复归 */
/* 低有效。 */
#define OUT_CD T0IN /* 液晶控制器指令/数据选择信号。 */
#define LCD_EL T3EUD /* 液晶背光启动信号,高有效。 */
#define LCD_RST T4IN /* 液晶控制器复位信号,低有效。 */
#define CONVERT POUT0 /* 监控单元A/D启动信号,低有效。 */
#define AA11 CC18IO /* A/D Coding Signal. */
#define AA01 CC19IO /* A/D Coding Signal. */
//ifdef HARD_GP
#define COM1 CC7IO /* 通讯板Ⅰ554地址译码信号,低-554,高-573。 */
#define TXRDY CC3IO /* 通讯板Ⅰ554发送准备好信号,低有效。 */
#define RXRDY POUT1 /* 通讯板Ⅰ554接收准备好信号,低有效。 */
#define INTA CC11IO /* 通讯板Ⅰ1号串行口(232/485)中断输出信号,高有效。 */
#define INTB CC10IO /* 通讯板Ⅰ2号串行口(232/485)中断输出信号,高有效。 */
#define INTC CC9IO /* 通讯板Ⅰ3号串行口(232/485)中断输出信号,高有效。 */
#define INTD CC8IO /* 通讯板Ⅰ4号串行口(232/485)中断输出信号,高有效。 */
#define RSTPWM1 CC4IO /* 通讯板Ⅰ554复位信号,高有效. */
#define ECOM1 CC28IO /* 通讯板I 1 号串行口485控制信号,低入高出。 */
#define ECOM2 CC30IO /* 通讯板I 2 号串行口485控制信号,低入高出。 */
#define ECOM3 CC29IO /* 通讯板I 3 号串行口485控制信号,低入高出。 */
#define ECOM4 T3IN /* 通讯板I 4 号串行口485控制信号,低入高出。 */
#define COM2 CAPIN /* 通讯板Ⅱ554地址译码信号,低-554,高-573。 */
#define INTA2 CC15IO /* 通讯板Ⅱ1号串行口(232/485)中断输出信号,高有效。 */
#define INTB2 CC14IO /* 通讯板Ⅱ2号串行口(232/485)中断输出信号,高有效。 */
#define INTC2 CC13IO /* 通讯板Ⅱ3号串行口(232/485)中断输出信号,高有效。 */
#define INTD2 CC12IO /* 通讯板Ⅱ4号串行口(232/485)中断输出信号,高有效。 */
#define RSTPWM2 CC5IO /* 通讯板Ⅱ554复位信号,高有效。 */
#define ECOM5 CC23IO /* 通讯板II 1 号串行口485控制信号,低入高出。 */
#define ECOM6 POUT3 /* 通讯板II 2 号串行口485控制信号,低入高出。 */
#define ECOM7 CC21IO /* 通讯板II 3 号串行口485控制信号,低入高出。 */
//#endif
//#ifdef HARD_XK
#define COM1 CC7IO /* 相控通讯板550控制寄存器选择编码信号,正逻辑,A0位。 */
#define INTA CC11IO /* 相控通讯板550复位信号,高有效。 */
#define INTB CC10IO /* 相控通讯板550中断输出信号,高有效。 */
#define INTC CC9IO /* 相控通讯板550控制寄存器选择编码信号,正逻辑,A2位。 */
#define INTD CC8IO /* 相控通讯板550控制寄存器选择编码信号,正逻辑,A1位。 */
#define ECOM1 CC28IO /* 相控通讯板485/232通讯方式选择端,高--485,低--232。 */
#define ECOM2 CC30IO /* 相控通讯板485控制信号,低入高出。 */
#define TXRDY CC3IO /* 相控通讯板电流限幅输出7611地址片选信号,低有效。 */
#define RXRDY POUT1 /* 相控通讯板电流限幅输出DAC-REG加载信号,低有效。 */
#define RSTPWM1 CC4IO /* 相控通讯板电压调节输出7611地址片选信号,低有效。 */
#define RSTPWM2 CC5IO /* 相控通讯板电压调节输出DAC-REG加载信号,低有效。 */
#define DA1CS CC4IO /*DAC 1 CS*/
#define DA1LD CC5IO /*DAC 1 LD*/
#define DA2CS CC3IO /*DAC 2 CS*/
#define DA2LD POUT1 /*DAC 2 LD*/
//#endif
#define CSKR1 POUT2 /* 开入量读入触发信号(1-8路),低有效。 */
#define CSKR2 CC6IO /* 开入量读入触发信号(9-16路),低有效。 */
#define CSKCH2 T3OUT /* 开出量置出触发信号(综合板),低有效。 */
#define TSIG1 CC16IO /* 温度采集脉冲输出信号,高有效。 */
#define ADA CC0IO /* 开出量置出及开入量读入地址编码信号,正逻辑。*/
#define ADB CC1IO /* 开出量置出及开入量读入地址编码信号,正逻辑。*/
#define ADC CC2IO /* 开出量置出及开入量读入地址编码信号,正逻辑。*/
#define CLEAR CC20IO /* 开出量清零信号,低有效。 */
#define CSKCH1 CC22IO /* 开出量置出触发信号(开出板),低有效。 */
#define KCH_DATA CC17IO /* 开出量置出数据信号,正逻辑。 */
/********************************************************************************************/
void Hardware_Initiate(void);
void BUS_Initiate(void);
void SSC_Initiate(void);
void DIO_Initiate(void);
void AD_Initiate(void);
void PWM_Initiate(void);
void ASC_Initiate(void);
void LCD_Initiate(void);
void LCD_Write_Code( unsigned char , unsigned char , unsigned char );
void LCD_Write_Data( unsigned char );
void LCD_Read_State( void );
void LCD_Printf_ASC( unsigned char, unsigned char, char*, char* );
void LCD_Draw_16M16( unsigned int, unsigned int,unsigned char * ,unsigned char);
void LCD_Draw_8M16( unsigned int, unsigned int,unsigned char * ,unsigned char);
void LCD_Draw_8M8( unsigned int, unsigned int,unsigned char * ,unsigned char);
void LCD_Draw_Byte( unsigned int, unsigned int,unsigned char,unsigned char );
void LCD_Draw_Cursor( unsigned int, unsigned int);
void LCD_Draw_Dot( unsigned char, unsigned char, unsigned char );
void LCD_Write_Line( unsigned char Code, unsigned char Par1, unsigned char Par2 );
void LCD_Clear_All( void );
void TIMER_Initiate(void);
/****************************************************************************/
//void SPI_Lock();
//void SPI_UnLock();
//int SPI_LockStatus();
/****************************************************************************/
void _iowb( unsigned long int , char );
void _iow( unsigned long int , int );
char _iorb( unsigned long int );
int _ior(unsigned long int );
/****************************************************************************/
int Get_ACBuf(int ch, unsigned int *buf);
int Get_DCBuf(int ch, unsigned int *buf);
/****************************************************************************/
void RTC_Command_Set( void );
void RTC_Time_Set( unsigned char , unsigned char , unsigned char );
void RTC_Date_Set( unsigned char , unsigned char , unsigned char , unsigned char );
void RTC_Alarm_Set( unsigned char , unsigned char , unsigned char );
unsigned char Read_RTC( unsigned char );
void Write_RTC( unsigned char Flag , unsigned char value);
char Read_RTC_RAM( unsigned int );
void Write_RTC_RAM( unsigned int , char );
void RTC_Get_TimeBuf(unsigned char *buf);
void RTC_Set_TimeBuf(unsigned char *buf);
/****************************************************************************/
void ASC_SetBaud(int value);
unsigned char ASC_In(void);
void ASC_Out(unsigned char value);
void COM_Reset( void );
void COM_Initiate(void);
void COM_INTSetup( char Port,char Attri ); //Attri--0:recei ; Attri--1:trans ; Attri--2:both
void COM1_Register(unsigned char);
void COM2_Register(unsigned char);
unsigned char Com_In(char,char);
void Com_Out(char,char,char);
void Com_OutEnd(char Port);
void Com_OutEndEx(char Port);
//---------------------------------MCU Com Port---------------------------------------
unsigned char ASC_In(void);
void ASC_Out(unsigned char value);
/****************************************************************************/
/****************************************************************************/
void Reset_WDOG(void);
/****************************************************************************/
/* delay( Count ) */
/* delay time = Count * 400nS */
/****************************************************************************/
void delay( unsigned int );
//--------------------------------------------------------------------
extern unsigned char T_Readbuf[2];
void T_Read( void );
//--------------------------------------------------------------------
void KCH_clear( void );
void Relay_reset( unsigned char Rrlay_No);
void Relay_set( unsigned char Rrlay_No);
void MBAlarmLamb_on( void );
void MBAlarmLamb_off( void );
void PTAlarmLamb_on( void );
void PTAlarmLamb_off( void );
void PTAlarmSound_on( void );
void PTAlarmSound_off( void );
unsigned int KR_Scan( void );
//---------------------------------ZCP002-1 DA Port----------------------------------
void DA_Reset( void );
void DA_Out1(unsigned int); // 0000---0V 0x0fff---4.1V
void DA_Out2(unsigned int); // 0000---0V 0x0fff---4.1V
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -