c51单片机程序-nokia5110液晶显示图像.pdfVIP

  • 23
  • 0
  • 约2.54千字
  • 约 3页
  • 2017-05-23 发布于河南
  • 举报
c51单片机程序-nokia5110液晶显示图像

#include STC12C5A.h #includeintrins.h #includemmm.h /**********宏定义引脚操作**********/ #define LCD_RST P22 //N5110 的复位信号引脚, 低电平有效 #define LCD_CE P20 //N5110 的片选信号引脚, 低电平有效 #define LCD_DC P21 //N5110 的数据/命令选择引脚, 高电平表示数据输入,低电平表示命令输入 #define LCD_CLK P15 // N5110 的同步时钟信号输入引脚, 上升沿写入 #define LCD_DIN P23 //N5110 的数据输入引脚 #define LCD_BL P17 //N5110 的背光灯控制引脚, 高电平点亮,低电平关闭 /*****串口通信,将数据发给液晶芯片**********/ void LCD_write_byte(unsigned chardat, unsigned charcommand) //读取串口数据 { unsigned chari; LCD_CE =0; if(command== 0) LCD_DC = 0; //0命令 else LCD_DC = 1; //1数据 for(i=0;i8;i++) { if(dat0x80) //取数据的最高位,1或0 LCD_DIN= 1; //(串行数据输入) else LCD_DIN=0; LCD_CLK = 0; dat =dat 1; //左移,依次将数据读入 LCD_CLK = 1; } LCD_CE =1; //关闭液晶屏 } voidLCD_set_XY(unsignedchar X, unsignedcharY) { LCD_write_byte(0x80|X,0); //row 行 LCD_write_byte(0x40|Y,0); //column 列 } /*******清屏函数**********/ voidLCD_clear(void) { unsigned int i; LCD_set_XY(0,0); // 设置初始坐标为0,0 for(i=0;i504;i++) // 写84*6组0x00数据完成清屏 { LCD_write_byte(0x00,1); } } /*******初始化函数**********/ voidLCD_Init(void) //初始化液晶屏,用八位的二进制数控制各引脚 { LCD_RST=0; //低电平,复位 _nop_(); //空循环一个机器周期 LCD_RST=1; LCD_CE=1; //// 初始不选通N5110 芯片 LCD_write_byte(0x21, 0);// 使用扩展命令设置LCD模式 LCD_write_byte(0xba, 0); // 设置偏置电压 LCD_write_byte(0x06, 0); // 温度校正 LCD_write_byte(0x13, 0); // 1:48 LCD_write_byte(0x20, 0); // 使用基本命令 LCD_clear(); // 清屏 LCD_write_byte(0x0c, 0);// 设定显示模式,正常显示

文档评论(0)

1亿VIP精品文档

相关文档