⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd1602.c

📁 项目描述:产生正弦波,方波,三角波的能力.可存储多种波形,输出波形频率100Hz--200kHz,
💻 C
字号:
#include<reg51.h>
//#include <absacc.h>
//#include <intrins.h>

#define uchar unsigned  char
#define uint unsigned int

sbit RS = P1^5; // 数据(H)\指令(L) 选择
sbit RW = P1^6; // 读(H)\写(L) 选择
sbit EN = P1^7; // 读(H)\写(L)使能

sbit BF = P2^7; //忙信号

char code chara[6][16]={{"By yagerya   "},{"QQ:455143773 ^-^"},{"wave:square()   "},{"wave: sin()     "},{"wave: tran()    "},{"wave: saw()     "}};

//uchar code chara1[]={"By zhaizhifen   "};
//uchar code chara2[]={"QQ:455143773 ^-^"};
//uchar code chara3[]={"wave: square()  "};
//uchar code chara4[]={"wave: sin()     "};
//uchar code chara5[]={"wave: tran()    "};
//uchar code chara6[]={"wave: saw()     "};

void delay(uchar k) //延时子程序 
{
 uint i,j;
 for(i=0;i<k;i++)
  for(j=0;j<255;j++);
}

void check_busy(void)  //测忙子函数
{
 EN=1;
 RS=0;
 RW=1;
 P2=0xff;
 while(!BF);
}

void write_cmd(uchar cmd)  //写指令码子函数
{
 check_busy();
 EN=1;
 RS=0;//命令
 RW=0;//写
 P2=cmd;
 delay(1);
 EN=1;
 delay(1);
 EN=0;
 

}

void write_data(uchar dat)  //写数据子函数
{
 check_busy();
 EN=1;
 RS=1;
 RW=0;
 P2=dat;
 delay(1);
 EN=1;
 delay(1);
 EN=0;
 
}

void init(void)      //LCD初始化设置子函数
{
 
 EN=1;
 write_cmd(0x38);    //显示模式设置:8位2行5x7点阵
 write_cmd(0x01);    //清屏
 write_cmd(0x0f);    //显示器开、光标开、闪烁开 
 write_cmd(0x06);    //当写一个字符,整屏显示不移动
 write_cmd(0x0C);  //文字不动,光标自动右移
 write_cmd(0x80);    //第一行显示地址指针设置
}



void disp_onechar(uchar a,uchar b)
{
  uchar i=0;
    for(i=0;i<16;i++)
     {
       write_data(chara[a][i]);
       delay(10);
     }
  //write_cmd(0x01);   //显示第一行后清除
  write_cmd(0x80+0x40);//第二行显示地址指针设置
    for(i=0;i<16;i++)
     {
      write_data(chara[b][i]);
      delay(10);
     }
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -