sábado, 20 de dezembro de 2014

Conjunto encaixotado

Um projeto de 2009 que tinha o objetivo de tornar portátil meus projetos de uC de 8 bits pois estava cursando a faculdade e necessitava tê-los comigo a todo momento.

Projeto: uC Atmega8 com gravador embutido e selecionável.
  Botão de reinício, chave liga/desliga, LED indicador de ligado.
 Positivo e negativo da fonte, fusível 5VCC, LED indicador de gravação.
Saídas com conexão rosqueáveis, conexão do gravador, chave selecionadora de gravação e conector da fonte externo de 5VCC.

Para a conclusão deste projeto foi necessário pesquisar sobre o uC e métodos e técnicas de gravação até definir um de baixo custo e eficiente.

Conclusão: Foi planejado e executado em um curto tempo além de funcionar satisfatoriamente.

Impressão pessoal: Este projeto me proporcionou muita motivação e entusiasmo neste tecnologia e com isto muitos outros projetos nasceram e se desenvolveram.

Neste projeto evidenciou-se a complexidade da concepção de produtos eletrônicos por envolver não somente o programa mas todas as partes físicas necessárias para a sua confecção.

Percebeu-se que um sistema é composto de muitas partes físicas que muitas vezes são negligenciadas na concepção e são somente percebidas na execução.

Logo muitas técnicas foram desenvolvidos na área de montagem de partes físicas, de eletrônica como confecção de PCI, esquema elétrico e também na montagem de protótipos eletrônicos.

.

quarta-feira, 17 de dezembro de 2014

Atmel Studio IDE 6.1

Este tipo de IDE possibilita que se direcione e gere arquivos com designações especificadas pelo utilizador. É bom ter o domínio deste processo para não se enganar e cometer erros fúteis.

Ao abrir a IDE Atmel Studio 6.1 o texto inserido no campo denominado de “Name” será o nome da aplicação, o texto inserido no campo denominado de “Solution name” será o nome do projeto este gera um novo diretório e no campo denominado “Location” será o caminho onde o diretório será gerado e os arquivos serão gravados.

Name: AplicacaoAssemblador
Location: C:\Users\UTL\Documents\Atmel Studio\6.1
Solution name: EstudoDoAssembly1

No caminho “C:\Users\UTL\Documents\Atmel Studio\6.1\EstudoDoAssembly1” será criado o arquivo do projeto nomeado de “EstudoDoAssembly1” com extensão atsln.

No caminho “C:\Users\UTL\Documents\Atmel Studio\6.1\EstudoDoAssembly1\AplicacaoAssemblador” serão gerados dois arquivos nomeados de “AplicacaoAssmeblador” com extensões asm e asmproj.

Na versão 6.1 da IDE padrão não é necessário inserir a diretriz: .INCLUDE "m32def.inc" na linha de código, caso seja inserida este código o compilador indicará erros.

Se necessário e com base nestes procedimentos geraremos novas aplicações mantendo o mesmo diretório.



















 


Linguagem: assembly
Tecnologia: 8 bits
uC: Atmega 32A
Placa desenvolvimento: raposa de fogo
IDE: Atmel Studio 6.1
S.O.: Windows
Gravador: AVRISP XPII



Pré requisitos
Computador pessoal
S.O.
IDE
Placa de desenvolvimento
Gravador

Objetivo
Apresentar o leitor com as tecnologias no desenvolvimento de soluções em uC de 8 bits.
Justificativa
Neste tipo de desenvolvimento de solução envolve inúmeras tecnologias e conhecimento multidisciplinar.

Iniciando na IDE

Uma grande parte de nosso tempo passaremos envolvidos com a IDE Atmel Studio 6.1 inserindo códigos logicamente planejado para cumprir o que queremos.

Este tipo de IDE possibilita que se direcione e gere arquivos com designações especificadas pelo utilizador. É bom ter o domínio deste processo para não se enganar e cometer erros fúteis.

Ao abrir a IDE Atmel Studio 6.1 o texto inserido no campo denominado de “Name” será o nome da aplicação, o texto inserido no campo denominado de “Solution name” será o nome do projeto este gera um novo diretório e no campo denominado “Location” será o caminho onde o diretório será gerado e os arquivos serão gravados.

Name: AplicacaoAssemblador
Location: C:\Users\UTL\Documents\Atmel Studio\6.1
Solution name: EstudoDoAssembly1

No caminho “C:\Users\UTL\Documents\Atmel Studio\6.1\EstudoDoAssembly1” será criado o arquivo do projeto nomeado de “EstudoDoAssembly1” com extensão atsln.

No caminho “C:\Users\UTL\Documents\Atmel Studio\6.1\EstudoDoAssembly1\AplicacaoAssemblador” serão gerados dois arquivos nomeados de “AplicacaoAssmeblador” com extensões asm e asmproj.

Na versão 6.1 da IDE padrão não é necessário inserir a diretriz: .INCLUDE "m32def.inc" na linha de código, caso seja inserida este código o compilador indicará erros.

Se necessário e com base nestes procedimentos geraremos novas aplicações mantendo o mesmo diretório.

Código básico
Em função da complexidade da tecnologia do dispositivo e dos requisitos da IDE somos obrigados a inserir algumas linhas de código de configuração do ambiente. Temos dez campos fixos os quais usaremos códigos padrão nestas áreas arbitrariamente definidos, são eles:

Datação
Versão
Valores fixos dos endereços de inicialização
Segmento de dados
Dados variáveis
Segmento de código
Preparação da memória de dados
Laço de infinito
Segmento de dados persistentes
Dados persistentes


/*
 * AplicacaoAssemblador.asm
 *
 *  Created: 17/12/2014 12:52:11
 *  Author: Ubiratã Uaatsim Itzá I
 */
 ;****************************
***************************************************
.MESSAGE "*****************************************"
.MESSAGE "* Dato: " __DATE__ "/ Horo: " __TIME__".....*"
.MESSAGE "*****************************************"
.MESSAGE "* Versão: 1.0.0 *"
.MESSAGE "*****************************************"
;*******************************************************************************
;
;*******************************************************************************
.MESSAGE "valores fixos dos endereços de inicialização."

.EQU VETOR_INT = 0x0000                        ; posição zero da flash *
.EQU APLICATIVO_INI = SPMRaddr + 4            ; último vetor mais quatro *
;*******************************************************************************
;
;*******************************************************************************
.MESSAGE "Variáveis alocadas."
;*******************************************************************************
;* RAM *
;* reg 0x00 - 0x1f *
;* e/s 0x20 - 0x5f *
;* sram 0x60 - 0xdf *
;*******************************************************************************
.DSEG ;de 0x60 a 0xDF (128 bytes)            ; área de dados *
;*******************************************************************************
.ORG SRAM_START
;*******************************************************************************
; variáveis ligadas ao HW
v_PORTA_C:            .BYTE 1
v_DDR_C:            .BYTE 1
v_mcucr:            .BYTE 1
v_wd:                .BYTE 1
v_mcucsr:            .BYTE 1
v_gicr:                .BYTE 1
v_CURSOR:            .BYTE 1
;*******************************************************************************
;
;*******************************************************************************
;* VETORES DE INTERRUPÇÕES *
;*******************************************************************************
.MESSAGE "VETOR da interrupção instalado."

.CSEG
.ORG VETOR_INT

.MESSAGE "Ativando o VETOR da interrupção de reinicio"
.ORG 0x0000
rjmp cefo                                    ; reinicio
; aqui demais códigos de interrupção iniciam aqui.
;*******************************************************************************
;
;*******************************************************************************
.MESSAGE "Rotina principal ativada."
;*******************************************************************************
.ORG APLICATIVO_INI
;*******************************************************************************
cefo:                cli                        ; pára as interrupções.
                    ldi r16,high(RAMEND)
                    out SPH,r16                ; posição inicial, final da SRAM.
                    ldi r16,low(RAMEND)
                    out SPL,r16                ; define o apontador de programa.
;------------------------------------------------------------------------------
            ;        chamadas de rotinas
;------------------------------------------------------------------------------
ligilo_senfine:        wdr                        ; limpa o cão de guarda.
                    nop
                    sleep                    ; dorme.
                    nop
                    nop
                    rjmp ligilo_senfine        ; laço infinitamente.
;*******************************************************************************
;
;*******************************************************************************
.ESEG ;de 0x000 à 0x03ff            ; área de dados *
;*******************************************************************************
.ORG 0x000
;*******************************************************************************
v_eeprom1:            .BYTE 1
;*******************************************************************************


.


terça-feira, 9 de dezembro de 2014

Nota fiscal paulista

Muito interessante ter este cartão durante as compras evita ficar pedindo que o lojista forneça nota fiscal.





Após estes passos é só plastificar, mantê-lo na carteira e apresentá-lo na hora do pagamento.
.