FIO2DIR = 0x00FF; // Aeou 0-7 ii?oa 2 ia auaia aey oi?aaeaiey naaoiaeiaaie
FIO2MASK = 0; // Ana ?ac?yau ii?oa 2 ?aaioa?o a auno?ii ?a?eia
FIO2PIN = 0x00; // Auee??eou naaoiaeiau
InitVIC();
InitTimer0();
InitWH1602D();
LCD_Test();
//String2LCD((char *)LCD_Info, 8);
while(1)
{
}
return 0;
}
б) одной строкой:
String2LCD((char *)LCD_Info, 8);
Задание 2.
Модифицировать программу таким образом, чтобы вместо текста на ЖКИ модуле отображались текущий день, месяц и год.
а) по символьно:
void LCD_Test()
{
WriteToIR(0x01);
Delay(2000);
WriteToDR('1');
WriteToDR('2');
WriteToDR('.');
WriteToDR('1 ');
WriteToDR('2');
WriteToDR('.');
WriteToDR('1');
WriteToDR('1');
}
б) однойстрокой:
const char LCD_Info [] = "13.12.11";
Задание 3.
Модифицировать программу таким образом, чтобы на ЖКИ модуле отображалось непрерывно увеличивающееся число от 0 до 9.
void LCD_Test()
{
WriteToIR(0x01);
Delay(2000);
WriteToDR('chislo');
}
while(1)
{
if(event)
{
event=0;
if(chislo <=9)
{
LCD_Test();
chislo ++;
}
else
chislo =0;
}
}
Задание 4.
Написать программу секундомера.
void LCD_Test()
{
WriteToIR(0x01);
Delay(2000);
WriteToDR(0x30 + min1);
WriteToDR(0x30 + min2);
WriteToDR(0x3A);
WriteToDR(0x30 + sek1);
WriteToDR(0x30 + sek2);
}
event=0;
min1=min2=sek1=sek2=0;
work=0;
while(1) // Loop forever
{
if(!(FIO0PIN&0x0020))
work=1;
if(!(FIO0PIN&0x0080))
{
min1=min2=sek1=sek2=0;
LCD_Test();
}
while(work==1)
if(event==1)
{
LCD_Test();
event=0;
sek2++;
if(sek2>9)
{
sek2=0;
sek1++;
}
if(sek1>5)
{
sek1=0;
min2++;
}
if(min2>9)
{
min2=0;
min1++;
}
if(min1>5)
min1=0;
if(!(FIO0PIN&0x0040))
work=0;
if(!(FIO0PIN&0x0080))
{
min1=min2=sek1=sek2=0;
LCD_Test();
}
}
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.