877 Naujokas

E

ergen

Guest
Hi there,

Aš ką tik atnaujinti savo MCU's iš 16F628 į 16F877A ir i daug problemų now.I dar neturite idėjų, kaip naudoti it.Let mane apibūdinti mano project.It toks paprastas, bet i cant do it.I turėti 16F877 , max232, 2 lemputės, 4 dangtelius (1uf), 2 keraminių dangtelius (22 pf), yra xtall (4MHz), 3 rezistorius (10Kohm, 2 * 220 Ohm). Noriu priemonė 0-5V įtampa per pic ir siunčia jas į computer.Let mane apibūdinti mano grandine.Aš prijungtas 10K res tarp PIN1 ir
5 V.I prijungtas pin11, pin32 į
5 V.I prijungtas pin12, pin31 į GND.I prijungtas žalia atvedė ( ) Kaisčiai į pin38, (-) Kaisčiai su res 220 ohm ir kitų Kaisčiai iš res 220 ajame gnd.I prijungtas xtall tarp pin12 ir pin13.I prijungtas 22pf į xtall PIN1 ir kitų 22 pf dangtelį į xtall pin 2, kita kaiščių kepurės į GND.I ryšio ( ), raudonas vadovauja Kaisčiai į 5 V, (-) Kaisčiai kitų res 220 ohm ir kitų Kaisčiai RES į GND.I prijungtas 1 uf riba tarp max-PIN1 ( ) ir max-pin 3 (-). Kitas 1 uf riba tarp max-pin4 ( ) ir max-pin5 (-) ir 1 uf riba tarp max-pin16 (-) ir max-PIN2 ( ) .1 uf riba tarp max-pin6 (-) ir Max-pin15 ( ). Aš prijungtas Max-pin ( 16) iki
5 V ir Max-pin (15) GND.Then i pakrauta šią programą pic16F877A ir i davė įtampa ir nieko happened.Even paskatino prijungtas prie Pic-Pin38 nebuvo įjungti

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />

(Kol kas tai? Kodas yra rodomas žemiau (i naudoti CCS c Kompiliavimo 3,155):

project.c:

#
include "C: \
work \ Project.h"void main () (

int vertę;
setup_adc_ports (A_ANALOG);
setup_adc (ADC_CLOCK_INTERNAL);
setup_psp (PSP_DISABLED);
setup_spi (FALSE);
setup_counters (RTCC_INTERNAL, WDT_18MS);
setup_timer_1 (T1_DISABLED);
setup_timer_2 (T2_DISABLED, 0,1);
setup_comparator (NC_NC_NC_NC);
setup_vref (FALSE);printf ( "Atranka");

set_adc_channel (0);

do (
delay_ms (100);
vertė = Read_ADC ();
printf ( "\ n \ rValue:% 2X", vertė);
output_high (PIN_B5);
) While (TRUE);)

project.h:

#
include <16F877A.h>
# prietaisas ADC = 8
# naudoti vėlavimą (laikrodis = 4000000)
# saugikliai SS, WDT
# naudoti rs232 (Baud = 9600, pariteto = N xmit = PIN_C6, VB = PIN_C7, bitai = 8)

 
Matau 4 problemas čia:
į XTAL turi būti prijungtas tarp pin 13 ir 14, o ne nuo pin 12 ir 13.

Kur inicijuoti TRISB už Porb Bit5 yra produkcija?
Po atkurti visus uostus sąnaudas!

Tikrinti programa WDT saugiklių, bet ne trinti watchdog periodiškai.
Taigi, jūsų programa bus anuliuoti visi 18 mS pagal sergėtojas.

Jūs taip pat turite programa DERINIMUI saugiklis kitaip jūsų programa negalės veikti.
Jis taip pat yra gera idėja programa boren (patamsėjimais naujo) saugiklis.

hope this helps, best regards

 
Labas,

Aš vietoj to uosto, kuriame whe paskatino yra connected.I prijungti jį PORTD7 ir i pakeičiau savo kodą į šį:

#
include <16F877A.h>
# naudoti vėlavimą (laikrodis = 4000000)
# saugikliai XT NOWDT, NOPROTECT, patamsėjimais, PP, NOLVP

void main ()
(

o (1)
(
output_high (PIN_D7);
delay_ms (500);
output_low (PIN_D7);
delay_ms (500);
)
)

Aš prijungtas xtall betw.pin13-14.I prijungtas 22 pf riba tarp pin13 ir GND.I prijungtas 22 pf riba tarp pin14 ir GND.I prijungtas paskatino į pin30, paskatino į Res 330ohm ir kitų Kaisčiai iš res330ohm į GND.Last visus i prijungtas res 4,7 Kohm tarp 5 V ir pin1.I rengiami ir parašė pic ir tegul jis veikia, bet neveikia!Kas dar, be kurių negaliu suprasti

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Liūdnas" border="0" />Čia yra mano schema, kad i naudoti dabar:Ergen.
Atsiprašome, bet jums reikia prisijungti, kad galėtumėte peržiūrėti šį priedą

 
Jūs bandėte paprasta programa, pasukite vieną LED on / off?tik įsitikinkite, kad programa gerai veikia?i buvo panaši problema su 16F877 veikia @ 20MHz.apkrovos programą, bet nieko veikia ...Tada ir pasikeitė 2 kondensatoriai aplink mano Xtal iš 33pF į 10pF kiekvienam.

Tada ji dirbo.

Btw - rodyti 4MHz Xtal 2 x 33pF kepurės veikia.bet 20Mhz ir pačios kepurės nėra.

Mr.Cool

 

Welcome to EDABoard.com

Sponsor

Back
Top