包含12864 1602 5110
完整代码(包含头文件)下载:
液晶.rar
(4.73 KB, 下载次数: 41)
以下是文件内容预览:
12864:
5110:
- /******************************
- 文档说明:NOKIA5110显示模块驱动
- 修改日期:9月8日
- 版本: v1
- ********************************/
- #include "LCD5110.h"
- #include "suzu.h"
- /************************************************
- 函数名: void LCD_init(void)
- 功能: NKIA5110初始化配置
- 输入参数: 无
- 输出参数: 无
- 修改日期: 9月8日
- 特殊说明: 不同模块所需调的是28行代码,大概范围150-255
- ************************************************/
- void LCD_init(void)
- {
- unsigned char i;
- SRST=0;
- for(i=0;i<150;i++);
- SRST=1;
- LCD_write_byte(0x21,0);
- LCD_write_byte(195,0); //偏置电压设置
- LCD_write_byte(0x20,0);
- LCD_clear();
- LCD_write_byte(0x0c,0);
- SCE=0;
- }
- /************************************************
- 函数名: void LCD_write_byte(unsigned char dat,unsigned char command)
- 功能: 向NKIA5110写字节数据
- 输入参数: unsigned char dat,unsigned char command
- 输出参数: 无
- 修改日期: 9月8日
- ************************************************/
- void LCD_write_byte(unsigned char dat,unsigned char command)
- {
- unsigned char i;
- SCE=0;
- if(command==0)
- SDC=0;
- else
- SDC=1;
- for(i=0;i<8;i++)
- {
- if(dat&0x80)
- SDIN=1;
- else
- SDIN=0;
- SCLK=0;
- dat=dat<<1;
- SCLK=1;
- }
- SCE=1;
- }
- /************************************************
- 函数名: void LCD_set_XY(unsigned char X,unsigned char Y)
- 功能: 设置NKIA5110显示XY坐标位置
- 输入参数: unsigned char X,unsigned char Y
- 输出参数: 无
- 修改日期: 9月8日
- ************************************************/
- void LCD_set_XY(unsigned char X,unsigned char Y)
- {
- LCD_write_byte(0x40|Y,0);//列
- LCD_write_byte(0x80|X,0);//行
- }
- /************************************************
- 函数名: void LCD_clear(void)
- 功能: NKIA5110 清屏
- 输入参数: 无
- 输出参数: 无
- 修改日期: 9月8日
- ************************************************/
- void LCD_clear(void)
- {
- unsigned char t;
- unsigned char k;
- LCD_set_XY(0,0);
- for(t=0;t<6;t++)
- {
- for(k=0;k<84;k++)
- {
- LCD_write_byte(0x00,1);
- }
- }
- }
-
- /************************************************
- 函数名: void LCD_write_char(unsigned char x,unsigned y,unsigned char c)
- 功能: NKIA5110 显示字符
- 输入参数: unsigned char x,unsigned y,unsigned char c
- 输出参数: 无
- 修改日期: 9月8日
- ************************************************/
- void LCD_write_char(unsigned char x,unsigned y,unsigned char c)
- {
- unsigned char i;
- c-=32;
- LCD_set_XY(x,y);
- for(i=0;i<6;i++)
- {
- LCD_write_byte(font6x8[c][i],1);
- if(i==5)
- {
- y++;
- LCD_set_XY(x,y);
- }
- }
- }
- /************************************************
- 函数名: void LCD_write_Num(unsigned char X,unsigned char Y,unsigned int num)
- 功能: NKIA5110 显示数字
- 输入参数: X为一个位置为6,Y为行取值为0~5,num为要显示的数字
- 输出参数: 无
- 修改日期: 9月8日
- ************************************************/
- void LCD_write_Num(unsigned char X,unsigned char Y,unsigned int num)
- {
- unsigned char str[8],i=0,len=0;
- unsigned int temp;
- temp = num;
- while(temp)
- {
- temp /=10;
- len++;
- }
- if(!num)
- {
- len++;
- str[0]=0x30;
- }
- str[len] = 0;
- while(num)
- {
- str[len-i-1] = num%10 + 0x30;
- num /=10;
- i++;
- }
- LCD_write_string(X,Y,(char *)str);
- }
- /************************************************
- 函数名: void LCD_write_Num(unsigned char X,unsigned char Y,unsigned int num)
- 功能: NKIA5110 显示字符串
- 输入参数: X为一个位置为6,Y为行取值为0~5,*s为要显示的字符串
- 输出参数: 无
- 修改日期: 9月8日
- ************************************************/
- void LCD_write_string(unsigned char X,unsigned char Y,char *s)
- {
- while(*s)
- {
- LCD_write_char(X,Y,*s);
- s++;
- X+=6;
- }
- }
- ///************************************************
- // 函数名: void disp16_16(unsigned char x,unsigned char y,unsigned char address)
- // 功能: NKIA5110 显示16*16的字符
- // 输入参数: unsigned char x,unsigned y,unsigned char c
- // 输出参数: 无
- // 修改日期: 9月8日
- // ************************************************/
- //void disp16_16(unsigned char x,unsigned char y,unsigned char address)
- //{
- // unsigned char c;
- // LCD_set_XY(x*8, y);
- // for(c=0;c<16;c++)
- // {
- // LCD_write_byte(han[address*32+c],1);
- // }
- // LCD_set_XY(x*8, y+1);
- // for(c=16;c<32;c++)
- // {
- // LCD_write_byte(han[address*32+c],1);
- // }
- //}
- // /************************************************
- // 函数名: void LCD_write_chinese_string(unsigned char X, unsigned char Y,
- // unsigned char ch_with,unsigned char num,
- // unsigned char line,unsigned char row)
- // 功能: NKIA5110 显示中文字符
- // 输入参数: unsigned char X, unsigned char Y,
- // unsigned char ch_with,unsigned char num,
- // unsigned char line,unsigned char row
- // 输出参数: 无
- // 修改日期: 9月8日
- // ************************************************/
- //void LCD_write_chinese_string(unsigned char X, unsigned char Y, unsigned char ch_with,unsigned char num,unsigned char line,unsigned char row) //x,y为坐标,ch_with为汉字宽度,num为数组中第几个汉字,line为行,row为列
- //{
- // unsigned char i,n;
- // LCD_set_XY(X,Y); //
- // for (i=0;i<num;)
- // {
- // for (n=0; n<ch_with*2; n++) //
- // {
- // if (n==ch_with) //
- // {
- // if (i==0) LCD_set_XY(X,Y+1);
- // else
- // LCD_set_XY((X+(ch_with+row)*i),Y+1);
- // }
- // LCD_write_byte(write_chinese[line+i][n],1);
- // }
- // i++;
- // LCD_set_XY((X+(ch_with+row)*i),Y);
- // }
- //}
-
-
-
-
复制代码
1602:
|