Maskinnära programmering 6B2266
Maskinnära programmering 6B2266
Maskinnära programmering 6B2266
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
PIC16F874<br />
Blinkfrekvensen styrs av potentiometern<br />
/* ADtest.c testprogram for 16f874 */<br />
/* Blinkfrequency at RD0 varies with voltage on AN0 */<br />
#include "16f874.h"<br />
#pragma config |= 0x3ff2<br />
#pragma bit out @ PORTD.0<br />
void main(void)<br />
{<br />
char i, j, answer, blinktime;<br />
TRISD.0 = 0; /* lightdiode at RD0 is output */<br />
out = 1;<br />
/* AD Setup. Se help Script! */<br />
/* "fosc/8"."AN0"."go=0"."-"."on" */<br />
ADCON0 = 0b01.000.0.0.1;<br />
/* "leftjust"."fosc/8"."--"."internal ref, Vref+=Vcc, Vref-=Vss" */<br />
ADCON1 = 0b0.1.00.1110;<br />
TRISA.0 = 1; /* AN0 is input */<br />
while(1)<br />
{<br />
char i = 3; do ; while ( --i 0); /* wait tACQ */<br />
GO=1; /* start AD */<br />
while(GO); /* wait for done */<br />
blinktime = ADRESH; /* read result 8 msb */<br />
/* double loop i,j generates blinkfrequency */<br />
for( i=0;i < blinktime; i++)<br />
{<br />
for( j=0;j < 250; j++);<br />
}<br />
/* toggle lightdiode on/off */<br />
out = ! out;<br />
}<br />
}<br />
51