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

📄 lcd_6610_config.h

📁 GPS DEMO CODE FOR NOKIA6610 LCD,下载于OURAVR.COM.
💻 H
字号:
#ifndef _LCD_6610_CONFIG_H_
#define _LCD_6610_CONFIG_H_

#include <util/delay.h>
#include <avr/pgmspace.h>//空间分配定义头文件
#include "LCD_6610_PORT.h"

#define uint8  unsigned char
#define uint16 unsigned int

#define Cli_Bit(port, port_bit) (port &= ~(1<<port_bit))
#define Set_Bit(port, port_bit) (port |=  (1<<port_bit))
#define Get_Bit(port, port_bit) (port & (1<<port_bit))

#define _LCD_CS_L   Cli_Bit(PORT_LCD_6610, _LCD_CS)
#define _LCD_CS_H   Set_Bit(PORT_LCD_6610, _LCD_CS)
#define LCD_SDATA_L Cli_Bit(PORT_LCD_6610, LCD_SDATA)
#define LCD_SDATA_H Set_Bit(PORT_LCD_6610, LCD_SDATA)
#define _LCD_RST_L  Cli_Bit(PORT_LCD_6610, _LCD_RST)
#define _LCD_RST_H  Set_Bit(PORT_LCD_6610, _LCD_RST)
#define LCD_SCLK_L  Cli_Bit(PORT_LCD_6610, LCD_SCLK)
#define LCD_SCLK_H  Set_Bit(PORT_LCD_6610, LCD_SCLK)

#define Get_LCD_SDATA Get_Bit(PIN_LCD_6610, LCD_SDATA)

#define LCD_SDATA_IN {\
						Cli_Bit(DDR_LCD_6610, LCD_SDATA);\
						LCD_SDATA_L;\
					}//数据线配置为输入

#define LCD_SDATA_OUT {\
						Set_Bit(DDR_LCD_6610, LCD_SDATA);\
						LCD_SDATA_H;\
					}//数据线配置为输出

//Cmd Table
#define LCD_NOP       0x00
#define LCD_SWRESET   0x01
#define LCD_BSTROFF   0x02
#define LCD_BSTRON    0x03
#define LCD_RDDIDIF   0x04
#define LCD_RDDST     0x09
#define LCD_Sleep_IN  0x10
#define LCD_Sleep_OUT 0x11
#define LCD_PTLON     0x12
#define LCD_NORON     0x13
#define LCD_INVOFF    0x20
#define LCD_INVON     0x21
#define LCD_DALO      0x22
#define LCD_DAL       0x23
#define LCD_SETCON    0x25
#define LCD_DISPOFF   0x28
#define LCD_DISPON    0x29
#define LCD_CASET     0x2A
#define LCD_PASET     0x2B
#define LCD_RAMWR     0x2C
#define LCD_RGBSET    0x2D
#define LCD_PTLAR     0x30
#define LCD_VSCRDEF   0x33
#define LCD_TEOFF     0x34
#define LCD_TEON      0x35
#define LCD_MADCTL    0x36
#define LCD_SEP       0x37
#define LCD_IDMOFF    0x38
#define LCD_IDMON     0x39
#define LCD_COLMOD    0x3A
#define LCD_SETVOP    0xB0
#define LCD_BRS       0xB4
#define LCD_TRS       0xB6
#define LCD_FINV      0xB9
#define LCD_DOR       0xBA
#define LCD_TCDFE     0xBD
#define LCD_TCVOPE    0xBF
#define LCD_EC        0xC0
#define LCD_SETMUL    0xC2
#define LCD_TCVOPAB   0xC3
#define LCD_TCVOPCD   0xC4
#define LCD_TCDF      0xC5
#define LCD_SETBS     0xC7
#define LCD_RDTEMP    0xC8
#define LCD_NLI       0xC9
#define LCD_RDID1     0xDA
#define LCD_RDID2     0xDB
#define LCD_RDID3     0xDC
#define LCD_OTPSHTIN  0xF1

#define ON  0x01
#define OFF 0x00

//Window
#define X_MIN 1
#define X_MAX 132
#define Y_MIN 1
#define Y_MAX 132


//colour
#define RGB444 0x03 //12 Bits
#define RGB565 0x05 //16 Bits
#define RGB332 0x02 //8 Bits

#define RGB RGB565//RGB444,RGB565,RGB332

#if RGB == RGB444
//#define LCD_6610_W2RGBDot(r, g, b,)
#elif RGB == RGB565
#define LCD_6610_W1RGBDot(r, g, b, dot) {\
											if(dot == 0)\
											{\
												LCD_6610_WriteDat(0xff);\
												LCD_6610_WriteDat(0xff);\
											}\
											else\
											{\
												LCD_6610_WriteDat(((r/8)<<3)|((g/4)>>3));\
												LCD_6610_WriteDat(((g/4)<<5)|((b/8)));\
											}\
										}
#elif RGB == RGB332
#define LCD_6610_W1RGBDot(r, g, b, dot) {\
											if(dot == 0)\
											{\
												LCD_6610_WriteDat(0xff);\
											}\
											else\
											{\
												LCD_6610_WriteDat(((r/32)<<5) | ((g/32)<<2) | (b/64));\
											}\
										}

#endif


#define nRGB(r, g, b) {\
						Red   = r;\
						Green = g;\
						Blue  =b;\
						}
//在LCD_6610_Drv.S中
extern void LCD_6610_WriteCmd(uint8 cmd);//写指令
extern void LCD_6610_WriteDat(uint8 dat);//写数据

extern uint8 Hex4ToChar(uint8 Hex4);//4位二进制转为字符
extern void LCD_6610_WriteCmd(uint8 cmd);                                         //写指令
extern void LCD_6610_WriteDat(uint8 dat);//写数据
extern void Init_LCD_PORT();                                                      //配置引脚最初状态
extern void Init_LCD_Dev();                                                       //初始化LCD
extern void LCD_6610_ShowGraphic(uint8 xs, uint8 ys,
	 uint8 x_dot, uint8 y_dot, prog_char *pG);                                    //写入位图(xs,ys,x_dot,y_dot,pG)
extern void ClearRAM();                                                           //清空RAM
extern void LCD_6610_DspMode(uint8 mode, uint8 x1, uint8 x2, uint8 x3, uint8 x4); //显示模式
extern void LCD_ShowChar(uint8 x, uint8 y, uint8 pchar);//显示字符
extern void LCD_ShowStr(uint8 xs, uint8 ys, uint8 *str);                          //显示字符串
extern void LCD_ShowHex(uint8 xs, uint8 ys, uint8 hex);                           //显示HEX
extern void LCD_6610_DrawLine(uint8 xs, uint8 ys, uint8 xe, uint8 ye);            //画线函数
extern void LCD_ShowDen(uint8 xs, uint8 ys, uint16 den);                          //显示十进制数据

extern uint8 Red;
extern uint8 Green;
extern uint8 Blue;

extern uint8 CurX_MIN;
extern uint8 CurX_MAX;
extern uint8 CurY_MIN;
extern uint8 CurY_MAX;


#endif

⌨️ 快捷键说明

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