资源简介
大海橡树LCD12864程序包,包括了PROTUES仿真,带字库和不带字库LCD程序,包含了画点,画线,画图介绍
代码片段和文件信息
/*****http://hi.baidu.com/echoas********
程序:MCS-51驱动LCD12864液晶
内容:LCD12864显示正弦曲线
编译器:keil uVision3
开发板:Proteus仿真图
作者:大海橡树
整理日期:2011-01-28
修改:无
备注:有什么错误的地方,欢迎网友们到空间留言
O(∩_∩)O~
******http://hi.baidu.com/echoas*********/
#include
#include
#include
#include“ZB.h“
#define uchar unsigned char
#define uint unsigned int
#define LCD_databus P0 //LCD12864的8位数据口
sbit RS=P2^2; //RS为0---命令;1----数据
sbit RW=P2^1; //RW为1---写;0---读
sbit EN=P2^0; //使能端
sbit CS1=P2^4; //片选1低电平有效,控制左半屏
sbit CS2=P2^3; //片选1低电平有效,控制右半屏
void Read_busy()//读“忙”函数-----数据线的最高位DB71则busy
{
P0=0x00;
RS=0;
RW=1;
EN=1;
while(P0 & 0x80);
EN=0;
}
void write_LCD_command(uchar value) //写命令函数
{
Read_busy(); //对LCD的每次读写都要读忙
RS=0; //选择命令
RW=0; //读操作
LCD_databus=value;
EN=1; //EN由1----0锁存有效数据
_nop_();
_nop_();
EN=0;
}
void write_LCD_data(uchar value)//写数据函数
{
Read_busy();
RS=1; //选择数据
RW=0;
LCD_databus=value;
EN=1; //EN由1----0锁存有效数据
_nop_();
_nop_();
EN=0;
}
uchar Read_LCD(void) //读数据函数
{
uchar value;
Read_busy();
LCD_databus=0xFF; //先进行一次空读操作
RS=1;
RW=1;
EN=1;
_nop_();
_nop_();
EN=0;
LCD_databus=0xFF; //读取真正的数据
RS=1;
RW=1;
EN=1;
value=LCD_databus;
_nop_();
_nop_();
EN=0;
return value;
}
void Set_page(uchar page) //设置“页”LCD12864共8页,一页是8行点阵点
{
page=0xb8|page; //页的首地址为0xB8
write_LCD_command(page);
}
void Set_line(uchar startline) //设置显示的起始行
{
startline=0xC0|startline; //起始行地址为0xC0
write_LCD_command(startline); //设置从哪行开始:共0--63;一般从0 行开始显示
}
void Set_column(uchar column) //设置显示的列
{
column=column &0x3f; //列的最大值为64
column= 0x40|column; //列的首地址为0x40
write_LCD_command(column); //规定显示的列的位置
}
void SetOnOff(uchar onoff) //显示开关函数:0x3E是关显示,0x3F是开显示
{
onoff=0x3e|onoff; //onoff:1---开显示;0---关显示
write_LCD_command(onoff);
}
void SelectScreen(uchar screen) //选择屏幕
{
switch(screen)
{
case 0: CS1=0;CS2=0;break; //全屏
case 1: CS1=0;CS2=1;break;//左半屏
case 2: CS1=1;CS2=0;break;//右半屏
default:break;
}
}
void ClearScreen(uchar screen) //清屏函数
{
uchar ij;
SelectScreen(screen); //0--全屏;1---左半屏;2---右半屏
for(i=0;i<8;i++) //控制页数0-7,共8页
{
Set_page(i);
Set_column(0);
for(j=0;j<64;j++) //控制列数0-63,共64列
{
write_LCD_data(0x00); //写入0,地址指针自加1
}
}
}
void InitLCD() //LCD的初始化
{
SetOnOff(1); //开显示
SelectScreen(0);
ClearScreen(0); //清屏
Set_line(0); //开始行:0
}
void Draw_dots(uchar xuchar yuchar color)
{
uchar x_byte;
uchar x_bit;
uchar Temp_data; //暂时存放从LCD读出的数据
x_byte=(y>>3); //计算出该点属于哪个字节
x_bit=y-(x_byte<<3); //属于字节的哪一位?
if(x>63) //x>63则显示在右半屏
{
SelectScree
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1024027 2010-12-08 13:21 LCD12864程序包\12864点阵型液晶显示屏的基本原理与使用方法(很详细).pdf
文件 8902610 2011-04-09 23:50 LCD12864程序包\LCD12864液晶的使用_大海橡树.pdf
文件 1085090 2010-12-11 10:20 LCD12864程序包\Proteus_12864程序包\KS0108LCD控制器说明.pdf
文件 830 2011-01-28 13:18 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\12848坐标.BMP
文件 17654 2012-05-08 23:39 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\LCD12864
文件 9340 2012-05-08 23:39 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\LCD12864.hex
文件 44 2012-05-08 23:39 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\LCD12864.lnp
文件 19529 2012-05-08 23:39 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\LCD12864.M51
文件 1115 2012-05-08 23:39 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\LCD12864.Opt
文件 1626 2012-05-08 23:39 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\LCD12864.plg
文件 2105 2011-01-28 14:48 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\LCD12864.Uv2
文件 1126 2012-05-08 23:33 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\LCD12864_Opt.Bak
文件 0 2011-01-28 12:26 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\LCD12864_Uv2.Bak
文件 5297 2012-05-08 23:39 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\main.c
文件 12174 2012-05-08 23:39 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\main.LST
文件 18037 2012-05-08 23:39 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\main.OBJ
文件 6295 2011-01-28 13:45 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\code\ZB.h
文件 87459 2011-01-28 19:44 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\Last Loaded LCD12864_正弦曲线.DBK
文件 87459 2011-01-28 19:44 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\LCD12864_正弦曲线.DSN
文件 1054 2012-05-08 23:37 LCD12864程序包\Proteus_12864程序包\LCD12864正弦波形\LCD12864_正弦曲线.PWI
文件 26789 2012-05-08 23:40 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\LCD12864
文件 13254 2012-05-08 23:40 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\LCD12864.hex
文件 44 2012-05-08 23:40 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\LCD12864.lnp
文件 27502 2012-05-08 23:40 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\LCD12864.M51
文件 1320 2012-05-08 23:57 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\LCD12864.Opt
文件 190 2012-05-08 23:57 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\LCD12864.plg
文件 2105 2011-01-28 19:19 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\LCD12864.Uv2
文件 1318 2012-05-08 23:40 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\LCD12864_Opt.Bak
文件 0 2011-01-28 15:37 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\LCD12864_Uv2.Bak
文件 8114 2012-05-08 23:40 LCD12864程序包\Proteus_12864程序包\LCD12864综合显示\code\main.c
............此处省略215个文件信息
相关资源
- 用51单片机与LCD12864实现俄罗斯方块游
- LCD12864和STM32
- 基于stm32俄罗斯和贪吃蛇游戏keil源代
- 12864 语音万年历完整资料.zip
- 1单片机Protues,仿真PT100温度传感器,
- 51单片机+DS18B20测温+LCD12864显示,楼主
- 基于单片机DS1302+DS18B20+DHT11+LCD12864的万
- 51单片机Protues,仿真PT100温度传感器,
- LCD12864里面包括源代码和使用Proteus仿
- 51单片机 LCD12864程序显示文字或者图片
- STM32F407驱动LCD12864代码 LCD12864带中文
- 基于MSP430的LCD12864描点程序
- stm32单片机lcd12864串行程序
- LCD12864取模软件
- 基于msp430和12864的超声波测距
- STM32F103C8T6 LCD12864 串行通信
- msp430G2553测各种波形的频率和幅度并显
- 基于proteus仿真的LCD12864的驱动程序
- LCD12864仿真
- 基于proteus仿真单片机贪吃蛇程序在
- 利用AT89C51对LCD12864的控制
- LCD12864中文资料带汉字库
- LCD12864(KS0108) C51程序
- 单片机GPS接收LCD12864显示Keil程序
- msp430g2553和LCD12864的串行显示代码
- 基于单片机和LCD12864的简易计算器
- 基于单片机万年历+温度+LCD12864 prote
- Verilog HDL编写的FPGA LCD12864液晶显示代
- LCD12864汉字显示原理图及程序
- lcd12864字库生成软件
评论
共有 条评论