Добавил:
ktotogdetotam
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:БЭМЗ полищук доки / mogilev yst / МК7007БМ / mk07b
.C/*Џа®Ја ¬¬ ®¤®д §®Ј® Ёбв®зЁЄ дЁЄвЁў®© ¬®й®бвЁ ЊЉ7007-60A
Copyright (c) ЃҐ«Ё«мЁЄ®ў ‚.„. ¬ ав 2009Ј. дҐўа «м 2010Ј. */
/*--------------------------------------------------------------------------*/
/*дгЄжЁЁ Є®Ї®Є Є« ўЁ вгал
1-жЁда 7
2-жЁда 4 Ё«Ё гЈ®« б¤ўЁЈ д §
3-жЁда 1 Ё«Ё ўҐ«ЁзЁ в®Є
4-жЁда 0 Ё«Ё ўҐ«ЁзЁ Їа殮Ёп
5-жЁда 8
6-жЁда 5 Ё«Ё § 票Ґ з бв®вл
7-жЁда 2 Ё«Ё ўЄ«о票Ґ в®Є
8-§ Їпв п Ё«Ё ўЄ«о票Ґ Їа殮Ёп
9-жЁда 9
10-жЁда 6
11-жЁда 3
12-дгЄжЁ® «м п Є®ЇЄ F
13-Їа®Ја ¬¬Ёа®ў ЁҐ Џђѓ
14-ўў®¤
15-ЇгбЄ
16-бв®Ї
дгЄжЁЁ Ї®ав®ў
P1.0-®Ї®а п з бв®в бЁвҐ§ в®а 51020 ѓж
P1.1-¤ лҐ ¤«п бЁвҐ§ в®а®ў Ё ЇҐаҐЄ«о票п ०Ё¬®ў
P1.2-бЁеа®Ё§ жЁп ¤«п бЁвҐ§ в®а®ў Ё ЇҐаҐЄ«о票п ०Ё¬®ў
P1.3-бва®Ў § ЇЁбЁ ЇҐаҐЄ«о票п ०Ё¬®ў Ї® Їа殮Ёо
P1.4-бва®Ў § ЇЁбЁ ЇҐаҐЄ«о票п ०Ё¬®ў Ё ЇаҐ¤Ґ«®ў Ї® в®Єг
P1.5-з⥨Ґ/§ ЇЁбм Ё¤ЁЄ в®а
P1.6-ўлЎ®а ॣЁбва®ў Ё¤ЁЄ в®а
P1.7-бЎа®б Њ‚€Џ®ў 0-Ґв бЎа®б 1-бЎа®б
P3.0-ЇаЁҐ¬ЁЄ RS-485
P3.1-ЇҐаҐ¤ взЁЄ RS-485
P3.2-§ Їа®б ЇаҐалў Ёп ®в Є« ўЁ вгал
P3.3-१Ґаў
P3.4-१Ґаў
P3.5-१Ґаў
*/
/*--------------------------------------------------------------------------*/
/*Ї®¤Є«о票Ґ § Ј®«®ўЄ®ў ўгв२е ॣЁбва®ў 80‘31*/
#include <io51.h>
/*--------------------------------------------------------------------------*/
/*Ї®¤Є«о票Ґ ўҐиЁе дгЄжЁ©*/
extern void init(void);
extern void move_dir(char);
extern void mov_read(char);
extern void mov_write(char,char);
extern char num_key(void);
extern void message(char[20],char[20],char[20],char[20]);
extern void ust(void);
extern void aut(void);
extern void cor(void);
extern void ram_to_f(void);
extern void f_to_ram(void);
/*--------------------------------------------------------------------------*/
/*®ЇаҐ¤Ґ«ҐЁҐ ¤аҐб®ў гбва®©бвў ўў®¤ -ўлў®¤ */
#define inta_wrrg2 (*(char*) 0x015800) /*бЎа®б § Їа®б Є« ўЁ вгал -Ї® з⥨о*/
/*§ ЇЁбм ў ॣЁбва ¬Ї«Ёвг¤ -Ї® § ЇЁбЁ*/
/*--------------------------------------------------------------------------*/
/*®ЇЁб ЁҐ ЇҐаҐ¬Ґле*/
unsigned char flg_irq0;
unsigned char flg_t0;
unsigned char i;
unsigned char number;
unsigned char flag_stop;
extern float lim_volt;
code char ust1[20] ={"PaІoїa і cocїaіe "};
code char ust2[20] ={"ycїaЅoієё -1"};
code char autonom[20] ={"AіїoЅoјЅГ¦ pe¶ёј -2"};
code char question[20]={" ?"};
/*-----------------------------------------------------------------------*/
code char screenANS01[20]={"CoxpaЅёїД ѕoѕpaієё "};/*б®еа Ёвм Ї®Їа ўЄЁ*/
code char screenANS02[20]={"іo FLASH - ѕamЗїё ? "};/*ў® FLASH-Ї ¬пвЁ ?*/
code char screenANS03[20]={"гa -1 "};
code char screenANS04[20]={"Ѕeї-2 ?"};
/* з «® Їа®Ја ¬¬л*/
/*--------------------------------------------------------------------------*/
void main(void)
{
lim_volt=264.0;
i=inta_wrrg2; /*бЎа®б § Їа®б Є« ўЁ вгал*/
inta_wrrg2=0; /*бЎа®б ॣЁбва ¬Ї«Ёвг¤*/
IT0=0; /*ЇаҐалў ЁҐ 0 Ї® га®ўо*/
flg_irq0=0;
flag_stop=1;
init(); /*ЁЁжЁ «Ё§ жЁп ЇЇ а вгал*/
f_to_ram(); /*ў®ббв ®ў«ҐЁҐ ЇҐаҐ¬Ґле(Ї®Їа ў®Є)Ё§ FLASH-Ї ¬пвЁ*/
EA=1;RI=0;
/*“бв ®ўЄ з «м®Ј® ¬Ґо Ё¤ЁЄ в®аҐ*/
begin:
message(ust1,ust2,autonom,question);
move_dir(0xe7);
/* Ё¤ЁЄ в®аҐ з «м®Ґ ¬Ґо, Єгаб®а 20 § Є®¬Ґб⥠4 бва®ЄЁ*/
/*®¦Ё¤ ЁҐ ЇаҐалў Ёп ®в Є« ўЁ вгал Ё«Ё Є®¬ЇмовҐа */
n_key:
number=num_key(); /*®ЇаҐ¤Ґ«ҐЁҐ ®¬Ґа ¦ в®© Є®ЇЄЁ*/
if(RI==1)goto mod_ust;
if(number==14)
{
mov_read(0xe7);
if(i==0x31)goto mod_ust;
if(i==0x32)goto mod_aut;
if(i==0x33)goto mod_cor;
goto begin;
}
if(number==3||number==7||number==11)
{
switch (number) { /*ЇҐаҐе®¤л Ї® ®¬Ґаг Є®ЇЄЁ*/
case 3 : i=0x31; /*а Ў®в ў б®бв ўҐ гбв ®ўЄЁ*/
break;
case 7 : i=0x32; /* ўв®®¬л© ०Ё¬*/
break;
case 11 : i=0x33; /*०Ё¬ ўў®¤ Ї®Їа ў®Є*/
break;
}
mov_write(0xe7,i);
move_dir(0xe7);
goto n_key;
}
goto n_key;
/*--------------------------------------------------------------------------*/
mod_ust:
ust();
goto begin;
/*--------------------------------------------------------------------------*/
mod_aut:
aut();
goto begin;
/*--------------------------------------------------------------------------*/
mod_cor:
cor();
message(screenANS01,screenANS02,screenANS03,screenANS04);
move_dir(0xe7);
n_key_flash:
number=num_key(); /*®ЇаҐ¤Ґ«ҐЁҐ ®¬Ґа ¦ в®© Є®ЇЄЁ*/
if(number==3||number==7)
{
switch (number) { /*ЇҐаҐе®¤л Ї® ®¬Ґаг Є®ЇЄЁ*/
case 3 : i=0x31; /*¤ */
break;
case 7 : i=0x32; /*Ґв*/
break;
}
mov_write(0xe7,i);
move_dir(0xe7);
goto n_key_flash;
}
if(number==14)
{
mov_read(0xe7);
if(i!=0x31&&i!=0x32)goto n_key_flash;
if(i==0x31)ram_to_f();
goto begin;
}
if(number==13)goto begin;
goto n_key_flash;
}
/*--------------------------------------------------------------------------*/
/*Ї®¤Їа®Ја ¬¬ ®Ўа Ў®вЄЁ ЇаҐалў Ёп 0*/
interrupt [0x03] void EX0_int(void)
{
EX0=0;
flg_irq0 = 1;
}
/*Ї®¤Їа®Ја ¬¬ ®Ўа Ў®вЄЁ ЇаҐалў Ёп ®в в ©¬Ґа 0*/
interrupt [0x0B] void T0_int (void) /* Timer 0 Overflow */
{
flg_t0=flg_t0+1;
}
Соседние файлы в папке МК7007БМ