📄 参考程序.txt
字号:
#include <regx52.h>
#include <intrins.h>
#include <string.h>
//#define uchar unsigned char //自定义关键字
//-----------------------------------------------
//TS12864并口相关设定//
sbit bitLCDsclk = P1^4 ;
sbit bitLCDsid = P1^1 ;
sbit bitLCDcs = P1^0 ;
//-----------------------------------------------
unsigned char lcdPosX, lcdPosY ; //X,Y坐标
unsigned char halfScr, halfLineCnt, basicBlock ; //半屏,半屏行数,N*8块
//-----------------------------------------------
unsigned char code powerOnPhoto [] = { //开机画面
0xFF,0xFF,0xFF,0xFE,0x00,0x3E,0x18,0x00,
0x00,0x00,0x00,0x00,0x1F,0x3F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF2,0x00,0x1E,0x1C,0x00,
0x00,0x00,0x00,0x00,0x07,0xBF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF3,0x00,0x0E,0x0C,0x00,
0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF5,0x80,0x04,0x06,0x00,
0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFC,0x80,0x00,0x06,0x00,
0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFE,0xC0,0x00,0x02,0x00,
0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x7C,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFD,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFD,0x1C,0x03,0x00,
0x00,0x00,0x04,0x20,0x00,0x1F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
0x00,0x00,0x3E,0x2C,0x00,0x0F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
0x00,0x00,0x7E,0xE9,0x00,0x0F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,
0x00,0x00,0xFF,0xFF,0x00,0x07,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xF9,0xE0,0x00,
0x00,0x01,0xFF,0xFF,0xC0,0x07,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xCF,0xF8,0xE0,0x00,
0x00,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xEF,0xFC,0xE0,0x60,
0x00,0x03,0xDF,0xFF,0xF8,0x03,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x60,
0x00,0x03,0xFF,0xF9,0xFC,0x00,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x60,
0x00,0x00,0x7F,0xF3,0xFE,0x01,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x60,
0x00,0x00,0x1F,0x7F,0xFE,0x01,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x60,
0x00,0x00,0x08,0x1F,0xFA,0x01,0x7F,0xFF,
0xFF,0xFF,0xFF,0xB0,0x60,0x00,0x00,0xE0,
0x00,0x00,0x00,0x00,0x78,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xD0,0x00,0x00,0x00,0xE0,
0x00,0x00,0x00,0x00,0x39,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0xE0,
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x01,0xE0,
0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x01,0xE0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x01,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x03,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x07,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x07,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x0F,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x0F,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,
0xFF,0xFF,0xFF,0x88,0x00,0x00,0x0E,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0x80,0x00,0x00,0x1C,0x30,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0xA0,0x00,0x00,0x1C,0x38,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0x90,0x00,0x00,0x18,0x38,
0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,
0xFF,0xFF,0xFF,0x98,0x00,0x00,0x18,0xFC,
0x0E,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0x80,0x00,0x00,0x19,0xFD,
0x1F,0x80,0x00,0x00,0x00,0x00,0x7F,0xFF,
0xFF,0xFF,0xFF,0xC4,0x00,0x00,0x39,0xFE,
0xBF,0x80,0x00,0x00,0x00,0x00,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x31,0xFE,
0xFF,0x80,0x00,0x00,0x00,0x00,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x38,0xFF,
0xC7,0x80,0x00,0x00,0x00,0x00,0xBF,0xFF,
0xFF,0xFF,0xFF,0xD0,0x00,0x00,0x38,0x75,
0x87,0x80,0x00,0x00,0x00,0x01,0xBF,0xFF,
0xFF,0xFF,0xFF,0xD0,0x00,0x00,0x38,0x70,
0x00,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,
0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x3C,0xC0,
0x00,0x30,0x00,0x00,0x00,0x01,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x1F,0xE0,
0x00,0x20,0x00,0x00,0x00,0x02,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x02,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x06,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x04,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x05,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x0B,0xF7,0xFE,
0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x13,0xF7,0xFF,
0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x13,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x11,0xFF,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x11,0xFD,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x01,0x18,
0x00,0x00,0x00,0x00,0x00,0x01,0xBC,0xF7,
0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x07,0x7F,
0xFE,0x00,0x00,0x00,0x00,0x03,0xBC,0xFF,
0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x0F,0xFF,
0xFE,0xC0,0x00,0x00,0x00,0x03,0xFE,0xEF,
0xFF,0xFF,0xFF,0xF9,0x00,0x00,0x7F,0xFF,
0xFF,0xC0,0x00,0x00,0x00,0x03,0xFE,0x6F,
0xFF,0xFF,0xFF,0xF9,0x00,0x00,0x7F,0xE3,
0x9F,0xC0,0x00,0x00,0x00,0x03,0xFE,0xFF,
0xFF,0xFF,0xFF,0xFC,0x00,0x01,0xFF,0xC0,
0x0F,0xF0,0x00,0x00,0x00,0x07,0xFE,0xFF,
0xFF,0xFF,0xFF,0xFC,0x00,0x01,0xFE,0xC0,
0x05,0xFC,0x00,0x00,0x00,0x07,0xCE,0xFF,
0xFF,0xFF,0xFF,0xFC,0x00,0x03,0xFF,0xCB,
0x4D,0xFF,0x80,0x00,0x00,0x07,0xFE,0xFF,
0xFF,0xFF,0xFF,0xFE,0x00,0x03,0xFC,0x00,
0x00,0xFF,0xC0,0x00,0x00,0x0E,0x00,0xF7,
0xFF,0xFF,0xFF,0xFE,0x00,0x01,0xC0,0x00,
0x00,0x0F,0xC0,0x00,0x00,0x06,0x01,0xFF,
0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x1D,0x00,
0x00,0x01,0xC0,0x00,0x00,0x0E,0x03,0xFF
} ;
unsigned char code filejia[] = // 数据表
{
0x00,0x00,0x00,0x00,0x0F,0xF0,0x10,0x08,
0x7F,0xFE,0x40,0x02,0x40,0x02,0x4F,0xF2,
0x48,0x12,0x48,0x12,0x48,0x12,0x48,0x12,
0x4F,0xF2,0x40,0x02,0x7F,0xFE,0x00,0x00
} ;
//子程序声明和用法
//初始化LCD子程序
void lcdClear (void) ;
//清除LCD文本屏幕子程序
void alldisplayPhoto (unsigned char *bmp, unsigned char bmpCls) ;
void displayPhoto (unsigned char *bmp, unsigned char bmpCls) ;
//全屏显示图形子程序
//输入参数:*bmp=图形数据
//bmpCls=清除图形屏幕选项(OFF为不清屏,即显示图形,ON为清屏)
void convertChar (unsigned char CX, CY, width) ;
//字符反白显示
//输入参数:CX=要反白字符的行(0-3)
//CY=要反白字符的列(0-7)
//width=要反白字符的长度(1-16)
void wrPosition (void) ;
//坐标写入子程序
void dispString (unsigned char X, Y, speed, unsigned char *msg) ;
//显示字符串子程序
//输入参数:X=行(0-3), Y=列(0-7), speed=显示速度(毫秒), msg=字符数据
void beepBl (void) ;
//蜂鸣器响一声子程序
void delayMs (unsigned char ms) ;
//延时(毫秒)子程序
//输入参数:毫秒数
void delaySec (unsigned char sec) ;
//延时(秒)子程序
//输入参数:秒数
void lcdInit (void) ;
//-------------
void lcd_delay(void) ;
void lcd_wbyte(unsigned char sendbyte) ;
void lcd_wri(unsigned char indata) ;
void lcd_wrd(unsigned char indata) ;
void lcd_nop(void) ;
void delay_ms(unsigned char k) ;
//void lcd_show_str(unsigned char * strdata, unsigned char len, unsigned char x_tab) ;
//-------------------
void showPhoto (unsigned char cx,cy,high,width ,unsigned char *bmp) ;
void clearChar (unsigned char CX, CY, width) ;
//===============================================
void main (void)
{
unsigned char InitLine ;
// unsigned char number ;
// unsigned char totlenumber ;
lcdInit () ;
while(1)
{
lcdClear() ;
dispString(0, 1, 200, "佛山领航电教") ;
dispString(1, 1, 200, "点播演示系统") ;
delaySec(10) ;
//displayPhoto(0,1) ;
lcdClear() ;
// delaySec(10) ;
displayPhoto(powerOnPhoto, 0) ;
//displayPhoto(0,1) ;
delaySec(4) ;
alldisplayPhoto(0,1) ;
showPhoto(0x80,1,1,1,filejia) ;
dispString(1, 1, 1, " 陈百强") ;
convertChar(1, 1, 14) ;
delaySec(10) ;
showPhoto(0x88,2,1,1,filejia) ;
dispString(2, 1, 1, " 黄家驹") ;
showPhoto(0x88,3,1,1,filejia) ;
dispString(3, 1, 1, " 郑智化") ;
delaySec(10) ;
clearChar(1, 1, 14) ;
convertChar(2, 1, 14) ;
delaySec(10) ;
clearChar(2, 1, 14) ;
convertChar(3, 1, 14) ;
delaySec(10) ;
clearChar(3, 1, 14) ;
delaySec(10) ;
alldisplayPhoto(0,1) ;
lcdClear() ;
dispString(0, 0, 1, "┏━━━━━━┓") ;
dispString(1, 0, 1, "┃12864LCD测试┃") ;
dispString(2, 0, 1, "┃画面人物宝儿┃") ;
dispString(3, 0, 1, "┗━━━━━━┛") ;
delaySec(6) ;
lcdClear() ;
dispString(0, 1, 100, "请稍等片刻") ;
dispString(2, 0, 100, "系统初始化。。。") ;
for (InitLine = 0 ; InitLine < 17 ; InitLine++)
{
convertChar(2, 0, InitLine) ;
delaySec(2) ;
}
lcdClear() ;
}
}
//===============================================
void lcdInit (void)
{
lcd_delay() ;
lcd_wri(0x34) ;
lcd_delay() ;
lcd_wri(0x30) ;
lcd_delay() ;
lcd_wri(0x0c) ;
lcd_delay() ;
lcd_wri(0x01) ;
lcd_delay() ;
lcd_wri(0x06) ;
lcd_delay() ;
}
//===============================================
void lcdClear (void)
{
lcd_wri(0x30) ;
lcd_delay() ;
lcd_wri(0x01) ;
delayMs(4) ;
}
//===============================================
//===============================================
//===============================================
void displayPhoto (unsigned char *bmp, unsigned char bmpCls)
{
lcdPosX = 0x80 ;
halfScr = 2 ;
for ( ;halfScr != 0 ; halfScr--)
{
lcdPosY = 0x80 ;
halfLineCnt = 32 ;
for ( ;halfLineCnt != 0 ; halfLineCnt--)
{
basicBlock = 16 ;
wrPosition () ;
for ( ; basicBlock != 0 ; basicBlock--)
{
if (bmpCls == 0)
{
lcd_wrd (*bmp++) ;
}
else if (bmpCls == 1)
{
lcd_wrd (0x00) ;
}
}
lcdPosY++ ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -