基于单片机的多功能住宅安防报警系统的设计(8)

2018-11-27 17:16

void LcdDelay(uint time) {

while(time--);

}/********************************** 写指令

**********************************/ void SendCommand(uchar command) { e=1; wr=0;

rs=0;

databus=command; e=0;

}/********************************** 写数据

**********************************/ void WriteData(uchar dat) { e=1; wr=0; rs=1;

databus=dat;

e=0;

}/********************************** 显示开/关

**********************************/ void SetOnOff(uchar onoff) { if(onoff==1) { SendCommand(0x3f); }

else { SendCommand(0x3e);

}

}/********************************** 选择页

**********************************/

void SetLine(uchar line) //12864总共有8页(0~7),每页有8行 { line=line&0x07; //只取后三位xxxx x111 ,这3个是要改变位置的数据 line=line|0xb8;

//页设置的固定格式

SendCommand(line);

}/********************************** 选择列

**********************************/

void SetColum(uchar colum) //12864每半屏有64列(0~63),分为左右2屏 { colum=colum&0x3f; //xx11 1111,这个是要改变Y位置的数据

colum=colum|0x40;

//固定格式

31

SendCommand(colum);

}/********************************** 选择起始行

**********************************/

void SetStartLine(uchar startline)

{ startline=startline&0x3f;//xx11 1111,这个是要改变x位置的数据 startline=startline|0xc0;//11xxxxxx,是起始行设置的固定指令

SendCommand(startline);

}/********************************** 选择左右屏0:左屏,1:右屏,2:全屏 **********************************/ void SelectScreen(uchar screen) { switch(screen) { case 0: 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 Show1616(uchar lin,uchar colum,uchar *address) { uchar i;

SetLine(lin);

SetColum(colum); for(i=0;i<16;i++)

{ WriteData(*address); address++;

}

SetLine(lin+1);

SetColum(colum);

32

for(i=0;i<16;i++)

{ WriteData(*address); address++;

}

}/********************************** 显示一个英文字符

**********************************/

void Show_english(uchar lin,uchar colum,uchar *address) { uchar i; SetLine(lin);

SetColum(colum); for(i=0;i<8;i++)

{ WriteData(*address); address++;

}

SetLine(lin+1); SetColum(colum); for(i=0;i<8;i++)

{ WriteData(*address);

address++;

}

}/********************************** 清屏

**********************************/ void ClearScreen(uchar screen) { uchar i,j; SelectScreen(screen); for(i=0;i<8;i++) { SetLine(i); SetColum(0); for(j=0;j<64;j++) { WriteData(0);

}

}

}/**********************************

12864初始化

**********************************/ void InitLcd()

{ SetOnOff(0);//显示关 ClearScreen(2);//清屏 SetLine(0);//页设置 SetColum(0);//列设置

SetStartLine(0);//设置起始页 SetOnOff(1);//显示开

}

33

致 谢

时间如流水般飞快流逝,来不及过多回味,大学生活已近尾声,四年多的努力与付出,随着本次论文的完成,将要划下完美的句号。

对于本次毕业设计,首先我要深深地感谢我的导师孙老师,本设计是在孙老师细心指

导下完成的。在毕业设计期间,孙老师给予了我悉心的教导。孙老师严谨的治学态度、亲切随和的为人也给我留下了深刻的印象,使我在设计中受益匪浅。在此论文完成之际,谨向孙老师致以深深的敬意和衷心的感谢。

在临近毕业之际,我还要借此机会向在这四年中给予我诸多教诲和帮助的各位老师表

示由衷的谢意,感谢他们四年来的辛勤栽培。不积跬步无以至千里,各位任课老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在设计中得以体现,顺利完成毕业论文。

同时,在论文写作过程中,我还参考了有关的书籍和论文,在这里一并向有关的作者

表示谢意。我还要感谢各位同学以及我的各位室友,在毕业设计的这段时间里,你们给了我很多的启发,提出了很多宝贵的意见,对于你们帮助和支持,在此我表示深深地感谢!

34


基于单片机的多功能住宅安防报警系统的设计(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:合伙协议(设立持股平台较简单版本)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: