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

📄 initial_main.h

📁 华帮单片机双串口工作代码
💻 H
字号:

#include "define_W77E058.h"

extern void delayms(unsigned int);
extern void ClrRXD(unsigned char *);
extern void Disdata(unsigned char);
extern bit write_I2C(unsigned char address,unsigned char c);
extern unsigned char read_I2C(unsigned char);
extern void Serial1_Send(unsigned char*);

//////***********************************************************
//参数设置函数
//****************************************************************
bit SetParameter()
 { 
   unsigned xdata i;
   for(i=0;i<555;i++)
  {   
       delayms(80);  Disdata(13); Disdata(10);Disdata(ADR1%10);Disdata(ADR1%100/10);Disdata(ADR1/100);
       if(!Key_Dec&Key_Add) { if(!Key_Dec&Key_Add)  ADR1=ADR1-1; i=0; while(!Key_Dec&Key_Add);write_I2C(0xf0,ADR1); }
       if(Key_Dec&!Key_Add) { if(Key_Dec&!Key_Add)  ADR1=ADR1+1; i=0; while(Key_Dec&!Key_Add);write_I2C(0xf0,ADR1); }
       if(!Key_Dec&!Key_Add){ if(!Key_Dec&!Key_Add) ADR1=0;      i=0; while(!Key_Dec&!Key_Add);write_I2C(0xf0,ADR1);}
       if(!Key_Enter)       { delayms(20); while(! Key_Enter);write_I2C(0xf0,ADR1); goto second1;  }
       if(i==450) goto second1;
  } 
///////////////////////////////AD11
  second1:
    for(i=0;i<555;i++)
    {  
      
       delayms(80);Disdata(13); Disdata(13);Disdata(ADR2%10);Disdata(ADR2%100/10);Disdata(ADR2/100);    
       if(!Key_Dec&Key_Add) { delayms(20); if(!Key_Dec&Key_Add)ADR2=ADR2+1; i=0; while(!Key_Dec&Key_Add);write_I2C(0xf2,ADR2); }
       if(Key_Dec&!Key_Add) { delayms(20); if(Key_Dec&!Key_Add)ADR2=ADR2-1; i=0; while(Key_Dec&!Key_Add);write_I2C(0xf2,ADR2); }
       if(!Key_Dec&!Key_Add){ delayms(20); if(!Key_Dec&!Key_Add) ADR2=0;    i=0; while(!Key_Dec&!Key_Add);write_I2C(0xf2,ADR2);}
       if(! Key_Enter)      { delayms(20); while(! Key_Enter);write_I2C(0xf2,ADR2); return 0;}
       if(i==450) return 0;
     } 
  }
//////***********************************************************
//主函数初始化
//****************************************************************
void Init_Main()
{
  bit bdata Setflag;//设置符
//  unsigned char code Txd0[12]={0xaa,0x05,0x01,0x01,0x0d,0x01,0x15,0x55};
  ctr1=0;

  // Serial_initial();//double Serial is Initial
  // Watchdog_initial();//Watchdog is Initial
  // Initial_I2C();
   
   ADR2=read_I2C(0xf2);
   ADR1=read_I2C(0xf0);

  if( Key_Enter&&Key_Dec&&Key_Add)//让各位为1
 { 
   buzzer=1;delayms(100); buzzer=0;delayms(200);buzzer=1;delayms(100);buzzer=0;delayms(400);buzzer=1;delayms(300);buzzer=0;
   Disdata(17);Disdata(1);Disdata(0);Disdata(8);Disdata(0);ADR1=read_I2C(0xf0);ADR2=read_I2C(0xf2); //显示版本为V0801
   //while(CheckError); delayms(10); while(!CheckError);
    delayms(700);//buzzer is normal flag //while(Key_Add||Key_Dec|| Key_Enter);
   }

  kc1=kc0=0;//communication flag for the number of data
  flag1=flag0=1;//Communication flag is complete flag
  ClrRXD(rxdbuf0);//Clear the Receive buffer0
  //ClrRXD(txdbuf0);
  ClrRXD(rxdbuf1);//Clear the Receive buffer1
  //ClrRXD(txdbuf1);

if(! Key_Enter&&!Key_Dec&&!Key_Add)//当第三个按键都为0时,进行系统参数的设置,显示为------,同时Setflag is 1
  { 
    delayms(200);while(!Key_Enter&&!Key_Dec&&!Key_Add); Setflag=1;
  //Disdata(23);Disdata(23);Disdata(23);Disdata(23);Disdata(23);while(!Key_Add&&!Key_Dec&&! Key_Enter);Setflag=1;
    delayms(1500);
  } 
  
 while(Setflag){Setflag=SetParameter();}//the most important flag
 
  Disdata(ADR2%10);Disdata(ADR2/10);Disdata(27);Disdata(ADR1%10);Disdata(ADR1/10);delayms(2720);
  //while(CheckError);delayms(10);while(!CheckError);
  //Serial1_Send(Txd0);
  //Disdata(1);Disdata(1);Disdata(4);Disdata(1);Disdata(1); delayms(500);// while(CheckError);delayms(10);while(!CheckError);
  }

⌨️ 快捷键说明

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