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

📄 shui.txt

📁 水温水位控制系统的源代码,用t6963lcd显示 很好的,经过测试
💻 TXT
📖 第 1 页 / 共 2 页
字号:
#include <absacc.h>
#include <REG52.h>
#include <stdio.h>
#include <intrins.h>

#define ulong unsigned long
#define uint unsigned int
#define uchar unsigned char
#define  para1 0x20;
#define  dat1 DBYTE[0x30]
#define  dat2 DBYTE[0x31]
#define LCMDW    XBYTE[0xF0FF]
#define LCMCW    XBYTE[0xF1FF]
#define  com  DBYTE[0x32]
#define  O_Y DBYTE[0x33]
#define  O_X DBYTE[0x34]
#define  code_1 DBYTE[0x35]
sbit  ACC_0=ACC^0;
sbit  ACC_1=ACC^1;
sbit  ACC_3=ACC^3;
sbit csh=P3^2;
sbit jsh=P3^1;
sbit swen=P3^3;
sbit DQ=P3^4;
sbit L1=P2^3;
sbit L2=P3^5;
sbit L3=P2^2;
sbit L4=P2^3;
sbit s_a=P2^7;
sbit s_b=P2^6;
sbit s_c=P2^5;
sbit s_d=P2^4;
unsigned char w_s=1,s_s=1;
unsigned char t=0,tb=0,ts=0,tg=0,shs=13,shz=11,
              s_tb=0,s_ts=0,s_tg=0,s_sh=13,kk,mm=0,p=0;
code uchar CCNum[][16]={
/*---转换字符 0 ---*/
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
/*---转换字符 1 ---*/
0x00,0x00,0x00,0x10,0x70,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,
/*---转换字符 2 ---*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x04,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00,
/*---转换字符 3 ---*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x04,0x18,0x04,0x02,0x02,0x42,0x44,0x38,0x00,0x00,
/*---转换字符 4 ---*/
0x00,0x00,0x00,0x04,0x0C,0x14,0x24,0x24,0x44,0x44,0x7E,0x04,0x04,0x1E,0x00,0x00,
/*---转换字符 5 ---*/
0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x58,0x64,0x02,0x02,0x42,0x44,0x38,0x00,0x00,
/*---转换字符 6 ---*/
0x00,0x00,0x00,0x1C,0x24,0x40,0x40,0x58,0x64,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
/*---转换字符 7 ---*/
0x00,0x00,0x00,0x7E,0x44,0x44,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,
/*---转换字符 8 ---*/
0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00,
/*---转换字符 9 ---*/
0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x26,0x1A,0x02,0x02,0x24,0x38,0x00,0x00,
 /*---转换字符 : ---*/  //10
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,
/*----转换字符 空格---*/  //11
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
/*---转换字符 . ---*/
                             //12
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,
/*---转换字符 A ---*/     //13
0x00,0x00,0x00,0x10,0x10,0x18,0x28,0x28,0x24,0x3C,0x44,0x42,0x42,0xE7,0x00,0x00,

/*---转换字符 B ---*/    //14
0x00,0x00,0x00,0xF8,0x44,0x44,0x44,0x78,0x44,0x42,0x42,0x42,0x44,0xF8,0x00,0x00,
 
/*---转换字符 C ---*/          //15
0x00,0x00,0x00,0x3E,0x42,0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x44,0x38,0x00,0x00,
  //13
  /*---转换字符 D ---*/    //16
0x00,0x00,0x00,0xf8,0x44,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x44,0xF8,0x00,0x00,
/*---转换字符 E ---*/        //17
0x00,0x00,0x00,0xFC,0x42,0x48,0x48,0x78,0x48,0x48,0x40,0x42,0x42,0xFC,0x00,0x00,
/*---转换字符 - ---*/   //18
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

};
code uchar CCTAB[][32]={
/*---转换字符 当 ---*/	    //0
0x00,0x80,0x10,0x90,0x08,0x98,0x0C,0x90,0x08,0xA0,0x00,0x80,0x3F,0xFC,0x00,0x04,
0x00,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x04,0x3F,0xFC,0x00,0x04,0x00,0x00,
/*---转换字符 前 ---*/	   //1
0x08,0x10,0x06,0x18,0x04,0x20,0xFF,0xFE,0x00,0x00,0x3E,0x08,0x22,0x48,0x3E,0x48,
0x22,0x48,0x22,0x48,0x3E,0x48,0x22,0x48,0x22,0x48,0x2A,0x08,0x24,0x28,0x00,0x10,
/*---转换字符 设 ---*/	 //2
0x40,0x00,0x21,0xF0,0x31,0x10,0x21,0x10,0x01,0x10,0x01,0x10,0xE2,0x0E,0x25,0xF8,
0x21,0x08,0x21,0x08,0x20,0x90,0x20,0x90,0x28,0x60,0x30,0x90,0x23,0x0E,0x0C,0x04,
/*---转换字符 定 ---*/	  //3
0x02,0x00,0x01,0x00,0x3F,0xFE,0x20,0x04,0x40,0x08,0x1F,0xF0,0x01,0x00,0x11,0x00,
0x11,0x00,0x11,0xF0,0x11,0x00,0x29,0x00,0x25,0x00,0x43,0x00,0x81,0xFC,0x00,0x00,
/*---转换字符 温 ---*/	 //4
0x40,0x00,0x27,0xF0,0x24,0x10,0x07,0xF0,0x94,0x10,0x54,0x10,0x17,0xF0,0x20,0x00,
0x2F,0xFC,0xC9,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x49,0x24,0x5F,0xFE,0x40,0x00,
/*---转换字符 度 ---*/	  //5
0x01,0x00,0x00,0x80,0x3F,0xFE,0x22,0x20,0x22,0x20,0x2F,0xFC,0x22,0x20,0x23,0xE0,
0x20,0x00,0x27,0xF8,0x22,0x10,0x21,0x20,0x20,0xC0,0x41,0x30,0x46,0x0E,0x98,0x04,						  //6
/*---转换字符 水 ---*/
0x01,0x00,0x01,0x00,0x01,0x08,0x01,0x10,0x7D,0x20,0x05,0xC0,0x05,0x40,0x09,0x20,
0x09,0x20,0x11,0x10,0x11,0x18,0x21,0x0E,0xC1,0x04,0x01,0x00,0x05,0x00,0x02,0x00,
/*---转换字符 位 ---*/	  //7
0x09,0x00,0x0C,0xC0,0x10,0x40,0x17,0xFC,0x20,0x00,0x34,0x10,0x52,0x18,0x52,0x10,
0x91,0x10,0x11,0x20,0x11,0x20,0x10,0x20,0x10,0x40,0x1F,0xFE,0x10,0x00,0x00,0x00,
/*---转换字符 。 ---*/   //8
0x00,0x00,0x00,0x00,0x30,0x00,0x48,0x00,0x48,0x00,0x30,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*---转换字符 进 ---*/   //9
0x01,0x10,0x41,0x10,0x21,0x10,0x37,0xFC,0x21,0x10,0x01,0x10,0x01,0x10,0xF7,0xFE,
0x11,0x10,0x11,0x10,0x12,0x10,0x12,0x10,0x14,0x10,0x28,0x00,0x47,0xFE,0x00,0x00,

/*---转换字符 出 ---*/   //10
0x01,0x00,0x01,0x00,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x3F,0xFC,0x21,0x04,
0x01,0x00,0x21,0x04,0x21,0x04,0x21,0x04,0x21,0x04,0x3F,0xFC,0x20,0x04,0x00,0x00,

/*---转换字符 停 ---*/  //11
0x08,0x40,0x0C,0x20,0x0B,0xFE,0x10,0x00,0x11,0xF8,0x31,0x08,0x51,0xF8,0x90,0x00,
0x17,0xFE,0x14,0x02,0x11,0xFC,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0xA0,0x10,0x40,


 };

/*****************延时函数**************/
void delay(unsigned int t)
{
  for(;t>0;t--);
}

/************DS18b20复位函数************/
ow_reset(void)
{
  unsigned char presence=1;
  while(presence)
  {
  while(presence)
  {
    DQ=1;_nop_();_nop_();
    DQ=0;delay(50);                  //550us
    DQ=1;delay(6);                   //66us
    presence=DQ;                  //presence=0继续下一步
  }
  delay(45);                  //延时500us
  presence=~DQ;
  }
  DQ=1;
}

/**********DS18b20读一个字节函数**********/
unsigned char read_byte(void)
{
  unsigned char i;
  unsigned char value = 0;
  for (i=8;i>0;i--)
  {
    DQ=1;_nop_();_nop_();
    value>>=1;
    DQ=0;_nop_();_nop_();_nop_();_nop_();  //4us
    DQ=1;_nop_();_nop_();_nop_();_nop_();  //4us
    if(DQ)  value|=0x80;
    delay(6);                              //66us
  }
    DQ=1;
    return(value);
}

/************DS18b20写一个字节函数**************/
void write_byte(char val)
{
  unsigned char i;
  for (i=8; i>0; i--)
  {
   DQ=1;_nop_();_nop_();
   DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); //5us
   DQ=val&0x01;delay(6);                       //最低为移出
   val=val/2;                                //右移一位
  }
   DQ=1;delay(1);
}

 /***************读取温度函数**************/

unsigned int read_temperature(void)
{
  union{unsigned char c[2];
  unsigned int x;
  }temp;
  ow_reset();                 //总线复位
  write_byte(0xCC);           // 发Skip ROM命令
  write_byte(0xBE);           // 发读命令
  temp.c[1]=read_byte();      //温度低8位
  temp.c[0]=read_byte();      //温度高8位
  ow_reset();
  write_byte(0xCC);           //Skip ROM
  write_byte(0x44);           //发转换命令
 temp.x<<=4;
 return (temp.c[0]);
 //return temp.x/2;
}

/********* 判状态位S1,S0 子程序(读写指令和读写数据状态) ********/
void ST01(void)
    {do{ACC=LCMCW;}
      while(ACC_0==0&&ACC_1==0);
    }
void PR12(void) {ST01();LCMCW=com;}
void PR11(void) { ST01();LCMDW=dat2;PR12();}
void PR1(void) {ST01();LCMDW=dat1;PR11();}
void ST3(void)
 {do{ACC=LCMCW;}
     while(ACC_3==0);
  }

/************初始化子程序*********************/
void chushi_1(void)
    {
       dat1=0x00; dat2=0x00;com=0x40;PR1();/*设文本显示区域首地址*/
       dat1=para1;dat2=0x00;com=0x41;PR1();/* 设文本显示区域宽度 */
       dat1=0x00;dat2=0x08;com=0x42;PR1();  /*设图形显示区域首地址*/
       dat1=para1;dat2=0x00;com=0x43;PR1(); /*设图形显示区域宽度*/
       com=0xa7;PR12();                     /*光标形状设置*/
       com=0x80;PR12();                     /*显示方式设置逻辑"或"合成*/
       com=0x9c;PR12();                     /*显示开关设置 开文本和图形显示*/
    }

/*************清显示子程序**************/

void CLEAR(void)
    {
    unsigned char i,j;
        dat1=0x00;dat2=0x00;com=0x24;PR1();
        com=0xb0;PR12();
    for(i=0;i<205;i++)           /* 205 */
       {for(j=0;j<=40;j++)      /* 40 */
            { ST3();LCMDW=0x00;}
        }
       com=0xb2;PR12();
    }

/*******16点阵汉字写入(图形方式)子程序 *******/

void CCW2_PR(uchar x1)
 {  unsigned char i,count1;
     unsigned int j;
        i=para1;

⌨️ 快捷键说明

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