标题:
51单片机仿真lcd12864显示
[打印本页]
作者:
Arch123
时间:
2018-3-25 16:32
标题:
51单片机仿真lcd12864显示
0.jpg
(75.04 KB, 下载次数: 29)
下载附件
2018-3-26 03:24 上传
单片机源程序如下:
#include "lcd12864.h"
/* LCD写指令函数 */
void LCD_Write_Com(unsigned char Com)
{
LCD_E = 0;
LCD_RW = 0;
LCD_RS = 0;
LCD_E = 1;
DB = Com;
LCD_E = 0;
}
/* LCD写数据函数 */
void LCD_Write_Data(unsigned char Data)
{
LCD_E = 0;
LCD_RW = 0;
LCD_RS = 1;
LCD_E = 1;
DB = Data;
LCD_E = 0;
}
/* LCD写数据函数 */
void LCD_Clear(void)
{
unsigned char i,j;
/* 选择需要操作的半屏 */
LCD_CS1 = 0;
LCD_CS2 = 0;
/* 设置LCD屏幕地址 */
LCD_Write_Com(First_Line);
LCD_Write_Com(First_Col);
for(i = 0; i < 8; i++) //LCD12864一共有8页
{
LCD_Write_Com(First_Page + i); //控制页地址递增
for(j = 0;j < 64; j++)
{
LCD_Write_Data(0x00); //写入数据刷白屏幕
}
}
}
/* LCD初始化函数 */
void LCD_Init(void)
{
LCD_Write_Com(Disp_On); //开启液晶屏显示
LCD_Clear();
}
/* 16*16大小的中文显示函数
Page:在那一页
Col: 在那一列
*DZK:需要显示什么
Num: 需要显示字模数组中的第几个汉字
*/
void LCD_Chinses_Disp(unsigned char Page, unsigned char Col, unsigned char *DZK, unsigned char Num)
{
unsigned char i,j;
Col = Col * 16;
Num = Num * 32;
LCD_Write_Com(First_Page + Page);
LCD_Write_Com(First_Col + Col);
for(i = 0; i < 2; i++)
{
LCD_Write_Com(First_Page + Page + i);
LCD_Write_Com(First_Col + Col);
for(j = 0; j < 16; j++)
{
LCD_Write_Data( DZK[16 * i + j + Num] );
}
}
}
复制代码
所有资料51hei提供下载:
hello.rar
(46.41 KB, 下载次数: 37)
2018-3-25 16:31 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
diedie
时间:
2018-3-29 19:35
慢慢学习
作者:
haiming8685
时间:
2018-9-28 21:37
刚下载看看怎么样,慢慢学习争取能弄明白,谢谢!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1