资源简介
lcd12864显示波形函数程序,用51单片机为主控芯片调试成功,需要的拿去
代码片段和文件信息
#include
#include“logo.h“
#include“math.h“
#define uint unsigned int
#define uchar unsigned char
#define X1 0x80
#define X2 0x88
#define Y 0x80
#define comm 0
#define dat 1
#define DATA P0
sbit RS = P3^0; //H=data; L=“command“;
sbit RW = P3^1; //H=read; L=“write“;
sbit E = P3^2; //input enable;
sbit PSB= P3^3; //H=并口; L=“串口“;
sbit RST= P3^5; //Reset Signal 低电平有效
sbit busy=P0^7; //lcd busy bit
uchar code AC_TABLE[]={
0x800x810x820x830x840x850x860x87
0x900x910x920x930x940x950x960x97
0x880x890x8a0x8b0x8c0x8d0x8e0x8f
0x980x990x9a0x9b0x9c0x9d0x9e0x9f
};
uchar code tab1[]={
“程序设计:黎佩才“
“成功将离我不远!“
“努力做好一个细节“
“每天进步一小步!“
};
//μs延时函数
void delay(uint us) //delay time
{
while(us--);
}
//ms延时函数
void delay1(uint ms)
{
uint ij;
for(i=0;i for(j=0;j<15;j++)
delay(1);
}
//忙检测
void Check_Busy()
{
DATA = 0xff;
RS = 0;
RW = 1;
E = 1;
while(busy==1);
E = 0;
}
//写数据或命令到LCD
void LCD_Write(uchar comm_datuchar content )
{
Check_Busy();
if(comm_dat)
{
RS=1;
RW=0;
}
else
{
RS=0;
RW=0;
}
DATA=content;
E=1;
delay(5);
E=0;
}
uchar Read_data()
{
uchar shuju;
RS=1; // D/I=1,代表数据
RW=1; // R/W=1.读取
delay(10);
E=1;
delay(100);
shuju=DATA; //读取当前显示的数据
E=0;
return(shuju);
}
//LCD清屏
void LCD_Clr()
{
LCD_Write(comm0x30);
LCD_Write(comm0x01);
LCD_Write(comm0x34);
LCD_Write(comm0x01);
}
//LCD初始化
void LCD_Init()
{
RST=1;
PSB=1;
LCD_Write(comm0x30);
LCD_Write(comm0x01);
LCD_Write(comm0x06);
LCD_Write(comm0x0c);
}
//显示汉字
void LCD_Dispchn(uchar code *chn)
{
uchar i j;
LCD_Write(comm0x30);
LCD_Write(comm0x80);
for(i=0;i<4;i++)
{
for(j=0;j<16;j++)
LCD_Write(datchn[i*16+j]);
}
}
//上半屏显示汉字
void LCD_Dispchn1(uchar code *chn)
{
uchar i j;
LCD_Write(comm0x30);
LCD_Write(comm0x80);
j=0;
for(i=0;i<16;i++)
LCD_Write(datchn[j*16+i]);
LCD_Write(comm0x90);
j=1;
for(i=0;i<16;i++)
LCD_Write(datchn[j*16+i]);
}
//显示图片
void LCD_Dispimg(uchar code *img)
{
char i j;
for(j=0;j<32;j++)
for(i=0;i<8;i++)
{
LCD_Write(comm0x34);
LCD_Write(commY+j); //y=0x80 设置y坐标,纵向起始位置
LCD_Write(commX1+i); //x1=0x80 设置横向显示起始位置
LCD_Write(comm0x30);
LCD_Write(datimg[j*16+i*2]);
LCD_Write(datimg[j*16+i*2+1]);
}
for(j=32;j<64;j++)
for(i=0;i<8;i++)
{
LCD_Write(comm0x34);
LCD_Write(commY+j-32); //y=0x80 设置y坐标,纵向起始位置
LCD_Write(commX2+i); //x2=0x88 设置横向显示起始位置
LCD_Write(comm0x30);
LCD_Write(datimg[j*16+i*2]);
LCD_Write(datimg[j*16+i*2+1]);
}
LCD_Write(comm0x36);
}
//上半屏显示图像
void LCD_Dispimg1(uchar code *img)
{
uchar ij;
for(j=0;j<32;j++)
for(i=0;i<8;i++)
{
LCD_Write(comm0x3
- 上一篇:新代系统装机调试
- 下一篇:GA change PID
相关资源
- LCD12864 驱动程序1
- msp430 JLX12864G-086 带字库
- 用51单片机驱动DS1302时间模块+DS18B20温
- msp430f149 12864显示温度
- HB12864M2A串行程序
- msp430g2553串行控制12864显示正弦波。
- STM32的12864驱动程序(免积分)
- OLED12864显示屏,12位ADC,按键中断,
- 基于proteus的12864F3菜单设计带汇编代码
- stm32f103+OLED12864+FFT音乐频谱多种显示效
- (51单片机) 12864 液晶LCD 图文菜单显
- 基于51单片机的12864液晶图片显示全套
- HC-SR04超声波测距模块+OLED12864显示
- stm32+proteus_sht1x+lcd12864_温湿度检测_2
- stm32F407 库函数的麦轮手动车 PS2手柄
- 12864英文字母和数字字库
- ST7565R控制12864液晶中文说明书
- 51单片机实现12864显示 超声波测距
- 12864的51系列C 程序,适合开发者
- 12864及51单片机驱动程序
- 12864 串行显示(51单片机通用,接三条
- STC89C52实现矩阵键盘输入密码并在12
- LCD点阵12864画温度曲线
- 12864数字钟附阳历农历温度时钟闹钟时
- TX-1C Proteus仿真板
- C51单片机12864菜单实现功能_综合.rar
- FPGA直接驱动LCD12864的Verilog程序
- 拆解某POS机LCD12864液晶的使用说明
- 12864液晶显示介绍
- ADC0809模数装换电压表12864LCD显示
评论
共有 条评论