Делал в Кейле так (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Андрей Сорокин 04 октября 2005 г. 14:36
В ответ на: просветите пожалуйста, как надо делать(+) отправлено <font color=gray>M@RS</font> 04 октября 2005 г. 13:04

Но для начала надо создать табличку соответствия ASCII символов семисегментному коду и переписать putchar();


sbit Data=P1^7;
sbit CLK=P1^6;

extern bit TI2;
extern bit RI2;

unsigned char SBUF2;

char putchar (char c) {
char count;
if (c == '\n') {
while (!TI2);
TI2 = 0;
SBUF2 = 0x0d; /* output CR */
count=8;
while(count--){
CLK=0;
Data=(SBUF2&0x80)?1:0;
CLK=1;
CLK=0;
SBUF2<<=1;
}
}
while (!TI2);
TI2 = 0;
SBUF2=c;
count=8;
while(count--){
CLK=0;
Data=(SBUF2&0x80)?1:0;
CLK=1;
CLK=0;
SBUF2<<=1;
}
TI2=1;
return (c);
}

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru