Mostrando postagens com marcador microchip. Mostrar todas as postagens
Mostrando postagens com marcador microchip. Mostrar todas as postagens
segunda-feira, dezembro 12, 2011
Google doodles: Robert Noyce
O Google está homenageando no seu doodle de hoje o 84° aniversário do inventor do circuito integrado e co-fundador da Intel Corporation, o prefeito do Vale do Silicio, Robert Noyce.
Ele morreu em 1990 aos 60 anos, mas deixou a imensa contribuição para a humanidade.
Marcadores:
ci,
circuito integrado,
doodles,
google,
microchip,
robert noyce
quarta-feira, junho 30, 2010
Fotos do meu último experimento
Aí estão as fotos da montagem do meu último experimento (nada científico) com o PIC 16F628A da Microchip.
Mas não se anime, pois não está funcionando :(
Vou dar uma debugada depois, com calma, pois no Proteus está funcionando. Devo ter feito alguma barberagem na hora de montar, sei lá.
O que acontece é que quando o botão é pressionado os dois LEDs vermelhos apagam e o verde não liga.
Eis as fotos:



Mas não se anime, pois não está funcionando :(
Vou dar uma debugada depois, com calma, pois no Proteus está funcionando. Devo ter feito alguma barberagem na hora de montar, sei lá.
O que acontece é que quando o botão é pressionado os dois LEDs vermelhos apagam e o verde não liga.
Eis as fotos:
Marcadores:
16F268A,
assembly,
eletronic,
eletrônica,
microchip,
microcontrolador,
pic
quarta-feira, junho 09, 2010
Mais um experimento com PIC 16F628A e Assembly
Seguindo a minha saga pelo mundo dos microcontroladores, hoje fiz mais um exemplo em Assembly usando o PIC 16F628A da Microchip.
A brincadeira é permutar entre o acendimento de um ou outro LED via chave táctil.
O fluxo do programa é este:

Aqui estão as imagens da simulação do circuito feita no Proteus:

Circuito desligado.

Circuito ligado.

Chave pressionada.
E aqui está o código Assembly:
;******************************************************************************;
; Processor: PIC16F628 at 4 MHz using internal RC oscillator ;
; Function : When the circuit is energized two LEDs will turn on, the power ;
; indicator and LED_D1. Every time the button is pressed the LED_D1 ;
; will turn off and the LED_D2 will turn on, the opposite occurs ;
; when the button is released, turning off the LED_D2 and turning ;
; on the LED_D1 again. ;
; Hardware : Protoboard ;
; Filename : main.asm ;
; Author : Jean J. Míchel <jeanjmichel-at-gmail.com> ;
; Website : http://www.jeanjmichel.blogspot.com ;
; Credit : ;
;******************************************************************************;
; Wiring diagram +-/\/\/--|>|--o GND ;
; +---v---+ | R2 LED_PWR ;
; -<|º 1 |>--+ ;
; -<| 6 |>----/\/\/--|>|--o GND ;
; -<| F |>--+ R3 D1 ;
; -<| 6 |>- | ;
; -<| 2 |>- +-/\/\/--|>|--o GND ;
; -<| 8 |>- R4 D2 ;
; -<| A |>- ;
; -<| |>--+----o¯o----o VDD 5v ;
; +-------+ | R1 ;
; +---/\/\/---o GND ;
;******************************************************************************;
#include <p16f628a.inc>
list p=16f628a
ERRORLEVEL 0, -302;, -224, -302, -305, -207
__config (_INTOSC_OSC_NOCLKOUT & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _BODEN_OFF & _MCLRE_OFF)
#define select_bank0 bcf STATUS,RP0
#define select_bank1 bsf STATUS,RP0
#define LED_PWR PORTA,1
#define LED_D1 PORTA,0
#define LED_D2 PORTA,7
#define BUTTON PORTB,4
org 0x00
goto setup ;Perform the initial settings ;
main btfsc BUTTON ;Monitors the action of the button;
goto turn_on_d2 ;Turns on LED_D2 ;
goto turn_on_d1 ;Turns on LED_D1 ;
turn_on_d1 bcf LED_D2 ;Turns off LED_D2 ;
bsf LED_D1 ;Turns on LED_D1 ;
goto main
turn_on_d2 bcf LED_D1 ;Turns off LED_D1 ;
bsf LED_D2 ;Turns on LED_D2 ;
goto main
setup select_bank1
movlw B'00000000' ;Defines all pins of the PORTA ;
movwf TRISA ;registrator as output ;
movlw B'00010000' ;Defines all pins of the PORTB ;
movwf TRISB ;registrator as output except the ;
;the pin 4 - push button ;
bsf PCON, OSCF ;Sets 16F628 to operate at 4MHz ;
select_bank0
movlw 0x07
movwf CMCON ;Turns off the comparator ;
clrf PORTA ;Clears all pins of the PORTA ;
;registrator ;
clrf PORTB ;Clears all pins of the PORTB ;
;registrator ;
bsf LED_PWR ;Turns on LED_PWR - power LED ;
goto main ;Loop forever ;) ;
end
Enjoy!
A brincadeira é permutar entre o acendimento de um ou outro LED via chave táctil.
O fluxo do programa é este:
Aqui estão as imagens da simulação do circuito feita no Proteus:
Circuito desligado.
Circuito ligado.
Chave pressionada.
E aqui está o código Assembly:
;******************************************************************************;
; Processor: PIC16F628 at 4 MHz using internal RC oscillator ;
; Function : When the circuit is energized two LEDs will turn on, the power ;
; indicator and LED_D1. Every time the button is pressed the LED_D1 ;
; will turn off and the LED_D2 will turn on, the opposite occurs ;
; when the button is released, turning off the LED_D2 and turning ;
; on the LED_D1 again. ;
; Hardware : Protoboard ;
; Filename : main.asm ;
; Author : Jean J. Míchel <jeanjmichel-at-gmail.com> ;
; Website : http://www.jeanjmichel.blogspot.com ;
; Credit : ;
;******************************************************************************;
; Wiring diagram +-/\/\/--|>|--o GND ;
; +---v---+ | R2 LED_PWR ;
; -<|º 1 |>--+ ;
; -<| 6 |>----/\/\/--|>|--o GND ;
; -<| F |>--+ R3 D1 ;
; -<| 6 |>- | ;
; -<| 2 |>- +-/\/\/--|>|--o GND ;
; -<| 8 |>- R4 D2 ;
; -<| A |>- ;
; -<| |>--+----o¯o----o VDD 5v ;
; +-------+ | R1 ;
; +---/\/\/---o GND ;
;******************************************************************************;
#include <p16f628a.inc>
list p=16f628a
ERRORLEVEL 0, -302;, -224, -302, -305, -207
__config (_INTOSC_OSC_NOCLKOUT & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _BODEN_OFF & _MCLRE_OFF)
#define select_bank0 bcf STATUS,RP0
#define select_bank1 bsf STATUS,RP0
#define LED_PWR PORTA,1
#define LED_D1 PORTA,0
#define LED_D2 PORTA,7
#define BUTTON PORTB,4
org 0x00
goto setup ;Perform the initial settings ;
main btfsc BUTTON ;Monitors the action of the button;
goto turn_on_d2 ;Turns on LED_D2 ;
goto turn_on_d1 ;Turns on LED_D1 ;
turn_on_d1 bcf LED_D2 ;Turns off LED_D2 ;
bsf LED_D1 ;Turns on LED_D1 ;
goto main
turn_on_d2 bcf LED_D1 ;Turns off LED_D1 ;
bsf LED_D2 ;Turns on LED_D2 ;
goto main
setup select_bank1
movlw B'00000000' ;Defines all pins of the PORTA ;
movwf TRISA ;registrator as output ;
movlw B'00010000' ;Defines all pins of the PORTB ;
movwf TRISB ;registrator as output except the ;
;the pin 4 - push button ;
bsf PCON, OSCF ;Sets 16F628 to operate at 4MHz ;
select_bank0
movlw 0x07
movwf CMCON ;Turns off the comparator ;
clrf PORTA ;Clears all pins of the PORTA ;
;registrator ;
clrf PORTB ;Clears all pins of the PORTB ;
;registrator ;
bsf LED_PWR ;Turns on LED_PWR - power LED ;
goto main ;Loop forever ;) ;
end
Enjoy!
Marcadores:
16F268A,
assembly,
eletronic,
eletrônica,
microchip,
microcontrolador,
pic
sábado, junho 05, 2010
Eletrônica - micro controlador Microchip 16F628A + Assembly [fotos]
Tinha ficado devendo as fotos do meu experimento com o PIC 16F628A da Microchip, bem aqui estão elas:



Ficou bem legal, funcionou conforme o simulado, mas dei algumas mancadas na hora de construir o circuito, falta de prática :-D.
Ficou bem legal, funcionou conforme o simulado, mas dei algumas mancadas na hora de construir o circuito, falta de prática :-D.
Marcadores:
16f628A,
assembly,
eletronic,
eletrônica,
micro controladores,
microchip,
microcontroller,
pic,
protoboard
terça-feira, junho 01, 2010
Eletrônica - micro controlador Microchip 16F628A + Assembly
Quem, assim como eu, trabalha com TI está acostumado a ver sistemas transformando informações em informações =P, ou seja, dados vem daqui e vão para lá. Isso me deixa um pouco frustrado, pois não construo nada, não vejo nada acontecer, etc. (não me diga que ver um gráfico em um relatório é "ver" as coisas acontecerem em um sistema ;) ) então voltei para os meus primórdios sonhos infantis de construir alguma coisa (na verdade um robô) e para isso invoquei meus conhecimentos de quando tinha 15 anos e estudei na Escola Estadual Técnica Parobé (hoje Centro Tecnológico Estadual Parobé), onde cursei eletrônica.
Junte a vontade de fazer algo "se mexer" a ter um colega com skills do Professor Pardal a muitas conversas sobre automação na hora do almoço e um passeio pela Rua República do Líbano (onde estão as lojas de componentes eletrônicos aqui no Rio de Janeiro) e então terás nas mãos uma protoboard, um punhado de componentes e muita diversão ;)
Comecei leve: um micro controlador da Microchip (16F628A), dois LEDs, um botão e um programa escrito em Assembly. Assembly ao invés de C porque é o mais próximo que podemos chegar de ver os elétrons passando pela placa ;).
A brincadeira é muito simples, mas com ela tive contato com Assembly para micro controladores, o que não conhecia.
Vamos lá, o negócio é ter dois LEDs ligados no PIC, um ficará permanentemente aceso (indicando que o circuito está ligado) e o outro LED ficará desligado até que se pressione o botão, que o ligará.
Eis a simulação do circuito (as imagens podem ser vistas direto no Flickr: http://www.flickr.com/photos/jeanjmichel/sets/72157624156071640/):
Circuito desligado:

Circuito ligado:

Circuito em uso (botão pressionado):

Eis o código Assembly:
;******************************************************************************;
; Processor: PIC16F628 at 4 MHz using internal RC oscillator ;
; Function : Switch on two LEDs. The first LED (D1), conenected to RB0, turns ;
; on when the circuit is energized (power LED), while the second ;
; LED (D2), connected to RA1, just turns on when the push button ;
; (PB1) is pressed. ;
; Hardware : Protoboard ;
; Filename : main.asm ;
; Author : Jean J. Míchel <jeanjmichel-at-gmail.com> ;
; Website : http://www.jeanjmichel.blogspot.com ;
; Credit : Eduardo Bekman ;
;******************************************************************************;
; Wiring diagram ;
; +---v---+ R1 D1 ;
; -<|º 1 |>--/\/\/--|>|--o GND ;
; -<| 6 |>--+ ;
; -<| F |>- +----o¯o----o VDD 5v ;
; -<| 6 |>- | PB1 ;
; D2 R3 -<| 2 |>- | ;
; GND o--|<|--/\/\/--<| 8 |>- +---/\/\/---o GND ;
; -<| A |>- R2 ;
; -<| |>- ;
; +-------+ ;
; ;
;******************************************************************************;
#include <p16f628a.inc>
list p=16f628a
ERRORLEVEL 0, -302;, -224, -302, -305, -207
__config (_INTOSC_OSC_NOCLKOUT & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _BODEN_OFF & _MCLRE_OFF)
#define select_bank0 bcf STATUS,RP0
#define select_bank1 bsf STATUS,RP0
#define BUTTON PORTA,0
#define LED_D1 PORTA,1
#define LED_D2 PORTB,0
org 0x00
goto setup ;Perform the initial settings ;
main btfsc BUTTON ;Monitors the action of the button;
goto turn_on_led ;Turns on LED_D1 ;
goto turn_off_led ;Turns off LED_D1 ;
turn_on_led bsf LED_D1 ;Turns on LED_D1 ;
goto main
turn_off_led bcf LED_D1 ;Turns off LED_D1 ;
goto main
setup select_bank1
movlw B'00000001' ;Defines all pins of the PORTA ;
movwf TRISA ;registrator as output except ;
;pin 0 - push button ;
movlw B'00000000' ;Defines all pins of the PORTB ;
movwf TRISB ;registrator as output ;
bsf PCON, OSCF ;Sets 16F628 to operate at 4MHz ;
select_bank0
movlw 0x07
movwf CMCON ;Turns off the comparator ;
clrf PORTA ;Clears all pins of the PORTA ;
;registrator ;
clrf PORTB ;Clears all pins of the PORTB ;
;registrator ;
bsf LED_D2 ;Turns on LED_D2 - power LED ;
goto main ;Loop forever ;) ;
end
Ainda não consegui monta-lo na protoboard para postar fotos e vídeos do projeto funcionando, mas assim que o fizer eu posto.
Junte a vontade de fazer algo "se mexer" a ter um colega com skills do Professor Pardal a muitas conversas sobre automação na hora do almoço e um passeio pela Rua República do Líbano (onde estão as lojas de componentes eletrônicos aqui no Rio de Janeiro) e então terás nas mãos uma protoboard, um punhado de componentes e muita diversão ;)
Comecei leve: um micro controlador da Microchip (16F628A), dois LEDs, um botão e um programa escrito em Assembly. Assembly ao invés de C porque é o mais próximo que podemos chegar de ver os elétrons passando pela placa ;).
A brincadeira é muito simples, mas com ela tive contato com Assembly para micro controladores, o que não conhecia.
Vamos lá, o negócio é ter dois LEDs ligados no PIC, um ficará permanentemente aceso (indicando que o circuito está ligado) e o outro LED ficará desligado até que se pressione o botão, que o ligará.
Eis a simulação do circuito (as imagens podem ser vistas direto no Flickr: http://www.flickr.com/photos/jeanjmichel/sets/72157624156071640/):
Circuito desligado:
Circuito ligado:
Circuito em uso (botão pressionado):
Eis o código Assembly:
;******************************************************************************;
; Processor: PIC16F628 at 4 MHz using internal RC oscillator ;
; Function : Switch on two LEDs. The first LED (D1), conenected to RB0, turns ;
; on when the circuit is energized (power LED), while the second ;
; LED (D2), connected to RA1, just turns on when the push button ;
; (PB1) is pressed. ;
; Hardware : Protoboard ;
; Filename : main.asm ;
; Author : Jean J. Míchel <jeanjmichel-at-gmail.com> ;
; Website : http://www.jeanjmichel.blogspot.com ;
; Credit : Eduardo Bekman ;
;******************************************************************************;
; Wiring diagram ;
; +---v---+ R1 D1 ;
; -<|º 1 |>--/\/\/--|>|--o GND ;
; -<| 6 |>--+ ;
; -<| F |>- +----o¯o----o VDD 5v ;
; -<| 6 |>- | PB1 ;
; D2 R3 -<| 2 |>- | ;
; GND o--|<|--/\/\/--<| 8 |>- +---/\/\/---o GND ;
; -<| A |>- R2 ;
; -<| |>- ;
; +-------+ ;
; ;
;******************************************************************************;
#include <p16f628a.inc>
list p=16f628a
ERRORLEVEL 0, -302;, -224, -302, -305, -207
__config (_INTOSC_OSC_NOCLKOUT & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _BODEN_OFF & _MCLRE_OFF)
#define select_bank0 bcf STATUS,RP0
#define select_bank1 bsf STATUS,RP0
#define BUTTON PORTA,0
#define LED_D1 PORTA,1
#define LED_D2 PORTB,0
org 0x00
goto setup ;Perform the initial settings ;
main btfsc BUTTON ;Monitors the action of the button;
goto turn_on_led ;Turns on LED_D1 ;
goto turn_off_led ;Turns off LED_D1 ;
turn_on_led bsf LED_D1 ;Turns on LED_D1 ;
goto main
turn_off_led bcf LED_D1 ;Turns off LED_D1 ;
goto main
setup select_bank1
movlw B'00000001' ;Defines all pins of the PORTA ;
movwf TRISA ;registrator as output except ;
;pin 0 - push button ;
movlw B'00000000' ;Defines all pins of the PORTB ;
movwf TRISB ;registrator as output ;
bsf PCON, OSCF ;Sets 16F628 to operate at 4MHz ;
select_bank0
movlw 0x07
movwf CMCON ;Turns off the comparator ;
clrf PORTA ;Clears all pins of the PORTA ;
;registrator ;
clrf PORTB ;Clears all pins of the PORTB ;
;registrator ;
bsf LED_D2 ;Turns on LED_D2 - power LED ;
goto main ;Loop forever ;) ;
end
Ainda não consegui monta-lo na protoboard para postar fotos e vídeos do projeto funcionando, mas assim que o fizer eu posto.
Marcadores:
16f628A,
assembly,
eletronic,
eletrônica,
micro controladores,
microchip,
microcontroller,
pic,
protoboard
Assinar:
Postagens (Atom)