PIC16F887 problema de Programação

M

mukundh225

Guest
Eu escrevi um código PIC simples de fazer todo o brilho dos LEDs na porta D. Por favor me diga se estou faltando alguma coisa. Meu código é # include # include / / # include / / # include # include # include # ifndef _XTAL_FREQ / / A menos que já está definido assumir 4MHz sistema de freqüência / / Esta definição é necessária para calibrar __ delay_us () e __ delay_ms () # define _XTAL_FREQ 4000000 # endif vazio main () {OSCCON = 0x65 / / calibrar o oscilador interno ... li sobre isso em dados 0x00 folha TRISD = / / configurando PORTD como saída (page57) PORTD = 0b00000000; while (1) {/ / PORTD = 0xFF; / / definindo todos os pinos de PORTD como RD0 alto = 1; RD1 = 1; RD2 = 1; RD3 = 1; RD4 = 1; RD5 = 1; RD6 = 1; RD7 = 1;} Também alguém poderia me dizer como fazer as conexões de alimentação. Eu tenho que ligar VPP / MCLR para um V. 5 Eu estou usando uma fonte de alimentação digital. Dou a 5 para Vdd (11 e 32) e -5 a Vss (12 e 31). Eu não sei como dar gnd conexão. Por favor me ajudem o mais rápido o meu prazo final do projeto está se aproximando. Graças Mukund
 
Hai, Aqui eu anexar esquema circuito básico para pic
 
Também alguém poderia me dizer como fazer as conexões de alimentação. Eu tenho que ligar VPP / MCLR para um V. 5 Eu estou usando uma fonte de alimentação digital. Dou a 5 para Vdd (11 e 32) e -5 a Vss (12 e 31). Eu não sei como dar gnd conexão. Por favor me ajudem o mais rápido o meu prazo final do projeto está se aproximando.
eu acho que MCLR é opcional .. 11 e 32 é +5 V. .... 12 e 31 é para a terra ...
 
eu acho que MCLR é opcional .. 11 e 32 é +5 V. .... 12 e 31 é para a terra ...
O problema é que eu tentei o que você está me dizendo mas ainda tenho um problema estranho. Liguei 8LEDs no porto B, bem como 8LEDs em Port D. recebo os LEDs brilhando na porta D quando eu programá-lo com esta configuração, mas quando eu remover 2LEDs de RB1 e RB2, os LEDs em Port d parar brilhante. Eu pensei que era por causa de alguma escassez interna e então eu comprei um PIC novo e ainda tenho o mesmo problema. Alguém sabe porque isso está acontecendo? Graças Mukund
 
sobre o seu programa: void main () {OSCCON = 0x65; TRISD = 0x00; PORTD = 0b00000000; while (1) {RD0 = 1; RD1 = 1; RD2 = 1; RD3 = 1; RD4 = 1; RD5 = 1; RD6 = 1; RD7 = 1;}}
 
Oi, MCLR tem uma função especial. Quando liga este a uma tensão = Vdd = 5v, neste caso, o microcontrolador é activo. Se você aterrar, então seu micro é reiniciado e pára de funcionar até que recebe uma tensão = Vdd = 5V. Então o que você deve fazer é conectar o pino MCLR ao +5 V através de um resistor de 10k e ligar um interruptor entre MCLR e terreno para repor. Conecte o Vcc e Vdd a Vss +5 V e GND. Espero que isso ajude. Tahmid.
 
Nesta imagem pic lá está um relógio externo, mas eu usei um relógio interno e eu espero que eu tenha definido os bits para direita relógio interno.
 
Os 2 LEDs no PORTB não acendem, eu assumo, desde que você não tê-los ligado ou desligado de qualquer forma. [COLOR = "Silver"] [size = 1] ---------- Post adicionada em 08:49 ---------- Mensagem anterior foi às 08:47 ---------- [/SIZE] [/color] Olá, eu acho que você bagunçou a pedaços de oscilador de configuração, como você usou:
Code:
 # ifndef _XTAL_FREQ / / A menos que já está definido assumir freqüência do sistema 4MHz / / Esta definição é necessária para calibrar delay_us __ () e __ delay_ms () # define _XTAL_FREQ 4000000 # endif
Mas, onde estão os bits # fusíveis. Acho que você precisa para definir os corretamente como você tem que definir os bits de configuração para INTRC nenhum relógio. Espero que isso ajude. Tahmid.
 
Tahmid, eu tenho o seu ponto, mas em relação à ligação. Eu recebo uma de +5 V com relação a apenas um ponto de 5v e não no chão no fornecimento de energia. Eu tentei ligar vss apenas terreno, mas depois eu medi a tensão de entrada vai em Vdd e foi 0v. Eu também tentei ligar o terminal negativo e gnd do fornecimento de energia n, em seguida, dando-lhe a Vss, mas ainda não fez uma grande diferença. Poderia ajudar-me mais sobre isso .. Graças Mukund
 
Adicionar
Code:
 # fusíveis INTRC_IO, NOWDT, NOPROTECT, NOCPD, NOBROWNOUT
[color = "Silver"] [size = 1] Post ---------- adicionado em 08:53 --- ------- Mensagem anterior foi às 08:52 ---------- [/SIZE] [/color]
Tahmid, eu tenho o seu ponto, mas em relação à ligação . Eu recebo uma de +5 V com relação a apenas um ponto de 5v e não no chão no fornecimento de energia. Eu tentei ligar vss apenas terreno, mas depois eu medi a tensão de entrada vai em Vdd e foi 0v. Eu também tentei ligar o terminal negativo e gnd do fornecimento de energia n, em seguida, dando-lhe a Vss, mas ainda não fez uma grande diferença. Poderia ajudar-me mais sobre isso .. Graças Mukund
+5 v com respeito a 5v-10v é realmente e provavelmente frita seu PIC. Conecte um novo PIC é vss para gnd e VDD de +5 V e depois medi-lo. Espero que isso ajude. Tahmid.
 

Welcome to EDABoard.com

Sponsor

Back
Top