Professional Documents
Culture Documents
Manual de Operao
CORE8052
MO733-CORE-8052 - REV.:0 10/06/2005
www.cnz.com.br atendimento@cnz.com.br
ATENO!!!
desligar
Ao inserir um mdulo no console, ou plataforma, certifique-se de conectar adequadamente todos os pinos. Se algum pino ficar de fora do conector, o mdulo pode sofrer danos irreparveis. Quando utilizado o Console Maxi, o CORE-8052 deve, obrigatoriamente, ser conectado na plataforma esquerda do console (a que possui a fonte de alimentao montada). Os sinais digitais do microcontrolador 89S52 aceitam apenas nvel TTL (0 a 5V). Tenses superiores a +5V podem danificar o componente.
Parabns!
Voc adquiriu uma das melhores plataformas de desenvolvimento do mercado, a Plataforma Modular; desenvolvida com base na larga experincia da CNZ nos setores industrial e educacional. Os produtos da CNZ so produzidos sob rgido controle de qualidade, assegurado pela certificao ISO9001:2000. Temos plena certeza de sua satisfao ao utilizar nossa Plataforma Modular, no importando se seu uso ser para o desenvolvimento de projetos, aprendizado, ou ensino. A Plataforma Modular oferece a flexibilidade e os recursos necessrios para cada um desses casos. Aproveitamos para convid-lo a conhecer mais sobre a CNZ visitando nosso stio institucional em http://www.cnz.com.br. Da mesma forma, suas dvidas, sugestes, elogios, ou reclamaes podem ser encaminhadas atravs do nosso stio ou do endereo eletrnico atendimento@cnz.com.br.
Termo de Garantia
A Plataforma Modular e todos os seus mdulos so garantidos pela CNZ Indstria e Comrcio Ltda. pelo perodo de 12 (doze) meses contado a partir da data da emisso da nota fiscal. A presente garantia cobre todos os defeitos de fbrica, ou espontneos, em componentes, ou partes, da Plataforma Modular. Ficam excludos, desta maneira, os defeitos oriundos de utilizao em desacordo com o presente Manual de Operao (m-utilizao); alimentao incorreta; curto-circuito provocado; utilizao de sinais com tenso superior a + 5 VDC no microcontrolador ou PLD; surtos de tenso provocados, ou no, por descargas atmosfricas e manuteno por pessoal no autorizado. Ocorrendo algum problema com o equipamento, entre em contato conosco para receber orientaes sobre o procedimento a ser seguido, ou seja: verificar a necessidade, ou no, do envio para manuteno. Ressaltamos que a manuteno dos equipamentos se dar exclusivamente nos laboratrios da CNZ, cabendo ao cliente as despesas relativas ao envio e retirada dos mesmos. Recebendo orientao para o envio do equipamento, deve ser enviada tambm uma cpia da nota fiscal de aquisio do mesmo.
Contedo
1. Introduo........................................................................................... 6 1.1. Plataforma Modular CNZ..................................................................... 6 1.1.1. Conexo dos Consoles Maxi e Micro.................................................. 8 1.1.2. Conexo da PlatCNZ................................................................... 10 2. CORE-8052 Mdulo do Microcontrolador 8052............................................ 11 2.1. Interface Serial RS-232..................................................................... 12 3. Operao do CORE-8052........................................................................ 13 3.1. Programa de Gravao Programador uCORE-8052...................................13 3.1.1. Instalando o Programador uCORE-8052.............................................13 3.1.2. Gravando um Programa no CORE-8052............................................14 3.1.3. Mensagens de Erro do Programador uCORE-8052................................. 16 3.2. Assembly e Assember para o 8052........................................................ 18 3.2.1. Assembly 8051/52 Modelo de Arquivo........................................... 18 3.2.2. Programa Montador (Assembler).................................................... 19 3.2.3. Formato dos Arquivos Intel HEX..................................................... 20 4. Exemplos........................................................................................... 21 4.1. Exemplo 1 Controlador de Semforos................................................. 21 4.1.1. Diagrama de Estados.................................................................. 21 4.1.2. Esquema Eltrico...................................................................... 22 4.1.3. Montagem............................................................................... 23 4.1.4. Cdigo Fonte............................................................................23 4.2. Exemplo 2 Painel Eletrnico com LCD.................................................25 4.2.1. Fluxograma..............................................................................25 4.2.2. Esquema Eltrico...................................................................... 26 4.2.3. Montagem............................................................................... 26 4.2.4. Cdigo Fonte............................................................................27 5. Conjunto de Caracteres ASCII................................................................... 29 6. Diagrama Esquemtico do CORE-8052........................................................31
1. Introduo
O CORE-8052 um mdulo para microcontroladores de 8 bits compatveis com os modelos 8051 e 8052 da Intel. O componente adotado o AT89S52 da Atmel, que possui memria de programa do tipo FLASH, no voltil. O CORE-8052 possui um circuito de gravao incorporado, dispensando um gravador externo. A programao feita atravs de uma interface serial RS-232, utilizando um programa fornecido pela CNZ. O CORE-8052 pode ser utilizado em conjunto com o Console Maxi, Console Micro e a PlatCNZ. Acompanha o CORE-8052 um CD contendo:
Manuais; Software montador: 8051 Cross Assembler da MetaLink Corporation; Software para a programao do CORE-8052; Documentao da Atmel referentes ao microcontrolador; Software Adobe Reader para a visualizao da documentao.
Neste manual veremos a descrio do hardware e as instrues de operao do CORE8052 e da Plataforma Modular, bem como exemplos de projetos.
novos kits para outras tecnologias eliminada resultando no melhor custo-benefcio. Da mesma forma os mdulos de aplicao podem ser adquiridos conforme os projetos. Todos os mdulos so intercambiveis. A Plataforma Modular CNZ est disponvel em trs modelos:
Console Maxi Suporta um CORE de microcontrolador e outro de PLD simultaneamente (ou dois de microcontrolador, porm sem programao simultnea). Apresenta as seguintes caractersticas: Capacidade para quatro mdulos; Chave ligadesliga; Alimentao universal automtica (110/220V sem necessidade de seleo); Fusvel de proteo de 0,5A; Fontes de alimentao com sadas reguladas de +5 VCC, +12 VCC e +13 VCC; Led indicador de funcionamento; Conector DB9 para interface serial RS-232 (programao e aplicao do mdulo de microcontrolador); Conector DB25 para interface paralela (programao do PLD); Circuito de gravao de PLDs incorporado, compatvel com o ByteBlaster MV da Altera. Cabo de comunicao serial (DB9) e paralela (DB25). Console Micro Suporta apenas COREs de microcontroladores (um por vez). Apresenta as seguintes caractersticas: Capacidade para quatro mdulos; Chave ligadesliga; Alimentao universal automtica (110/220V sem necessidade de seleo); Fusvel de proteo de 0,5A; Fontes de alimentao com sadas reguladas de +5 VCC, +12 VCC e +13 VCC; Led indicador de funcionamento; Conector DB9 para interface serial RS-232 (programao e aplicao do mdulo de microcontrolador).
www.cnz.com.br
PlatCNZ Suporta dois mdulos, sendo um CORE de microcontrolador ou PLD e outro de aplicao. Apresenta as seguintes caractersticas: Capacidade para dois mdulos; Alimentao atravs de fonte externa, AC ou DC, de 15 a 40V; Reguladores de tenso de +5 VCC, +12 VCC e +13 VCC; Led indicador de funcionamento; Conector DB9 para interface serial RS-232 (programao e aplicao do mdulo de microcontrolador); Opcionais: cabo de comunicao serial (DB9), cabo de gravao para PLD e fonte de alimentao.
caso, conecte o primeiro CORE no lado esquerdo, sem mdulos de aplicao conectados para evitar possveis curto-circuitos e programe-o. Transfira esse CORE para o lado direito da plataforma e conecte o segundo CORE de microcontrolador, programando-o normalmente.
CORE de Microcontrolador Fonte e Led de alimentao CORE de PLD (Console Maxi) ou Mdulo de Aplicao
Mdulo de Aplicao
Mdulo de Aplicao
A foto seguinte mostra o painel traseiro dos Consoles, com a descrio de cada item.
Rabicho de Alimentao
Fusvel
Chave Liga-Desliga
A fonte de alimentao possui entrada universal automtica (110 a 220V), com sadas reguladas de +5 VCC, +12 VCC e +13 VCC. A fonte protegida por um fusvel de 500 mA. O funcionamento do Console indicado pelo led D6 na fonte de alimentao.
www.cnz.com.br
www.cnz.com.br
10
Totalmente 8051/52;
compatvel
com
famlia
Memria de programa FLASH de 8 Kbytes; Memria de dados RAM de 256 x 8 bits; 32 pinos de Entrada/Sada digital; 2 interrupes externas; 3 Temporizadores/contadores de 16 bits; Interface serial tipo SPI; Interface serial UART full-duplex; Watchdog Timer.
Todos os pinos do microcontrolador esto disponveis para conexo e monitorao no conector CNT1, que replicado nos outros mdulos. O mdulo possui ainda um led indicador de alimentao, crital oscilador de 11,0592 MHz e chave para seleo do uso da interface serial RS-232 para o programador ou para a aplicao do usurio, que tambm serve como reset do componente, bastando, para isso, pression-la e liberla novamente. Todos esses itens podem ser vistos na figura seguinte.
Chave de Reset e Modo Programao CNT1:
Sinal P1.0 (T2) P1.2 P1.4 P1.6 (MISO) RST P3.1 (TXD) P3.3 (/INT1) P3.5 (T1) P3.7 (/RD) XTAL1 P2.0 (A8) P2.2 (A10) P2.4 (A12) P2.6 (A14) /PSEN /EA / PP P0.6 (AD6) P0.4 (AD4) P0.2 (AD2) P0.0 (AD0) Pino 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 Sinal P1.1 (T2EX) P1.3 P1.5 (MOSI) P1.7 (SCK) P3.0 (RXD) P3.2 (/INT0) P3.4 (T0) P3.6 (/WR) XTAL2 GND P2.1 (A9) P2.3 (A11) P2.5 (A13) P2.7 (A15) ALE / /PROG P0.7 (AD7) P0.5 (AD5) P0.3 (AD3) P0.1 (AD1) VCC
Alimentao
www.cnz.com.br
11
www.cnz.com.br
12
3. Operao do CORE-8052
Conforme explicado anteriormente, o CORE-8052 oferece suporte para a gravao do microcontrolador, que pode ser utilizado na prpria Plataforma Modular CNZ, ou retirado e utilizado em outros circuitos. Porm, recomendamos a aquisio de um gravador de microcontroladores caso esse uso seja freqente. O CORE-8052 programado atravs de um microcomputador PC, utilizando o software Programador uCORE-8052, da CNZ, cujo arquivo de instalao fornecido no CD-ROM que acompanha o produto. Para a elaborao dos programas (firmware) pode ser utilizado qualquer programa montador (assembler) para microcontroladores 8051/52, ou mesmo compiladores de linguagens de alto nvel como a C. O formato de arquivo para ser gravado no microcontrolador do CORE-8052 o Intel Hexadecimal (.hex). No CD de documentao est incluido o montador ASM51 da Metalink Corp., cujo stio institucional www.metaice.com. Nos itens a seguir veremos o programa de gravao; os passos para sua instalao, o procedimento para gravao do microcontrolador e o tratamento das mensagens de erro. Veremos tambm informaes importantes sobre a linguagem assembly e o programa montador (assembler). No item 4 so apresentados exemplos de projetos, incluindo um passo a passo.
www.cnz.com.br
13
3. Feche outros programas que estejam abertos e clique no boto ok; 4. Clique no cone do computador para iniciar a instalao; 5. Clique em continue Iniciar\Programas; para criar o grupo uCORE8052 no menu
6. Clique em ok na mensagem de finalizao. Para iniciar o programa abra o menu Iniciar, selecione o grupo uCORE8052 e clique em uCORE8052.
www.cnz.com.br
14
6. Na opo Serial COM, selecionar a porta serial do PC que est conectada ao CORE-8052; 7. Clique em Abrir HEX e selecione o arquivo, em formato Intel HEX, que ser carregado no microcontrolador; 8. Se for o caso, selecione os bits de proteo que deseja utilizar marcando as caixas de verificao correspondentes. 9. Pressione o boto Enviar e aguarde a concluso da transferncia do arquivo;
www.cnz.com.br
15
10.Libere a chave SW1 e o programa entrar em execuo. Ateno: Lembre-se de desligar sua PlatCNZ ou Console antes de conectar, ou desconectar a interface serial.
www.cnz.com.br
16
Causas Provveis A PlatCNZ ou Console est desligado; O cabo da interface serial no est conectado; A chave SW1 est no modo de execuo (para cima); Interface serial do PC selecionada incorretamentamente ou defeituosa; Defeito de hardware microcontrolador. no CORE ou
Erro na inicializao
Erro na gravao
Interrupo acidental da gravao (pressionando-se SW1, por exemplo); Defeito de hardware microcontrolador. Arquivo de corrompido. formato no CORE ou
Arquivo invlido
www.cnz.com.br
17
Int_Ext_0: ; <<< Insira a sua rotina da Interrupo Externa 0 aqui >>> Int_Timer_0: ; <<< Insira a sua rotina da Interrupo do Timer 0 aqui >>> Int_Ext_1: ; <<< Insira a sua rotina da Interrupo Externa 1 aqui >>>
CNZ Indstria e Comrcio Ltda. www.cnz.com.br 18
Int_Timer_1: ; <<< Insira a sua rotina da Interrupo do Timer 1 aqui >>> Int_Serial: ; <<< Insira a sua rotina da Interrupo Serial aqui >>> Int_Timer_2: ; <<< Insira a sua rotina da Interrupo do Timer 2 aqui >>> END
www.cnz.com.br
19
www.cnz.com.br
20
4. Exemplos
Neste captulo veremos dois exemplos de projetos, de modo a permitir a familiarizao com o CORE-8052 e os mdulos de aplicaes da Plataforma Modular CNZ. Os exemplos so:
Os exemplos esto em um formato de roteiro de projeto e podem servir de ponto de partida para os que esto aprendendo a utilizar os microcontroladores da famlia 8051.
Os tempos de durao do sinal amarelo e de cada sinal verde (transversais A e B) so fixos. Para a montagem pode ser utilizado o mdulo de aplicao de entradas e sadas ESG-01.
www.cnz.com.br
21
www.cnz.com.br
22
4.1.3. Montagem
A montagem do projeto utiliza o mdulo de aplicao ESG-01. A ligao a ser feita bastante simples, utilizando apenas 6 fios, conectando o port D, do microcontrolador aos leds que representaro o semforo. Essa ligao pode ser vista na prxima figura.
;*** Declaracoes dos tempos do semaforo em segundos *** tmp_vd1vm2 tmp_am1vm2 tmp_vm1vd2 tmp_vm1am2 equ equ equ equ 04d 01d 02d 01d ; ; ; ; tempo tempo tempo tempo verde1 e vermelho2 amarelo1 e vermelho2 vermelho1 e verde2 vermelho1 e amarelo2
;*** Declaracoes dos Estados do semaforo *** led_vd1vm2 led_am1vm2 led_vm1vd2 led_vm1am2 equ equ equ equ 11110011b 11110101b 11011110b 11101110b ; OBS.: os leds acendem com nivel logico 0
;*** Origem do Vetor de RESET do Programa *** org jmp rst_inic inicio
;*** Origem da Interrupcao do Timer 0 *** org jmp rst_inic+0Bh delay ; Interrupcao Timer 0: ; base de tempo = 50 mseg
www.cnz.com.br 23
;*** Origem do Inicio do Programa *** inicio: mov mov mov mov mov mov tmod,#01h tcon,#10h th0,#high(-46080D) tl0,#low(-46080D) r2,#01h ie,#82H ; Timer0 => temporizador 16 bits ; Liga Timer0 ; delay=50mseg (osc=11.0592MHz) ; Primeiro tempo = 50ms ; Habilita Interrupcao Timer 0 ; inicio da tabela (R0 => Offset)
loop_inic: mov r0,#0h mov dptr,#tabela loop_prc: mov a,r0 movc a,@a+dptr mov p1,a inc r0 mov a,r0 movc a,@a+dptr mov r1,a call ttot inc r0 cjne r0,#08h,loop_prc jmp loop_inic
; le proximo estado das luzes do semaforo ; ativa proximo estado ; le tempo de permanencia no estado atual ; aguarda tempo de permanencia ; se nao ativou todos estados possiveis, continua ; se nao, retorna ao estado inicial
;****************************************** ;*** ROTINA DA INTERRUPCAO DO TIMER 0 *** ;****************************************** delay: mov mov dec reti th0,#high(65535D-46080D) tl0,#low(65535D-46080D) r2 ; delay=50mseg (osc=11.0592MHz) ; retorna da interrupcao
;************************************************* ;*** SUBROTINA DO TEMPO TOTAL DE PERMANENCIA *** ;************************************************* ttot: cjne mov dec cjne ret r2,#0,ttot r2,#20d r1 r1,#0,ttot ; Base de Tempo de 1 seg. (R2) ; N x 1 seg (R1 -> Multiplo de 1 seg)
;**************************************************************** ;*** TABELA DOS ESTADOS E TEMPOS DE PERMANENCIA DO SEMAFORO *** ;**************************************************************** tabela: db led_vd1vm2,tmp_vd1vm2 db led_am1vm2,tmp_am1vm2 db led_vm1vd2,tmp_vm1vd2 db led_vm1am2,tmp_vm1am2 end ; ; ; ; estado estado estado estado 1, 2, 3, 4, tempo tempo tempo tempo verde1/vermelho2 amarelo1/vermelho2 vermelho1/verde2 vermelho1/amarelo2
; fim do programa
www.cnz.com.br
24
4.2.1. Fluxograma
O fluxograma do projeto proposto pode ser visto a seguir.
www.cnz.com.br
25
4.2.3. Montagem
A montagem do projeto utiliza o mdulo de aplicao LCD/IC e a ligao correspondente ao circuito eltrico apresentado pode ser vista na figura seguinte. Ateno: No esquea de desligar a PlatCNZ, ou Console, antes de efetuar as ligaes.
www.cnz.com.br
26
;********************************* ;** Inicializacao do LCD ** ;********************************* inicio: ; selecao de funcao: interface de 8 bits, 2 linhas, fonte 5x7 MOV A,#38H CALL escreve_comando ; selecao de funcao: interface de 8 bits, 2 linhas, fonte 5x7 MOV A,#38H CALL escreve_comando ; selecao de funcao: interface de 8 bits, 2 linhas, fonte 5x7 MOV A,#38H CALL escreve_comando ; selecao de modo de entrada: incrementa contador RAM, cursor desloca MOV A,#06H CALL escreve_comando ; controle do display: liga display e cursor, cursor nao piscante MOV A,#0EH CALL escreve_comando ; limpa display MOV A,#01H CALL escreve_comando
CNZ Indstria e Comrcio Ltda. www.cnz.com.br 27
;*** Mensagens do Display *** ;**************************** MOV R1 , #0 MOV a , #80h CALL escreve_comando mensagem1: MOV dptr , #mens_1 MOV a , R1 MOVC a , @a+dptr CALL escreve_dado CJNE R1 , #16 , mensagem1 MOV a , #0C0h CALL escreve_comando MOV R1 , #0 mensagem2: MOV dptr , #mens_2 MOV a , R1 MOVC a , @a+dptr CALL escreve_dado CJNE R1 , #16 , mensagem2 JMP $ ;*** Sub-rotinas de escrita *** ;****************************** escreve_comando: CLR RS SETB ENABLE MOV P1 , a CALL delay CLR ENABLE SETB RS RET escreve_dado: SETB RS SETB ENABLE MOV P1 , a CALL delay INC R1 CLR ENABLE CLR RS RET ;*** Subrotina de Delay ~25ms *** ;******************************** delay: MOV MOV loop: DJNZ DJNZ RET 20h,#20h 21h,#00h 21h,loop 20h,loop
www.cnz.com.br
29
Os caracteres no imprimveis da tabela ASCII (00 a 31) so utilizados por diversos protocolos de comunicao. A nomenclatura dada para cada um deles a seguinte:
DEC 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 20 31 CHR NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US CTRL-x CTRL-@ CTRL-A CTRL-B CTRL-C CTRL-D CTRL-E CTRL-F CTRL-G CTRL-H CTRL-I CTRL-J CTRL-K CTRL-L CTRL-M CTRL-N CTRL-O CTRL-P CTRL-Q CTRL-R CTRL-S CTRL-T CTRL-U CTRL-V CTRL-W CTRL-X CTRL-Y CTRL-Z CTRL-[ CTRL-\ CTRL-] CTRL-^ CTRL-_ NOME Null Start of Heading Start of Text End of Text End of Transmition Enquiry Acknowledge Bell Backspace Horizontal Tab Line Feed Vertical Tab Form Feed Carriage Return Shift Out Shift In Data Line Escape Device Control 1 Device Control 2 Device Control 3 Device Control 4 Not Acknowledge Syncronous End of Transmition Block Cancel End of Medium Substitute Escape File Separator Group Separator Record Separator Unit Separator
www.cnz.com.br
30
www.cnz.com.br
31