.
3. С. Бобровський Самовчитель програмування мовою С + + в системі Borland C + + Builder 4.0, Десс inforcom press, Москва 1999
. П. Кіммел та ін Borland C + + 5: пров. з англ.- СПб.: BHV - Санкт-Петербург, 1999. - 976 с., Мул.
5.sibsitus.nsk / ~ mavr <# «justify"> Додаток А
Лістинг доопрацьованій програми для мікроконтролера
# include
# include
# define MAXBASE 0x8
# define MyData 0x3
# define KB 0x0
/ *
Те, що ця комірка пам'яті знаходиться у зовнішній
пам'яті даних показує уточнююче слово xdata,
* /
unsigned int xdata conv_val [127]=0 ;/ / масив з 128 елементів
unsigned short CountMas=127 ;/ / кількість елементів у масиві
unsigned int IndexMas=0;
KBTable []=«147 * 2580369 # ABCD»; int NumChanel=8 ;/ / номер каналу для оцифровки
unsigned int OldChanel=8 ;/ / номер каналу для оцифровки
//******************************************************************************************************************//
/ / Функція запису значення регістра regnum.
/ *
вхідні дані:
* regnum - адреса регістра
val - записуване значення
повертається результат:
відсутня
* /
void WriteMax (unsigned char xdata * regnum, unsigned char val)
{char oldDPP=DPP;=MAXBASE;
* regnum=val;
DPP=oldDPP;
}
/ / Функція читання значення регістра regnum.
/ *
вхідні дані:
* regnum - адреса регістра
повертається результат:
значення регістра
* / char ReadMax (unsigned char xdata * regnum)
{char oldDPP=DPP; char val=0;=MAXBASE;=* regnum;=oldDPP; val;
}
//******************************************************************************************************************//
/ / Функція реалізує опитування клавіатури.
/ *
вхідні дані:
* ch - адреса буфера куди буде записаний прочитаний результат
повертається результат:
- у разі якщо натискання не було
1 - натискання було
* / ScanKBOnce (char * ch)
{char row, col, rownum, colnum; int i;
/ / Сканування виробляється по «стовпцях» клавіатури, на які подається
/ / «біжить 0». (colnum=0; colnum <4; colnum + +)
{= 0x1 << colnum;// 0001, 0010, 0100, 1000, 0001, ... (KB, ~ col);// 11111110, 11111101, 11111011, 11110111, 11111110, ...