单片机控制12864液晶显示屏显示静态图片

发布者:532829319hmk最新更新时间:2020-05-06 来源: eefocus关键字:单片机控制  液晶显示屏  静态图片 手机看文章 扫描二维码
随时随地手机看文章

PROTEUS仿真电路图

在这里插入图片描述

仿真结果展示:

大长安城墙的一角:

在这里插入图片描述

大雁塔:

在这里插入图片描述

龙:

在这里插入图片描述


C语言程序代码:

#include


#define LCDLCDDisp_Off   0x3e

#define LCDLCDDisp_On    0x3f

#define Page_Add     0xb8//ye


#define LCDCol_Add     0x40//lie

#define Start_Line     0xC0//hang

/*****液晶显示器的端口定义*****/

#define data_ora P1 /*液晶数据总线*/

sbit LCDMcs=P2^4 ;    /*片选1*/

sbit LCDScs=P2^3 ;    /*片选2*/

sbit LCDDi=P2^2 ;     /*数据/指令 选择*/

sbit LCDRW=P2^1 ;     /*读/写 选择*/

sbit LCDEnable=P2^0 ;     /*读/写 使能*/




char code Hz[]=

{


    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x20,0x28,0x38,0x38,0x18,0x00,

      0x08,0x08,0x08,0x04,0x04,0x04,0x04,0x84,0xC8,0x78,0x30,0x00,0x00,0x00,0x00,0x00,

      0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0xC0,0x40,0x00,0x80,0x80,0x80,0x00,0x00,

      0xC0,0x80,0x00,0x40,0x80,0x80,0x40,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,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,0x0E,0x35,0x73,0x7B,0xBE,0xFE,0x3E,0xFC,0xF8,0xFC,0xFC,0xFE,0xDE,

      0xDD,0xFF,0xEF,0xBF,0xFF,0xFF,0xDE,0xBF,0x9C,0x9C,0x9C,0xFC,0x7E,0xFD,0xFE,0xFE,

      0xFE,0xFC,0xFC,0xFC,0xF8,0xF9,0xF2,0xE2,0xC0,0xC5,0x07,0x06,0x00,0x00,0x00,0x00,

      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,

      0x80,0x80,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF8,

      0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF8,0xF0,0xF0,0xF0,

      0xF0,0xE0,0xE0,0xC0,0x80,0x80,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,0x07,0x0E,0x17,0x17,0x17,0x1F,0xDE,0xBE,0x6F,0x2F,0x3B,0x1F,0x0E,

      0x0F,0x1E,0x14,0x0E,0x18,0x16,0x0D,0x09,0x86,0xCC,0xFB,0xFF,0xFF,0xFE,0xFF,0xFE,

      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xB7,0x0F,0x0C,0x00,0x00,0x80,0x80,

      0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xF8,0xFC,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,

      0xFF,0x7F,0x7F,0x3F,0x9F,0x5F,0x3F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFD,0xF9,0xF5,0xE9,

      0x80,0x00,0x00,0x02,0x02,0x02,0x02,0x08,0x01,0x02,0x00,0x01,0x07,0x05,0x07,0x07,

      0x0F,0x9F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFE,0xFE,0xF8,0xF0,0xE0,0x80,0x00,0x00,0x00,

      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x0E,0x13,

      0x13,0x15,0x05,0x13,0x10,0x10,0x10,0x08,0x08,0x0D,0x07,0x00,0x00,0x80,0xC0,0xC0,

      0xE0,0xF0,0xF0,0xF8,0xFC,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBF,

      0xBF,0xDF,0x5F,0x97,0x87,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xFC,0xFE,0xFF,0xFF,0xFF,

      0xFF,0x7F,0xBF,0x9F,0xEF,0xEF,0xE7,0xF3,0xF9,0xFC,0xFF,0xFF,0xBF,0x87,0x83,0xB1,

      0xE4,0xCD,0xC4,0xE3,0xE1,0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x3F,0x1F,

      0x07,0x00,0x02,0x02,0x02,0x06,0x06,0x06,0x0E,0x0F,0x0F,0x8E,0x7E,0x3E,0x1E,0x87,

      0x87,0xC7,0xF3,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x79,0x38,0x00,0x00,

      0x00,0x00,0x00,0x40,0x60,0x40,0xC0,0xC0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

      0x80,0x80,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xC0,0xE0,0xE0,0xFC,0xFF,0xFF,0xFF,0xFF,

      0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFF,0xF3,0xFD,0xFD,0xFF,0xFD,0xFF,

      0xFF,0xFE,0xFE,0xFF,0xFF,0xFF,0x7F,0x7F,0xBF,0x7F,0x7F,0xFF,0xEF,0xE7,0xF3,0xFD,

      0xCE,0xE7,0xF6,0xF3,0xFB,0xF3,0xEF,0xEF,0xE7,0xE7,0xE7,0xC7,0xE7,0x67,0x67,0x67,

      0x67,0x67,0x67,0x47,0x03,0x03,0x03,0x03,0x01,0x03,0x00,0x00,0x00,0x80,0x80,0x80,

      0x80,0xC0,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF8,0xF8,0xFD,0xFC,0xFE,0xFF,0x7F,0x7F,

      0x7F,0x3F,0x3F,0x3F,0x1F,0x1F,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,

      0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x03,0x03,0x07,0x07,

      0x0F,0x0F,0x0F,0x1B,0x1B,0x1B,0x1B,0x1B,0x03,0x07,0x07,0x05,0x01,0x01,0x03,0x00,

      0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,

      0x01,0x01,0x81,0x81,0x80,0x00,0x00,0xC0,0xC0,0xC0,0x80,0xA0,0x60,0xE0,0x60,0x60,

      0x6C,0x7C,0x36,0x36,0x36,0x3B,0x39,0x39,0x38,0x18,0x18,0x1C,0x1C,0x1C,0x1C,0x1C,

      0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x0E,0x0E,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x07,0x07,

      0x07,0x07,0x03,0x07,0x03,0x05,0x01,0x01,0x01,0x01,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,0x80,0x40,0xC0,0xA0,0xE0,0xD0,0x70,0x68,0x78,

      0xBC,0xBC,0xBC,0xF6,0xDE,0xDE,0xEE,0x66,0x66,0x6E,0x7E,0x72,0x36,0x3A,0x38,0x39,

      0x18,0x19,0x05,0x0D,0x03,0x03,0x02,0x00,0x01,0x01,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,0x00,0x00,0x00,0x00,0x00,

      0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

      0x80,0x80,0x90,0x88,0x86,0x85,0x8A,0x8B,0x85,0x85,0x87,0x82,0x82,0x83,0x81,0x83,

      0x83,0x83,0x81,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

      0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

      0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

      0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

      0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,

      0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80

};


/****************************************************************************

函数功能:LCD延时程序

入口参数:t

出口参数:

****************************************************************************/

void LCDdelay(unsigned int t)

{

unsigned int i,j;

for(i=0;i for(j=0;j<10;j++);

}

/****************************************************************************

状态检查,LCD是否忙



*****************************************************************************/

void CheckState()

{

   unsigned char dat,DATA;//状态信息(判断是否忙)

   LCDDi=0; // 数据指令选择,D/I(RS)="L" ,表示 DB7∽DB0 为显示指令数据 

   LCDRW=1; //R/W="H" ,E="H"数据被读到DB7∽DB0 

   do

   {

      DATA=0x00;

      LCDEnable=1; //EN下降源

  LCDdelay(2);//延时

  dat=DATA;

      LCDEnable=0;

      dat=0x80 & dat; //仅当第7位为0时才可操作(判别busy信号)

    }

    while(!(dat==0x00));

}

/*****************************************************************************

函数功能:写命令到LCD程序,RS(DI)=L,RW=L,EN=H,即来一个脉冲写一次

入口参数:cmdcode

出口参数:

*****************************************************************************/

void write_com(unsigned char cmdcode)

{

    CheckState();//检测LCD是否忙

LCDDi=0;

LCDRW=0;

P1=cmdcode;

LCDdelay(2);

LCDEnable=1;

LCDdelay(2);

LCDEnable=0;

}

/*****************************************************************************

函数功能:LCD初始化程序

入口参数:

出口参数:

*****************************************************************************/

void init_lcd()

{

LCDdelay(100);

LCDMcs=1;//刚开始关闭两屏

LCDScs=1;

LCDdelay(100);

write_com(LCDLCDDisp_Off); //写初始化命令

write_com(Page_Add+0);

write_com(Start_Line+0);

write_com(LCDCol_Add+0);

write_com(LCDLCDDisp_On);

}

/*****************************************************************************

函数功能:写数据到LCD程序,RS(DI)=H,RW=L,EN=H,即来一个脉冲写一次

入口参数:LCDDispdata

出口参数:

*****************************************************************************/

void write_data(unsigned char LCDDispdata)

{

    CheckState();//检测LCD是否忙

LCDDi=1;

LCDRW=0;

P1=LCDDispdata;

LCDdelay(2);

LCDEnable=1;

LCDdelay(2);

LCDEnable=0;

}

/*****************************************************************************

函数功能:清除LCD内存程序

入口参数:pag,col,hzk

出口参数:

*****************************************************************************/

void Clr_Scr()

{

unsigned char j,k;

LCDMcs=0; //左、右屏均开显示

LCDScs=0;

  write_com(Page_Add+0);

  write_com(LCDCol_Add+0);

  for(k=0;k<8;k++)//控制页数0-7,共8页

  {

write_com(Page_Add+k); //每页每页进行写

  for(j=0;j<64;j++)  //每页最多可写32个中文文字或64个ASCII字符

{

      write_com(LCDCol_Add+j);

write_data(0x00);//控制列数0-63,共64列,写点内容,列地址自动加1

}

}

}

/*****************************************************************************

函数功能:左屏位置显示

入口参数:page,column,hzk

出口参数:

*****************************************************************************/

void Bmp_Left_Disp(unsigned char page,unsigned char column, unsigned char code *Bmp)

{

unsigned char j=0,i=0;

[1] [2]
关键字:单片机控制  液晶显示屏  静态图片 引用地址:单片机控制12864液晶显示屏显示静态图片

上一篇:单片机控制12864显示动态图片
下一篇:单片机控制12864显示多行汉字

推荐阅读最新更新时间:2024-11-11 14:57

单片机控制LED灯(项目)
#include reg52.h #define uchar unsigned char sbit LED_RED = P2^0; sbit LED_GREEN = P2^1; sbit LED_BLUE = P2^2; //要显示的颜色值 uchar COLOR_RED = 0xff; uchar COLOR_GREEN = 0xcc; uchar COLOR_BLUE = 0x33; uchar i = 0; //初始化定时器,用于控制PWM波 void Init_INT0(){ TMOD = 0x02;//工作方式2,8位自动装置定时器 TH0 = 0xf0; TL0 = TH0; ET0 =
[单片机]
用Pic单片机控制8路MG995舵机(servo motor)的实现方法
一个PIC16F877A单片机有1个16位定时器TIMER1,我们用来控制8个舵机(即顺序脉冲输出),这样一个单片机就可以控制8个舵机。用8个IO口来控制舵机,舵机控制的信号周期为20mS,而正脉冲最大只有2.5mS,这样有17.5mS是空的。可以采用这种方法:在RD0口输出一个0.5~2.5mS的脉冲,控制一号舵机。完成后,用端口RD1口输出另外一个脉冲,控制2号舵机,就这样下去.....在一号舵机需要第二个脉冲之前,可以输出 20/2.5=8个脉冲,可以用来控制8个舵机,当然,需要用8个IO口。但是一般来说不可能正好有8个2.5mS的脉冲来填满20mS,这样就需要对输出脉冲的总宽度进行累加补偿,然后再用低电平填满20mS中剩下
[单片机]
用Pic<font color='red'>单片机控制</font>8路MG995舵机(servo motor)的实现方法
51单片机OLED12864 I2C接口使用教程
现在能买到的OLED12864显示屏大多为SPI和I2C接口的,I2C通信协议只需要两条总线就可以进行通信,下面介绍一下如何用51单片机使用I2C接口的OLED12864。 首先介绍一下I2C通信协议,I2C(Inter-Integrated Circuit)字面上的意思是集成电路之间,它其实是I2CBus简称,所以中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。I2C的正确读法为“I平方C”( I-squared-C )。 I2C只使用两条双向漏极开路(Open Drain)(串行数据(SDA)及串行时钟频率(
[单片机]
51单片机OLED<font color='red'>12864</font> I2C接口使用教程
51单片机控制舵机实验
简介:这里用到PCF8591 ADDA芯片和51单片机和一个电位器。通过控制电位器,产生PWM波,控制舵机旋转。并在数码管上显示角度。 电路图 这是程序,、 /*----------------------------------------------- 名称:IIC协议 PCF8591ADDA转换 内容:此程序通过IIC协议对DAAD芯片操作,读取电位器的电压,并输出模拟量,用LED亮度渐变指示,晶体选用12MHz ------------------------------------------------*/ #include reg52.h #include intrins.h //包
[单片机]
51<font color='red'>单片机控制</font>舵机实验
【PIC32MZ】OLED12864 I2C显式示例
本篇主要讲述如何使用PIC32MZ来点亮OLED12864。 OLED12864可以控制一个一个像素点,所以需要自建字库,有专门生成的软件,字库为字母字符,放到最后面。注意不同12864排列或者共极不同,则需要自行取模。 本片需要调用I2C通信中的基础代码,需要delay和i2c-Hardware,以下不再贴这部分代码。 第一部分是字模文件 codetab.h #ifndef _CODETAB_H #define _CODETAB_H /***************************16*16 Chinese, common gnd - column style - reverse output*****
[单片机]
【PIC32MZ】OLED<font color='red'>12864</font> I2C显式示例
51单片机控制步进电机硬件连接部分
1、概要: 本案例讲解的内容是51单片机控制步进电机硬件连接部分。后续会分别讲解单片机程序,S曲线加减速方法,上位机等相关内容 2、功能原理图: 2.1、51单片机: ①输出脉冲到TB6600驱动器PUL端口,从而控制步进电机转动 ②控制TB6600驱动器ENA端口,从而控制步进电机使能 ③控制TB6600驱动器DIR端口,从而控制步进电机转动方向 2.2、步进电机: ①提供机械动力 2.3、稳压电源: ①为步进电机提供电源 2.4、TB6600驱动器: ①二相四线步进电机专用驱动器 3、实物图: ** ①** 、51****单片机控制板一个 ** ②** 、二相四线步进电机一个 ** ③** 、稳压电源一个 ** ④** 、
[单片机]
51<font color='red'>单片机控制</font>步进电机硬件连接部分
12864并口方式显示程序
12864并口方式显示程序 #include reg52.h unsigned char code IC _DAT ; sbit RS=P3^6; //RS= H ,表示DB7--DB0为显示数据, //RS= L ,表示DB7--DB0为显示指令数据 sbit WRD = P2^5; //R/W= H ,E= H ,数据被读到DB7--DB0 //R/W= L ,E= H→L , DB7--DB0的数据被写到IR或DR sbit E = P2^6; //使能信号 sbit PSB = P2^3; //H:并口方式 L:串口方式 void Tran
[单片机]
基于单片机控制的频率特征测试仪设计
1 引 言 频率特性是一个系统(或元件)对不同频率正弦输入信号的响应特性。如图1所示,被测系统输入幅值为Ar、角频率为ω的正弦信号,如果该系统是线性的,则其稳态输出也是正弦信号,频率ω不变,幅值为Ac,相角差为φ。改变ω可以得到一系列输入和输出数据。输出对输入的幅值比A(ω)=Ac/Ar与ω的关系曲线称为该系统的幅频特性,通常取20 lg A(ω)称为对数幅频特性。输出对输入的相角差φ(ω)与ω的关系曲线称为该系统的相频特性。幅频特性和相频特性综合称为频率特性,常用的是系统的开环频率特性即波特图。 一个系统的频率特征可通过频率特征测试仪来测定。频率特性测试仪也称扫频仪,用于测试被测网络的幅频特性。他可以测
[单片机]
基于<font color='red'>单片机控制</font>的频率特征测试仪设计
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved