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

📄 st7920.h

📁 ST7920液晶控制器的AVR程序
💻 H
字号:
//可用串口和并口的方式对ST7920操作

#ifndef ST7920
#define ST7920
#include <iom16v.h>
#include <macros.h> 
#define uchar unsigned char 
#define uint  unsigned int
#define ulong  unsigned long

#define setbit(sfr,bit) (sfr|=(1<<bit))
#define clrbit(sfr,bit) (sfr&=~(1<<bit))
#define tstbit(sfr,bit) (sfr&(1<<bit))

#define seti (SREG	|=	0x80)
#define clri (SREG	&=	0x7f)

//#define OP_S	
//用并口操作,只能选其中一种   														
//#define OP_P	   

//lcd状态有关
#define LCD_BUSY_TIMES  10					//定义出现LCD忙的次数
#define lcdBusy()		((getState()& 0x80)?1:0)
#define lcdChkBusyCnt()	{if(LCD_BusyCnt > LCD_BUSY_TIMES) {LCD_BusyCnt = 0; //重启动,添加应用程序}
#define lcdClear()		{WriteCommand(0x01);Delayms(10);}
#define lcdOpen()		WriteCommand(0x0c)	
//文本显示有关	
#define FunctionSet()	WriteCommand(0x30)  //功能设置 8位数据,基本指令
#define DisplayOn()		WriteCommand(0x0c)  //显示状态 ON,游标OFF,反白OFF
#define DisplayOff()	WriteCommand(0x08)  //显示状态 OFF,游标OFF,反白OFF
#define EntryModeSet()	WriteCommand(0x06)
#define lcdStartLine(n) WriteCommand((8+(n))<<4)
#define RST_TO_WORK		{clrbit(LCD_CTRL,RST);setbit(LCD_CTRL,RST);}
#define DisplayFanbai(WhichLine) {EX_FT();WriteCommand( 0x04 |((WhichLine)&0x03) );FunctionSet();}
#define CursorDisp()    WriteCommand(0x0e)
#define CursorFlash()   WriteCommand(0x0d)   //光标闪烁
#define CursorOff()     WriteCommand(0x0c)   //关闭光标
//绘图显示有关	
#define EX_FT()		    WriteCommand(0x36)
#define PicClear()		ClearArea(64,16,0,0,0)

											
#define RS   5  //CS   第四引脚
#define RW   6	//SID  第五引脚
#define E    7  //SCK  第六引脚
#define RST  5
#define LCD_CTRL 		PORTB
#define DDR_LCD_CTRL 	DDRB
#define PIN_LCD_CTRL 	DDRB
//PORTD = 0xFF;	/* all off */
//DDRD = 0xFF;	/* output */
#define DDR_LED	        DDRD
#define PORT_LED	    PORTD



extern uchar LCD_BusyCnt;
void WriteCommand(uchar command);
void lcdInit(void);
void lcdDisplay( uchar x, uchar y, uchar *ptr );
void lcdDispGraphic(uchar length,uchar width, uchar x,uchar y, const unsigned char *ptr);
void ClearArea(uchar length,uchar width, uchar x,uchar y,uchar back);
void DrawLevelLing( uchar x0,uchar y0, uchar x1,uchar y1);

void PicClear1(void);
void PHO_DISP(const unsigned char *s);

#endif

⌨️ 快捷键说明

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