quarta-feira, 31 de julho de 2013

Jornal Ícone - Ed. 208 - Abrindo e programando com o ZDSII



André Pereira

 Neste artigo vamos nos concentrar na IDE da Zilog, o ZDSII que tem versão para a linha Z8 encore e ZNEO, além das demais linhas desta empresa. Vamos começar um programa para ligar e fazer piscar um LED além de outras funcionalidades que o programa e a IDE permitirem. Espero que venha a ser muito útil aos nossos leitores e ficamos aguardando seus comentários.

 Em www.zilog.com, na aba da figura a seguir é possível adquirir a IDE diretamente no site do fabricante e sempre nas versões atualizadas.
Depois de fazer o download, instalar e abrir o programa. Vamos por a mão na massa. Na figura a seguir, temos o programa aberto, se conseguiu acompanhar o último post, deve saber como abrir e usar o ZDSII, então vamos lá. 
Caso contrário, acesse o artigo anterior em www.jornalicone.blogspot.com
A partir de agora vamos nos concentrar no programa, partindo do esquemático do projeto. Este consiste no desenho a seguir que mostra a ligação dos LEDs ao Z8F0822 e valores dos resistores. (Veja a fig.3)
 Não vamos discorrer sobre o circuito completo, o mesmo se chama um150.pdf e pode ser encontrado no site da Zilog em www.zilog.com e pode ser baixado gratuitamente. Se o fez, vamos comentar o código e fazer o led acender conforme. 

Fig.3






Com o ZDSII aberto, vamos abrir um projeto no local de instalação do programa e na pasta samples devemos achar o arquivo ou o projeto na sub pasta  XP_F0822 e abrimos, no programa ZDSII , o arquivo ledblink e na aba esquerda, ledblink.asm, temos o programa a seguir : 

;LED positions
LED_OFF          EQU ~(0)
IF (_Z8ENCORE_XP_MDS_8PIN)
LED_GREEN        EQU ~ (1 << 0)
LED_YELLOW       EQU ~ (1 << 1)
LED_RED          EQU ~ (1 << 2)
ELIF (_Z8ENCORE_XP_MDS) ; Aqui é o microcontrolador selecionado no sistema, então, o programa segue a partir daqui. 
LED_RED          EQU ~ (1 << 3)
LED_YELLOW       EQU ~ (1 << 7)
LED_GREEN        EQU ~ (1 << 6)
ELSE
LED_RED          EQU ~ (1 << 0)
LED_YELLOW       EQU ~ (1 << 1)
LED_GREEN        EQU ~ (1 << 2)
ENDIF
 Para o nosso caso, sempre iremos usar a denominação "_Z8ENCORE_XP_GROUP      EQU ((__Z8F04A==1) || (__Z8F08A==1)) " para designar o microcontrolador que estamos usando. 

 Uma vez compilado o programa para o microcontrolador que estamos usando, damos um reset e passamos a ver seu funcionamento. Para alterar a velocidade ou tempo de funcionamento e a direção, basta mexer no timer em seus parâmetros. 
 O código completo contempla todas as funções do microcontrolador e uma delas é a de comunicação serial, conversão A/D e muito mais. Tenha um tempo e tente fazer um circuito melhor para usar essas funções do micro. 
 Aguardamos, ansiosos pelo projeto ziloguino, que consiste em uma placa no modelo arduino, só que não na programação, esta será feita com linguagem ASM ou C do próprio ZDSII. O bom desse projeto é poder usar as shields ou placas para arduino no ziloguino e passar a um patamar e poder criar outros projetos mais interessantes.
 Aguardamos comentários e dicas e, assim que o projeto Ziloguino sair, postaremos projetos realmente interessantes, logo, fiquem a vontade para sugerirem e muito obrigado. 
 Para sugestão ou reclamação : andrepereira@ig.com.br  ou 21 91267264.