Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
21.12.2020
Размер:
5.19 Кб
Скачать
/*”г­ЄжЁп а Ў®вл Ёбв®з­ЁЄ  ЊЉ7007Ѓ ў б®бв ўҐ гбв ­®ўЄЁ –“7016
      Copyright (c) ЃҐ«Ё«м­ЁЄ®ў ‚.„. ¬ ав 2009Ј.            */

         /*Ї®¤Є«о祭ЁҐ § Ј®«®ўЄ®ў ў­гв७­Ёе ॣЁбва®ў 80‘31*/
#include <io51.h>
         /*Ї®¤Є«о祭ЁҐ § Ј®«®ўЄ®ў ЎЁЎ«Ё®вҐз­ле дг­ЄжЁ©*/
#include <stdlib.h>
#include <math.h>

extern void delayi(char);         /*§ ¤Ґа¦Є  б Єў ­в®¬ 10¬б*/
extern void delay1(char);         /*§ ¤Ґа¦Є  б Єў ­в®¬ 1б*/
extern void message(char[20],char[20],char[20],char[20]);/*ўлў®¤ ­  Ё­¤ЁЄ в®а*/
extern void mov_write(char,char); /*§ ЇЁб вм бЁ¬ў®« ў Ї®§ЁжЁо Єгаб®а */
extern void move_dir(char);       /*гбв ­®ўЁвм Єгаб®а ­  Ї®§ЁжЁо*/
extern void contr_ifm(void);      /*гЇа ў«Ґ­ЁҐ Ёбв®з­ЁЄ®¬*/
extern void out_f11(char,float);
extern void out_f14(char,float);
extern void out_f21(char,float);
extern void out_f22(char,float);
extern void out_f23(char,float);
extern void out_f31(char,float);
extern void out_f32(char,float);
extern void out_i2(char,char);
extern void out_i3(char,int);

         /*®ЇаҐ¤Ґ«Ґ­ЁҐ  ¤аҐб®ў гбва®©бвў ўў®¤ -ўлў®¤ */
#define ind_read_write (*(char*) 0x014000) /*§ ЇЁбм Ё з⥭ЁҐ Ё­¤ЁЄ в®а */
#define wrled_rdk1     (*(char*) 0x014800) /*§ ЇЁбм ў ॣЁбва ᢥ⮤Ё®¤®ў*/

/*®ЇЁб ­ЁҐ ЇҐаҐ¬Ґ­­ле*/
unsigned char m_dat[40];           /*¬ ббЁў ¤ ­­ле ®в Є®¬ЇмовҐа  - 40 Ў ©в*/
unsigned char m_8[8];              /*¬ ббЁў ¤«п Їа®¬Ґ¦гв®з­ле ЇаҐ®Ўа §®ў ­Ё©*/
extern unsigned char sw_u;
extern unsigned char sw_i;
extern unsigned char i;
extern unsigned char ireg_led;
extern unsigned char start_stop;
extern unsigned char flg_t0;
extern unsigned char flag_stop;
extern unsigned int voltage;
extern float current;
extern float frequency;
extern unsigned int fi;

/*¬Ґ­о ®¦Ё¤ ­Ёп Ё ®иЁЎЄЁ*/
code char u1[20]={"     O¶ёгaЅёe       "};
code char u2[20]={"     єoјaЅгГ        "};
code char u3[20]={"     єoјѕДЖїepa     "};
code char u4[20]={"                    "};
code char u5[20]={"        Heї         "};
code char u6[20]={"       cіЗ·ё        "};
code char u7[20]={"   c єoјѕДЖїepoј    "};
/*¬Ґ­о Ї а ¬Ґва®ў ०Ё¬ */
code char u8[20]= {"AіїoјaїёАecєё¦ pe¶ёј"};
code char u9[20]= {"U=000B    I=0,0000A "};
code char u10[20]={"F=00,00Ўе Є=000ґpaг "};
code char u11[20]={"Bє»ЖАeЅёe U:_ I:_   "};

void ust(void)
{
		 ireg_led=0xff;
		 wrled_rdk1=ireg_led; /*Ј иҐ­ЁҐ ᢥ⮤Ё®¤®ў*/
		 message(u1,u2,u3,u4);
		 move_dir(0xe7);
/*­  Ё­¤ЁЄ в®аҐ ¬Ґ­о ®¦Ё¤ ­Ёп, Єгаб®а ­  20 §­ Є®¬Ґб⥠4 бва®ЄЁ*/
/*-----------------------------------------------------------------------*/
/*ЇаЁҐ¬ Ё­д®а¬ жЁЁ ®в Є®¬ЇмовҐа */
receive_inf:  
	for(i=0;i<=39;i++)
	{
        TH0=0;TL0=0;ET0=1;flg_t0=0;TR0=1; 

wait_cw:
            if(flg_t0>100)goto no_connect;
		if(RI==0)goto wait_cw;
		RI=0;TR0=0;ET0=0;
		m_dat[i]=SBUF;         /*ЇаЁҐ¬ Ў ©в  б Ё­вҐа䥩б */
	} 
/*Їа®ўҐаЄ  Ї®«г祭­®Ј®  ¤аҐб */
           if(m_dat[0]==0x30&&m_dat[1]==0x30)goto transfer_data;
           goto wait_command;
/*-----------------------------------------------------------------------*/
transfer_data:
/*ЇаҐ®Ўа §®ў ­ЁҐ Ї®«г祭­ле ¤ ­­ле*/
		   if(m_dat[2]==0x30)sw_u=0;
		   else sw_u=1;
		
		   if(m_dat[3]==0x30)sw_i=0;
		   else sw_i=1;
		 
		 for(i=0;i<=2;i++)m_8[i]=m_dat[i+4];
		 m_8[3]=0x2f;
	     voltage=atoi(m_8);
		 for(i=0;i<=5;i++)m_8[i]=m_dat[i+7];
		 m_8[6]=0x2f;
	     current=atof(m_8);
		 for(i=0;i<=4;i++)m_8[i]=m_dat[i+13];
		 m_8[5]=0x2f;
	     frequency=atof(m_8);
		 for(i=0;i<=2;i++)m_8[i]=m_dat[i+18];
		 m_8[3]=0x2f;
	       fi=atoi(m_8);

	if(m_dat[21]==0x30)
	{
	  start_stop=0;                      /*бв®Ї Ёбв®з­ЁЄ */
	  goto out_parameters;
       }
      else
	{
	  start_stop=1;                     /*ЇгбЄ Ёбв®з­ЁЄ  ў ­®ў®© в®зЄҐ*/
	  P1.7=1;                           /*бЎа®б Њ‚€Џ*/
        delay1(1);         /*§ ¤Ґа¦Є  1 ᥪ.*/
	  P1.7=0;
	  goto out_parameters;
       }
/*-----------------------------------------------------------------------*/
/*ўлў®¤ Ї а ¬Ґва®ў ०Ё¬  ­  Ё­¤ЁЄ в®а*/
out_parameters:
		 message(u8,u9,u10,u11);
		 move_dir(0xe7);
/*­  Ё­¤ЁЄ в®аҐ ¬Ґ­о ०Ё¬ , Єгаб®а ­  20 §­ Є®¬Ґб⥠4 бва®ЄЁ*/
		 out_i3(0xc2,voltage);
		 if(current>=10)out_f23(0xcc,current);
		 else out_f14(0xcc,current);
		 out_f22(0x96,frequency);
		 if(fi>=100)out_i3(0xa0,fi);
		 if(fi>=10&&fi<100)
		 {
			mov_write(0xa0,0x20);
		 	out_i2(0xa1,(char)fi);
		 }
		 if(fi<10)
		 {
			mov_write(0xa0,0x20);
			mov_write(0xa1,0x20);
		 	mov_write(0xa2,(char)fi+0x30);
		 }
		 if(sw_u==0)mov_write(0xe0,0x30);
		 else mov_write(0xe0,0x31);
		 
		 if(sw_i==0)mov_write(0xe4,0x30);
		 else mov_write(0xe4,0x31);
	
             move_dir(0xe7);          /*гЎа вм Єгаб®а ­  Єа © нЄа ­ */
/*-----------------------------------------------------------------------*/
		 contr_ifm();
		 if(start_stop==0&&flag_stop==1)return;
wait_command:
             if(RI==0)goto wait_command;
		 goto receive_inf;
/*-----------------------------------------------------------------------*/
no_connect:
		 TR0=0;ET0=0;
		 message(u5,u6,u7,u4);      /*­Ґв бўп§Ё c Є®¬ЇмовҐа®¬*/
             delay1(5);                 /*§ ¤Ґа¦Є  5 ᥪ.*/
		 return;
}
Соседние файлы в папке МК7007БМ
  • #
    21.12.20201.37 Кб0SW_ON_I.C
  • #
    21.12.20201.91 Кб0SW_ON_I.R03
  • #
    21.12.20201.07 Кб0SW_ON_U.C
  • #
    21.12.20201.28 Кб0SW_ON_U.R03
  • #
    21.12.202065.54 Кб0TRN.TRN
  • #
    21.12.20205.19 Кб0UST.C
  • #
    21.12.20203.37 Кб0UST.R03
  • #
    21.12.2020173 б0WAIT_IND.R03
  • #
    21.12.2020765 б0WAIT_IND.S03