⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zhouyi.c

📁 protues仿真基于DS1820多点粮食监控,液晶显示检测到的温度
💻 C
📖 第 1 页 / 共 2 页
字号:
#include<reg52.h>
#include<stdio.h>
#define uchar unsigned char
#define uint unsigned int
//#define		LEDS8	0xFF << 18		// P1[25:18]控制LED8~LED1
#define  LiftHalf  1
#define  RightHalf  2
#define  Page0  0
#define  Page1  1
#define  Page2  2
#define  Page3  3
#define  Page4  4
#define  Page5  5
#define  Page6  6
#define  Page7  7
#define  MenuOn	1
#define  MenuOff 0
#define  data_IO P1
//const uint32  LEDS0  =  0xFFFFFFFF;
sbit DQ =P2^5;
sbit LCD_RS  =P2^0;
sbit LCD_RW  =P2^1;
sbit LCD_E  = P2^2;
sbit cs1  = P2^3;
sbit cs2  =P2^4;
void CheckState(void);
void  DelayNS(uchar  dly);
void SendCommandToLCD(uchar command);
void SetLine(uchar page);
void SetStartLine(uchar startline) 	;
void SetColumn(uchar column);
void SetOnOff(uchar  onoff);
void WriteByte(uchar  dat);
void SelectScreen(uchar  screen)	;
void ClearScreen(uchar  screen);
void InitLCD(void);
void  DelayNS(uchar  idata dly)
{  
    uchar  idata i;

    for(; dly>0; dly--) 
        for(i=0; i<20; i++);
}



/*延时函数*/
void dalay(void)
{
uchar i;
for(i=0;i<200;i++)
{
}

}

/*键盘扫描函数
uchar kdyscan(void)
{
uchar code_h; //行扫描值
uchar code_l; //列扫描值
P1=0xf0; //P1.0-P1.3发全0,准备读列状态
if((P1&0xf0)!=0xf0) //如果P1.4-P1.7不全为1,可能的键按下
	{
	dalay(); //延时去抖动
		if((P1&0x0f0)!=0xf0) //重读高4位,若还是不全为1定有键按理
		{
		code_h=0xfe; //P1.0为0,开始行扫描
		while((code_h&0x10)!=0xf0)
		{
			P1=code_h; //P1口输出行扫描值
			if((p1&0xf0)!=0xf0) //如果P1.4~P1.7为全为1,该行有键按下
				{
				code_l=(P1&0xf0|0x0f); //保留P1高4位,低4位变为1,作为弄值
				return((~code_h)+(~code_l)); //键值编码=行扫描值+列扫描值,返回主程序

				}
			esle
				code_h=(code_h<<1)|0x01;
		}
		}
	}
retun(0); //无键按下,返回0

}*/

uchar code  huang[32]={
/*黄[16*16]下半列排*/
0x20,0x20,0x24,0xA4,0xA4,0xBF,0xA4,0xE4,
0xA4,0xBF,0xA4,0xE6,0xA4,0x30,0x20,0x00,
0x00,0x80,0x80,0x5F,0x4A,0x2A,0x0A,0x0F,
0x0A,0x2A,0x2A,0x4F,0x40,0x80,0x00,0x00
};
uchar code shi[32]={
/*石[16*16]下半列排*/
0x04,0x04,0x04,0x04,0x84,0x64,0x1C,0x04,
0x04,0x04,0x04,0x04,0x84,0x06,0x04,0x00,
0x08,0x04,0x02,0x01,0xFF,0x41,0x41,0x41,
0x41,0x41,0x41,0x41,0xFF,0x01,0x00,0x00
};
uchar code li[32]={
/*理[16*16]下半列排*/
0x44,0x44,0xFC,0x46,0x44,0x00,0xFE,0x92,
0x92,0xFE,0x92,0x92,0xFF,0x02,0x00,0x00,
0x10,0x30,0x1F,0x08,0x48,0x48,0x44,0x44,
0x44,0x7F,0x44,0x46,0x44,0x60,0x40,0x00
};
uchar code gong[32]={
/*工   CB9A4 */
0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00
};
uchar code xue[32]={
/*学   CD1A7 */
0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,
0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00
};
uchar code yuan4[32]={
/*院   CD4BA */
0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x0C,0x04,0x00,
0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F,0x81,0x81,0x81,0xF1,0x00
};
uchar code zhou[32]={
/*周*/
0x00,0x00, 0xFE,0x82,0x92,0x92,0x92,0xFE,
0x92,0x9A, 0xD2,0x82,0xFF,0x02,0x00,0x00,
0x40,0x20,0x1F,0x00,0x00,0x7E,0x22,0x22,
0x22,0x3F,0x42,0x80,0x7F,0x00,0x00,0x00
};
uchar code yi[32]={
/*义[16*16]下半列排*/
0x00,0x00,0x0C,0x30,0xC0,0x00,0x02,0x0C,
0x00,0x80,0x60,0x18,0x06,0x00,0x00,0x00,
0x00,0x80,0x80,0x40,0x20,0x11,0x0A,0x04,
0x0A,0x11,0x10,0x20,0x60,0xC0,0x40,0x00
};
/*uchar code zhui[32]={
/*追[16*16]下半列排*/
/*0x40,0x42,0x44,0xCC,0x00,0x00,0xFC,0x24,
0x26,0x25,0x24,0x3E,0x84,0x00,0x00,0x00,
0x00,0x40,0x20,0x1F,0x20,0x40,0x7F,0x51,
0x51,0x51,0x51,0x51,0x5F,0x61,0x20,0x00
};
uchar code zhu[32]={
/*逐[16*16]下半列排*/
/*0x40,0x42,0xCC,0x00,0x22,0x22,0x92,0x5A,
0x36,0xE2,0x42,0x22,0x33,0x02,0x00,0x00,
0x40,0x20,0x1F,0x20,0x49,0x49,0x44,0x52,
0x61,0x5F,0x41,0x42,0x4C,0x60,0x20,0x00
};
uchar code meng[32]={
/*梦[16*16]下半列排*/
/*0x84,0x44,0x24,0x14,0xFF,0x94,0x24,0x44,
0x24,0x14,0xFF,0x14,0x24,0x66,0x24,0x00,
0x00,0x80,0x88,0x84,0x42,0x47,0x49,0x31,
0x11,0x09,0x05,0x03,0x01,0x00,0x00,0x00
};
uchar code xiang[32]={
/*想[16*16]下半列排*/
/*0x08,0x88,0x68,0xFF,0x48,0x88,0x08,0xFE,
0x52,0x52,0x52,0x52,0xFF,0x02,0x00,0x00,
0x41,0x30,0x00,0x7B,0x80,0x80,0x88,0x93,
0xB2,0x82,0x82,0xE2,0x03,0x10,0x60,0x00
};
uchar code ai[32]={
/*爱[16*16]下半列排*/
/*0x40,0xB0,0x92,0x96,0x9A,0x92,0xF2,0x9E,
0x92,0x91,0x99,0x95,0x91,0x50,0x30,0x00,
0x00,0x00,0x40,0x30,0x8C,0x83,0x46,0x2A,
0x12,0x2A,0x26,0x42,0xC0,0x40,0x00,0x00
};
uchar code ni[32]={
/*你[16*16]下半列排*/
/*0x40,0x20,0xF8,0x07,0x40,0x20,0x18,0x0F,
0x08,0xC8,0x08,0x08,0x28,0x18,0x00,0x00,
0x00,0x00,0xFF,0x00,0x00,0x08,0x04,0x43,
0x80,0x7F,0x00,0x01,0x06,0x0C,0x00,0x00
};
uchar code zhi[32]={
/*直[16*16]下半列排*/
/*0x00,0x04,0x04,0xE4,0xA4,0xA4,0xA4,0xBF,
0xA4,0xA4,0xA4,0xF4,0x26,0x04,0x00,0x00,
0x40,0x40,0x40,0x7F,0x4A,0x4A,0x4A,0x4A,
0x4A,0x4A,0x4A,0x7F,0x40,0x60,0x40,0x00
};
uchar code dao[32]={
/*到[16*16]下半列排*/
/*0x00,0x62,0x52,0x4A,0xC6,0x42,0x52,0x63,
0xC2,0x00,0xF8,0x00,0x00,0xFF,0x00,0x00,
0x40,0x42,0x42,0x42,0x7F,0x22,0x23,0x22,
0x20,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00
};
uchar code yong[32]={
/*永[16*16]下半列排*/
/*0x00,0x40,0x40,0x48,0x48,0xC8,0x09,0xFA,
0x40,0x80,0x40,0x20,0x30,0x00,0x00,0x00,
0x00,0x20,0x10,0x08,0x06,0x41,0x80,0x7F,
0x00,0x01,0x06,0x08,0x10,0x30,0x10,0x00
};
uchar code yuan3[32]={
/*远[16*16]下半列排*/
/*0x40,0x42,0x44,0xCC,0x00,0x20,0x22,0xE2,
0x22,0x22,0xE2,0x23,0x32,0x20,0x00,0x00,
0x00,0x40,0x20,0x1F,0x20,0x50,0x4C,0x43,
0x40,0x40,0x47,0x48,0x48,0x6E,0x20,0x00
};

/*当[16*16]下半列排*/
/*unsigned char code dang[32]={0x00,0x00,0x40,0x42,0x5C,0x48,0x40,0x40,0x7F,0x40,0x50,0x4E,0x44,0xC0,0x00,0x00,
0x00,0x00,0x20,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x7F,0x00,0x00};//当
/*前[16*16]下半列排*/
/*unsigned char code qian[32]={0x08,0x08,0xE8,0xA8,0xA9,0xAE,0xEA,0x08,0x08,0xC8,0x0C,0x0B,0xEA,0x08,0x08,0x00,
0x00,0x00,0x7F,0x04,0x24,0x44,0x3F,0x00,0x00,0x1F,0x40,0x80,0x7F,0x00,0x00,0x00};//前
*/
uchar code liang[32]={
/*粮[16*16]下半列排*/
 0x20,0x24,0xA8,0xFF,0x28,0x24,0xFC,0x24,
 0x24,0x25,0x26,0x24,0xFE,0x04,0x00,0x00,
 0x08,0x06,0x01,0xFF,0x01,0x02,0xFF,0x41,
 0x23,0x05,0x09,0x19,0x25,0x62,0x20,0x00
 };
uchar code ku[32]={
/*库[16*16]下半列排*/
 0x00,0x00,0xFC,0x24,0x24,0xA4,0x64,0x3D,
 0xA6,0x24,0x24,0x24,0x36,0x24,0x00,0x00,
 0x80,0x60,0x1F,0x10,0x13,0x12,0x12,0x12,
 0xFF,0x12,0x12,0x13,0x12,0x18,0x10,0x00
 };
uchar code jian[32]={
/*监[16*16]下半列排*/
 0x00,0x00,0xFC,0x00,0x00,0xFF,0x00,0x20,
 0x10,0x0F,0x18,0x28,0x6C,0x08,0x00,0x00,
 0x40,0x40,0x7E,0x42,0x42,0x7F,0x42,0x42,
 0x42,0x7E,0x42,0x42,0x7F,0x42,0x40,0x00
 };
uchar code kong[32]={
/*控[16*16]下半列排*/
 0x10,0x10,0x10,0xFF,0x90,0x50,0x0C,0x44,
 0x24,0x15,0x06,0x14,0x24,0x54,0x0C,0x00,
 0x02,0x42,0x81,0x7F,0x00,0x40,0x42,0x42,
 0x42,0x42,0x7E,0x42,0x43,0x62,0x40,0x00
 };
uchar code xi[32]={
/*系[16*16]下半列排*/
 0x00,0x02,0x22,0x22,0x32,0x2E,0xA2,0x62,
 0x22,0x22,0x91,0x09,0x01,0x00,0x00,0x00,
 0x00,0x00,0x42,0x22,0x1A,0x43,0x82,0x7E,
 0x02,0x02,0x0A,0x13,0x66,0x00,0x00,0x00
 };
uchar code tong[32]={
/*统[16*16]下半列排*/
 0x20,0x30,0xAC,0x63,0x30,0x88,0xC8,0xA8,
 0x99,0x8E,0x88,0xA8,0xCC,0x88,0x00,0x00,
 0x22,0x67,0x22,0x12,0x92,0x40,0x30,0x0F,
 0x00,0x00,0x3F,0x40,0x40,0x41,0x70,0x00
};


uchar code wen[32]={
/*温[16*16]下半列排*/
0x10,0x22,0x64,0x0C,0x80,0x00,0xFE,0x92,
0x92,0x92,0x92,0x92,0xFF,0x02,0x00,0x00,
0x04,0x04,0xFE,0x01,0x40,0x7E,0x42,0x42,
0x7E,0x42,0x7E,0x42,0x42,0x7E,0x40,0x00
};

uchar code du[32]={
/*度[16*16]下半列排*/
0x00,0x00,0xFC,0x24,0x24,0x24,0xFC,0xA5,
0xA6,0xA4,0xFC,0x24,0x34,0x26,0x04,0x00,
0x40,0x20,0x9F,0x80,0x42,0x42,0x26,0x2A,
0x12,0x2A,0x26,0x42,0x40,0xC0,0x40,0x00
};

uchar code di[32]={
/*第[16*16]下半列排*/
0x10,0x08,0x94,0x97,0x9C,0x96,0x94,0xF8,
0x97,0x94,0x9C,0x94,0xF6,0x04,0x00,0x00,
0x00,0x40,0x47,0x24,0x24,0x14,0x0C,0xFF,
0x04,0x04,0x24,0x44,0x44,0x3E,0x04,0x00
};

uchar code dian[32]={
/*点[16*16]下半列排*/
0x00,0x00,0xC0,0x40,0x40,0x40,0x7F,0x48,
0x48,0x48,0x48,0xE8,0x4C,0x08,0x00,0x00,
0x80,0x40,0x37,0x04,0x14,0x64,0x04,0x14,
0x24,0x64,0x04,0x17,0x20,0xC0,0x00,0x00
};

unsigned char code cone[32]={0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//一
/*unsigned char code ctwo[32]={0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x06,0x04,0x00,0x00,0x00,
0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x18,0x10,0x00};//二
unsigned char code cthree[32]={0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,
0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00};//三
unsigned char code cfour[32]={0x00,0xFE,0x02,0x02,0x02,0xFE,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,
0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x22,0x7F,0x00,0x00};//四
unsigned char code cfive[32]={0x00,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC2,0x82,0x02,0x00,0x00,0x00,
0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x30,0x20,0x00};//五
unsigned char code csix[32]={0x10,0x10,0x10,0x10,0x10,0x91,0x12,0x1E,0x94,0x10,0x10,0x10,0x10,0x10,0x10,0x00,
0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x00,0x00,0x01,0x02,0x0C,0x78,0x30,0x00,0x00};//六

*/
unsigned char code TemperatureSign[32]={0x00,0x02,0x05,0xE2,0x18,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x1E,0x00,0x00,
0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x40,0x40,0x40,0x40,0x40,0x20,0x18,0x00,0x00};//摄氏度的符号


unsigned char code zero[16]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00};//0
unsigned char code one[16]={0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00};//1
unsigned char code two[16]={0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00};//2
unsigned char code three[16]={0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00};//3
unsigned char code four[16]={0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00};//4
unsigned char code five[16]={0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00};//5
unsigned char code six[16]={0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00};//6
unsigned char code seven[16]={0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00};//7
unsigned char code eight[16]={0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00};//8
unsigned char code nine[16]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00};//9
unsigned char code point[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00};//小数点
unsigned char code maohao[16]={0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00};//冒号

uchar code black[32]={
/*黑屏[16*16]下半列排*/
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
};
unsigned char code clear[32]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};

uchar code lu[32]={
/*卢[16*16]下半列排*/
0x00,0x00,0xE0,0x20,0x20,0x20,0x20,0x3F,
0x24,0x24,0x24,0x24,0xF4,0x26,0x04,0x00,
0x80,0x40,0x3F,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00
};

void CheckState()		//状态检查,LCD是否忙?
{
  // uint32 dat;
   LCD_RS=0;
   LCD_RW=1;
   data_IO=( data_IO& 0x00) | 0x00;
   //RS=0;
  // RW=1;
  while(P1&0x80)
   {
   	  
      //Dataport=0x00;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -