12864内部也是有一系列寄存器的,操作12864就是要更改其内部寄存器的内容
参考https://www.cnblogs.com/dengxiaojun/p/4279450.html
#include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit rw=P2^6; sbit rs=P2^5; sbit e=P2^7; sbit psb=P2^0; uchar code table[]="门禁系统"; uchar code table1[]="123456789012345"; uchar code table2[]="@#¥%…&**(())"; uchar code table3[]="你好呀呀"; void yan(uint ms) { uchar qw; for(q=ms;q>0;q--) for(w=110;w>0;w--); } void yan1() { uchar i; for(i=0;i<50;i++); } /* void y5() { P2|=0xe0; P2&=0xa0; } void y4() { P2|=0xe0; P2&=0x80; } void y6() { P2|=0xe0; P2&=0xc0; } */ void xzl(uchar com) { rw=0; rs=0; e=0; P0=com; e=1; yan(1); e=0; yan1(); } void xsj(uchar dat) { rw=0; rs=1; e=0; P0=dat; e=1; yan(1); e=0; yan1(); } void init() { // yan(1); // xzl(0x30); // yan(1); xzl(0x30); // yan(1); xzl(0x0f); // yan(1); xzl(0x01); // yan(12); xzl(0x06); // yan1(); } void display1() { uchar i; uchar a; a=0x10; xzl(0x80); for(i=0;i<16;i++) { xsj(a); yan1(); a++; } } void display2() { uchar i; uchar ab; a=0xba; b=0xc0; xzl(0x90); yan1(); for(i=0;i<16;i++) { xsj(a); xsj(b); yan1(); b++; } } void display3() { uchar i; xzl(0x80); for(i=0;i<16;i++) { xsj(table[i]); yan(1100); } xzl(0x90); for(i=0;i<16;i++) { xsj(table1[i]); yan(1100); } xzl(0x88); for(i=0;i<16;i++) { xsj(table2[i]); yan(1100); } xzl(0x98); for(i=0;i<16;i++) { xsj(table3[i]); yan(1100); } } void main() { uchar i; /* y5(); P0=0x00; y4(); P0=0x00; y6(); P0=0x00; */ init(); display3(); while(1) { /* y5(); P0=0x00; for(i=0;i<16;i++) { xzl(0x1c) ; yan(5000); } */ } }
带详细注释
https://wenku.baidu.com/view/49857048f242336c1eb95eed.html
本想发普中所有的资料的,没想到太大了,如果需要 ,就说一声
最简单的方式,在某宝上,找到这个显示屏幕的相同型号,
有的店家会把资料公布出来,直接下载。
或者直接向店家要一份就可以了。
http://www.51hei.com/bbs/dpj-84909-1.html
可以参考这个,是一个12864做的万年历
郭天祥的资料例程里有12864的
普中科技的资料例程里有
这两个都是51的