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

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

Отправлено sergo_x 17 сентября 2005 г. 17:57

кину исходник сюда на всякий случай
#include <16F84a.H>
#fuses XT,NOWDT
#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(b)
#byte PORTB=6
int pos,dst,count=0;
long periodo,cap1,cap2;
#define in PIN_A0 //pin 17, C=10uf
#define cte 9375
byte const v[4]={0x10,0x20,0x40,0x80};
#int_global
void interrupts()
{
int W_TEMP,STATUS_TEMP;
//PUSH
#asm
movwf W_TEMP //Guardar W y STATUS
swapf STATUS,w
movwf STATUS_TEMP
bcf STATUS,RP0 //banco 0
#endasm
if(bit_test(INTCON,T0IF))
{
bit_clear(INTCON,T0IF);
  count++;
  if(posdst) pos--;
  PORTB=v[pos & 0x03];
}
if(bit_test(INTCON,INTF))
{
bit_clear(INTCON,INTF);
  #asm
  movf TMR0,w
  movwf cap2
  movf count,w
  movwf &cap2+1
  #endasm
  period=cap2-cap1;
  cap1=cap2;
}
//POP ****************************
  #asm
swapf STATUS_TEMP,W
MOVWF STATUS
SWAPF W_TEMP,F
SWAPF W_TEMP,W
  #endasm
}
void main()
{
 long TEMP,RPM;
 OPTION_REG=0x03; //Prescalar=/16
 INTCON=0b10110000; //GIE(7),T0IE(5),INTE(4)
 set_tris_b(0x00);
 set_tris_a(0x01);
 while(true)
 {
  TEMP=4000;
  while(!input(in) && TEMP) TEMP--;
  RPM=cte/period;
  dst=RPM;
 }
}

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

Ответы



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

E-mail: info@telesys.ru