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

📄 lcd_driver._h

📁 AVR控制12864液晶画圆弧,在AVR单片机的控制下完成圆弧的绘制。
💻 _H
字号:
#ifndef KBS0108_H
#define KBS0108_H

#include  <iom32v.h>
#include  "m32macro.h"
#include  "connection.h"
//*************************************************
//definition of lcd instruction
//*************************************************
#define DISPLAY_ON              0x3f
#define DISPLAY_OFF             0x3e
#define DISPLAY_FIRST_ROW       0x0c0 
#define LCD_SET_PAGE            0x0b8
#define LCD_SET_COL             0x40
//**************************************************
//definition of constents used
//**************************************************
#define  CMD_MODE          0
#define  DATA_MODE         1
#define  ENABLE            0
#define  DISABLE           1
#define  READ_MODE         1
#define  WRITE_MODE        0
#define  BUSY              0
#define  NOW_DISPLAY_ON    0 
#define  LEFT              1
#define  RIGHT             2
//***************************************************
//base lcd operation functions
//***************************************************
#define LCD_CMD_MODE()     LCDCTRLPORT &= ~(1<<D_I)
#define LCD_DATA_MODE()    LCDCTRLPORT |=  (1<<D_I)
#define LCD_E_LOW()        LCDCTRLPORT &= ~(1<<E)
#define LCD_E_HIGH()       LCDCTRLPORT |=  (1<<E)
#define LCD_WRITE_MODE()   LCDCTRLPORT &= ~(1<<R_W)
#define LCD_READ_MODE()    LCDCTRLPORT |=  (1<<R_W)
#define LCD_LEFT_SELECT()  LCDCTRLPORT &= ~(1<<CS1)
#define LCD_RIGHT_SELECT() LCDCTRLPORT &= ~(1<<CS2)
#define LCD_LEFT_STOP()    LCDCTRLPORT |=  (1<<CS1)
#define LCD_RIGHT_STOP()   LCDCTRLPORT |=  (1<<CS2)

//***************************************************
/* LCD screen and bitmap image array consants */
//***************************************************
#define LCD_X_BYTES		128
#define LCD_Y_BYTES		8
#define SCRN_LEFT		0
#define SCRN_TOP		0
#define SCRN_RIGHT		127
#define SCRN_BOTTOM		63
//***************************************************
//definition of LED cotrolling functions
//***************************************************
void   choose_left_screen(void);   
void   choose_right_screen(void); 
void   choose_full_screen(void);  
void   choose_no_screen(void);     

//***************************************************
void set_xy(unsigned char x,unsigned char y);
void write_to_xy(unsigned char x,unsigned char y,unsigned char dat);
void write_to_lcd(unsigned char dat);


//***************************************************
//base funcitions to operate LED
//***************************************************
 void lcd_out_dat_l(  unsigned char dat);
 void lcd_out_dat_r(  unsigned char dat);
 void lcd_out_ctl_l( unsigned char cmd);
 void lcd_out_ctl_r( unsigned char cmd);
 void lcd_out_ctl( unsigned char cmd,  unsigned char nctrl);
 void lcd_out_dat( unsigned char dat,  unsigned char nctrl);
 
unsigned char lcd_read_byte( unsigned char x,unsigned char y );
unsigned char lcd_is_busy( void );//  1 is busy
void lcd_init(void);

//*****************************************************
//advanced operation functions
//*****************************************************
void write_rect(unsigned char page0,unsigned char y0,
                unsigned char *dat);//page is y
				
void read_rect(unsigned char x0,unsigned char y0,
               unsigned char x1,unsigned char y1);
//x0,x1 are  row number, y0 y1 are page's part
  
			   				
//*****************************************************
#endif

⌨️ 快捷键说明

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