Это опять я
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено deb24 15 октября 2003 г. 08:49

ReAl исходни просил, вот он пожалйста:

#include
void initialization(void);
void delay(void);

//================================
void initialization(void)
{
DDRB = 0xff;
}
//---------------------------------
void delay(void)
{
register short i=5024;
while(i)i--;
}
//----------------------------------
void main (void)
{
register unsigned char mask;
initialization();
for(;;)
{
for(mask=0;mask<=8;mask++)
{
PORTB=~(1< delay();
}//for
}//for(;;)
}//main

все это компилится в 385 байт

а то, что ниже - в 137

;прога с бегущим огоньком

.include "2313def.inc"

.def TEMP = R16; //временный
.def VERT = R17; //здесь то, что вертеться будет
.def COUNT1 = R18;
.def COUNT2 = R19;

.org 0
rjmp START;

START:
ldi TEMP,RAMEND;
out SPL,TEMP; //stack
ser TEMP;
out DDRB,TEMP; //PORTB-все выходные
ldi VERT,0xFE;

LOOP:
out PORTB,VERT;
ser COUNT1;
ldi COUNT2,32;

WAIT:
dec COUNT1;
brne WAIT;
dec COUNT2;
brne WAIT;
mov TEMP,VERT;
rol TEMP;
rol VERT;
rjmp LOOP;

.exit

ICQ 203138235

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

Ответы



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

E-mail: info@telesys.ru