Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
21.12.2020
Размер:
2.11 Кб
Скачать
/*дг­ЄжЁп ўлў®¤  ­  Ё­¤ЁЄ в®а §­ зҐ­Ёп Ї®ЈаҐи­®бвЁ ¤«п Њ‚€Џ*/

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

extern unsigned long bin_bcd(unsigned int);

         /*®ЇаҐ¤Ґ«Ґ­ЁҐ  ¤аҐб®ў гбва®©бвў ўў®¤ -ўлў®¤ */
#define ind2       (*(char*) 0x010000) /*бв а襥(«Ґў®Ґ)§­ Є®¬Ґбв® Ё­¤.*/
#define ind1       (*(char*) 0x010001) /*б।­ҐҐ §­ Є®¬Ґбв® Ё­¤.*/
#define ind0       (*(char*) 0x010002) /*¬« ¤иҐҐ(Їа ў®Ґ)§­ Є®¬Ґбв® Ё­¤.*/
#define ind3       (*(char*) 0x010003) /*ॣЁбва бЁ¬ў®«®ў Ё­¤.*/

		/*®ЇЁб ­ЁҐ ЇҐаҐ¬Ґ­­ле*/
extern float pogr;
extern float ust_flt;
unsigned long number_bcd;
signed long pogr_l;
unsigned int pog_int;
unsigned char point;
unsigned char ind3_p;

void put_ind(void)
{
/* ­ «Ё§ ўҐ«ЁзЁ­л Ї®ЈаҐи­®бвЁ*/
	if(pogr>999.0||pogr<-999.0)goto error;
	if(pogr>=100.0||pogr<=-100.0)
	{
		point=0;
		ind3_p=ind3_p&0xf9;
		pogr_l=(signed long)(pogr*100.0001);
	}
	if((pogr>=10.0&&pogr<100.0)||(pogr>-100.0&&pogr<=-10.0))
	{
		point=1;
		ind3_p=ind3_p|0x4;
		ind3_p=ind3_p&0xfd;
	 	pogr_l=(signed long)(pogr*100.0001);
	}
	if(pogr<10.0&&pogr>-10.0)
	{
		point=2;
		ind3_p=ind3_p|0x2;
		ind3_p=ind3_p&0xfb;
		pogr_l=(signed long)(pogr*100.0001);
	}
/*ба ў­Ґ­ЁҐ Ї®ЈаҐи­®бвЁ б гбв ўЄ ¬Ё*/
	if(pogr>ust_flt)
	 {
		ind3_p=ind3_p|0x8;
		ind3_p=ind3_p&0xcf;
	 }
	if(pogr<(-ust_flt))
	 {
		ind3_p=ind3_p|0x20;
		ind3_p=ind3_p&0xe7;
	 }
	if(pogr>=(-ust_flt)&&pogr<=ust_flt)
	 {
		ind3_p=ind3_p|0x10;
		ind3_p=ind3_p&0xd7;
	 }
/*ўлў®¤ §­ Є  Ё ўҐ«ЁзЁ­л Ї®ЈаҐи­®бвЁ ­  Ё­¤ЁЄ в®а*/
	if(point==0)pogr_l=pogr_l/100;
	if(point==1)pogr_l=pogr_l/10;
	if(pogr_l<0)
	{
		ind3_p=ind3_p|0x1;
	pog_int=(unsigned int)(-pogr_l);
	}
	else
	{
		ind3_p=ind3_p&0xfe;
	pog_int=(unsigned int)pogr_l;
	}
	number_bcd=bin_bcd(pog_int);
	ind0=((char)number_bcd)&0x0f;		/*ўлў®¤ 楫®Ј® §­ зҐ­Ёп Ї®Ја.*/
	ind1=((char)(number_bcd>>4))&0x0f;
	ind2=((char)(number_bcd>>8))&0x0f;
	ind3=ind3_p;
		return;
error:
	ind3=0;ind2=13;ind1=13;ind0=13;
}
Соседние файлы в папке МВИП
  • #
    21.12.2020135 б0MVIP.BAT
  • #
    21.12.20208.06 Кб0MVIP.C
  • #
    21.12.202033.22 Кб0MVIP.LST
  • #
    21.12.20205.17 Кб0MVIP.R03
  • #
    21.12.20208.45 Кб0mvip_bm.rom
  • #
    21.12.20202.11 Кб0PUT_IND.C
  • #
    21.12.20202.43 Кб0PUT_IND.R03
  • #
    21.12.2020506 б0STDLIB.H
  • #
    21.12.2020997 б0TEST_IND.C
  • #
    21.12.2020512 б0TEST_IND.R03
  • #
    21.12.202065.54 Кб0TRN.TRN