?? display.h.bak
字號:
#ifndef _DISPLAY_H
#define _DISPLAY_H
#ifndef _OS_CPU_H
#include "OS_CPU.h"
#endif
#ifndef _MC68376_H
#include "mc68376.h"
#endif
#ifdef OS_GLOBALS
#define OS_EXT
#else
#define OS_EXT extern
#endif
// 液晶內部8kRAM的組織和分配;
#define TBASE 0x0000 // 文本區基地址;
#define TCOLUMNS 20 // 液晶顯示一行所需的字節數;
#define TROWS 16 // 在文本模式下,液晶所能顯示的行數;
#define TSIZE (TCOLUMNS * TROWS) // 在文本模式下,液晶顯示所有行數時所需內部RAM空間的字節數;
#define GBASE 0x0200 // 圖形區基地址;
#define GCOLUMNS 20 // 液晶顯示一行所需的字節數;
#define GROWS 128 // 在圖形模式下,液晶所能顯示的行數;
#define GSIZE (GCOLS * GROWS) // 在圖形模式下,液晶顯示所有行數時所需內部RAM空間的字節數;
#define CGBASE 0x1800 // CG RAM區基地址;
#define CGSIZE 0x0800 // CG RAM區所占字節數;
// 顯示樣式控制宏;
#define DISPNORMAL 0x00 // 用于字符的顯示;
#define DISPREVERSE 0x01
// 液晶控制信號;
#define NOP() \
{\
asm(" NOP");\
asm(" NOP");\
}
#define LCD_CHIPSEL_ENABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0x0C00) | 0x0800;\
while((*TPU_HSRR0 & 0x0C00) != 0x0000);\
}
#define LCD_CHIPSEL_DISABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0x0C00) | 0x0400;\
while((*TPU_HSRR0 & 0x0C00) != 0x0000);\
}
#define LCD_RESET_ENABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0x00C0) | 0x0080;\
while((*TPU_HSRR0 & 0x00C0) != 0x0000);\
}
#define LCD_RESET_DISABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0x00C0) | 0x0040;\
while((*TPU_HSRR0 & 0x00C0) != 0x0000);\
}
#define LCD_DATA_ENABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0xC000) | 0x8000;\
while((*TPU_HSRR0 & 0xC000) != 0x0000);\
}
#define LCD_DATA_DISABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0xC000) | 0x4000;\
while((*TPU_HSRR0 & 0xC000) != 0x0000);\
}
#define LCD_READ_ENABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0x3000) | 0x2000;\
while((*TPU_HSRR0 & 0x3000) != 0x0000);\
}
#define LCD_READ_DISABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0x3000) | 0x1000;\
while((*TPU_HSRR0 & 0x3000) != 0x0000);\
}
#define LCD_WRITE_ENABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0x0300) | 0x0200;\
while((*TPU_HSRR0 & 0x0300) != 0x0000);\
}
#define LCD_WRITE_DISABLE() \
{\
*TPU_HSRR0 = (*TPU_HSRR0 & ~0x0300) | 0x0100;\
while((*TPU_HSRR0 & 0x0300) != 0x0000);\
}
OS_EXT INT8U DisplayBuffer[128][20]; // added on 2004/4/26;
// 液晶模塊的函數原型聲明;
void initLCDResource(void); // 系統每次上電復位時需要調用該函數進行液晶模塊的初始化;
INT8U readStatusRegister(void); // 液晶驅動的核心函數(begin);
INT8U readData(void);
void writeCommand(INT8U cmd);
void writeData(INT8U data);
void setOffsetRegister(INT8U addr);
void setAddressPointer(INT16U addr);
INT8U getData(INT16U addr);
void displayOff(void);
void displayOn(void); // 液晶驅動的核心函數(end);
INT8U getMaskCode(INT8U start, INT8U end); // 用于函數print;
INT16U getCharIndex(INT16U charcode); // 用于函數printString,得到被顯示字符字模的索引;
void drawHorizLine(INT8U x, INT8U y, INT8U width, INT8U data); //畫橫線函數;
void print(INT8U x, INT8U y, INT8U height, INT8U data); //drawGraph函數和printString函數的核心函數;
void drawGraph(INT8U x, INT8U y, INT8U width, INT8U height, INT8U *pdata);
void printString(INT8U x, INT8U y, INT8U charwidth, INT8U charheight,
INT8U displaymode, INT8U *pstring, BOOLEAN fillbuffer);
void flushBuffer(void); // added on 2004/4/26;
void PRINT(INT8U x, INT8U y, INT8U height, INT8U data); // added on 2004/4/26;
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -