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

诺基亚5110LCD驱动程序

2022-07-07 9页 doc 35KB 14阅读

用户头像 个人认证

is_485240

暂无简介

举报
诺基亚5110LCD驱动程序/********************************************************************NOKIA5110(3310)液晶屏驱动程序**晶振  频率:11.0592M**线路->单片机实验开发板A******************************************************************/    #include/*---------定义Nokia5110引角---------*/  sbitsclk=P3^3;  sbitsdin=P3...
诺基亚5110LCD驱动程序
/********************************************************************NOKIA5110(3310)液晶屏驱动程序**晶振  频率:11.0592M**线路->单片机实验开发板A******************************************************************/    #include/*---------定义Nokia5110引角---------*/  sbitsclk=P3^3;  sbitsdin=P3^4;  sbitdc  =P3^5;  sbitsce=P3^7;  sbitres=P3^6;  voidinitNokia5110(void);                        /*NOkia5110初始化  */  voidclearNokia5110(void);                        /*清除屏幕整屏清空*/  voidDisplay_char(unsignedcharx,unsignedchary,char*s);  /*写字符x设置显示字符的X位置;y设置显示字符的Y位置  *s显示字符的首地址*/  voidDisplay_num(unsignedcharx,unsignedchary,chars);  /*写数字x设置显示字符的X位置;y设置显示字符的Y位置  s显示数字*/  voidwrite_byte(unsignedchardata1);                /*发送1字节到NOkia5110*/  voidsetxy(unsignedcharx,unsignedchary);          /*设置显示坐标x行坐标(0-83)  unsignedchary列坐标(0-5)*/  voiddelay(unsignedinttime);  voidmain(void){        initNokia5110();                        /*NOkia5110初始化  */        clearNokia5110();                        /*清除屏幕整屏清空*/        Display_char(1,2,"www.52c51.com");  /*写字符x设置显示字符的X位置;y设置显示字符的Y位置  *s显示字符的首地址*/        Display_char(10,4,"NOKIA5510");  /*写字符x设置显示字符的X位置;y设置显示字符的Y位置  *s显示字符的首地址*/        //Display_num(0,0,9);  //写数字while(1);}/****************************51100-9字模**************************//*函数原型:无/*函数功能:0-9字模/*输入参数:无/*输出参数:无/*调用模块:/*建立时间:2006/10/1/*作者:站长/**********************************************************************/unsignedcharcodeasc2tab[][6]={    {0x00,0x00,0x00,0x00,0x00,0x00},//sp    {0x00,0x00,0x00,0x2f,0x00,0x00},//!    {0x00,0x00,0x07,0x00,0x07,0x00},//"    {0x00,0x14,0x7f,0x14,0x7f,0x14},//#    {0x00,0x24,0x2a,0x7f,0x2a,0x12},//$    {0x00,0x62,0x64,0x08,0x13,0x23},//%    {0x00,0x36,0x49,0x55,0x22,0x50},//&    {0x00,0x00,0x05,0x03,0x00,0x00},//'    {0x00,0x00,0x1c,0x22,0x41,0x00},//(    {0x00,0x00,0x41,0x22,0x1c,0x00},//)    {0x00,0x14,0x08,0x3E,0x08,0x14},//*    {0x00,0x08,0x08,0x3E,0x08,0x08},//+    {0x00,0x00,0x00,0xA0,0x60,0x00},//,    {0x00,0x08,0x08,0x08,0x08,0x08},//-    {0x00,0x00,0x60,0x60,0x00,0x00},//.    {0x00,0x20,0x10,0x08,0x04,0x02},///    {0x00,0x3E,0x51,0x49,0x45,0x3E},//0    {0x00,0x00,0x42,0x7F,0x40,0x00},//1    {0x00,0x42,0x61,0x51,0x49,0x46},//2    {0x00,0x21,0x41,0x45,0x4B,0x31},//3    {0x00,0x18,0x14,0x12,0x7F,0x10},//4    {0x00,0x27,0x45,0x45,0x45,0x39},//5    {0x00,0x3C,0x4A,0x49,0x49,0x30},//6    {0x00,0x01,0x71,0x09,0x05,0x03},//7    {0x00,0x36,0x49,0x49,0x49,0x36},//8    {0x00,0x06,0x49,0x49,0x29,0x1E},//9    {0x00,0x00,0x36,0x36,0x00,0x00},//:    {0x00,0x00,0x56,0x36,0x00,0x00},//;    {0x00,0x08,0x14,0x22,0x41,0x00},//<    {0x00,0x14,0x14,0x14,0x14,0x14},//=    {0x00,0x00,0x41,0x22,0x14,0x08},//>    {0x00,0x02,0x01,0x51,0x09,0x06},//?    {0x00,0x32,0x49,0x59,0x51,0x3E},//@    {0x00,0x7C,0x12,0x11,0x12,0x7C},//A    {0x00,0x7F,0x49,0x49,0x49,0x36},//B    {0x00,0x3E,0x41,0x41,0x41,0x22},//C    {0x00,0x7F,0x41,0x41,0x22,0x1C},//D    {0x00,0x7F,0x49,0x49,0x49,0x41},//E    {0x00,0x7F,0x09,0x09,0x09,0x01},//F    {0x00,0x3E,0x41,0x49,0x49,0x7A},//G    {0x00,0x7F,0x08,0x08,0x08,0x7F},//H    {0x00,0x00,0x41,0x7F,0x41,0x00},//I    {0x00,0x20,0x40,0x41,0x3F,0x01},//J    {0x00,0x7F,0x08,0x14,0x22,0x41},//K    {0x00,0x7F,0x40,0x40,0x40,0x40},//L    {0x00,0x7F,0x02,0x0C,0x02,0x7F},//M    {0x00,0x7F,0x04,0x08,0x10,0x7F},//N    {0x00,0x3E,0x41,0x41,0x41,0x3E},//O    {0x00,0x7F,0x09,0x09,0x09,0x06},//P    {0x00,0x3E,0x41,0x51,0x21,0x5E},//Q    {0x00,0x7F,0x09,0x19,0x29,0x46},//R    {0x00,0x46,0x49,0x49,0x49,0x31},//S    {0x00,0x01,0x01,0x7F,0x01,0x01},//T    {0x00,0x3F,0x40,0x40,0x40,0x3F},//U    {0x00,0x1F,0x20,0x40,0x20,0x1F},//V    {0x00,0x3F,0x40,0x38,0x40,0x3F},//W    {0x00,0x63,0x14,0x08,0x14,0x63},//X    {0x00,0x07,0x08,0x70,0x08,0x07},//Y    {0x00,0x61,0x51,0x49,0x45,0x43},//Z    {0x00,0x00,0x7F,0x41,0x41,0x00},//[    {0x00,0x55,0x2A,0x55,0x2A,0x55},//55    {0x00,0x00,0x41,0x41,0x7F,0x00},//]    {0x00,0x04,0x02,0x01,0x02,0x04},//^    {0x00,0x40,0x40,0x40,0x40,0x40},//_    {0x00,0x00,0x01,0x02,0x04,0x00},//'    {0x00,0x20,0x54,0x54,0x54,0x78},//a    {0x00,0x7F,0x48,0x44,0x44,0x38},//b    {0x00,0x38,0x44,0x44,0x44,0x20},//c    {0x00,0x38,0x44,0x44,0x48,0x7F},//d    {0x00,0x38,0x54,0x54,0x54,0x18},//e    {0x00,0x08,0x7E,0x09,0x01,0x02},//f    {0x00,0x18,0xA4,0xA4,0xA4,0x7C},//g    {0x00,0x7F,0x08,0x04,0x04,0x78},//h    {0x00,0x00,0x44,0x7D,0x40,0x00},//i    {0x00,0x40,0x80,0x84,0x7D,0x00},//j    {0x00,0x7F,0x10,0x28,0x44,0x00},//k    {0x00,0x00,0x41,0x7F,0x40,0x00},//l    {0x00,0x7C,0x04,0x18,0x04,0x78},//m    {0x00,0x7C,0x08,0x04,0x04,0x78},//n    {0x00,0x38,0x44,0x44,0x44,0x38},//o    {0x00,0xFC,0x24,0x24,0x24,0x18},//p    {0x00,0x18,0x24,0x24,0x18,0xFC},//q    {0x00,0x7C,0x08,0x04,0x04,0x08},//r    {0x00,0x48,0x54,0x54,0x54,0x20},//s    {0x00,0x04,0x3F,0x44,0x40,0x20},//t    {0x00,0x3C,0x40,0x40,0x20,0x7C},//u    {0x00,0x1C,0x20,0x40,0x20,0x1C},//v    {0x00,0x3C,0x40,0x30,0x40,0x3C},//w    {0x00,0x44,0x28,0x10,0x28,0x44},//x    {0x00,0x1C,0xA0,0xA0,0xA0,0x7C},//y    {0x00,0x44,0x64,0x54,0x4C,0x44},//z    {0x14,0x14,0x14,0x14,0x14,0x14}};/****************************Nokia5110初始化函数**************************//*函数原型:initNokia5110(void)/*函数功能:Nokia5110初始化/*输入参数:无/*输出参数:无/*调用模块:/*建立时间:2006/10/1/*作者:站长/**********************************************************************/voidinitNokia5110(void){  delay(10);            //系统复位  res=0;  delay(2);  res=1;  dc  =0;  write_byte(0x21);        //;芯片是活动的(PD=0)使用扩展指令集  write_byte(0xd5);      write_byte(0x20);        //;芯片是活动的(PD=0)使用水平寻址(V=0)使用基本指令集(H=0)  write_byte(0x0c);        //;设置显示配置(D=1E=0)}/****************************Nokia5110清屏函数*********************//*函数原型:voidclearNokia5110(void)/*函数功能:Nokia5110清屏/*输入参数:无/*输出参数:无/*调用模块:/*建立时间:2006/10/1/*作者:站长/**********************************************************************/voidclearNokia5110(void){    unsignedinti,j;  for(i=0;i<6;i++)  {    setxy(j,i);    dc  =1;    while(j<84)    {        write_byte(0x00);        j++;    }    j  =0;  }}/*--------------------------------------;模块名称:Display_char(unsignedcharx,unsignedchary,char*s);;功  能:写字符;占用资源:;参数说明:x设置显示字符的X位置;y设置显示字符的Y位置  *s显示字符的首地址;创建日期:2001.01.19;版  本:VER2.0        ★STALI☆;-------------------------------------*/voidDisplay_char(unsignedcharx,unsignedchary,char*s){    unsignedcharline;  setxy(x,y);  while(*s)  {    for(line=0;line<6;line++)    {          dc  =1;        write_byte(asc2tab[*s-32][line]);      }    s++;    }  sce=1;}/****************************Nokia5110写数字函数*********************//*函数原型:voidDisplay_num(unsignedcharx,unsignedchary,chars)/*函数功能:Nokia5110写数字/*输入参数:x设置显示字符的X位置;y设置显示字符的Y位置  s显示数字/*输出参数:无/*调用模块:/*建立时间:2006/10/1/*作者:站长/**********************************************************************/voidDisplay_num(unsignedcharx,unsignedchary,chars){  unsignedcharline;  setxy(x,y);  dc  =1;    for(line=0;line<6;line++)  {          write_byte(asc2tab[s+16][line]);    }  sce=1;}  /*************************Nokia5110发送1字节函数*********************//*函数原型:voidDisplay_num(unsignedcharx,unsignedchary,chars)/*函数功能:发送1字节到NOkia5110/*输入参数:x设置显示字符的X位置;y设置显示字符的Y位置  s显示数字/*输出参数:无/*调用模块:/*建立时间:2006/10/1/*作者:站长/**********************************************************************/voidwrite_byte(unsignedchardata1){    unsignedchari;  res=1;  sce=0;  for(i=0;i<8;i++)  {    sdin=(bit)(data1&0x80);    sclk=0;      ;      sclk=1;      data1<<=1;  }}/*************************Nokia5110设置显示坐标函数*********************//*函数原型:voidsetxy(unsignedcharx,unsignedchary)/*函数功能:设置显示坐标/*输入参数:unsignedcharx行坐标(0-83)  unsignedchary列坐标(0-5)/*输出参数:无/*调用模块:/*建立时间:2006/10/1/*作者:站长/**********************************************************************/voidsetxy(unsignedcharx,unsignedchary){  dc  =0;  write_byte(y|0x40);        //设置y轴。  write_byte(x|0x80);        //设置x轴。}/*******************************延时函数*********************************//*函数原型:delay(unsignedintdelay_time)/*函数功能:延时函数/*输入参数:delay_time(输入要延时的时间)/*输出参数:无/*调用模块:无/*建立时间:2005/10/21/*作者:站长/**********************************************************************/voiddelay(unsignedintdelay_time)  //延时子程序{for(;delay_time>0;delay_time--){}  }
/
本文档为【诺基亚5110LCD驱动程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索