电信学院 - GSM自控与报警系统 - 研究报告 - 图文

loading 分享 2026-9-2 下载文档

for(i=0;i<8;i++) {

SCK = 0;

Dbyte=Dbyte<<1; SID = CY; SCK = 1; SCK = 0; } }

/********************************************************** 接收一个字节

***********************************************************/ unsigned char ReceiveByte(void) {

unsigned char i,temp1,temp2; temp1=temp2=0; for(i=0;i<8;i++) {

temp1=temp1<<1; SCK = 0;

SCK = 1; SCK = 0;

if(SID) temp1++; }

for(i=0;i<8;i++) {

temp2=temp2<<1; SCK = 0; SCK = 1; SCK = 0;

if(SID) temp2++; }

return ((0xf0&temp1)+(0x0f&temp2)); }

/**************************************************************** 检查忙状态

******************************************************************/ void CheckBusy( void ) {

do SendByte(0xfc); //11111,RW(1),RS(0),0 while(0x80&ReceiveByte()); }

/****************************************************************** 写一个字节的指令

*******************************************************************/ void WriteCommand( unsigned char Cbyte ) {

CS = 1;

CheckBusy();

SendByte(0xf8); //11111,RW(0),RS(0),0 SendByte(0xf0&Cbyte); SendByte(0xf0&Cbyte<<4); CS = 0; }

/************************************************************* 写一个字节的数据

**************************************************************/ void WriteData( unsigned char Dbyte ) {

CS = 1;

CheckBusy();

SendByte(0xfa); //11111,RW(0),RS(1),0 SendByte(0xf0&Dbyte); SendByte(0xf0&Dbyte<<4); CS = 0; }

/****************************************************************** lcd初始化函数

*******************************************************************/ void LcmInit( void ) {

WriteCommand(0x30); WriteCommand(0x03); WriteCommand(0x0c); WriteCommand(0x01); WriteCommand(0x06); }

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

设定光标函数

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

void Location_xy_12864(unsigned char x,unsigned char y) {

switch(x) {

case 0:

x=0x80;break;

case 1:

x=0x90;break; case 2:

x=0x88;break; case 3:

x=0x98;break; default: x=0x80; }

y=y&0x07;

WriteCommand(0x30); WriteCommand(y+x); WriteCommand(y+x); }

/*********************************************************************************** 清除文本

************************************************************************************/ void LcmClearTXT( void ) {

unsigned char i; WriteCommand(0x30); WriteCommand(0x80); for(i=0;i<64;i++) WriteData(0x20);

Location_xy_12864(0,0); }

/************************************************************************************** 清除图片

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

void LcmClearBMP( void ) {

unsigned char i,j; WriteCommand(0x34); WriteCommand(0x36); for(i=0;i<32;i++) {

WriteCommand(0x80|i); WriteCommand(0x80); for(j=0;j<32;j++) WriteData(0); } }

//显示温度

void PutTemp(unsigned char row,unsigned char col) {

WriteCommand(0x30);

WriteCommand(AC_TABLE[8*row+col]); WriteData((zhengshu0)/10+48); WriteData(zhengshu+48); WriteData('.');

WriteData(xiaoshu1+48); }

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

显示字符串

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

void PutStr(unsigned char row,unsigned char col,unsigned char *puts) {

WriteCommand(0x30);

WriteCommand(AC_TABLE[8*row+col]); while(*puts != '\\0') {

if(col==8) {

col=0; row++; }

if(row==4) row=0;

WriteCommand(AC_TABLE[8*row+col]); WriteData(*puts); puts++;

if(*puts != '\\0') {

WriteData(*puts); puts++; col++; } } } /*

//显示一个四位的数字

void PutNum(unsigned char row,unsigned char col,unsigned int num) {

WriteCommand(0x30);

WriteCommand(AC_TABLE[8*row+col]);


电信学院 - GSM自控与报警系统 - 研究报告 - 图文.doc 将本文的Word文档下载到电脑
搜索更多关于: 电信学院 - GSM自控与报警系统 - 研究报告 - 图文 的文档
相关推荐
相关阅读