collapse

* Posts Recentes

Boa compra este osciloscópio? por jm_araujo
[Hoje às 07:56]


Frequência máxima de pwm com controlo de duty cycle de 0 a 100% por Njay
[Ontem às 19:02]


Augmented reality AR por josecarlos
[23 de Maio de 2018, 22:14]


MKR Vidor4000 por josecarlos
[23 de Maio de 2018, 18:06]


Robô BBC micro:bit controlado com gestos no telemóvel Android por Tayeb
[22 de Maio de 2018, 13:11]


Programar ATTiny85 sem Arduino por hackeduca
[22 de Maio de 2018, 12:20]


[Técnico de Electrónica] Anuncios para "consoveyo" por KammutierSpule
[22 de Maio de 2018, 09:06]


PWM com ventoinha por jm_araujo
[21 de Maio de 2018, 11:24]


NiCd por NiMH? por jm_araujo
[20 de Maio de 2018, 11:46]


LusoRobótica - Website - Estado actual por TigPT
[19 de Maio de 2018, 22:34]

Autor Tópico: ADC interno do 8051 f330  (Lida 1302 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Tiago Silva

  • Mini Robot
  • *
  • Mensagens: 5
ADC interno do 8051 f330
« em: 22 de Maio de 2012, 12:21 »
Boas Tardes,
 Eu tenho um LM35 e queria usar o ADC interno do 8051 f330 mas não consigo entender os procedimentos que vem no datasheet.
 Alguem me pode ajudar pf. :)
Cumprimentos,
Tiago Silva

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.507
  • Helpdesk do sitio
Re: ADC interno do 8051 f330
« Responder #1 em: 22 de Maio de 2012, 17:31 »
Não parece ser muito complicado, a datasheet até é bastante boa comparada com algumas que já li.
Tens duvidas em que parte?
Avr fanboy

Offline Tiago Silva

  • Mini Robot
  • *
  • Mensagens: 5
Re: ADC interno do 8051 f330
« Responder #2 em: 22 de Maio de 2012, 19:11 »
Na parte de ler o valor e manda-lo para o registo
Cumprimentos,
Tiago Silva

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re: ADC interno do 8051 f330
« Responder #3 em: 23 de Maio de 2012, 11:08 »
No ponto 5.3.1 acho que explica bastante bem o que é preciso.

Creio que o que vais querer será:

  • No registo ADC0CN, fazer set a 1 do bit AD0BUSY. (Pag 45, fig 5.10. Bit nr 4)
  • Enquanto o bit estiver a 1 a leitura ainda nao terminou. Ele passa a zero quando a leitura terminar. Se quiseres podes associar esta mudança a uma interrupçao, mas isto é mais complicado para agora. O mais simples será num while ires ler o registo ADC0CN e ver se o bit 5 (AD0INT) está a 1 (quando fica a 1 a conversao terminou e os dados estao prontos).
  • No fim vais ler os registos ADC0H e ADC0L para buscar o valor.
  • Meter o bit AD0INT a 0.

Assim em 5 min de ler o datasheet. Força nisso.
Tr3s
Daniel Gonçalves