📄 host.h
字号:
#ifndef __HOST_H__
#define __HOST_H__
// write your header here
extern void init_control(void);
extern void control_con(unsigned int left,unsigned int right);
extern void control1_con(unsigned int left,unsigned int right);
extern void control1(unsigned int left,unsigned int right);
extern void control2(unsigned int left,unsigned int right);
extern void control(unsigned int left,unsigned int right);
extern void LCD501_Power(unsigned int ModeCode);
extern void LCD501_SetContrast(unsigned int Contrast);
extern unsigned int LCD501_GetContrast(void);
extern void LCD501_ScrollUp(unsigned int Rows);
extern unsigned int LCD501_GetScroll(void);
extern void LCD501_ReverseColor(void);
extern void LCD501_Bitmap(int x,int y,unsigned int *word);
extern void Tx_hanshu(unsigned int);//发送函数
extern unsigned int Rx_hanshu(void);//接收函数
extern void systemp_init(void);//系统初始化函数
extern void init_keyIO(void);
extern unsigned int key_scan_delay(void);
extern unsigned int key_scan(void);
extern unsigned int get_keyvalue(void);
extern void delay(void);
extern void delay1(void);
extern void input_hanshu(void);
extern void looking_hanshu(void);
extern unsigned int read_flash(unsigned int *);
extern void page_erase(unsigned int *);
extern void write_flash(unsigned int d,unsigned int *);
extern void SPLC501_DataWrite(unsigned int Data);
extern unsigned char SPLC501_DataRead(void);
extern void SPLC501_RegWrite(unsigned char Command);
extern void Write_Dot_LCD(int x,int y,unsigned int Color);
extern unsigned int Get_Dot_LCD(int x,int y);
extern void Clear_Dot_LCD(int x,int y);
extern void Set_Dot_Addr_LCD(int x,int y);
extern void LCD_Fill(unsigned int a);//????????????????????????????????????
extern void LCD_Fill_s(unsigned int Number,unsigned int Color);
extern void SPLC501_DataWrite(unsigned int Data);
extern void SPLC501_RegWrite(unsigned char Command);
extern unsigned char SPLC501_DataRead(void);
extern void SPLC501_PortInit(void);
extern void LCD_InIt(void); //在LCD_Driver_User.c中定义的函数,如有必要该函数还会包含端口初始化、复位等操作
//画直线函数,s_x、s_y为起始点,e_x、e_y为结束点
extern void Line(int s_x,int s_y,int e_x,int e_y);
//绘图模式、当前绘图颜色设置
extern void SetPaintMode(int Mode,unsigned int Color);
//标准字符设置,包括两型号ASCII码的大小尺寸,以及字体颜色的设置
extern void FontSet(int Font_NUM,unsigned int Color);
//于x、y的坐标上写入一个标准字符
extern void PutChar(int x,int y,unsigned int a);
//于x、y的坐标为起始写入一串标准字符串
extern void PutString(int x,int y,char *p);
//于x、y的坐标为中心,绘制一个圆边或实心圆
extern void PutPixel(int x,int y);
extern void Circle(int x,int y,int r,int mode);
//绘制一个以left、top和right、bottom为两个对角的矩形框或者实心矩形
extern void Rectangle(unsigned left, unsigned top, unsigned right, unsigned bottom, unsigned Mode);
//清屏函数,执行全屏幕清除或填充前景色
void ClrScreen(unsigned int Mode);
//以下函数以及变量的声明一般建议用户不要调用,仅供高级用户在自行编写特殊显示效果以及特性应用程序时使用
//
//extern unsigned char code Asii16[]; //8X16的ASII字符库
//extern unsigned char code GB32[]; //自定义的32X29汉字库
//extern unsigned char code GB48[]; //自定义的48X55汉字库
extern int X_Witch; //字符写入时的宽度
extern int Y_Witch; //字符写入时的高度
extern int Font_Wrod; //字体的大
extern unsigned char *Char_TAB; //字库指针
extern int Plot_Mode; //绘图模式
extern unsigned int BMP_Color;
extern unsigned int Char_Color;
//extern void Pos_Switch(unsigned int * x,unsigned int * y);
extern void Writ_Dot(int x,int y,unsigned int Color);
//extern void Line_f(int s_x,int s_y,int e_x);
//extern unsigned int Get_Dot(int x,int y);
//extern void Clear_Dot(int x,int y);
extern void Set_Dot_Addr(int x,int y);
#define LCD_X_MAX 128-1 //屏幕的X轴的物理宽度
#define LCD_Y_MAX 64-1 //屏幕的Y轴的物理宽度
#define LCD_XY_Switch 0 //显示时X轴和Y由交换
#define LCD_X_Rev 0 //显示时X轴反转
#define LCD_Y_Rev 0 //显示时Y轴反转
#if LCD_XY_Switch == 0
#define Dis_X_MAX LCD_X_MAX
#define Dis_Y_MAX LCD_Y_MAX
#endif
#if LCD_XY_Switch == 1
#define Dis_X_MAX LCD_Y_MAX
#define Dis_Y_MAX LCD_X_MAX
#endif
#define LCD_INITIAL_COLOR 0x0000 //定义LCD屏初始化时的背景色
//以下定义为针对于SPLC501的功能指令进行定义的,局部可修改~
//LCD供电电平选择
#define M_LCD_VDD_SET M_LCD_SETR_5 //3.3V供电时选此二项
#define M_LCD_VDD M_LCD_BIAS_9 //....
//#define M_LCD_VDD_SET M_LCD_SETR_4 //5.0V供电时选此二项
//#define M_LCD_VDD M_LCD_BIAS_9 //...
//LCD指令
//LCD开关命令
#define M_LCD_ON 0x00af
#define M_LCD_OFF 0x00ae
//设置上电控制模式
#define M_LCD_POWER_BC 0x002c
#define M_LCD_POWER_VR 0x002a
#define M_LCD_POWER_VC 0x0029
#define M_LCD_POWER_ALL 0x002f
//V5内部电压调节电阻设置……
#define M_LCD_SETR_0 0x0020
#define M_LCD_SETR_1 0x0021
#define M_LCD_SETR_2 0x0022
#define M_LCD_SETR_3 0x0023
#define M_LCD_SETR_4 0x0024
#define M_LCD_SETR_5 0x0025
#define M_LCD_SETR_6 0x0026
#define M_LCD_SETR_7 0x0027
//...end
#define M_LCD_ELE_VOL 0x0081 //电量设置模式(显示亮度)
//偏压设置
#define M_LCD_BIAS_9 0x00a2 //V5时选此选项设置
#define M_LCD_BIAS_7 0x00a1 //V3时选此选项设置
//Com 扫描方式设置命令
#define M_LCD_COM_NOR 0x00c0 //正常方式
#define M_LCD_COM_REV 0x00c8 //反相
//Segment方向选择
#define M_LCD_SEG_NOR 0x00a0 //正常
#define M_LCD_SEG_REV 0x00a1 //反向
//全屏点亮/变暗指令
#define M_LCD_ALL_LIGNT 0x00a5 //LCD ALL paint ON
#define M_LCD_ALL_LOW 0x00a4 //Normal Display mode
//正相反相显示控制指令,RAM中数据不变
#define M_LCD_ALL_NOR 0x00a6 //正相
#define M_LCD_ALL_REV 0x00a7 //反相
//静态指示器控制指令
#define M_LCD_STATIC_ON 0x00ad //ON
#define M_LCD_STATIC_OFF 0x00ac //OFF
//设置显示起始行对应RAM行号
#define M_LCD_BEGIN_LINE 0x0040 //基数,后面可加的尾数可为0~63
//设置当前页基数
#define M_LCD_COL_PAGE 0x00b0 //基数指令,后可加尾数0~8
//设置当前列基数
#define M_LCD_COL_LINE_LOW 0x0004 //基数指令,低四位有效
#define M_LCD_COL_LINE_HIG 0x0010 //基数指令,低四位有效
#define P_IOA_Data (volatile unsigned int *)0x7000
#define P_IOA_Buffer (volatile unsigned int *)0x7001
#define P_IOA_Dir (volatile unsigned int *)0x7002
#define P_IOA_Attrib (volatile unsigned int *)0x7003
#define P_IOA_Latch (volatile unsigned int *)0x7004
#define P_IOB_Data (volatile unsigned int *)0x7005
#define P_IOB_Buffer (volatile unsigned int *)0x7006
#define P_IOB_Dir (volatile unsigned int *)0x7007
#define P_IOB_Attrib (volatile unsigned int *)0x7008
// Define for the port use by LCD Driver
#define LCD_EP 0x0080
#define LCD_RW 0x0040
#define LCD_AO 0x0020
#define LCD_CS 0x0010
#define LCD_CMD_Dir P_IOB_Dir
#define LCD_CMD_Attrib P_IOB_Attrib
#define LCD_CMD_Buffer P_IOB_Buffer
#define LCD_Data_BUS_Out P_IOA_Buffer
#define LCD_Data_BUS_In P_IOA_Data
#define LCD_Data_BUS_Dir P_IOA_Dir
#define LCD_Data_BUS_Attrib P_IOA_Attrib
#define LCD_Data_BUS_Byte 0//1
#define startA 0x0031//计数频率96k
#define stopA 0x0036//0&0停止计数
#define start_dataA 0x0000//定时器的定时初值
#define clock_A 0x0013//系统频率设置,//24.576--24.576/8
#define input 13
#define look 14
#define sure_key 15
#define Dis_Zero 0
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -