Páginas: [1] 2   Ir para o fundo
  Imprimir  
Autor Tópico: [PIC] Preciso de um codigo assembler simples, para eu iniciar.  (Lida 1037 vezes)
JF_M
Fusivel
*
Offline Offline

Mensagens: 15


« em: Outubro 23, 2007, 14:32:58 »

Esto a iniciar-me na programação de pic 16F84, mas com muitos dificuldades, pois o Assembler é complicado.
E alguns exemplos que tenho tirado da net tem erros.
Se alguém pode-se dar um jeito neste programa agradecia. ou compilar da quatro erros.
Mas se achar melhor mandar-me um código, mas tem que ser uma cena pequena, do tipo acender e apagar um led.
cumprimentos.   

;**************************************************
; Pic by example
;
; LED.ASM
; Lampeggiatore ad un led
;
; (c) 1998, Sergio Tanzilli (tanzilli@picpoint.com)
;
; http://www.picpoint.com
;**************************************************


        PROCESSOR       16F84
        RADIX           DEC
        INCLUDE         "P16F84.INC"

LED     EQU     0

        ORG     0CH

Count   RES     2

        ;Reset Vector
        ;Punto di inizio del programma al reset della CPU

        ORG     00H

        bsf     STATUS,RP0

        movlw   00011111B
        movwf   TRISA

        movlw   B'11111111'
        movwf   PORTB

        bcf     STATUS,RP0

        bsf     PORTB,LED

MainLoop
   call Delay

   btfsc   PORTB,LED

   goto   SetToZero

   bsf   PORTB,LED
   goto   Mainloop
   
   SetToZero
      bcf PORT,LED
      goto Mainloop

Delay
   clrf   Count
   clrf   Count+1

DelayLoop
   decfsz   count,1
   goto   DelayLoop
   decfsz   Count+1,1
   goto   DelayLoop
   retlw   0
   

   END
         
« Última modificação: Novembro 08, 2007, 18:30:20 por resinba » Registado
faleieu
Transistor
**
Offline Offline

Mensagens: 91



« Responder #1 em: Outubro 23, 2007, 22:24:56 »

eu tenho cá uma cena com assembly mas nao consigo anexar. so se te enviar po teu mail.
fika bem
Registado

faleieu4ever
resinba
Moderador Global
Cristal
*****
Offline Offline

Mensagens: 449


« Responder #2 em: Outubro 25, 2007, 23:42:23 »

;**************************************************
; Pic by example
;
; LED.ASM
; Lampeggiatore ad un led
;
; (c) 1998, Sergio Tanzilli (tanzilli@picpoint.com)
;
; http://www.picpoint.com
;**************************************************




        PROCESSOR       16F84
        RADIX           DEC
        INCLUDE         "P16F84.INC"

LED     EQU     0

        ORG     0CH

Count   RES     2

        ;Reset Vector
        ;Punto di inizio del programma al reset della CPU

        ORG     00H

        bsf     STATUS,RP0

        movlw   00011111B
        movwf   TRISA

        movlw   B'11111110'
        movwf   PORTB

        bcf     STATUS,RP0

        bsf     PORTB,LED

MainLoop
   call Delay

   btfsc   PORTB,LED

   goto   SetToZero

   bsf   PORTB,LED
   goto   MainLoop
   
   SetToZero
      bcf PORTB,LED
      goto MainLoop

Delay
   clrf   Count
   clrf   Count+1

DelayLoop
   decfsz   Count,1
   goto   DelayLoop
   decfsz   Count+1,1
   goto   DelayLoop
   retlw   0
   

   END


Erro resolvido Wink Wink Wink Wink

:020000040000FA
:1000000083161F308500FE308600831206140E20F2
:1000100006180C2806140728061007288C018D01E5
:0A0020008C0B10288D0B1028003403
:00000001FF

Hex encontra-se em cima.
Registado

Por favor, alterem o meu email no msn pois tenho outro email dedicado aos foruns, e vou bloquear todos os que se encontram no antigo email.
Hugu
Chip
*****
Offline Offline

Mensagens: 543



« Responder #3 em: Outubro 26, 2007, 00:22:19 »

Foi só um "1" ?! lol.. isso é k é olho!  Wink

Gostava tb de saber o k faz esse código..,alguem pode explicar? ..é k tb tou-me a iniciar nos pic's e ja quase tenho um gravador montado e aproveitava esse código pra testar..  Sorridente


Abr
p.s.: Sugestão: era porreiro k o ppl, q tivesse ou soubesse de códigos, pudesse postar e assim criar-se uma biblioteca/colectânea de códigos para os pic's!
« Última modificação: Outubro 26, 2007, 00:33:52 por Hugu » Registado

Keyboard not found. Press any key to continue.
------
AVALIAÇÃO
VENDO
COMPRO
resinba
Moderador Global
Cristal
*****
Offline Offline

Mensagens: 449


« Responder #4 em: Outubro 26, 2007, 00:44:33 »

esse código pura e simplesmente acende e apaga um led, nada mais, se o cristal for de 4MHz, o led ficará aceso por um período de cerca de 200ms, mas se baixarmos a frequência do cristal o período do led tanto aceso como apagado aumenta numa relação linear.
Registado

Por favor, alterem o meu email no msn pois tenho outro email dedicado aos foruns, e vou bloquear todos os que se encontram no antigo email.
José Flor
José António Flor de Sousa
Chip
*****
Offline Offline

Mensagens: 1 054


OzFlor - José Flor


WWW
« Responder #5 em: Outubro 26, 2007, 03:10:57 »

Eu corrigui uma data de erros do MPL SIM
Ex.
movlw   00011111B
deve ser:
movlw   B'11111110'

Noutros casos estava uma palavra escrita de uma forma dirente duas vezes, ex. MainLoop é diferente de Mainloop (fonte case).
Eu corrigui uma data de erros.
No teste do código fonte, ele nunca sai deste loop:
DelayLoop
   decfsz   count,1
   goto   DelayLoop

Resumindo, não funciona.



Este link; http://www.fortunecity.com/greenfield/bypass/314/PIC/gravador_pic.htm
É um gravador de PIC, o mesmo autor, um Brasileiro professor de PICs. Pertence a uma aula bem boa sobre PIC16F84A. Ai o amigo pode praticar tudo isso. Dê uma olhada, vale a pena.
José Flor
Registado

Hugu
Chip
*****
Offline Offline

Mensagens: 543



« Responder #6 em: Outubro 26, 2007, 15:21:00 »

Este link; http://www.fortunecity.com/greenfield/bypass/314/PIC/gravador_pic.htm
É um gravador de PIC, o mesmo autor, um Brasileiro professor de PICs. Pertence a uma aula bem boa sobre PIC16F84A. Ai o amigo pode praticar tudo isso. Dê uma olhada, vale a pena.
José Flor

Caro José Flor, é possivel arranjar o esquema desse gravador, a trilha, em formato *.bmp, *.jpeg ou mm *.tif?

Eu vou fazer um gravador de PIC's pela 1ª vez e estive para fazer esse gravador, mas acabei por escolher um outro, este, ainda c menos componentes e k tinha acesso à trilha em formato universal e é o k estou a montar de momento. Mas acho k me ja tou a arrepender pk n tem led's indicadores...  Embaraçado  ..mas vou continuar e rezar pra k faça tdo direitinho para n ter probes!  Lingua

Mas se alguem puder deixar a pcb desse professor Brasileiro em formato universal, agradecia mto!
Ou se alguem tiver pachorra para analisar este gravador e me puder indicar co implementar os led's indicadores entao ainda ficava mais super agradecido!


Abr
Registado

Keyboard not found. Press any key to continue.
------
AVALIAÇÃO
VENDO
COMPRO
resinba
Moderador Global
Cristal
*****
Offline Offline

Mensagens: 449


« Responder #7 em: Outubro 26, 2007, 23:58:52 »

Pessoal caso não tenham reparado eu corrigi o código, corri o dito até este dar certo no MPLAB SIM,tambem pus a papinha em HEX, ou seja o ficheiro que tem de carregar no PIC, aqui está ele de novo....

:020000040000FA
:1000000083161F308500FE308600831206140E20F2
:1000100006180C2806140728061007288C018D01E5
:0A0020008C0B10288D0B1028003403
:00000001FF

Com "Bloco de notas" (por exemplo), colam este código no ficheiro e MUITO IMPORTANTE, gravam o ficheiro com a extenção hex, como por exemplo; pisca.hex.

Não esquecer que a saida é no RB0, pino 6.
Registado

Por favor, alterem o meu email no msn pois tenho outro email dedicado aos foruns, e vou bloquear todos os que se encontram no antigo email.
José Flor
José António Flor de Sousa
Chip
*****
Offline Offline

Mensagens: 1 054


OzFlor - José Flor


WWW
« Responder #8 em: Outubro 27, 2007, 03:35:10 »

Caro José Flor, é possivel arranjar o esquema desse gravador, a trilha, em formato *.bmp, *.jpeg ou mm *.tif?
Hugo,
Em formato BMP não tem. Nessa página tem circuito e a PCB. Isso não dará para você trabalhar no Paint em BMP?
Se imprimir a partir da página deve obter a impressão em tamanho real da PCB.
Abraços
José Flor
Registado

José Flor
José António Flor de Sousa
Chip
*****
Offline Offline

Mensagens: 1 054


OzFlor - José Flor


WWW
« Responder #9 em: Outubro 27, 2007, 07:24:52 »

Esse código eu á dias atrás que testei e não funcionou, mesmo depois de apagar todos os erros. Está muito confuso. Resolvi re-escrever o código que é esse a em baixo ais simples, testado a funcionar. Testei com o PIC16F84A dai ele aparecer no código, se usar o 84 deve alterar no código o LIST e do INCLUDE.
 Código tão somente acende o LED, executa a rotina de 200ms apaga o LED, executa a rotina de 200ms e repete tudo de novo. Esse cara (Sergio Tanzilli) que escreveu o código embolou ele de forma muito confusa.

   LIST     P=16F84A
   RADIX     DEC
   INCLUDE     <P16F84A.INC>
   __CONFIG  _XT_OSC & _CP_OFF & _WDT_OFF & _PWRTE_ON

x   equ   0x0d
y   equ   0x0e
ZZ   equ   0x0f
LED   equ   0   ;LED é bit 0

;-----------define input e output
        bsf     STATUS,RP0
        movlw   00011111B   ;PORTA todo input
        movwf   TRISA
        movlw   B'11111110'   ;PORTB todo input, somente Bi 0 output
        movwf   PORTB
        bcf     STATUS,RP0
;---------------------------------
       
;---- inicio do programa principal
MainLoop
   bsf     PORTB,LED ; acende LED em RB0 (bit 0 lá em cima)
   call DelayLoop      ;200ms acesso
   bcf   PORTB,LED
   call DelayLoop      ;200ms apagado
   goto   MainLoop
  ;--------------


;----- inicio da rotina de 200 milisegundos
DelayLoop
   movlw   4   ;trocar este valor altera o tempo
   movwf   ZZ   ;deverá trocar o valor superior em primeiro lugar
ms200a
   movlw   241   ;trocar este valor altera o tempo
   movwf   x
ms200b            
   movlw   255   ;trocar este valor altera o tempo
   movwf   y
ms200c
   decfsz   y
   goto   ms200c
   decfsz   x
   goto   ms200b
   decfsz   ZZ
   goto   ms200a
   return
;-----fim da rotina de 200 milisegundos
   END
Registado

José Flor
José António Flor de Sousa
Chip
*****
Offline Offline

Mensagens: 1 054


OzFlor - José Flor


WWW
« Responder #10 em: Outubro 27, 2007, 07:28:12 »

Caro José Flor, é possivel arranjar o esquema desse gravador, a trilha, em formato *.bmp, *.jpeg ou mm *.tif?
Hugo,
Eu tenho o esquema em PDF, somente isso.
José Flor
Registado

bettencourt
Moderador Global
Chip
*****
Offline Offline

Mensagens: 608



« Responder #11 em: Outubro 27, 2007, 15:57:42 »

eu há uns anitos atras fiz esse programador no paint copiei a imagem dps guardei  em formato monocormato(preto e branco). depois foi corregir as imperfeiçoes do circuito.
Se encontra meto aqui
Registado
Hugu
Chip
*****
Offline Offline

Mensagens: 543



« Responder #12 em: Outubro 28, 2007, 01:17:34 »

Caro José Flor, é possivel arranjar o esquema desse gravador, a trilha, em formato *.bmp, *.jpeg ou mm *.tif?
Hugo,
Em formato BMP não tem. Nessa página tem circuito e a PCB. Isso não dará para você trabalhar no Paint em BMP?
Se imprimir a partir da página deve obter a impressão em tamanho real da PCB.
Abraços
José Flor

tem pcb, mas é em ficheiro dum programa k n tenho e k n sei utilizar..
o problema é dpx a impressao n sair em tamanho real..  Indeciso   ...se ao menos soubesse as dimensoes da placa eu dpx tentava encolher ou aumentar para a escala certa...

Caro José Flor, é possivel arranjar o esquema desse gravador, a trilha, em formato *.bmp, *.jpeg ou mm *.tif?
Hugo,
Eu tenho o esquema em PDF, somente isso.
José Flor

Tem em pdf? tb pode ser! agradecia entao k me enviasse o ficheiro ou entao coloque em anexo numa sua msg k eu dpx vou busca!

Obrigado amigo!
Registado

Keyboard not found. Press any key to continue.
------
AVALIAÇÃO
VENDO
COMPRO
Hugu
Chip
*****
Offline Offline

Mensagens: 543



« Responder #13 em: Outubro 28, 2007, 01:19:00 »

eu há uns anitos atras fiz esse programador no paint copiei a imagem dps guardei  em formato monocormato(preto e branco). depois foi corregir as imperfeiçoes do circuito.
Se encontra meto aqui


entao se a encontrar, agradecia tb que colocasse em anexos!

Obrigado!
Registado

Keyboard not found. Press any key to continue.
------
AVALIAÇÃO
VENDO
COMPRO
José Flor
José António Flor de Sousa
Chip
*****
Offline Offline

Mensagens: 1 054


OzFlor - José Flor


WWW
« Responder #14 em: Outubro 28, 2007, 04:05:29 »

Hugo,
Como posso enviar o PDF para ti?
Olha, abra a imagem PCB com o Microsoft Paint, imprima. Coloque um PIC sobre a impressão para saber se está na escala certa, não estando aumente ou diminua a imagem até conseguir. É assim que eu faço e resolve.
Abraço
José Flor
Registado

Páginas: [1] 2   Ir para o topo
  Imprimir  
 
Ir para: