Добавил:
ktotogdetotam
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:БЭМЗ полищук доки / mogilev yst / МК7007БМ / AUT
.C/*”гЄжЁп а Ў®вл Ёбв®зЁЄ ЊЉ7007Ѓ ў ўв®®¬®¬ ०Ё¬Ґ
Copyright (c) ЃҐ«Ё«мЁЄ®ў ‚.„. ¬ ав 2009Ј. */
/*Ї®¤Є«о票Ґ § Ј®«®ўЄ®ў ўгв२е ॣЁбва®ў 80‘31*/
#include <io51.h>
extern char rest_ind(void); /*Їа®ўҐаЄ Ё ЇаҐ®Ўа §®ў ЁҐ ¤ ле*/
extern void delayi(char); /*§ ¤Ґа¦Є б Єў ⮬ 10¬б*/
extern void wait_ind(void); /*®¦Ё¤ ЁҐ Ј®в-вЁ Ё¤ЁЄ в®а */
extern void message(char[20],char[20],char[20],char[20]);/*ўлў®¤ Ё¤ЁЄ в®а*/
extern void mov_read(char); /*зЁв вм б Ї®§ЁжЁЁ Єгаб®а */
extern void mov_write(char,char); /*§ ЇЁб вм бЁ¬ў®« ў Ї®§ЁжЁо Єгаб®а */
extern void move_dir(char); /*гбв ®ўЁвм Єгаб®а Ї®§ЁжЁо*/
extern void contr_ifm(void); /*гЇа ў«ҐЁҐ Ёбв®зЁЄ®¬*/
/*®ЇаҐ¤Ґ«ҐЁҐ ¤аҐб®ў гбва®©бвў ўў®¤ -ўлў®¤ */
#define ind_read_write (*(char*) 0x014000) /*§ ЇЁбм Ё з⥨Ґ Ё¤ЁЄ в®а */
#define wrled_rdk1 (*(char*) 0x014800) /*§ ЇЁбм ў ॣЁбва ᢥ⮤Ё®¤®ў*/
/*®ЇЁб ЁҐ ЇҐаҐ¬Ґле*/
extern unsigned char flag_stop;
unsigned char start_stop;
unsigned char flag_prg;
unsigned char flag_fun;
extern unsigned char i;
unsigned char ireg_led;
unsigned char count_mod;
extern unsigned char err;
extern unsigned char number;
/*¬Ґо ўв®®¬®Ј® ०Ё¬ */
code char a1[20]={" AіїoЅoјЅГ¦ pe¶ёј "};
code char a2[20]={"U=000B I=0,0000A "};
code char a3[20]={"F=00,00Ўе Є=000ґpaг "};
code char a4[20]={"Bє»ЖАeЅёe U:_ I:_ "};
void aut(void)
{
ireg_led=0xf7;
wrled_rdk1=ireg_led; /*ᢥ⮤Ё®¤- "бв®Ї"*/
count_mod=0;
aut_menu:
message(a1,a2,a3,a4);
move_dir(0xe7);
/* Ё¤ЁЄ в®аҐ ¬Ґо ўв®®¬®Ј® ०Ё¬ , Єгаб®а 20 § Є®¬Ґб⥠4 бва®ЄЁ*/
goto keys2; /*ўЄ«о票Ґ ०Ё¬ Їа®Ја ¬¬Ёа®ў Ёп*/
/*-----------------------------------------------------------------------*/
wait_nkey: /*®¦Ё¤ ЁҐ ЇаҐалў Ёп ®в Є« ўЁ вгал*/
number=num_key(); /*®ЇаҐ¤Ґ«ҐЁҐ ®¬Ґа ¦ в®© Є®ЇЄЁ*/
/*ўлЎ®а ०Ё¬ а Ў®вл Ёбв®зЁЄ */
switch (number) { /*ЇҐаҐе®¤л Ї® ®¬Ґаг Є®ЇЄЁ*/
case 1 : goto keys4;
break;
case 2 : goto keys8;
break;
case 3 : goto keys12;
break;
case 4 : goto keys16;
break;
case 5 : goto keys1;
break;
case 6 : goto keys5;
break;
case 7 : goto keys9;
break;
case 8 : goto keys13;
break;
case 9 : goto keys3;
break;
case 10 : goto keys7;
break;
case 11 : goto keys11;
break;
case 12 : goto keys15;
break;
case 13 : goto keys2;
break;
case 14 : goto keys6;
break;
case 15 : {start_stop=1;goto keys10;}
break;
case 16 : {start_stop=0;goto keys14;}
break;
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys1: /*Є®ЇЄ 8*/
if(flag_prg==1)
{
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x38; /*§ ЇЁбм бЁ¬ў®« "8"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys2: /*ўЄ«озҐ аҐ¦Ё¬ Їа®Ја ¬¬Ёа®ў Ёп*/
flag_prg=1; /*гбв ®ў«Ґ д« Ј Їа®Ја ¬¬Ёа®ў Ёп*/
ireg_led=ireg_led&0xfe;
wrled_rdk1=ireg_led; /*ўЄ«озЁвм ᢥ⮤Ё®¤ "Џђѓ"*/
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys3: /*Є®ЇЄ 9*/
if(flag_prg==1)
{
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x39; /*§ ЇЁбм бЁ¬ў®« "9"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys4: /*Є®ЇЄ 7*/
if(flag_prg==1)
{
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x37; /*§ ЇЁбм бЁ¬ў®« "7"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys5: /*Є®ЇЄ 5 Ё«Ё з бв®в */
if(flag_prg==1)
{
if(flag_fun==1)
{
count_mod=2;
move_dir(0x96);
flag_fun=0;
goto wait_nkey;
}
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x35; /*§ ЇЁбм бЁ¬ў®« "5"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys6: /*Є®ЇЄ "‚‚Ћ„"*/
if(flag_prg==1)
{
ireg_led=ireg_led&0xfd;
wrled_rdk1=ireg_led; /*ўЄ«озЁвм ᢥ⮤Ё®¤ "‚‚Ћ„"*/
delayi(0x32);
ireg_led=ireg_led|0x02;
wrled_rdk1=ireg_led; /*ўлЄ«озЁвм ᢥ⮤Ё®¤ "‚‚Ћ„"*/
flag_fun=1;
switch (count_mod) {
case 0 : goto keys12;
break;
case 1 : goto keys5;
break;
case 2 : goto keys8;
break;
case 3 : goto keys13;
break;
case 4 : goto keys9;
break;
case 5 : goto keys16;
break;
}
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys7: /*Є®ЇЄ 6*/
if(flag_prg==1)
{
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x36; /*§ ЇЁбм бЁ¬ў®« "6"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys8: /*Є®ЇЄ 4 Ё«Ё дгЄжЁп fi*/
if(flag_prg==1)
{
if(flag_fun==1)
{
count_mod=3;
move_dir(0xa0);
flag_fun=0;
goto wait_nkey;
}
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x34; /*§ ЇЁбм бЁ¬ў®« "4"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys9: /*Є®ЇЄ 2 Ё«Ё дгЄжЁп FI*/
if(flag_prg==1)
{
if(flag_fun==1)
{
count_mod=5;
move_dir(0xe4);
flag_fun=0;
goto wait_nkey;
}
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x32; /*§ ЇЁбм бЁ¬ў®« "2"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys10: /*०Ё¬ ЇгбЄ*/
flag_prg=0;
move_dir(0xe8);
ind_read_write = 0xe8; /*б¤ўЁЈ Єгаб®а Ё¤ЁЄ в®а § нЄа */
flag_fun=0;
goto restore_ind;
/*-----------------------------------------------------------------------*/
keys11: /*Є®ЇЄ 3*/
if(flag_prg==1)
{
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x33; /*§ ЇЁбм бЁ¬ў®« "3"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys12: /*Є®ЇЄ 1 Ё«Ё дгЄжЁп I*/
if(flag_prg==1)
{
if(flag_fun==1)
{
count_mod=1;
move_dir(0xcc);
flag_fun=0;
goto wait_nkey;
}
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x31; /*§ ЇЁбм бЁ¬ў®« "1"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys13: /*Є®ЇЄ "," Ё«Ё Є®¬¬гв жЁп д § Їа殮Ёп*/
if(flag_prg==1)
{
if(flag_fun==1)
{
count_mod=4;
move_dir(0xe0);
flag_fun=0;
goto wait_nkey;
}
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x2c; /*§ ЇЁбм бЁ¬ў®« ","*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys14: /*०Ё¬ бв®Ї*/
if(flag_fun==1&&flag_stop==1)return;
flag_prg=0;
move_dir(0xe8);
flag_fun=0;
goto restore_ind;
/*-----------------------------------------------------------------------*/
keys15: /*Є®ЇЄ дгЄжЁ® «мле ०Ё¬®ў*/
if(flag_prg==1)
flag_fun=1;
goto wait_nkey;
/*-----------------------------------------------------------------------*/
keys16: /*Є®ЇЄ 0 Ё«Ё дгЄжЁп U*/
if(flag_prg==1)
{
if(flag_fun==1)
{
count_mod=0;
move_dir(0xc2);
flag_fun=0;
goto wait_nkey;
}
wait_ind();
P1.5 = 0; /*гбв ®ўЄ Є®¬ ¤л § ЇЁбм Ё¤ЁЄ в®а */
P1.6 = 1; /*ўлЎ®а ॣЁбва ¤ ле Ё¤ЁЄ в®а */
ind_read_write = 0x30; /*§ ЇЁбм бЁ¬ў®« "0"*/
}
goto wait_nkey;
/*-----------------------------------------------------------------------*/
/*ў®ббв ®ў«ҐЁҐ ¤ ле Ё¤ЁЄ в®а е Ї®б«Ґ ¤Ё «®Ј б Ї®«м§®ў ⥫Ґ¬*/
/*Їа®ўҐаЄ ¤®ЇгбвЁ¬®бвЁ Ёб室ле ¤ ле*/
restore_ind:
err=rest_ind();
if(err==1)
goto keys2;
/*-----------------------------------------------------------------------*/
contr_ifm();
goto wait_nkey;
}