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

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

ID:52909557

大小:87.00 KB

页数:15页

时间:2020-03-31

结合PROTEUS仿真的12864液晶显示程序文档.doc_第1页
结合PROTEUS仿真的12864液晶显示程序文档.doc_第2页
结合PROTEUS仿真的12864液晶显示程序文档.doc_第3页
结合PROTEUS仿真的12864液晶显示程序文档.doc_第4页
结合PROTEUS仿真的12864液晶显示程序文档.doc_第5页
资源描述:

《结合PROTEUS仿真的12864液晶显示程序文档.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在proteus上用51单片机控制12864液晶显示2008-12-2016:23经过半天的努力,终于在PROTEUS上让液晶屏显出汉字了以下是源代码/*******************************main.h******************************/#ifndef_MAIN_H#define_MAIN_H#include#defineLcdDataPortP2  //数据端口#ifndefUCHAR_DEF#defineUCHAR_DEFtypedefunsignedcharuchar;#endifsbitR

2、eset=P3^0;  //复位sbitRS=P3^1;   //指令数据选择sbitE=P3^2;   //指令数据控制sbitCS1=P3^4;  //左屏幕选择,低电平有效sbitCS2=P3^5;  //右屏幕选择sbitRW=P3^3;   //读写控制sbitbusy=P2^7;  //忙标志voidSetOnOff(ucharonoff);  //开关显示voidSelectScreen(ucharscreen);//选择屏幕voidClearScreen(ucharscreen); //清屏voidShow1616(ucharlin,ucharco

3、lum,uchar*address);//显示一个汉字voidCheckState();  //判断状态voidLcdDelay(unsignedinttime);//延时voidWriteData(uchardat);//写数据voidSendCommand(ucharcommand);//写指令voidSetLine(ucharline); //置行地址voidSetColum(ucharcolum);//置列地址voidSetStartLine(ucharstartline);//置显示起始行voidInitLcd();   //初始化voidResetLc

4、d();  //复位#endif/*********************************************************************//***********************************lcd.c****************************************/#include"main.h"voidCheckState(){ E=1; RS=0; RW=1; LcdDataPort=0xff; while(!busy);}voidLcdDelay(unsignedinttime){ wh

5、ile(time--);}voidWriteData(uchardat){ CheckState(); E=1; RS=1; RW=0; LcdDataPort=dat; E=0;}voidSendCommand(ucharcommand){ CheckState(); E=1; RW=0; RS=0; LcdDataPort=command; E=0;}voidSelectScreen(ucharscreen) //0-全屏,1—左屏,2-右屏{ switch(screen) {  case0:   CS1=0;   LcdDelay(2);   CS2=1; 

6、  LcdDelay(2);   break;  case1:   CS1=1;   LcdDelay(2);   CS2=0;   LcdDelay(2);   break;  case2:   CS1=0;   LcdDelay(2);   CS2=0;   LcdDelay(2);   break; }}voidClearScreen(ucharscreen) //screen0-全屏,1—左屏,2-右屏{ uchari,j; SelectScreen(screen); for(i=0;i<8;i++) {  SetLine(i);  SetColum(0)

7、;  for(j=0;j<64;j++)   WriteData(0); }}voidSetLine(ucharline) //line->0:7{ line=line&0x07; line=line

8、0xb8;   //10111xxx SendCommand(line);}voidSetColum(ucharcolum) //colum->0:63{ colum=colum&0x3f; colum=colum

9、0x40; //01xxxxxx SendCommand(colum);}voidSetStartLine(ucharstartline)//start

10、line-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。