PIC16F1847 a falesne spinani vstupnich pinu na portu RA

Zdenek zdej na atlas.cz
Úterý Květen 28 11:51:13 CEST 2013


Používám něco podobného v ASM:
V přerušení na pozadí ukládám stav vstupů do posuvných registrů (SW). Takže
mám pak k dispozici časový průběh na vstupech a ten následně vyhodnocuji.
Většinou podle toho, jestli potřebuji reagovat na hranu nebo na ustálený
stav.

Zdeněk

-----Original Message-----
From: hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz] On
Behalf Of Robert Baranka
Sent: Tuesday, May 28, 2013 10:51 AM
To: HW-news
Subject: Re: PIC16F1847 a falesne spinani vstupnich pinu na portu RA

Zdravim.
Zoberme si vyvojovu dosku s 16F1937 (zapojenie v Enhanced mTouch Capacitive
Touch Evaluation Kit.pdf -
http://ww1.microchip.com/downloads/en/DeviceDoc/41385F.pdf)
Ta ma na vstupe len seriove rezistory 4K7. Je vyvojova, nie do priemyslu, na
pokusy ako stvorena.
Majme:
#include <16F1937.h>
#fuses
INTRC_IO,NOPROTECT,MCLR,NOWDT,NOPUT,NOBROWNOUT,NOLVP,NODEBUG,NOVCAP,NOFCMEN,
NOIESO
#use delay(clock=32M)

int8 value;

void main (void)
{
 setup_oscillator(OSC_8MHZ|OSC_NORMAL|OSC_PLL_ON);
 setup_adc(ADC_OFF);
 setup_adc_ports(NO_ANALOGS);
 setup_dac(DAC_OFF);
 setup_comparator(NC_NC_NC_NC);
 setup_lcd(LCD_DISABLED);

 int8 i;
 value=1;
 for (i=0;i<8;i++)
 {
  output_d(value);
  value=(value<<1);
  delay_ms(250);
 }
 output_d(0);
 delay_ms(250);

 while (1)
 {
  value=input_a();
  value=(~value);
  output_d(value|0b11010000);
  delay_ms(250);
 }
}

Pokial je vstup "vo vzduchu", blika led prislusneho vstupu, pokial vstup
"uzemnim" rezistorom 100K (vacsi som vcera vecer nemal po ruke), mozem robit
co chcem, led rozsvietim len pripojenim na vcc.
Mozno sa mylim, ale pravdepodobne je problem aj v niecom inom, alebo ste
lepsou antenou ako ja :-) Podotykam, ze nemam nic proti pouzitiu akychkolvek
pomocnych prvkov.
Robo

PS mimochodom, tiez pouzivam spinanie proti zemi



Další informace o konferenci Hw-list