joão leopoldino
-
Posts
5 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por joão leopoldino
-
-
5 minutos atrás, Isadora Ferraz disse:
ok. (achei que estava no forum eletronica)
Seguinte, não mexa no oscon e ostune: deixe o default dele e ve que merdadá. E tens razão:se não precisa de precisão absoluta, é uma boa usar os osc int. E confira no ds se é 1mhz mesmo.
Uma ideia pra ajustar caso precise lé: um programa que pisca um led e lê um botão e incremente o valor do ostune. Com ajuda de um osciloscópio você ve quando a freq está a contento. Sorry, até que posso mas prefiro não ajudar com asm. Se fosse c, quem sabe...
Sucessos...
legal mas muito obrigado vou continuar quebrando a cabeça
-
2 minutos atrás, isadora ferraz disse:
olá welcome. aqui tem uma seção só pra mc, sabia? mas enfim, vejamos...
seu mc permite ajustar a freq pra 1mhz? se sim, uma olhadela básica no datasheet dele penso que lhe pode ser útil. p.ex. pode ser só questão de ajustar os fusíveis ou algum registro. olha o que penso destes registros que você menciona: oscon: controle do oscilador on the fly e ostune: microajustes. mostre seu programa e mostre como interpretou o ds que a gente tenta fazer a conexão. pode ser coisa simples.
perdão mas permiti-me não ver o ds ok?
e um pisca pisca ele pisca de um em um segundo poderia mudar a rotina de delay para mudar o tempo
so que muitas das vezes nao temos o cristal e usar o cristal interno e uma opção este e o codico
;************************************************************************************
; programa – pisca pisca
;************************************************************************************
; arquivos de definicoes
;************************************************************************************
#include;arquivo padrão microchip para pic16f628a
;************************************************************************************
; bits de configuração
;************************************************************************************
; __config _wdt_on & _pwrte_on & _boden_off & _lvp_off & _cp_off &_intrc_io ;_xt_osc
;************************************************************************************
; paginacao da memoria
;************************************************************************************
;comandos para alteracao de pagina de memoriabank0 macro ;macro para selecionar banco 0
bcf status,rp0
bcf status,rp1
endm ;fim da macro bank0bank1 macro ;macro para selecionar banco 1
bsf status,rp0
bcf status,rp1
endm ;fim da macro bank1;************************************************************************************
; variaveis
;************************************************************************************
;enderecos das variaveis utilizadas pelo sistema
;variaveis so reconhecidas no banco 0 de memoriacblock 0x20 ;endereco inicial da memoria do usuario
temp
temp1 ;0x23 - registrador temporario
temp2 ;0x24 - registrador temporario 2
endc ;fim do bloco de memória;************************************************************************************
;variaveis com espelho em todos os bancos de memoria. reconhecidas em qualquer banco.;************************************************************************************
; constantes
;************************************************************************************
;constantes utilizadas pelo sistema.#define led pórtb,0
;************************************************************************************
; flags
;************************************************************************************
;registrador flags
;************************************************************************************
; entradas
;************************************************************************************
;pinos que serao utilizados como entrada#define botao1 porta,1 ;0 --> pressionado ;1--> liberado
#define botao2 porta,2 ;0 --> pressionado
;1 --> liberado#define botao3 porta,3 ;0 --> pressionado
;1 --> liberado;************************************************************************************
; saidas
;************************************************************************************;************************************************************************************
; inicializa a eeprom
;************************************************************************************;************************************************************************************
; vetor de reset
;************************************************************************************
org 0x00
goto inicio;************************************************************************************
; interrupcao
;************************************************************************************
;as interrupcoes nao serao utilizadas
org 0x04 ;endereco inical da interrupcao
retfie ;retorna da interrupcao;************************************************************************************
; inicio
;************************************************************************************
iniciobank1
_intosc_clkout
movlw b'01000100' ;altera para banco1
movwf osccon
movlw b'00011111'
movwf osctune
movlw b'00000000'
movwf trisa ;define ra1, ra2 e ra3 como entrada e demais
;como saida
movlw b'00000000'
movwf trisb ;define o portb como saída
movlw b'00000000'
movwf option_reg ;prescaler 1:32 no tmro
movlw b'00000111' ;configura ra3:ra0 com i/o
movwf adcon1 ;tmr0 incrementado pelo ciclo de instrucao
;aplica prescaler ao tmr0
;pull_ups desabiliados
;demais bits irrelevantes
movlw b'00000000' ;interrupcoes desabilitadas
movwf intcon
bank0 ;ativa banco 0
movlw b'00000111' ;configura ra3:ra0 com i/o
movwf adcon0;************************************************************************************
; inicializacao das variaveis
;************************************************************************************clrf porta ;limpa porta
clrf portb ;limpa portb
clrf temp
clrf temp1
clrf temp2
;************************************************************************************
; rotina principal
;************************************************************************************main
call delay
bsf portb,0
call delay
bcf portb,0
goto main
;************************************************************************************
delay
movlw .100
movwf temp
s1
movlw .32
movwf temp1s2
movlw .16
movwf temp2
s3
decfsz temp2,f
goto s3
decfsz temp1,f
goto s2
decfsz temp,f
goto s1
return
;************************************************************************************
end ;fim do programa
;************************************************************************************ -
sou novo no Clube do Hardware quero parabenizar todos que fazem parte deste topico
trabalho com eletronica a muitos anos gosto muito mas agora resolvi brincar com os microcontroladores
ja faço pisca pisca botao e led domino quase bem as rotinas de delays
mas agora me deparei com um problema configurar o oscilador interno para 1mhz do pic 16f818
e estou tomando um coro daqueles ja fiz de tudo nos osccon e osctune e nada
alguem poderia por gentileza salvar desde ja agradeço so sei assembly
nao consegui aprender c++
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais
microcontroladores
em Microcontroladores
Postado
nada feito se eu colocar _xt_osc_ & funciona legal mas com cristal externo ? interno nada