一、功能描述
使文字进行滚动
二、
#include#include #define uint unsigned int #define uchar unsigned char sbit RST=P2^0; sbit E=P2^1; sbit wr=P2^2; sbit rs=P2^3; sbit CS2=P2^4; sbit CS1=P2^5; uchar code hanzi_ZM[][32]={ /*-- ??: ? --*/ /*-- ???12; ??????????:?x?=16x16 --*/ 0x20,0x20,0x24,0xA4,0xAC,0xB4,0xA5,0xA6,0xA4,0xB4,0xAC,0xA4,0x24,0x20,0x20,0x00, 0x80,0x80,0xA0,0xAF,0xAA,0xAA,0xAA,0xFF,0xAA,0xAA,0xAA,0xAF,0xA0,0x80,0x80,0x00, /*-- ??: ? --*/ /*-- ???12; ??????????:?x?=16x16 --*/ 0x00,0x00,0x80,0x00,0x00,0xE0,0x02,0x04,0x18,0x00,0x00,0x00,0x40,0x80,0x00,0x00, 0x10,0x0C,0x03,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x40,0x78,0x00,0x01,0x0E,0x00, /*-- ??: ? --*/ /*-- ???12; ??????????:?x?=16x16 --*/ 0x00,0xF8,0x08,0x08,0x0C,0xCA,0x49,0x48,0x48,0xC8,0x08,0x08,0x08,0xF8,0x00,0x00, 0x00,0xFF,0x00,0x00,0x00,0x1F,0x08,0x08,0x08,0x1F,0x00,0x40,0x80,0x7F,0x00,0x00, /*-- ??: ? --*/ /*-- ???12; ??????????:?x?=16x16 --*/ 0x40,0x30,0x10,0x92,0x9C,0x90,0x90,0x9F,0x90,0x90,0x98,0x96,0x10,0x50,0x30,0x00, 0x80,0x80,0x40,0x47,0x24,0x1C,0x04,0x04,0x04,0x7C,0x84,0x87,0x80,0x80,0xE0,0x00, /*-- ??: ? --*/ /*-- ???12; ??????????:?x?=16x16 --*/ 0x00,0x00,0xFF,0x88,0x88,0x48,0x48,0x00,0x7F,0x88,0x84,0x84,0x82,0xE0,0x00,0x00, 0x04,0x04,0x05,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00, /*-- ??: ? --*/ /*-- ???12; ??????????:?x?=16x16 --*/ 0x10,0x60,0x02,0x0C,0xC0,0x10,0x08,0xF7,0x14,0x54,0x94,0x14,0xF4,0x04,0x00,0x00, 0x04,0x04,0x7C,0x03,0x00,0x01,0x1D,0x13,0x11,0x55,0x99,0x51,0x3F,0x11,0x01,0x00, /*-- ??: ? --*/ /*-- ???12; ??????????:?x?=16x16 --*/ 0x00,0x00,0x00,0xFC,0x24,0x24,0x26,0x25,0x24,0x24,0x24,0xFC,0x00,0x00,0x00,0x00, 0x40,0x44,0x24,0x15,0x0D,0x45,0x81,0x7F,0x05,0x09,0x11,0x29,0x24,0x42,0x40,0x00, /*-- ??: ? --*/ /*-- ???12; ??????????:?x?=16x16 --*/ 0x80,0x64,0x2C,0x34,0x24,0x24,0xEC,0x32,0x22,0x22,0x32,0x2E,0x23,0xA2,0x60,0x00, 0x00,0x41,0x21,0x91,0x89,0x87,0x4D,0x55,0x25,0x25,0x55,0x4D,0x81,0x80,0x80,0x00, /*-- ??: ? --*/ /*-- ???12; ??????????:?x?=16x16 --*/ 0x00,0xFE,0x02,0x12,0x92,0x92,0x92,0xF2,0x92,0x92,0x92,0x12,0x02,0xFE,0x00,0x00, 0x00,0xFF,0x40,0x48,0x48,0x48,0x48,0x4F,0x48,0x4A,0x4C,0x48,0x40,0xFF,0x00,0x00, }; uchar code shuzi_ZM[][16]={ /*-- ??: 2 --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, /*-- ??: 0 --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, /*-- ??: 0 --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, /*-- ??: 5 --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00, /*-- ??: - --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01, /*-- ??: 2 --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, /*-- ??: 0 --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, /*-- ??: 2 --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, /*-- ??: 2 --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, /*-- ??: j --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00, /*-- ??: i --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, /*-- ??: a --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20, /*-- ??: y --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00, /*-- ??: o --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00, /*-- ??: u --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20, /*-- ??: ! --*/ /*-- ???12; ??????????:?x?=8x16 --*/ 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00, }; void delayms(uint x) { uchar i; while(x--) for(i=0;i<123;i++); } void writeData(uchar x) { rs=1; wr=0; P0=x; _nop_(); E=1; _nop_(); E=0; } void writeCon(uchar x) { rs=0; wr=0; P0=x; _nop_(); E=1; _nop_(); E=0; } void lcd_xy(uchar x,y) { if(y<64) { CS1=0; CS2=1; writeCon(0x40|y); } else { CS1=1; CS2=0; writeCon(0x40|y-64);; } writeCon(0xb8|x); } void clear() { uint i,j; CS1=CS2=0; for(i=0;i<8;i++) { writeCon(0xb8+i); writeCon(0x40); for(j=0;j<64;j++) { writeData(0x00); } } } void init12864() { RST=0; delayms(15); RST=1; writeCon(0x3e); writeCon(0xb8); writeCon(0x40); writeCon(0xc0);//diyihangkaishixianshi writeCon(0x3f); } void writeHZ(uchar x,y,uchar code *p) { uint t=0; uchar i,j; for(i=x;i
三、电路图
四、小结
学会了使文字进行滚动 和字模的使用但是打代码的时候还是会有很多错误 只要认真听老师说的东西 学会这些挺容易的多练练就好了