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

📄 zhenxian.c

📁 从51单片机控制液晶显示并且集成继电器控制
💻 C
📖 第 1 页 / 共 2 页
字号:
#include<at89x51.h>

#define	RST P2_1
#define	E P2_2
#define	RW P1_0
#define	RS P1_1
#define	CS1 P1_7
#define	CS2	P1_4
#define	LCDPORT P0
#define BUSYSTATUS P0_7	
#define LCDSTARTROW 0xC0			//设置起始行指  
#define LCDPAGE 0xB8				  //设置页指令  
#define LCDLINE 0x40				  //设置列指令

char  KV;							        //按键状态
unsigned char indata;			    //读P0
unsigned char F;
unsigned char fre[16];
int  timen=0;                 //定时器0计数

show_result();
read_p0();
delay2ms();

bit bCheckBusy()
{
	LCDPORT=0xFF;
	RW=1;
	RS=0;
	E=1;
	E=0;
	return BUSYSTATUS;
}

void vWriteData(unsigned char ucData)
{
	while(bCheckBusy());
	LCDPORT=0xFF;

	RW=0;
	RS=1;
	LCDPORT=ucData;
	E=1;
	E=0;
}

void vWriteCMD(unsigned char ucCMD)
{
	while(bCheckBusy());
	LCDPORT=0xFF;

	RW=0;
	RS=0;
	LCDPORT=ucCMD;
	E=1;
	E=0;
}

void vLCDInitialize()
{
	RST=0;
	delay2ms();
	RST=1;
	CS1=1;
	CS2=1;
	vWriteCMD(0x3E);		//关显示
	vWriteCMD(0x3F);		//开显示
}

void vShowCustomRow(unsigned char ucPage,unsigned char ucLine,unsigned char ucWidth,unsigned char *ucaRow)
{
	unsigned char ucCount;			//取值范围:ucPage:0~7;ucLine:0~127;
	if(ucLine<64)						   //ucWidth:0~127;ucLine+ucWidth<1128。
		{
		CS1=1;
		CS2=0;
		vWriteCMD(LCDPAGE+ucPage);
		vWriteCMD(LCDLINE+ucLine);
		if((ucLine+ucWidth)<64)
			{
			for(ucCount=0;ucCount<ucWidth;ucCount++)
				vWriteData(*(ucaRow+ucCount));
			}
		else
			{
			for(ucCount=0;ucCount<64-ucLine;ucCount++)
				vWriteData(*(ucaRow+ucCount));

			CS1=0;
			CS2=1;
			vWriteCMD(LCDPAGE+ucPage);
			vWriteCMD(LCDLINE);
			for(ucCount=64-ucLine;ucCount<ucWidth;ucCount++)
				vWriteData(*(ucaRow+ucCount));
			}
		}
	else
		{
		CS1=0;
		CS2=1;
		vWriteCMD(LCDPAGE+ucPage);
		vWriteCMD(LCDLINE+ucLine-64);
		for(ucCount=0;ucCount<ucWidth;ucCount++)
			vWriteData(*(ucaRow+ucCount));
		}
}

void vShowOneChin16(unsigned char ucPage,unsigned char ucLine,unsigned char *ucaChinMap)//16*16汉字;
{
	vShowCustomRow(ucPage,ucLine,16,ucaChinMap);
	vShowCustomRow(ucPage+1,ucLine,16,ucaChinMap+16);
}

void vShowOneChin12(unsigned char ucPage,unsigned char ucLine,unsigned char *ucaChinMap)//12*12汉字;
{
	vShowCustomRow(ucPage,ucLine,12,ucaChinMap);
	vShowCustomRow(ucPage+1,ucLine,12,ucaChinMap+12);
}

void vShowOneChar(unsigned char ucPage,unsigned char ucLine,unsigned char *ucaCharMap)//8*16字符;
{
	vShowCustomRow(ucPage,ucLine,8,ucaCharMap);
	vShowCustomRow(ucPage+1,ucLine,8,ucaCharMap+8);
}

void vShowGraph(unsigned char ucPage,unsigned char ucLine,unsigned char ucWidth,unsigned char ucHigh,unsigned char * ucaGraph)
{
	unsigned char ucCount;
	for(ucCount=0;ucCount<ucHigh;ucCount++)
		vShowCustomRow(ucPage+ucCount,ucLine,ucWidth,ucaGraph+ucCount*ucWidth);
}

void clearscr1(char m)
{
  char k,g;
  for(g=0;g<2;g++)
     {
      vWriteCMD(LCDPAGE+m); 
      vWriteCMD(LCDLINE);
      for(k=0;k<64;k++)
 	        vWriteData(0x00);
	    m++;
	    }
}

void clearscr()
{
 CS1=CS2=1;
 clearscr1(0);
 clearscr1(2);
 clearscr1(4);
 clearscr1(6);
}

unsigned char code uca_nin[]={
0x40,0x20,0x10,0xfc,0x23,0x10,0x8c,0x67,0x04,0xf4,0x04,0x44,0x94,0x8c,0x00,0x00,
0x40,0x30,0x00,0x77,0x80,0x81,0x88,0x92,0xb4,0x83,0x80,0xe0,0x00,0x11,0x60,0x00};/*您*/

unsigned char code uca_hao[]={
0x10,0x10,0xf0,0x1f,0x10,0xf0,0x80,0x82,0x82,0x82,0xe2,0x92,0x8a,0xc6,0x80,0x00,
0x40,0x22,0x15,0x08,0x14,0x63,0x00,0x00,0x40,0x80,0x7f,0x00,0x00,0x00,0x00,0x00};/*好*/

unsigned char code uca_nian[]={
0x40,0x20,0x10,0x0c,0xe3,0x22,0x22,0x22,0xfe,0x22,0x22,0x22,0x22,0x02,0x00,0x00,
0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xff,0x04,0x04,0x04,0x04,0x04,0x04,0x00};/*年*/

unsigned char code uca_yue[]={
0x00,0x00,0x00,0x00,0x00,0xff,0x11,0x11,0x11,0x11,0x11,0xff,0x00,0x00,0x00,0x00,
0x00,0x40,0x20,0x10,0x0c,0x03,0x01,0x01,0x01,0x21,0x41,0x3f,0x00,0x00,0x00,0x00};/*月*/

unsigned char code uca_ri[]={
0x00,0x00,0x00,0xfe,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xfe,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x3f,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3f,0x00,0x00,0x00,0x00};/*日*/

unsigned char code uca_xing[]={
0x00,0x00,0x00,0xbe,0x2a,0x2a,0x2a,0xea,0x2a,0x2a,0x2a,0x2a,0x3e,0x00,0x00,0x00,
0x00,0x48,0x46,0x41,0x49,0x49,0x49,0x7f,0x49,0x49,0x49,0x49,0x49,0x41,0x40,0x00};/*星*/

unsigned char code uca_qi[]={
0x00,0x04,0xff,0x54,0x54,0x54,0xff,0x04,0x00,0xfe,0x22,0x22,0x22,0xfe,0x00,0x00,
0x42,0x22,0x1b,0x02,0x02,0x0a,0x33,0x62,0x18,0x07,0x02,0x22,0x42,0x3f,0x00,0x00};/*期*/

unsigned char code uca_tian[]={
0x00,0x40,0x42,0x42,0x42,0x42,0x42,0xfe,0x42,0x42,0x42,0x42,0x42,0x42,0x40,0x00,
0x00,0x80,0x40,0x20,0x10,0x08,0x06,0x01,0x02,0x04,0x08,0x10,0x30,0x60,0x20,0x00};/*天*/

unsigned char code uca_yi[]={
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 uca_er[]={
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 uca_san[]={
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 uca_si[]={
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 uca_wu[]={
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 uca_liu[]={
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 uca_kai[]={
0x20,0x22,0x22,0xfe,0x22,0x22,0x22,0xfe,0x22,0x23,0x22,0x00,0x04,0x04,0x02,0x01, 
0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00};/*开*/

unsigned char code uca_shi[]={
0x84,0xfc,0x07,0xfc,0x04,0x18,0xd4,0x53,0x50,0x54,0xd8,0x00,0x04,0x02,0x01,0x01, 
0x02,0x00,0x07,0x02,0x02,0x02,0x07,0x00};/*始*/

unsigned char code uca_ce[]={
0x08,0x31,0x86,0x60,0x00,0xFE,0x02,0xF2,0x02,0xFE,0x00,0xF8,0x00,0x00,0xFF,0x00,
0x04,0xFC,0x03,0x00,0x80,0x47,0x30,0x0F,0x10,0x67,0x00,0x07,0x40,0x80,0x7F,0x00};/*测*/

unsigned char code uca_liang[]={
0x40,0x40,0x40,0xDF,0x55,0x55,0x55,0xD5,0x55,0x55,0x55,0xDF,0x40,0x40,0x40,0x00,
0x40,0x40,0x40,0x57,0x55,0x55,0x55,0x7F,0x55,0x55,0x55,0x57,0x50,0x40,0x40,0x00};/*量*/

unsigned char code uca_zhong[]={
0x00,0x00,0xFC,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0xFC,0x08,0x00,0x00,
0x00,0x00,0x07,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x02,0x02,0x07,0x00,0x00,0x00};/*中*/

unsigned char code uca_dian[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00};/*.*/

unsigned char code uca_pin[]={
0x20,0x3C,0x20,0x20,0xBF,0x24,0x24,0x00,0xF2,0x1A,0xD6,0x12,0x12,0xF2,0x02,0x00,
0x44,0x43,0x20,0x10,0x0B,0x04,0x43,0x40,0x27,0x18,0x07,0x08,0x10,0x27,0x60,0x00};/*频*/

unsigned char code uca_lv[]={
0x00,0x0C,0x14,0xA4,0x04,0x64,0x35,0xAE,0x64,0x24,0x14,0xA4,0x14,0x04,0x04,0x00,
0x08,0x0A,0x09,0x08,0x08,0x0A,0x0B,0xFE,0x0A,0x0B,0x0C,0x08,0x09,0x0A,0x08,0x00};/*率*/

unsigned char code uca_wei[]={
0x20,0x20,0x20,0x22,0x24,0x2C,0x20,0xE0,0x3F,0x20,0x20,0x20,0x20,0xF0,0x20,0x00, 
0x00,0x40,0x20,0x10,0x08,0x04,0x03,0x00,0x02,0x04,0x4C,0x80,0x40,0x3F,0x00,0x00};/*为*/

unsigned char code uca_MAOHAO[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};/*:*/

unsigned char code uca_H[]={
0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00};/*H*/

unsigned char code uca_z[]={
0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00};/*Z*/

unsigned char code uca_0[]=
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00};/*"0"*/
unsigned char code uca_1[]=
{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00};/*"1"*/
unsigned char code uca_2[]=
{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00};/*"2"*/
unsigned char code uca_3[]=
{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00};/*"3"*/
unsigned char code uca_4[]=
{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00};/*"4"*/
unsigned char code uca_5[]=
{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00};/*"5"*/
unsigned char code uca_6[]=
{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00};/*"6"*/
unsigned char code uca_7[]=
{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00};/*"7"*/
unsigned char code uca_8[]=
{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00};/*"8"*/
unsigned char code uca_9[]=
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00};/*"9"*/

unsigned char code uca_fan[]={
0x10,0x11,0xf6,0x80,0x7e,0x0a,0xaa,0x49,0xa9,0x19,0x00,0x00,0x04,0x02,0x01,0x02, 
0x04,0x05,0x04,0x04,0x04,0x05,0x04,0x00};/*返*/

unsigned char code uca_hui[]={
0x00,0xff,0x01,0xf9,0x49,0x49,0x49,0xf9,0x01,0x01,0xff,0x00,0x00,0x07,0x02,0x02, 
0x02,0x02,0x02,0x02,0x02,0x02,0x07,0x00};/*回*/

unsigned char code uca_tui[]={
0x11,0xf6,0x00,0x00,0xff,0x15,0x55,0x55,0x95,0x5f,0x00,0x00,0x06,0x01,0x02,0x02, 
0x05,0x05,0x05,0x04,0x04,0x05,0x04,0x00};/*退*/

unsigned char code uca_chu[]={
0x00,0xde,0x10,0x10,0x10,0xff,0x10,0x10,0x10,0xde,0x00,0x00,0x00,0x07,0x04,0x04, 
0x04,0x07,0x04,0x04,0x04,0x07,0x00,0x00};/*出*/

unsigned char code bmp[] ={                                                     /*--  宽度x高度=32x32  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x10,0x10,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xFC,0x02,0x01,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,
0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x01,0x02,0xFC,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0x08,0x10,0x20,0x40,0x80,0x08,0x10,0x20,0x20,0x20,
0x20,0x20,0x10,0x08,0x00,0x80,0x40,0x20,0x10,0x08,0x07,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/*"笑脸",0*/
};

delay2ms()
{
int i,j;
for(i=4;i>0;i--)
for(j=220;j>0;j--);
}

DELAY(int n)
{
 int i,j;
 for(j=0;j<n;j++)

⌨️ 快捷键说明

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