Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
21.12.2020
Размер:
2.21 Кб
Скачать
/*дг­ЄжЁп ®ЇаҐ¤Ґ«Ґ­Ёп ­®¬Ґа  ­ ¦ в®© Є­®ЇЄЁ ЊЉ7006 ь35*/
         /*Ї®¤Є«о祭ЁҐ § Ј®«®ўЄ®ў ў­гв७­Ёе ॣЁбва®ў 80‘31*/
#include <io51.h>

extern void delayi(char);

#define ind_read_write (*(char*) 0x014000) /*§ ЇЁбм Ё з⥭ЁҐ Ё­¤ЁЄ в®а */
#define wrled_rdk1     (*(char*) 0x014800) /*§ ЇЁбм ў ॣЁбва ᢥ⮤Ё®¤®ў
                                            Ё з⥭ЁҐ 1-Ј® Ў ©в  Є« ўЁ вгал*/
#define wrreg_rdk2     (*(char*) 0x015000) /*§ ЇЁбм ў ॣЁбва гЇа ў«Ґ­Ёп 
                                            Ё з⥭ЁҐ 2-Ј® Ў ©в  Є« ўЁ вгал*/
#define inta_wrrg2 (*(char*) 0x015800) /*бЎа®б § Їа®б  Є« ўЁ вгал -Ї® з⥭Ёо*/
                                      /*§ ЇЁбм ў ॣЁбва  ¬Ї«Ёвг¤ -Ї® § ЇЁбЁ*/

unsigned char nkey1;
unsigned char nkey2;
extern unsigned char number;
extern unsigned char flg_irq0;
extern unsigned char i;

char num_key(void)
{
		 EX0=1;
wait_nkey1:
		       if(flg_irq0==0&&RI==0) /*®¦Ё¤ ­ЁҐ ЇаҐалў ­Ёп 0*/
			 goto wait_nkey1;
                   if(RI==1)return;  
	   EX0=0;
         delayi(0x23);  
         flg_irq0=0;
         nkey1=wrled_rdk1;		/*з⥭ЁҐ ॣЁбва®ў Є« ўЁ вгал*/
         nkey2=wrreg_rdk2;
	   i=inta_wrrg2;           /*бЎа®б § Їа®б  Є« ўЁ вгал*/
	switch (nkey1) {       /*ЇҐаҐе®¤л Ї® ­®¬Ґаг Є­®ЇЄЁ*/
		case 0x01 : return number=1;/*жЁда  7*/
		break;
		case 0x02 : return number=2;/*жЁда  4*/
		break;
		case 0x04 : return number=3;/*жЁда  1*/
		break;
		case 0x08 : return number=4;/*жЁда  0*/
		break;
		case 0x10 : return number=5;/*жЁда  8*/
		break;
		case 0x20 : return number=6;/*жЁда  5*/
		break;
		case 0x40 : return number=7;/*жЁда  2*/
		break;
		case 0x80 : return number=8;/*§ Їпв п*/
		break;
	}
	switch (nkey2) {       /*ЇҐаҐе®¤л Ї® ­®¬Ґаг Є­®ЇЄЁ*/
		case 0x01 : return number=9;/*жЁда  9*/
		break;
		case 0x02 : return number=10;/*жЁда  6*/
		break;
		case 0x04 : return number=11;/*жЁда  3*/
		break;
		case 0x08 : return number=12;/*F-дг­ЄжЁ®­ «м­ п Є­®ЇЄ */
		break;
		case 0x10 : return number=13;/*Їа®Ја ¬¬Ёа®ў ­ЁҐ*/
		break;
		case 0x20 : return number=14;/*ўў®¤*/
		break;
		case 0x40 : return number=15;/*ЇгбЄ*/
		break;
		case 0x80 : return number=16;/*бв®Ї*/
		break;
	}
}
Соседние файлы в папке МК7007БМ