1、12864的51c程序#include#include#define uchar unsigned char#define datawr 0x1200 /写数据通道#define comwr 0x1000 /写控制命令通道#define datare 0x1300 /读数据通道#define comre 0x1100 /读忙通道uchar code disp_data= 浙江大学 /第一行,第一页 04级通信工程一班 /第三行 宁波理工学院 /第二行 竞赛小组 /第四行 128X64液晶显示器 /第一行,第二页 测试程序 /第三行 07年07月25日 /第二行 Tornado ; /第四行vo
2、id set12864();void write_command(uchar command);void write_page(uchar data_add);void read_page(uchar data_add);void delays(uchar cont);void main() while(1) set12864(); /初始化12864 write_page(0); /写入一页数据 read_page(0x30); /读出一页数据到内部RAM delays(2); /延时2s write_page(64); /写入下一页数据 delays(2); /延时2s /初始化12864
3、子程序void set12864() write_command(0x30); /功能设定控制字 write_command(0x0c); /显示开关控制字 write_command(0x01); /清除屏幕控制字 write_command(0x06); /进入设定点控制字/写控制命令子程序void write_command(uchar command) bit flag=1; /12864空闲标志位 while(flag) /检查12864是否空闲 flag=XBYTEcomre&0x80; XBYTEcomwr=command; /空闲传送控制字/写一页子程序void write_p
4、age(uchar data_add) bit flag=1; /12864空闲标志位 uchar num=64; /64个循环,连续写入32个汉字或是64个西文字符 write_command(0x80); for(;num0;num-) while(flag) /检查12864是否空闲 flag=XBYTEcomre&0x80; XBYTEdatawr=disp_datadata_add+; /空闲传送数据 /读一页子程序void read_page(uchar data_add) bit flag=1; /12864空闲标志位 uchar num=64; /64个循环,连续写入32个汉字
5、或是64个西文字符 write_command(0x80); for(;num0;num-) while(flag) /检查12864是否空闲 flag=XBYTEcomre&0x80; DBYTEdata_add+=XBYTEdatare; /空闲传送数据 /延时cont秒子程序void delays(uchar count) unsigned char h,i,j,k; do for(h=5;h0;h-) for(i=4;i0;i-) for(j=116;j0;j-) for(k=214;k0;k-); while(-count);这是图象显示程序:#include#include#def
6、ine uchar unsigned char#define uint unsigned int#define datawr 0x1200 /写数据通道#define comwr 0x1000 /写控制命令通道#define datare 0x1300 /读数据通道#define comre 0x1100 /读忙通道uchar code disp_data = / 数据表 0x00,0x01,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0x7F,0xFF,0xFF,0xFF,0
7、xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x00,0x00, 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00, 0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x00,0x00,0x00,0x00, 0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00, 0x00,0x
8、0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x00,0x00,0x00,0x00, 0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00, 0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x80,0x00,0x00,0x00, 0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
9、,0xFF,0xFF,0xFF, 0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF, 0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x07,0xFF,0xFF, 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
10、0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x0B,0xFF, 0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0x00,0x1F, 0x01,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00, 0x01,0xFF,0xFF,0xFF,0xF3,0x79,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00, 0x03,0xFF,0xFF,0
11、xFF,0xE6,0x62,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0x60,0x00,0x68, 0x01,0xFF,0xFF,0xFE,0x00,0x60,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0x00,0x00,0x0E, 0x01,0xFF,0xFF,0xF8,0x00,0x4B,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x8E,0x08,0x79, 0x07,0xFF,0xFF,0xF0,0x00,0x41,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE6,0xC0,0x0
12、7,0x61, 0xC3,0xFF,0xFE,0xC0,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xED,0xEF,0x3F, 0x83,0xFF,0xFE,0x60,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xC0,0xFF,0xFD,0xFC,0x6C,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xF0,0x7F,0xF3,0xFF,0xFE,0x60,0x3F,0xFF,0xFF,0xFF
13、,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xF3,0xFF,0xFF,0x50,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC9, 0xFB,0xFF,0xF1,0xF8,0x8C,0xD8,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFB,0x6F,0xD9, 0xC2,0x3F,0xF8,0x40,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF6,0xDF,0x1E,0xFF, 0xFF,0x7F,0xFC,0x38,0x00,
14、0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x64,0x2F,0x6F,0xFF, 0xFD,0x7B,0xFC,0x1F,0xE0,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0x5F,0x7C,0xEE,0xFF, 0xC7,0xFF,0xBC,0x0F,0xFF,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xFE,0xEF,0xFF, 0xFF,0xE7,0xDC,0x07,0xE7,0xF8,0x12,0x7F,0xFF,0xFF,0xFF,0xFF,0x47,0xFF,0xFF,0xFF, 0
15、xFF,0xE7,0x80,0x03,0xF4,0x00,0x00,0x5F,0xFF,0xFF,0xFE,0xFE,0xE3,0xFF,0xFF,0xFF, 0xFF,0xFE,0xC0,0x01,0xC0,0x00,0x00,0x1B,0xFF,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF, 0x7F,0xEE,0xC0,0x00,0xC0,0x00,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0xFE,0x98,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0xEF,0xF
16、F,0xFF,0xFF,0xFF,0xFF, 0x20,0x0E,0x60,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x8F,0xFF,0xFF,0xFF,0xFF,0xFF, 0x05,0x80,0xE0,0x00,0x00,0x00,0x00,0x01,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 0x09,0x80,0xA0,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF, 0x85,0x2A,0xC0,0x00,0x00,0x00,0x00
17、,0x01,0xFF,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, 0xBF,0xF3,0xC0,0x00,0x00,0x00,0x00,0x00,0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8, 0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x01,0xFF,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x00, 0xFF,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0xFF,0xC0,0xFF,0xFF,0xFF,0xFF,0xC0,0x1F, 0xFF,0xFF,
18、0x80,0x00,0x40,0x00,0x00,0x00,0xFF,0x80,0xFF,0xFF,0xFF,0x80,0x07,0xFF, 0xFF,0xFF,0xC0,0x00,0xC0,0x00,0x00,0x01,0xFF,0x01,0xFF,0xFF,0xF8,0x00,0xFF,0xFF, 0xFF,0xFF,0xE0,0x63,0x80,0x00,0x00,0x01,0xFE,0x01,0xFF,0x18,0x00,0x3F,0xFF,0xFF, 0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x01,0xCC,0x01,0xFE,0x00,0x07,0x
19、FF,0xFF,0xFF, 0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x07,0xA0,0x03,0xFC,0x00,0xFF,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x05,0xC0,0x03,0xC8,0x00,0x7F,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x19,0x00,0x00,0x88,0x0C,0x07,0xFF,0xFF,0xFF, 0xFF,0xFF,0xFC,0x00,0x0C,0x00,0x00,0x00,0x0
20、0,0x01,0x00,0x01,0xC0,0x7F,0xFF,0xFF, 0xFF,0xFF,0xF8,0x07,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x0F,0xFF,0xFE, 0xFF,0xFF,0xD0,0x07,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x03,0xFF,0xF8, 0xFF,0xFC,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xC0, 0xFF,0xF0,0x00,0x00
21、,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0xFF,0xF8, 0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x1F,0xFE, 0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x78,0x02,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF, 0xFF,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x78,0x00,0x00,0x00,0x00,0x00,0x02,0
22、xFF, 0xFE,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x7F, 0xF0,0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F, 0xE0,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x1F, 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0x00,0x00,0x
23、00,0x00,0x00,0x00,0x00,0x27, 0xC0,0x00,0x00,0x00,0x00,0x00,0x01,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04, 0x80,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01;void set12864();void setxy(uc
24、har x,uchar y);void write_command(uchar command);void write_16byte(uint data_add);void delays(uchar count);void main() uchar x,y,i; while(1) y=0x80; /设置液晶上半部分坐标 x=0x80; delays(2); /延时2s set12864(); /初始化12864 delays(2); for(i=0;i32;i+) /写入液晶上半图象部分 /写入坐标 setxy(x,y); write_16byte(i*16); /连续写入16字节数据 y+;
25、 /y轴地址加1 y=0x80; /设置液晶下半部分坐标 x=0x88; for(i=0;i0;num-) while(flag) /检查12864是否空闲 flag=XBYTEcomre&0x80; XBYTEdatawr=disp_datadata_add+; /空闲传送数据 /延时count秒子程序void delays(uchar count) unsigned char h,i,j,k; do for(h=5;h0;h-) for(i=4;i0;i-) for(j=116;j0;j-) for(k=214;k0;k-); while(-count);回答者: liming198408
26、27 - 四级 2009-10-16 07:59#include #define uint unsigned int#define uchar unsigned charsbit LCD_RS=P35;sbit LCD_RW=P36;sbit LCD_E=P34;sbit LCD_PSB=P37; /液晶有关控制位uchar code dis1=一片枫叶;/*=延时=*/void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);/写指令void write_com(uchar com) LCD_RS=0; LCD_RW=0; LC
27、D_E=0; P0=com; delay(5); LCD_E=1; delay(5);LCD_E=0;/写数据void write_date(uchar date) LCD_RS=1; LCD_RW=0; LCD_E=0; P0=date; delay(5); LCD_E=1; delay(5); LCD_E=0; /初始化液晶void chushi() P0=0x7f; LCD_PSB=1; write_com(0x30); delay(5); write_com(0x0c); delay(5); write_com(0x01); delay(5); for(num=0;num5;num+) write_date(dis1num); delay(20); /*=主函数=*/void main() chushi(); 回答者: ypfengye - 一级 2009-10-19 21:15以下是源代码/*main.h*
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1