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

飞思卡尔智能车野火K60FX系列诺基亚5110驱动程序

2017-09-02 21页 doc 53KB 13阅读

用户头像

is_531654

暂无简介

举报
飞思卡尔智能车野火K60FX系列诺基亚5110驱动程序飞思卡尔智能车野火K60FX系列诺基亚5110驱动程序 /**************************************************************************** * ******备注:因为野火库文件"common.h"包含对数据类型的声明,所以加入此库 ******备注:因为野火库文件"include.h"包含对PORT初始化,延时函数用的库,所以加入此库 ******备注:DELAY_US(1);延时函数在 "MK60_wdog.h" 已经定义 **********...
飞思卡尔智能车野火K60FX系列诺基亚5110驱动程序
飞思卡尔智能车野火K60FX系列诺基亚5110驱动程序 /**************************************************************************** * ******备注:因为野火库文件"common.h"包含对数据类型的声明,所以加入此库 ******备注:因为野火库文件"include.h"包含对PORT初始化<"MK60_gpio.h">,延时函数用的库<"MK60_wdog.h">,所以加入此库 ******备注:DELAY_US(1);延时函数在 "MK60_wdog.h" 已经定义 ***************************************************************************** ****/ #include "common.h" #include "include.h" #include "FIRE_LCD5110.h" /*----------------------------------------------------------------------- *****函数名称: LCD5110_init() *****函数功能: 5110LCD初始化 *****最后修改日期 :2014-3-7 -----------------------------------------------------------------------*/ void LCD5110_init(void) { gpio_init(PTA14,GPO,1); gpio_init(PTA15,GPO,1); gpio_init(PTA16,GPO,1); gpio_init(PTA17,GPO,1); gpio_init(PTE28,GPO,1); LCD5110_RST = 0; // 产生一个让LCD复位的低电平脉冲 DELAY_US(1); LCD5110_RST = 1; LCD5110_CE = 0; // 关闭LCD DELAY_US(1); LCD5110_CE = 1; // 使能LCD DELAY_US(1); LCD5110_write_byte(0x21, 0); // 使用扩展命令设置LCD模式 LCD5110_write_byte(0xc8, 0); // 设置偏置电压 LCD5110_write_byte(0x06, 0); // 温度校正 LCD5110_write_byte(0x13, 0); // 1:48 LCD5110_write_byte(0x20, 0); // 使用基本命令 LCD5110_clear(); // 清屏 LCD5110_write_byte(0x0c, 0); // 设定显示模式,正常显示 LCD5110_CE = 0; // 关闭LCD } /*----------------------------------------------------------------------- *****函数名称:LCD5110_clear() *****函数功能: LCD5110液晶清屏函数 *****最后修改日期 :2014-3-7 -----------------------------------------------------------------------*/ void LCD5110_clear(void) { uint16 i; LCD5110_write_byte(0x0c, 0); LCD5110_write_byte(0x80, 0); for (i=0; i<504; i++) LCD5110_write_byte(0, 1); } /*----------------------------------------------------------------------- LCD5110_write_byte : 使用SPI接口写数据到LCD 函数功能 :写一个字节 输入参数:data :写入的字节; command :写数据/命令选择;0为命令,1为数据; 最后修改日期 :2014-3-7 -----------------------------------------------------------------------*/ void LCD5110_write_byte(uint8 data, uint8 command) { uint8 i; LCD5110_CE = 0; // 使能LCD if (command == 0) LCD5110_DC = 0; // 传送命令 else LCD5110_DC = 1; // 传送数据 for(i=0;i<8;i++) { if(data&0x80) LCD5110_SDIN = 1; else LCD5110_SDIN = 0; LCD5110_SCLK = 0; data = data << 1; LCD5110_SCLK = 1; } LCD5110_CE = 1; } /*----------------------------------------------------------------------- *****LCD5110_set_XY() : 设置LCD坐标函数 *****输入参数:X :0,83 Y :0,5 *****最后修改日期 :2014-3-7 -----------------------------------------------------------------------*/ void LCD5110_set_XY(uint8 X, uint8 Y) { LCD5110_write_byte(0x40 | Y, 0); // column LCD5110_write_byte(0x80 | X, 0); // row } /*----------------------------------------------------------------------- LCD5110_write_char() : 写入1个英文字符 输入参数:c :要显示的字符; 最后修改日期 :2014-3-7 -----------------------------------------------------------------------*/ void LCD5110_write_char(uint8 c) { uint8 line; c -= 32; for (line=0; line<6; line++) LCD5110_write_byte(font6x8[c][line], 1);//从ACSII码中读取字节,然后写入液晶 } /*********************************************************************** * 函数名称:LCD5110_Write_Char() * 函数功能:定位的写入1个字符 * 入口参数:X:行;Y:列;c:要写入的数据 * 修改时间:2014-03-07 **********************************************************************/ void LCD5110_Write_Char(uint8 X,uint8 Y,uint8 c) { uint8 line; LCD5110_set_XY(X,Y); //光标定位 c-=32; for (line=0; line<6; line++) LCD5110_write_byte(font6x8[c][line], 1);//从ACSII码表中读取字节,然后写入液晶 } /*********************************************************************** * 函数名称:LCD5110_Write_Num() * 函数功能:定位 显示变量 * 入口参数:X:行;Y:列;num:变量;N:要显示的变量的位数 * 修改时间:2014-03-07 **********************************************************************/ void LCD5110_Write_Num(uint8 X,uint8 Y,uint16 num,uint8 N) { uint8 line; uint8 i=0; uint16 n[5]={0}; n[0]= num%10; n[1]=(num/10)%10; n[2]=(num/100)%10; n[3]=(num/1000)%10; n[4]=(num/10000)%10; for(i=0;i<5;i++) n[i]=n[i]+16; for(i=N;i>0;i--) { LCD5110_set_XY(X+(N-i)*6,Y);//光标定位 for (line=0; line<6; line++) LCD5110_write_byte(font6x8[n[i-1]][line], 1);//从ACSII码表中读取字节,然后写入液 晶 } } /*----------------------------------------------------------------------- LCD5110_write_english_String() : 英文字符串显示函数 输入参数:*s :英文字符串指针; X、Y : 显示字符串的位置,x 0-83 ,y 0-5 最后修改日期 :2014-3-7 -----------------------------------------------------------------------*/ void LCD5110_write_english_string(uint8 X,uint8 Y,int8 *s) { LCD5110_set_XY(X,Y); //光标定位 while (*s) { LCD5110_write_char(*s); s++; } } /*----------------------------------------------------------------------- LCD5110_write_chinese_string: 在LCD上显示汉字 输入参数:X、Y :显示汉字的起始X、Y坐标; ch_with :汉字点阵的宽度 num :显示汉字的个数; line :汉字点阵数组中的起始行数 row :汉字显示的行间距 最后修改日期 :2014-03-07 测试: LCD5110_write_chi(0,0,12,7,0,0); LCD5110_write_chi(0,2,12,7,0,0); LCD5110_write_chi(0,4,12,7,0,0); -----------------------------------------------------------------------*/ void LCD5110_write_chinese_string(uint8 X, uint8 Y, uint8 ch_with,uint8 num, uint8 line,uint8 row) { uint8 i,n; LCD5110_set_XY(X,Y); //设置初始位置 for (i=0;i(30) {0x00,0x02,0x01,0x51,0x09,0x06},//?(31) {0x00,0x32,0x49,0x79,0x41,0x3E},//@(32) {0x00,0x7E,0x11,0x11,0x11,0x7E},//A(33) {0x00,0x7F,0x49,0x49,0x49,0x3E},//B(34) {0x00,0x3E,0x41,0x41,0x41,0x22},//C(35) {0x00,0x7F,0x41,0x41,0x22,0x1C},//D(36) {0x00,0x7F,0x49,0x49,0x49,0x41},//E(37) {0x00,0x7F,0x09,0x09,0x09,0x01},//F(38) {0x00,0x3E,0x41,0x49,0x49,0x7A},//G(39) {0x00,0x7F,0x08,0x08,0x08,0x7F},//H(40) {0x00,0x00,0x41,0x7F,0x41,0x00},//I(41) {0x00,0x20,0x40,0x41,0x3F,0x01},//J(42) {0x00,0x7F,0x08,0x14,0x22,0x41},//K(43) {0x00,0x7F,0x40,0x40,0x40,0x40},//L(44) {0x00,0x7F,0x02,0x04,0x02,0x7F},//M(45) {0x00,0x7F,0x04,0x08,0x10,0x7F},//N(46) {0x00,0x3E,0x41,0x41,0x41,0x3E},//O(47) {0x00,0x7F,0x09,0x09,0x09,0x06},//P(48) {0x00,0x3E,0x41,0x51,0x21,0x5E},//Q(49) {0x00,0x7F,0x09,0x19,0x29,0x46},//R(50) {0x00,0x46,0x49,0x49,0x49,0x31},//S(51) {0x00,0x01,0x01,0x7F,0x01,0x01},//T(52) {0x00,0x3F,0x40,0x40,0x40,0x3F},//U(53) {0x00,0x1F,0x20,0x40,0x20,0x1F},//V(54) {0x00,0x3F,0x40,0x38,0x40,0x3F},//W(55) {0x00,0x63,0x14,0x08,0x14,0x63},//X(56) {0x00,0x03,0x04,0x78,0x04,0x03},//Y(57) {0x00,0x61,0x51,0x49,0x45,0x43},//Z(58) {0x00,0x00,0x7F,0x41,0x41,0x00},//[(59) {0x00,0x15,0x16,0x7C,0x16,0x15},//\(60) {0x00,0x00,0x41,0x41,0x7F,0x00},//](61) {0x00,0x04,0x02,0x01,0x02,0x04},//^(62) {0x00,0x40,0x40,0x40,0x40,0x40},//_(63) {0x00,0x00,0x01,0x02,0x04,0x00},//`(64) {0x00,0x20,0x54,0x54,0x54,0x78},//a(65) {0x00,0x7F,0x48,0x44,0x44,0x38},//b(66) {0x00,0x38,0x44,0x44,0x44,0x20},//c(67) {0x00,0x38,0x44,0x44,0x48,0x7F},//d(68) {0x00,0x38,0x54,0x54,0x54,0x18},//e(69) {0x00,0x08,0x7E,0x09,0x01,0x02},//f(70) {0x00,0x0C,0x52,0x52,0x52,0x3E},//g(71) {0x00,0x7F,0x08,0x04,0x04,0x78},//h(72) {0x00,0x00,0x44,0x7D,0x40,0x00},//i(73) {0x00,0x20,0x40,0x44,0x3D,0x00},//j(74) {0x00,0x7F,0x10,0x28,0x44,0x00},//k(75) {0x00,0x00,0x41,0x7F,0x40,0x00},//l(76) {0x00,0x7E,0x02,0x0C,0x02,0x7C},//m(77) {0x00,0x7E,0x04,0x02,0x02,0x7C},//n(78) {0x00,0x38,0x44,0x44,0x44,0x38},//o(79) {0x00,0x7C,0x14,0x14,0x14,0x08},//p(80) {0x00,0x08,0x14,0x14,0x18,0x7C},//q(81) {0x00,0x7C,0x08,0x04,0x04,0x08},//r(82) {0x00,0x48,0x54,0x54,0x54,0x20},//s(83) {0x00,0x04,0x3F,0x44,0x40,0x20},//t(84) {0x00,0x3C,0x40,0x40,0x20,0x7C},//u(85) {0x00,0x1C,0x20,0x40,0x20,0x1C},//v(86) {0x00,0x3C,0x40,0x30,0x40,0x3C},//w(87) {0x00,0x44,0x28,0x10,0x28,0x44},//x(88) {0x00,0x0C,0x50,0x50,0x50,0x3C},//y(89) {0x00,0x44,0x64,0x54,0x4C,0x44},//z(90) {0x00,0x00,0x08,0x36,0x41,0x00},//{(91) {0x00,0x00,0x00,0x7F,0x00,0x00},//|(92) {0x00,0x00,0x41,0x36,0x08,0x00},//}(93) {0x00,0x08,0x04,0x08,0x10,0x08},//~(94) {0x00,0x08,0x08,0x2A,0x1C,0x08},//?(127) {0x00,0x08,0x1C,0x2A,0x08,0x08},//?(128) {0x00,0x04,0x02,0x7F,0x02,0x04},//?(129) {0x00,0x10,0x20,0x7F,0x20,0x10},//?(130) {0x00,0x1C,0x2A,0x32,0x2A,0x1C},//笑面(131) {0x00,0x1C,0x22,0x44,0x22,0x1C},//爱心(132) {0x14,0x14,0x14,0x14,0x14,0x14}// horiz lines(133) }; //-------------------------------------汉字字库 --------------------------------------------------------------------------------- //Index[2];//一个汉字占两个字节 //Msk[24];//一个汉字的编码由24个十六进制数组成 uint8 write_chinese[][24]={ (1) //测 {0x89,0xF2,0x00,0xFF,0x01,0xF9,0xFF,0x00,0xFC,0x00,0xFF,0x00,0x00,0x07,0x04,0x04,0x02,0x01,0x02,0x04,0x01,0x04,0x07,0x00}, //试(2) {0x11,0xF6,0x00,0x04,0x24,0xE4,0x24,0x24,0xFF,0x05,0x06,0x00,0x00,0x07,0x02,0x01,0x02,0x03,0x01,0x01,0x01,0x02,0x07,0x00}, //程(3) {0x8A,0x6A,0xFF,0x49,0x20,0xAF,0xA9,0xE9,0xA9,0xAF,0x20,0x00,0x01,0x00,0x07,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x00}, //序(4) {0x00,0xFE,0x42,0x4A,0x4A,0x5B,0xEA,0x5A,0x4A,0xC2,0x42,0x00,0x06,0x01,0x00,0x00,0x04,0x04,0x07,0x00,0x00,0x00,0x00,0x00}, //电(5) {0x00,0xFC,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xFE,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x04,0x04,0x04,0x04,0x06,0x00}, //子(6) {0x20,0x21,0x21,0x21,0x21,0xF9,0x29,0x25,0x23,0x31,0x20,0x00,0x00,0x00,0x00,0x04,0x04,0x07,0x00,0x00,0x00,0x00,0x00,0x00}, //制(7) {0x18,0xD6,0x54,0xFF,0x54,0x56,0xD4,0x00,0xFC,0x00,0xFF,0x00,0x00,0x03,0x00,0x07,0x00,0x02,0x03,0x00,0x04,0x04,0x07,0x00}, //作(8) {0x10,0x08,0xFC,0x13,0x08,0x04,0xFF,0x24,0x24,0x24,0x04,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x07,0x01,0x01,0x01,0x01,0x00}, //杂(9) {0x40,0x62,0x52,0xCA,0x47,0xE2,0x42,0xDE,0x50,0x50,0x58,0x00,0x04,0x02,0x01,0x04,0x04,0x07,0x00,0x00,0x01,0x02,0x04,0x00}, //志(10) {0x04,0xA4,0x24,0xA4,0x24,0xBF,0x24,0x24,0x24,0xA6,0x04,0x00,0x02,0x01,0x00,0x07,0x04,0x04,0x05,0x04,0x06,0x00,0x03,0x00}, //社(11) {0x84,0x44,0xF5,0x2E,0x40,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,0x00,0x00,0x07,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x00}, }; /*------------------------------------------------------------------------------ ; 宽×高(像素): 40×24 ; 字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/120字节 ; 数据转换日期 : 2014-3-7 ------------------------------------------------------------------------------*/ uint8 AVR_bmp[]= { /*-- 调入了一幅图像:C:\Documents and Settings\armok\桌面\1.bmp --*/ /*-- 宽度x高度=60x47 --*/ /* 0x00,0x00,0x00,0x00,0x80,0xE0,0xFC,0xFF,0xFF,0xFF,0x7F,0xFF,0xFE,0xFC,0xF0,0xC1, 0x0F,0x7F,0xFF,0xFF,0xFE,0xF0,0xC0,0x00,0x00,0x00,0xC0,0xF8,0xFE,0xFF,0xFF,0x3F, 0x07,0xC1,0xF0,0xFE,0xFF,0xFF,0xFF,0x1F,0x07,0x8F,0xCF,0xFF,0xFF,0xFF,0xFE,0xFC, 0x00,0x80,0xF0,0xFC,0xFF,0xFF,0xFF,0x7F,0x7F,0x78,0x78,0x79,0x7F,0x7F,0xFF,0xFF, 0xFC,0xF0,0xC1,0x07,0x1F,0xFF,0xFF,0xFE,0xFC,0xFF,0xFF,0xFF,0x1F,0x07,0xC1,0xF0, 0xFE,0xFF,0xFF,0x3F,0x0F,0x0F,0x7F,0xFF,0xFF,0xFF,0xFF,0xE7,0x07,0x03,0x01,0x00, 0x02,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03, 0x03,0x03,0x03,0x03,0x00,0x00,0x03,0x1F,0x3F,0x1F,0x07,0x00,0x00,0x02,0x03,0x03, 0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x00 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x40, 0x20,0x00,0x10,0x10,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x10,0x10,0x00, 0x20,0x40,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x0C,0x02,0x01,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x0C,0x70,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00, 0x80,0xC0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xE0,0xC0,0x00,0x00,0x00,0x00,0x00,0xC0, 0xE0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x7F,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00, 0x18,0x60,0x83,0x87,0x87,0x87,0x07,0x03,0x03,0x03,0x01,0x40,0xF0,0xF0,0xF0,0xF0, 0xF0,0x40,0x01,0x03,0x03,0x03,0x07,0x87,0x87,0x87,0x83,0x60,0x18,0x00,0x07,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x1F,0x27,0x48,0x88,0x88,0x88,0x88,0x88,0x48, 0x48,0x48,0x88,0x88,0x88,0x88,0x88,0x48,0x27,0x1F,0x00,0xFF,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x04,0x04,0x08,0x00,0x10,0x10, 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x08,0x04,0x04,0x02,0x03,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; #endif /* __LCD5110_H__ */
/
本文档为【飞思卡尔智能车野火K60FX系列诺基亚5110驱动程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索