// 14 - режим ввода длительности звонков (в секундах)char m; // определяет номер текущей позиции внутри данного режима
// изображение чисел 0 1 2 3 4 5 6 7 8 9unsigned char DigitL[10]={0xFF, 0x30, 0xEE, 0xFC, 0x31, 0xDD, 0xDF, 0xF0, 0xFF, 0xFD}; // младший байт
const unsigned char DigitH[10]={0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x11, 0x11}; // старший байт
// изображение букв K(0) A(1) Г(2) О(3) Д(4) М(5) Е(6) С(7) Н(8) Ч(9) И(10) Ь(11) |(12) Х(13) У(14) Т(15) З(16) В(17) /(18) Р(19) Я(20) Л(21)
const unsigned char LetterL[22]={0x03, 0x30, 0xC3, 0xFF, 0x3C, 0x33, 0xCF, 0xCF, 0x33, 0x31, 0x33, 0x1F, 0x03, 0x00, 0x3D, 0xC0, 0xCC, 0xCF, 0x00, 0xE3, 0xF1, 0x30};unsigned char LetterH[22]={0x29, 0x32, 0x00, 0x00, 0x22, 0xA0, 0x11, 0x00, 0x11, 0x11, 0x22, 0x11, 0x00, 0xAA, 0x11, 0x44, 0x29, 0x29, 0x22, 0x11, 0x13, 0x22};
// массив позиций 0 1 2 3 4 5unsigned char Pos[6]={0x7C, 0xBC, 0xDC, 0xEC, 0xF4, 0xF8};
unsigned short int k=0; // переменная для задержки
// -
// вывод на LED-дисплей символа на позицию PosSymbOut (char SymbolL, char SymbolH, char Pos, char Dot)
{(Dot) Pos+=(1<<1);=0;(i=0; i<8; i++) // передаем младший байт изображения символа на регистр сдвига
{=(((1<<i)&(SymbolL))>>i);=1;=0;
}=1;=0; (i=0; i<8; i++) // старший байт изображения
{=(((1<<i)&(SymbolH))>>i);=1;=0;
}=1;=0;(i=0; i<8; i++) // байт позиции
{=(((1<<i)&(Pos))>>i);=1;=0;
}=1;=0;=1;
}
// -
// вывод на LED-дисплей всех необходимых в данный момент символов на соответствующие позиции
void LedOutput(void)
{(j=0; j<7; j++) ((1<<j)&SymPlace)((1<<j)&DotPlace) SymbOut (Symbols[j], Symbols [j+6], Pos[j], 1);SymbOut (Symbols[j], Symbols [j+6], Pos[j], 0);
}
// -
// записываем в SymPlace, DotPlace и массив Symbols[12] данные, соответствующие текущему режиму настройки
void SymbolEnter(void)
{(Mode)
{1: // режим главного меню(m)
{1: // находимся на позиции «установка даты»
SymPlace=0x3F;=0x09;[0]=LetterL[15];[6]=LetterH[15];[1]=LetterL[1];[7]=LetterH[1]; [2]=LetterL[4];[8]=LetterH[4];[3]=LetterL[15];[9]=LetterH[15];[4]=LetterL[7];[10]=LetterH[7];[5]=LetterL[14];[11]=LetterH[14]; ;
case 2: // находимся на позиции «установка времени звонков»
SymPlace=0x3F;=0x09;[0]=LetterL[8];[6]=LetterH[8];[1]=LetterL[17];[7]=LetterH[17];
Symbols[2]=LetterL[16];[8]=LetterH[16];[3]=LetterL[15];[9]=LetterH[15];[4]=LetterL[7];[10]=LetterH[7];[5]=LetterL[14];[11]=LetterH[14];
break;
case 3: // находимся на позиции «выход»
SymPlace=0x3F;=0x00;[0]=LetterL[4];[6]=LetterH[4];[1]=LetterL[3];[7]=LetterH[3]; [2]=LetterL[13];[8]=LetterH[13];[3]=LetterL[12];[9]=LetterH[12];[4]=LetterL[11];[10]=LetterH[11];[5]=LetterL[17];[11]=LetterH[17];;
};2: // режим установки времени и даты(m)
{1: // находимся на позиции «год»
SymPlace=0x38;=0x00;[3]=LetterL[4];[9]=LetterH[4];[4]=LetterL[3];[10]=LetterH[3];[5]=LetterL[2];[11]=LetterH[2];;
case 2: // находимся на позиции «месяц»
SymPlace=0x38;=0x00;[3]=LetterL[7];[9]=LetterH[7];[4]=LetterL[6];[10]=LetterH[6];[5]=LetterL[5];[11]=LetterH[5];;
case 3: // находимся на позиции «число»
SymPlace=0x38;=0x00;[3]=LetterL[7];[9]=LetterH[7];[4]=LetterL[10];[10]=LetterH[10];[5]=LetterL[9];[11]=LetterH[9];;
case 4: // находимся на позиции «день недели»
SymPlace=0x38;=0x00;[3]=LetterL[8];[9]=LetterH[8];[4]=LetterL[18];[10]=LetterH[18];[5]=LetterL[4];[11]=LetterH[4];;
case 5: // находимся на позиции «час»
SymPlace=0x38;=0x00;[3]=LetterL[7];[9]=LetterH[7];[4]=LetterL[1];[10]=LetterH[1];[5]=LetterL[9];[11]=LetterH[9];;
case 6: // находимся на позиции «минута»
SymPlace=0x38;=0x00;[3]=LetterL[8];[9]=LetterH[8];[4]=LetterL[10];[10]=LetterH[10];[5]=LetterL[5];[11]=LetterH[5];;
case 7: // находимся на позиции «выход»
SymPlace=0x3F;=0x00;[0]=LetterL[4];[6]=LetterH[4];[1]=LetterL[3];[7]=LetterH[3]; [2]=LetterL[13];[8]=LetterH[13];[3]=LetterL[12];[9]=LetterH[12];[4]=LetterL[11];[10]=LetterH[11];[5]=LetterL[17];[11]=LetterH[17];;
};
// режимы ввода:3: // года4: // месяца
case 5: // числа6: // дня недели7: // часов8: // минут10: // количества звонков=0x3B;
DotPlace=0x00;=m/10;[0]=DigitL [m-d*10];[6]=DigitH [m-d*10]; [1]=DigitL[d];[7]=DigitH[d];;9: // режим установки звонков(m)
{1: // находимся на позиции «количество звонков»
Амплитудная модуляция
Исследование
различных видов модуляции необходимо для определения требуемых свойств каналов,
сокращения избыточности модулированных сигналов и улучшения исп ...
Расчет основных параметров радиоканала и радиопередающей части радиоканала
Приемопередающее
устройство - это источник и приемник радиочастотных колебаний в системах
радиосвязи, телевидения, радиолокации и других. Назначение приемоп ...
Проектирование двухполупериодного выпрямителя и Г-образного индуктивно-емкостного фильтра
Электроника
это наука, которая охватывает не только технику слабых токов, но технику
сильных токов, обычно относящихся к электротехнике, поскольку она опер ...