为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

12864不带字库

2018-01-06 14页 doc 37KB 39阅读

用户头像

is_633423

暂无简介

举报
12864不带字库12864不带字库 12864不带字库(提取字模)的驱动程序 //编者:谢国华 // //时间:2007年1月24日晚 // //参考:〈全国大学生电子设计竞赛训练教程〉 // // 〈单片机原理,接口及应用〉 // // // /////////////////////////////////////////////////////////// #include #include #define uchar unsigned char #define uint unsigned int /////////...
12864不带字库
12864不带字库 12864不带字库(提取字模)的驱动程序 //编者:谢国华 // //时间:2007年1月24日晚 // //参考:〈全国大学生电子竞赛训练教程〉 // // 〈单片机原理,接口及应用〉 // // // /////////////////////////////////////////////////////////// #include #include #define uchar unsigned char #define uint unsigned int //////////单片机与液晶显示的引脚连接///////// sbit P32=P3^2; //RST sbit P33=P3^3; //CS2 sbit P34=P3^4; //CS1 sbit P35=P3^5; //E sbit P36=P3^6; //rs&DI sbit P37=P3^7; // R/W ////////延时///////// void delay(uint v) { while(v!=0)v--; } ////////复位/////////// void reset() { P32=0; delay(10); P32=1; delay(10); } ////////write code写指令/////// void wcode(uchar c,uchar cs1,uchar cs2) { P34=cs1; P33=cs2; P37=0; P36=0; P1=c; P35=0; delay(10); P35=1; delay(10); P35=0; } /////////write data写数据/////////////// void wdata(uchar c,uchar cs1,uchar cs2) { P34=cs1; P33=cs2; P37=1; P36=0; P1=c; P35=0; delay(10); P35=1; delay(10); P35=0; } ////////////set start设置起始行///////////// void set_startline(uchar i)//起始行。11A5A4A3A2A1A0 共有64行 // 液晶显示器的最底层为第一行 { i=0xc0+64-i;//此算法为把最顶层做为第一层 wcode(i,1,1); } ////////////set 页值设置,起始列值///////////// void set_adr(uchar x,uchar y) { x=x+0xb8;//页地址设置。10111A2A1A0 DDRAM的8行为一页,A0~A2为页码,LCD为64行8页 y=y+0x40;//列地址设置。01A5A4A3A2A1A0 两半屏分别有64列,A0~A5送入列地址计数器, //作为列(Y)地址指针。每读写一次其自动加一,指向下一列DDRAM单元 wcode(x,1,1); wcode(y,1,1); } ///////////on/off开/关显示函数////////////// void dis_on_off(uchar o) { o=0x3e+o;//0011111D D=1开显示器把RAM数据呈现在显示器上,D=0关显示,但数据仍储存在RAM内。 wcode(o,1,1); } ///////////clear清屏/////////////// void clear() { uchar i,loop; for(i=0;i<8;i++)///循环页写0///////// { set_adr(i,0); for(loop=0;loop<64;loop++)wdata(0x00,1,1); } } ///////////////////////////////////////////////////////////////////////// // 汉字字模 // // 汉字库: 宋体16.dot 纵向取模下高位,数据排列:从左到右从上到下 // ///////////////////////////////////////////////////////////////////////// uchar code xian[32]= // "现" { 0x04,0x84,0x84,0xFC,0x86,0x84,0x00,0xFE, 0x02,0x82,0x7A,0x02,0xFF,0x02,0x00,0x00, 0x10,0x30,0x10,0x1F,0x88,0x88,0x40,0x23, 0x18,0x07,0x78,0x80,0x83,0x80,0xE0,0x00, }; uchar code zai[32]= //"在" { 0x08,0x08,0x08,0x08,0xC8,0x38,0x0F,0x08, 0x08,0xE8,0x08,0x88,0x08,0x0C,0x08,0x00, 0x08,0x04,0x02,0xFF,0x00,0x40,0x41,0x41, 0x41,0x7F,0x41,0x41,0x41,0x60,0x40,0x00, }; uchar code wen[32]= //"温" { 0x10,0x22,0x64,0x0C,0x80,0x00,0xFE,0x92, 0x92,0x92,0x92,0x92,0xFF,0x02,0x00,0x00, 0x04,0x04,0xFE,0x01,0x40,0x7E,0x42,0x42, 0x7E,0x42,0x7E,0x42,0x42,0x7E,0x40,0x00, }; uchar code du[32]= //"度" { 0x00,0x00,0xFC,0x24,0x24,0x24,0xFC,0xA5, 0xA6,0xA4,0xFC,0x24,0x34,0x26,0x04,0x00, 0x40,0x20,0x9F,0x80,0x42,0x42,0x26,0x2A, 0x12,0x2A,0x26,0x42,0x40,0xC0,0x40,0x00 }; uchar code maohao[16]= // -:- { 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00, 0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00, }; uchar code wu[16]= // -5- { 0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00, 0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, }; uchar code er[16]= // -2- { 0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00, 0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00, }; uchar code san[16]= // -3- { 0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00, 0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, }; uchar code li[32] = //"理" { 0x44,0x44,0xFC,0x46,0x44,0x00,0xFE,0x92, 0x92,0xFE,0x92,0x92,0xFF,0x02,0x00,0x00, 0x10,0x30,0x1F,0x08,0x48,0x48,0x44,0x44, 0x44,0x7F,0x44,0x46,0x44,0x60,0x40,0x00, }; uchar code gong[32] = // "工", { 0x00,0x04,0x04,0x04,0x04,0x04,0x04,0xFC, 0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00, 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F, 0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00, }; uchar code xue[32] = //"学", { 0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96, 0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00, 0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E, 0x06,0x05,0x04,0x04,0x04,0x06,0x04,0x00, }; uchar code yuan[32] = //院 { 0x00,0xFE,0x22,0x5A,0x96,0x0C,0x24,0x24, 0x25,0x26,0x24,0x34,0xA4,0x14,0x0C,0x00, 0x00,0xFF,0x04,0x08,0x87,0x81,0x41,0x31, 0x0F,0x01,0x3F,0x41,0x41,0x41,0x70,0x00, }; uchar code dian[32] = //"电", { 0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48, 0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00, 0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42, 0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00, }; uchar code zi[32] = //"子", { 0x80,0x80,0x82,0x82,0x82,0x82,0x82,0xE2, 0xA2,0x92,0x8A,0x86,0x80,0xC0,0x80,0x00, 0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, }; uchar code chuang[32] = //"创", { 0x80,0x40,0xF0,0x4C,0x43,0x44,0xC8,0x10, 0x30,0x00,0xF8,0x00,0x00,0xFF,0x00,0x00, 0x00,0x00,0x3F,0x40,0x42,0x44,0x43,0x70, 0x00,0x00,0x07,0x40,0x80,0x7F,0x00,0x00, }; uchar code xin[32] = //"新", { 0x40,0x44,0x54,0x65,0xC6,0x64,0xD6,0x44, 0x40,0xFC,0x44,0x42,0xC3,0x62,0x40,0x00, 0x20,0x11,0x49,0x81,0x7F,0x01,0x05,0x29, 0x18,0x07,0x00,0x00,0xFF,0x00,0x00,0x00, }; uchar code shi[32] = //"实", { 0x10,0x0C,0x04,0x44,0x8C,0x94,0x35,0x06, 0xF4,0x04,0x04,0x04,0x04,0x14,0x0C,0x00, 0x02,0x82,0x82,0x42,0x42,0x23,0x12,0x0E, 0x03,0x0A,0x12,0x22,0x42,0xC3,0x02,0x00, }; uchar code yan[32] = //"验", { 0x02,0xFA,0x02,0x02,0xFF,0x42,0x20,0x50, 0x4C,0x43,0x4C,0x50,0x20,0x60,0x20,0x00, 0x10,0x31,0x11,0x49,0x89,0x7F,0x42,0x5C, 0x40,0x4F,0x60,0x58,0x47,0x60,0x40,0x00, }; uchar code ban[32] = //"班", { 0x84,0x84,0xFC,0x84,0x06,0xF4,0x00,0xFF, 0x00,0x84,0x84,0xFC,0x84,0x86,0x04,0x00, 0x20,0x60,0x3F,0x10,0x92,0x41,0x38,0x07, 0x40,0x40,0x40,0x7F,0x40,0x60,0x40,0x00 }; uchar code xie[32]= //"谢" { 0x40,0x42,0xCC,0x00,0xFC,0x56,0x55,0x54, 0xFE,0x24,0x20,0x20,0xFF,0x20,0x20,0x00, 0x00,0x00,0x3F,0x52,0x2B,0x12,0x4A,0x86, 0x7F,0x01,0x46,0x80,0x7F,0x00,0x00,0x00, }; uchar code guo[32]= //"国" { 0x00,0xFE,0x02,0x0A,0x8A,0x8A,0x8A,0xFA, 0x8A,0xCA,0x8E,0x0A,0x02,0xFF,0x02,0x00, 0x00,0xFF,0x40,0x50,0x50,0x50,0x50,0x5F, 0x50,0x52,0x54,0x50,0x40,0xFF,0x00,0x00, }; uchar code hua[32]= //"华" { 0x00,0x40,0x20,0x10,0xFC,0x03,0x40,0x20, 0x10,0xFF,0x08,0x04,0x06,0xC0,0x00,0x00, 0x04,0x04,0x04,0x04,0x05,0x04,0x04,0xFF, 0x04,0x04,0x05,0x05,0x05,0x05,0x04,0x00, }; //////////////main//////////////// void main() { uchar loop; reset();//复位 dis_on_off(1);///开关开,把RAM数据呈现在显示器上 set_startline(10);//从第0行开始显示 clear();//清屏 while(1) { //以下为字符显示程序,主要程序思路为分左右屏写,同一页同一行内按左到右踔厉风顺序写 //同一字符分上下16半个字写代码 set_adr(0,32); for(loop=0;loop<16;loop++) wdata(xian[loop],1,0); for(loop=0;loop<16;loop++) wdata(zai[loop],1,0); set_adr(1,32); for(loop=16;loop<32;loop++) wdata(xian[loop],1,0); for(loop=16;loop<32;loop++) wdata(zai[loop],1,0); set_adr(0,0); for(loop=0;loop<16;loop++) wdata(wen[loop],0,1); for(loop=0;loop<16;loop++) wdata(du[loop],0,1); set_adr(1,0); for(loop=16;loop<32;loop++) wdata(wen[loop],0,1); for(loop=16;loop<32;loop++) wdata(du[loop],0,1); ///////////////////////////////////////////////////第一行显示 现在温度 /*set_adr(0,32); for(loop=0;loop<8;loop++) wdata(maohao[loop],0,1); set_adr(1,32); for(loop=8;loop<16;loop++) wdata(maohao[loop],0,1); set_adr(2,45); for(loop=0;loop<8;loop++)wdata(wu[loop],1,0); for(loop=0;loop<8;loop++)wdata(er[loop],1,0); set_adr(3,45); for(loop=8;loop<16;loop++)wdata(wu[loop],1,0); for(loop=8;loop<16;loop++)wdata(er[loop],1,0); set_adr(2,0); for(loop=0;loop<8;loop++)wdata(san[loop],0,1); set_adr(3,0); for(loop=8;loop<16;loop++)wdata(san[loop],0,1);*/ set_adr(2,32); for(loop=0;loop<16;loop++)wdata(li[loop],1,0); for(loop=0;loop<16;loop++)wdata(gong[loop],1,0); set_adr(3,32); for(loop=16;loop<32;loop++)wdata(li[loop],1,0); for(loop=16;loop<32;loop++)wdata(gong[loop],1,0); set_adr(2,0); for(loop=0;loop<16;loop++)wdata(xue[loop],0,1); for(loop=0;loop<16;loop++)wdata(yuan[loop],0,1); set_adr(3,0); for(loop=16;loop<32;loop++)wdata(xue[loop],0,1); for(loop=16;loop<32;loop++)wdata(yuan[loop],0,1); ///////////////////////////////////////////////////第一行显示 理工学院 set_adr(0,16); for(loop=0;loop<16;loop++)wdata(chuang[loop],1,0); set_adr(4,16); for(loop=0;loop<16;loop++)wdata(xin[loop],1,0); set_adr(0,32); for(loop=0;loop<16;loop++)wdata(shi[loop],0,1); set_adr(1,16); for(loop=16;loop<32;loop++)wdata(chuang[loop],1,0); set_adr(5,16); for(loop=16;loop<32;loop++)wdata(xin[loop],1,0); set_adr(1,32); for(loop=16;loop<32;loop++)wdata(shi[loop],0,1); // set_adr(4,0); //for(loop=8;loop<16;loop++) wdata(shi[loop],0,1); set_adr(2,32); for(loop=0;loop<16;loop++) wdata(yan[loop],0,1); set_adr(4,32); for(loop=0;loop<16;loop++) wdata(ban[loop],0,1); //set_adr(5,0); //for(loop=24;loop<32;loop++) wdata(shi[loop],0,1); set_adr(3,32); for(loop=16;loop<32;loop++) wdata(yan[loop],0,1); set_adr(5,32); for(loop=16;loop<32;loop++) wdata(ban[loop],0,1); ///////////////////////////////////////////////////第三行显示 创新实验班 set_adr(4,32); for(loop=0;loop<16;loop++) wdata(xie[loop],1,0); for(loop=0;loop<16;loop++) wdata(guo[loop],1,0); set_adr(5,32); for(loop=16;loop<32;loop++) wdata(xie[loop],1,0); for(loop=16;loop<32;loop++) wdata(guo[loop],1,0); set_adr(4,0); for(loop=0;loop<16;loop++) wdata(hua[loop],0,1); set_adr(5,0); for(loop=16;loop<32;loop++) wdata(hua[loop],0,1); ////////////////////////////////////////////////////第四行显示 谢国华 } }
/
本文档为【12864不带字库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索