结合PROTEUS仿真的12864液晶显示程序文档

上传人:206****923 文档编号:91851565 上传时间:2019-07-02 格式:DOC 页数:15 大小:77.52KB
返回 下载 相关 举报
结合PROTEUS仿真的12864液晶显示程序文档_第1页
第1页 / 共15页
结合PROTEUS仿真的12864液晶显示程序文档_第2页
第2页 / 共15页
结合PROTEUS仿真的12864液晶显示程序文档_第3页
第3页 / 共15页
结合PROTEUS仿真的12864液晶显示程序文档_第4页
第4页 / 共15页
结合PROTEUS仿真的12864液晶显示程序文档_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《结合PROTEUS仿真的12864液晶显示程序文档》由会员分享,可在线阅读,更多相关《结合PROTEUS仿真的12864液晶显示程序文档(15页珍藏版)》请在金锄头文库上搜索。

1、在proteus上用51单片机控制12864液晶显示2008-12-20 16:23 经过半天的努力,终于在PROTEUS上让液晶屏显出汉字了以下是源代码/*main.h*/#ifndef _MAIN_H#define _MAIN_H#include #define LcdDataPort P2 /数据端口#ifndef UCHAR_DEF#define UCHAR_DEFtypedef unsigned char uchar;#endifsbit Reset = P30; /复位sbit RS = P31; /指令数据选择sbit E = P32; /指令数据控制sbit CS1 = P34

2、; /左屏幕选择,低电平有效sbit CS2 = P35; /右屏幕选择sbit RW = P33; /读写控制sbit busy = P27; /忙标志void SetOnOff(uchar onoff);/开关显示void SelectScreen(uchar screen);/选择屏幕void ClearScreen(uchar screen);/清屏void Show1616(uchar lin,uchar colum,uchar *address);/显示一个汉字void CheckState(); /判断状态void LcdDelay(unsigned int time); /延时

3、void WriteData(uchar dat); /写数据void SendCommand(uchar command); /写指令void SetLine(uchar line); /置行地址void SetColum(uchar colum);/置列地址void SetStartLine(uchar startline);/置显示起始行void InitLcd(); /初始化void ResetLcd(); /复位#endif/*/*lcd.c*/#include main.hvoid CheckState()E = 1;RS = 0;RW = 1;LcdDataPort = 0xff

4、;while(!busy);void LcdDelay(unsigned int time)while(time -);void WriteData(uchar dat)CheckState();E = 1;RS = 1;RW = 0;LcdDataPort = dat;E = 0;void SendCommand(uchar command)CheckState();E = 1;RW = 0;RS = 0;LcdDataPort = command;E = 0;void SelectScreen(uchar screen)/0-全屏,1左屏,2-右屏switch(screen)case 0

5、:CS1 = 0;LcdDelay(2);CS2 = 1;LcdDelay(2);break;case 1 :CS1 = 1;LcdDelay(2);CS2 = 0;LcdDelay(2);break;case 2 :CS1 = 0;LcdDelay(2);CS2 = 0;LcdDelay(2);break;void ClearScreen(uchar screen) / screen 0-全屏,1左屏,2-右屏uchar i,j;SelectScreen(screen);for(i = 0;i 8;i +)SetLine(i);SetColum(0);for(j = 0;j 0 : 7lin

6、e = line & 0x07;line = line | 0xb8;/1011 1xxxSendCommand(line);void SetColum(uchar colum)/colum - 0 :63colum = colum & 0x3f;colum = colum | 0x40; /01xx xxxxSendCommand(colum);void SetStartLine(uchar startline) /startline - 0 : 63startline = startline & 0x3f;startline = startline | 0xc0;/11xxxxxxSend

7、Command(startline);void SetOnOff(uchar onoff) /1-开显示 0-关if(onoff = 1)SendCommand(0x3f); /0011 111xelseSendCommand(0x3e);void ResetLcd()Reset = 0;LcdDelay(2);Reset = 1;LcdDelay(2);RS0 = 0;LcdDelay(2);RS1 = 0;LcdDelay(2);SetOnOff(1);void InitLcd()ResetLcd();SetOnOff(0);ClearScreen(2);SetLine(0);SetCol

8、um(0);SetStartLine(0);SetOnOff(1);void Show1616(uchar lin,uchar colum,uchar *address)uchar i;SetLine(lin);SetColum(colum);for(i = 0;i 16;i +)WriteData(*(address +);SetLine(lin + 1);SetColum(colum);for(i = 0;i 16;i +)WriteData(*(address +);/*/*main.c*/#include #include main.hconst uchar code HZ_tab =

9、 0x10,0x21,0x62,0x06,0x82,0xE2,0x22,0x22, 0x22,0xF2,0x22,0x02,0xFE,0x03,0x02,0x00, /河 0x04,0x04,0xFE,0x01,0x00,0x0F,0x04,0x04, 0x04,0x0F,0x40,0x80,0x7F,0x00,0x00,0x00, 0x04,0xE4,0x24,0x24,0x64,0xA4,0x24,0x3F, 0x24,0xA4,0x64,0x24,0x24,0xF6,0x24,0x00, /南 0x00,0xFF,0x00,0x09,0x09,0x09,0x09,0x7F, 0x09,0

10、x09,0x09,0x49,0x80,0x7F,0x00,0x00, 0x24,0x24,0x24,0xA4,0xFE,0xA3,0x22,0x00, 0x24,0x48,0x00,0xFF,0x00,0x80,0x00,0x00, /科 0x10,0x08,0x06,0x01,0xFF,0x00,0x01,0x02, 0x02,0x02,0x02,0xFF,0x01,0x01,0x01,0x00, 0x10,0x10,0x10,0xFF,0x10,0x10,0x88,0x88, 0x88,0xFF,0x88,0x88,0x8C,0x08,0x00,0x00, /技 0x04,0x44,0x8

11、2,0x7F,0x01,0x80,0x81,0x46, 0x28,0x10,0x28,0x26,0x41,0xC0,0x40,0x00, 0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F, 0xA0,0x20,0x20,0x20,0x20,0x30,0x20,0x00, /大 0x00,0x40,0x40,0x20,0x10,0x0C,0x03,0x00, 0x01,0x06,0x08,0x10,0x20,0x60,0x20,0x00, 0x40,0x30,0x11,0x96,0x90,0x90,0x91,0x96, 0x90,0x90,0x98,0x14,0x1

12、3,0x50,0x30,0x00, /学 0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E, 0x06,0x05,0x04,0x04,0x04,0x06,0x04,0x00, 0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48, 0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00, /电 0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42, 0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00, 0x80,0x80,0x82,0x82,0x82,0x82,0x82,0xE2, 0xA2,0x92,0x8A,0x86,0x80,0xC0,0x80,0x00, /子 0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F, 0x00,0x00,0x00,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号