You are on page 1of 31

CNZ Indstria e Comrcio Ltda.

Manual de Operao

CORE8052
MO733-CORE-8052 - REV.:0 10/06/2005

www.cnz.com.br atendimento@cnz.com.br

ATENO!!!

Somente conecte os mdulos aps alimentao do console ou plataforma.

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.

CNZ Indstria e Comrcio Ltda.

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

Manual de Operao do CORE-8052

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.

1.1. Plataforma Modular CNZ


A Plataforma Modular CNZ introduz o conceito de modularidade em kits de desenvolvimento, onde uma nica plataforma suporta mdulos de diversos microcontroladores, PLDs e DSPs; alm de mdulos de aplicaes que possuem diversos circuitos independentes, prontos para utilizao. Os mdulos de microcontroladores, PLDs e DSPs so chamados de COREs. As diferentes opes da Plataforma Modular CNZ oferecem um barramento para interligao dos sinais dos COREs com cada mdulo de aplicao, facilitando e organizando a montagem dos projetos, alm das conexes de alimentao. Este novo conceito resulta na maximizao do investimento e na maior flexibilidade do produto. Por compartilharem uma mesma plataforma, a necessidade de se adquirir
CNZ Indstria e Comrcio Ltda. www.cnz.com.br 6

Manual de Operao do CORE-8052

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).

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

Manual de Operao do CORE-8052

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.

1.1.1. Conexo dos Consoles Maxi e Micro


Conforme descrito no item 1.1, o Console Maxi compatvel com todos os COREs e o Console Micro somente com os COREs de microcontroladores. Ateno: Somente conecte os mdulos aps desligar a alimentao do Console. Ao inserir um mdulo no Console, certifique-se de conectar adequadamente todos os pinos. Se algum pino ficar de fora do conector, o mdulo pode sofrer danos irreparveis. A conexo dos mdulos no Console pode ser vista na prxima figura: Os mdulos de aplicao podem ser conectados em qualquer uma das quatro posies dos Consoles. Os COREs de microcontroladores devem ser conectados nas posies disponveis no lado esquerdo do Console, na placa que possui a fonte de alimentao montada. Os COREs de PLDs so compatveis apenas com o Console Maxi e devem ser conectados no lado direito do Console, na placa que no possui componentes montados. Ateno: Jamais conecte o CORE-PLD no lado esquerdo do Console Maxi, ou no Console Micro, sob pena de danificar outros mdulos ou equipamentos conectados interface serial. No Console Maxi pode-se ainda conectar dois COREs de microcontroladores, um de cada lado do Console; porm, eles s podem ser programados no lado esquerdo. Neste
CNZ Indstria e Comrcio Ltda. www.cnz.com.br 8

Manual de Operao do CORE-8052

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

Conector DB25 Porta Paralela (Apenas para Console Maxi)

Conector DB9 Porta Serial

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.

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

Manual de Operao do CORE-8052

1.1.2. Conexo da PlatCNZ


A PlatCNZ uma opo mais simples para a Plataforma Modular CNZ e constitui-se de uma placa avulsa dos Consoles. Ela compatvel com todos os COREs. Ateno: Somente conecte os mdulos aps desligar a alimentao da PlatCNZ. Ao inserir um mdulo no PlatCNZ, certifique-se de conectar adequadamente todos os pinos. Se algum pino ficar de fora do conector, o mdulo pode sofrer danos irreparveis. A PlatCNZ pode ser vista na figura ao lado. Os COREs e os mdulos de aplicao podem ser conectados em qualquer uma das duas posies disponveis. Quando utilizando um CORE de microcontrolador, o conector serial DB9 utilizado tanto para a programao do componente como para a aplicao do usurio. Quando utilizando um CORE-PLD, a programao do dispositivo feita atravs de um cabo de programao opcional, que conectado diretamente ao CORE. A PlatCNZ requer alimentao externa, AC ou DC, de 15 a 40V, que deve ser ligada no conector CN8, do tipo borne com parafuso. O funcionamento da PlatCNZ indicado pelo led D6. Ateno: Ao utilizar o CORE-PLD com a PlatCNZ, no conecte nenhum dispositivo na interface serial DB9.
Conector para interface serial Led de alimentao 15 a 40V AC ou DC

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

10

Manual de Operao do CORE-8052

2. CORE-8052 Mdulo do Microcontrolador 8052


O CORE-8052 constitui-se de um microcontrolador Atmel 89S52, compatvel com o Intel 8052, um circuito de gravao e um circuito para compatibilizar os nveis eltricos da interface serial RS-232. A pinagem do microcontrolador 89S52 pode ser vista ao lado. Suas principais caractersticas so:

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

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

11

Manual de Operao do CORE-8052

2.1. Interface Serial RS-232


A interface serial, padro RS-232, pode ser utilizada tanto para a gravao do microcontrolador, como para a aplicao programada pelo usurio, bastando apenas deixar a chave de seleo (SW1) na posio adequada, a saber: Liberada roda a aplicao; Pressionada habilita a programao do microcontrolador / suspende a execuo da aplicao. Esta mesma chave serve como reset para o microcontrolador, bastando pression-la e liber-la novamente. O conector da interface serial do tipo DB9 fmea. Nos Consoles ele est localizado no painel traseiro enquanto na PlatCNZ ele est localizado na parte superior. A pinagem desse conector mostrada na tabela seguinte. Pino 1 2 3 4 5 6 7 8 9 Sinal RxD TxD DTR GND RTS CTS N.C. (RI) Descrio Recepo de dados Transmisso de dados ETD pronto Terra Requisio para transmitir Autorizao para transmitir No conectado (indicador de chamada)

N.C. (DCD) No conectado (deteco de portadora)

N.C. (DSR) No conectado (ECD pronto)

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

12

Manual de Operao do CORE-8052

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.

3.1. Programa de Gravao Programador uCORE-8052


O software Programador uCORE-8052, desenvolvido pela CNZ, permite o envio de programas no formato Intel Hex para o CORE-8052. Veremos a seguir como instalar o programa, utiliz-lo para a gravao do microcontrolador e o tratamento das mensagens de erro.

3.1.1. Instalando o Programador uCORE-8052


O arquivo de instalao se encontra no CD-ROM que acompanha o produto. O procedimento para instalao do programa o seguinte: 1. Localize o diretrio Prog8052 no CD; 2. D um duplo clique no arquivo setup.exe;

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

13

Manual de Operao do CORE-8052

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.

3.1.2. Gravando um Programa no CORE-8052


Para que seja possvel programar o microcontrolador presente no CORE-8052, os passos seguintes devem ser seguidos: 1. Desligue o Console ou PlatCNZ; 2. Conecte a porta serial do Console ou PlatCNZ porta serial de um microcomputador PC utilizando o cabo DB9 fornecido; 3. Certifique-se que a chave SW1 esteja pressionada; 4. Ligue o Console ou PlatCNZ. 5. Execute o software Programador uCORE-8052 (Iniciar - uCORE8052 uCORE8052)

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

14

Manual de Operao do CORE-8052

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;

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

15

Manual de Operao do CORE-8052

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.

3.1.3. Mensagens de Erro do Programador uCORE-8052


O Programador uCORE-8052 pode apresentar algumas mensagens de erro, como exemplificado na prxima figura:

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

16

Manual de Operao do CORE-8052

As mensagens de erro e suas possveis causas so detalhadas na tabela seguinte: Mensagem


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

Nenhum arquivo selecionado; incompatvel ou

Arquivo invlido

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

17

Manual de Operao do CORE-8052

3.2. Assembly e Assember para o 8052


Para a programao de microcontroladores utilizamos a linguagem assembly, que uma representao da linguagem de mquina atravs de mnemnicos, de modo a torn-la humanamente compreensvel. Os arquivos fonte em linguagem assembly (extenso .asm) devem ser montados, resultando em arquivos binrios. O formato mais usual desses arquivos binrios, para microcontroladores, o Intel hexadecimal (extenso .hex). Os arquivos em formato Intel HEX podem ser gravados no microcontrolador do CORE-8052. Nos prximos itens veremos um modelo de arquivo assembly para o 8051/52 e informaes sobre o programa montador e o formato Intel HEX.

3.2.1. Assembly 8051/52 Modelo de Arquivo


Os arquivos fontes, em linguagem assembly, podem ser feitos em qualquer editor de texto puro, como o Bloco de Notas do Windows, por exemplo. A extenso padro a .asm. A estrutura abaixo pode ser seguida como modelo:
$MOD52 ORG 0000H LJMP INICIO ORG 0003H LJMP Int_Ext_0 ORG 000BH LJMP Int_Timer_0 ORG 0013H LJMP Int_Ext_1 ORG 001BH LJMP Int_Timer_1 ORG LJMP ORG LJMP INICIO: ; <<< Insira o seu programa principal aqui >>> 0023H Int_Serial 002BH Int_Timer_2 ; define o uC 8052 para o montador ; vetor de Reset ; vetor da Interrupo Externa 0 ; vetor do Timer 0 ; vetor da Interrupo Externa 1 ; vetor do Timer 1 ; vetor da Interrupo Serial ; vetor da Interrupo Timer 2

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

Manual de Operao do CORE-8052

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

3.2.2. Programa Montador (Assembler)


Existem diversos softwares montadores (assemblers) no mercado. O CD que acompanha o CORE-8052 inclui o 8051 Cross Assembler da MetaLink Corporation (www.metaice.com). Trata-se de um assembler gratuito e um mais populares no mercado. O manual original do fabricante tambm est disponvel no CD, no arquivo MetaLink_ASM51_Manual.pdf. Para utilizar o 8051 Cross Assembler necessrio descompactar o arquivo asm51.zip do CD de documentao para um diretrio no PC. O software no requer instalao e roda em modo DOS (prompt de comando). Para compilar um programa, execute o ASM51, atravs do arquivo ASM51.exe. No prompt que aparecer na tela, digite o nome do arquivo assembly (.asm) a ser montado e pressione a tecla Enter. Esse prompt aceita o caminho completo do arquivo caso ele esteja em outro diretrio, mas tanto o caminho como o nome devem estar no formato DOS, ou seja, 8 caracteres. O arquivo com extenso hex ser salvo no mesmo diretrio do arquivo asm. O 8051 Cross Assembler pode ser finalizado; caso tenha sido executado em uma janela do Windows, basta fech-la. Utilize o Programador uCORE-8052 para gravar o programa no CORE-8052 conforme descrito no item 3.1.2. Caso haja alguma mensagem de erro, verifique o arquivo com extenso lst para checar quais foram os problemas detectados. Corrija os erros e repita o procedimento para montagem. Havendo alguma dvida, consulte o manual do 8051 Cross Assembler.

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

19

Manual de Operao do CORE-8052

3.2.3. Formato dos Arquivos Intel HEX


Os arquivos Intel HEX so formados por registros que possuem o formato abaixo. Todos os caracteres so hexadecimais, isto , de 0 a 9 e de A a F. : Onde: : incio do registro (caracter "dois pontos"). nn dois caracteres indicando a quantidade de dados do registro em bytes. O registro de fim de arquivo contm o valor ''00" (zero) como comprimento. O numero mximo de dados em cada registro 255 ("FF"). AAAA quatro caracteres indicando o endereo de carga do primeiro dado do registro. No registro de fim de arquivo este campo possui o valor "0000" (zero), ou o endereo de incio do programa. TT dois caracteres que indicam o tipo do registro e podem assumir os valores "00" para registro de dados, ou "01" para registro de fim de arquivo. DD . . . DD Este campo contm os dados do registro. Cada dado constitudo de um par de caracteres, e seu valor pode ser obtido convertendo-o de ASCII para hexadecimal, sendo o primeiro dgito o mais significativo. No registro de fim de arquivo, no h nenhum dado. CC valor de 8 bits, correspondente soma (operao XOR) dos valores numricos dos campos de comprimento do registro, endereo de carga, tipos de registro e de dados. O resultado desta soma "negada" (complemento de 2) e convertido em dois caracteres com dgito mais significativo primeiro. Este valor ASCII corresponde ao checksum. <CR> identifica o final de um registro (caracter ASCII Carriage Return" 0DH). n n A A A A T T D D ... D D C C <CR>

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

20

Manual de Operao do CORE-8052

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:

Controlador de Semforos Painel Eletrnico com LCD

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.

4.1. Exemplo 1 Controlador de Semforos


A proposta deste projeto a elaborao de um Controlador de Semforos para cruzamentos simples, conforme ilustrado na figura abaixo.

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.

4.1.1. Diagrama de Estados


O diagrama de estados para o controlador de semforos proposto o seguinte:

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

21

Manual de Operao do CORE-8052

4.1.2. Esquema Eltrico


O esquema eltrico do controlador de semforos proposto pode ser visto na figura seguinte.

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

22

Manual de Operao do CORE-8052

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.

Ateno: No esquea de desligar a PlatCNZ, ou Console, antes de efetuar as ligaes.

4.1.4. Cdigo Fonte


*************************************************** ;* Titulo : CONTROLADOR DE SEMAFOROS (2 fases) * ;* Empresa: CNZ Industria e Comercio Ltda. * ;* Autor : Edmur Canzian * ;************************************************** $mod52 rst_inic equ 0000H ; endereco do vetor de RESET

;*** 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

CNZ Indstria e Comrcio Ltda.

Manual de Operao do CORE-8052

;*** 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

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

24

Manual de Operao do CORE-8052

4.2. Exemplo 2 Painel Eletrnico com LCD


O objetivo deste projeto a implementao de um programa que escreva uma mensagem no display de cristal lquido, utilizando as duas linhas do display. Para a montagem ser utilizado o mdulo de aplicao LCD/IC. Para verificar o procedimento de inicializao do display e os comandos utilizados para manipul-lo, consulte o captulo o manual do mdulo LCD/IC.

4.2.1. Fluxograma
O fluxograma do projeto proposto pode ser visto a seguir.

Inicializa display LCD

Escreve mensagem na primeira linha

Escreve mensagem na segunda linha

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

25

Manual de Operao do CORE-8052

4.2.2. Esquema Eltrico


O esquema eltrico do painel eletrnico proposto pode ser visto a seguir.

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.

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

26

Manual de Operao do CORE-8052

4.2.4. Cdigo Fonte


;*************************************************** ;* Titulo : Painel Eletronico com Display LCD * ;* Empresa: CNZ Industria e Comercio Ltda. * ;* Autor : Jean Alfredo Franco Freitas * ;*************************************************** $mod52 ; Declaracao Enderecos de I/O -> LCD ENABLE RS EQU ORG MOV EQU P0.2 P0.0 0000H SP , #2Fh ; vetor de RESET

;********************************* ;** 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

Manual de Operao do CORE-8052

;*** 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

;*** Mensagens do Display *** ;**************************** mens_1: DB mens_2: DB END


CNZ Indstria e Comrcio Ltda. www.cnz.com.br 28

' CNZ Ind. e Com.' ' www.cnz.com.br '

Manual de Operao do CORE-8052

5. Conjunto de Caracteres ASCII


Apresentamos abaixo a tabela de caracteres padro ASCII American Standard Code for Information Interchange. Os caracteres enviados atravs de uma interface serial geralmente seguem esse padro e utilizam 7 bits.
HEX 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 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 HEX 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F DEC 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 CHR SPC ! " # $ % & ' ( ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? HEX 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F DEC 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 CHR @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ HEX 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F DEC 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 CHR ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ DEL

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

29

Manual de Operao do CORE-8052

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

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

30

Manual de Operao do CORE-8052

6. Diagrama Esquemtico do CORE-8052

CNZ Indstria e Comrcio Ltda.

www.cnz.com.br

31

You might also like