液晶LCD12864左右滚屏显示汉字

2022-08-20 02:36:20   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《液晶LCD12864左右滚屏显示汉字》,欢迎阅读!
汉字,LCD12864,液晶,左右,显示


Keil C语言源程序



#include #include

#define uchar unsigned char #define uint unsigned int #define LCD_databus P0 uchar num;

uchar code zi[10][32]={

/*************************************************/ 0x00,0xF8,0xF0,0x00,0xFF,0xFE,0x80,0x60, 0x38,0x1E,0x3F,0x6A,0x68,0xC8,0x4C,0x08, 0x00,0x0F,0x07,0x00,0xFF,0x7F,0x00,0xFF, 0x7E,0x42,0x7E,0x7E,0x42,0xFE,0x7F,0x02,

/*************************************************/ 0x00,0x10,0xE1,0xC6,0x0C,0x8C,0xE0,0xFE, 0xFC,0x24,0x26,0xE2,0xE3,0x23,0x32,0x20, 0x00,0x04,0x78,0xF8,0x1E,0x83,0x40,0x3F, 0x1F,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,

/*************************************************/ 0x00,0x00,0x20,0x20,0x20,0x20,0x20,0xFF, 0xFE,0xA0,0x20,0x20,0x20,0x30,0x20,0x00, 0x00,0x80,0x40,0x60,0x30,0x1C,0x0F,0x03, 0x00,0x03,0x0E,0x18,0x30,0x60,0xE0,0x40,

/*************************************************/ 0x00,0x10,0x38,0x1C,0x0B,0x4E,0x48,0x4B, 0x4E,0xC8,0xEC,0x4F,0x0A,0x38,0x1C,0x08, 0x00,0x00,0x04,0x04,0x04,0x04,0x44,0x44, 0xFF,0x7F,0x04,0x04,0x04,0x06,0x04,0x00,

/**********************横杠*************************/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80, 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*************************************************/ 0x04,0x34,0xC4,0x04,0xC4,0x3C,0x20,0x10, 0x0F,0xE8,0x08,0x08,0x28,0x18,0x00,0x00, 0x10,0x08,0x06,0x01,0x82,0x8C,0x40,0x30, 0x0C,0x03,0x0C,0x10,0x60,0xC0,0x40,0x00,

/*************************************************/ 0x40,0x42,0x44,0xC8,0x00,0xFC,0x04,0x02, 0x82,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00, 0x00,0x40,0x20,0x1F,0x20,0x47,0x42,0x41, 0x40,0x7F,0x40,0x42,0x44,0x63,0x20,0x00,

/*************************************************/ 0x40,0x20,0x10,0xFC,0x23,0x10,0x8C,0x67, 0x04,0xF4,0x04,0x44,0x94,0x8C,0x00,0x00,


0x40,0x30,0x00,0x77,0x80,0x81,0x88,0x92, 0xB4,0x83,0x80,0xE0,0x00,0x11,0x60,0x00,

/**********************笑脸*************************/ 0x00,0x40,0x20,0x10,0x10,0x00,0x00,0x00, 0x00,0x00,0x00,0x10,0x10,0x20,0x40,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x08, 0x08,0x04,0x00,0x00,0x00,0x00,0x00,0x00,

/**********************空格*************************/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

sbit RS=P2^2; sbit RW=P2^1; sbit EN=P2^0; sbit CS1=P2^4; sbit CS2=P2^3; void delay(uint x) {

uchar i; while(x--)

for(i=0;i<120;i++); }

void Read_busy() {

P0=0X00; RS=0; RW=1; EN=1;

while(P0&0x80); EN=0; }

void write_LCD_command(uchar value) {

Read_busy(); RS=0; RW=0;

LCD_databus=value; EN=1; _nop_(); _nop_ (); EN=0; }

void write_LCD_data(uchar value) {

Read_busy(); RS=1; RW=0;

LCD_databus=value;


EN=1; _nop_(); _nop_(); EN=0; }

void Set_page(uchar page) {

page=0xb8|page;

write_LCD_command(page); }

void Set_line(uchar startline) {

startline=0xc0|startline; write_LCD_command(startline); }

void Set_colum(uchar colum) {

colum=colum&0x3f; colum=0x40|colum;

write_LCD_command(colum); }

void Setonoff(uchar onoff) {

onoff=0x3e|onoff;

write_LCD_command(onoff); }

void SelectScreen(uchar screen) {

switch(screen) {

case 0:CS1=0;CS2=0;break; case 1:CS1=0;CS2=1;break; case 2:CS1=1;CS2=0;break; default:break; } }

void ClearScreen(uchar screen) {

uchar i,j;

SelectScreen(screen); for(i=0;i<8;i++) {

Set_page(i); Set_colum(0);

for(j=0;j<64;j++) {

write_LCD_data(0x00); }


} }

void InitLCD() {

Read_busy(); SelectScreen(0); Setonoff(0); SelectScreen(0); Setonoff(1); SelectScreen(0); ClearScreen(0); Set_line(0); }

void Display(uchar ss,uchar page,uchar colum,uchar *p) {

uchar i;

SelectScreen(ss); Set_page(page); Set_colum(colum); for(i=0;i<16;i++) {

write_LCD_data(p[i]); }

Set_page(page+1); Set_colum(colum); for(i=0;i<16;i++) {

write_LCD_data(p[i+16]); } }

void main() {

int i; InitLCD();

ClearScreen(0); Set_line(0); while(1) {

for(i=0;i<10;i++) {

int a=i+1,b=i+2,c=i+3,d=i+4,e=i+5,f=i+6,g=i+7;

if(a>=10||b>=10||c>=10||d>=10||e>=10||f>=10||g>=10) {

a=a%10; b=b%10; c=c%10; d=d%10; e=e%10;


} } }



f=f%10; g=g%10; }

Display(1,2,0*16,zi[i]); Display(1,2,1*16,zi[a]); Display(1,2,2*16,zi[b]); Display(1,2,3*16,zi[c]); Display(2,2,0*16,zi[d]); Display(2,2,1*16,zi[e]); Display(2,2,2*16,zi[f]); Display(2,2,3*16,zi[g]); delay(500); ClearScreen(0);

Protues仿真图













本文来源:https://www.wddqxz.cn/f0615035c181e53a580216fc700abb68a982ad08.html

相关推荐