LusoRobótica - Robótica em Português
Sistemas específicos => Arduino / AVR => Tópico iniciado por: dio123 em 11 de Dezembro de 2012, 23:59
-
Boa noite,
A uns tempos a trás achei um at89s52 numa box televisão francesa, e no fim de semana construi o usbasp.
Hoje montei este circuito (https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi54.tinypic.com%2Fawwajq.png&hash=efb2f00f5790bffdf3da683404e27fe2b6578d9a)
Fiz o programa no keil so ficar ligado porta 3 ligada e a 4 desligada . E testei no proteus tudo ok.
Fiz o upload para o at89s52 com proisp tambem tudo ok. O led 3 ligado 4 desligado.
Acontece que o led está aceso mas muito fraquinho.
pensei que fosse por estar a alimentar pelo usbasp. peguei numa pilha 9v mais 7805 e o resultado é o mesmo.
Até exprimentei ligar o led sem resistencia mas a intensidade fica igual.
Troquei led e porta e o resultado é o mesmo.
O que está aqui mal?
-
Duas coisas, o link da foto (que até podias colocar directamente a foto aqui), e a ligação do cristal, nenhum terminal dele deve ser ligado ao gnd
-
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fi54.tinypic.com%2Fawwajq.png&hash=efb2f00f5790bffdf3da683404e27fe2b6578d9a)
-
Montei o circuito deste tutorial http://www.8051projects.info/content/8051-tools/14-usb-8051-avr-programmer.html (http://www.8051projects.info/content/8051-tools/14-usb-8051-avr-programmer.html). Mas o problema continua.
O problema é que os pinos ON ficam apenas com 1.75v. Porque? o que está mal?
Já remontei o circuito 3 vezes mas está bem não vejo qualquer problema.
O codigo que estou a usar é.
#include <REGX52.h>
#include <math.h>
void main(){
while(1){
P1_0 = 0; //Turn ON the LED
P1_1 = 1; // Turn OFF the LED
P1_2 = 0; //Turn ON the LED
P1_3 = 1; // Turn OFF the LED
}
}
-
Não estás a definir os pinos como saidas, o que estás a fazer é a ligar e desligar os pull-ups e ter os pinos como entradas.
-
Boa tarde,
Descobri que a ligação dos leds estavam mal.
tinha pino-resistencia-led-gnd.
e é vcc-resistencia-led-pino.
Outro problema é que ainda nao descobri como defino o p1^2 como saida.
Deve ser algo tipo p1^2 = 0xff; mas nao encontro nada.
Vi vários exemplos da net mas nenhum tem como definir o pino/porta como saida.
este foi o exemplo de blink led mais completo que encontrei http://pastebin.com/F3yeTPZk (http://pastebin.com/F3yeTPZk)
Todos os outros tem +/- a mesma coisa.
Estou a usar keil uVision4.0 para compilar há melhor que isto?
obrigado
-
Neste micro não defines nada como saída ou entrada, ou lês o pino ou metes o valor lá dentro.