Вы находитесь на странице: 1из 19

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

Sistemas Microprocessados I
Profa. Marilza 1 Semestre 2005

Sistema Microprocessado Baseado no 8085

Alunos: Renato Quarentei Gardiman Gustavo R. Pinto Robinson F. Bruginski Jos Henrique Bellotto

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

Disciplina: SISTEMAS MICROPROCESSADOS I


Profa. Marilza A. Lemos

Alunos: Renato Q. Gardiman, Jos Henrique Bellotto, Robinson F. Bruginski, Gustavo R. Pinto

ndice
Introduo......................................................................................................................................... 2 Diagrama de blocos funcionais do sistema.......................................................................................3 Descrio das caractersticas dos sistema:........................................................................................3 Faixa de endereamento disponvel em RAM e em ROM:........................................................ 3 Localizao em memria ROM do programa (e sub-rotinas) no sistema...................................3 Localizao da pilha....................................................................................................................4 Alimentao................................................................................................................................ 4 Frequncia de clock (entrada e sada)......................................................................................... 4 Outros (interrupes utilizadas, especificao do teclado, display, etc)..................................... 4 Especificao detalhada do projeto de decodificao de Memrias ROM, RAM e I/O.................. 4 ROM............................................................................................................................................ 4 RAM............................................................................................................................................ 4 I/O................................................................................................................................................ 4 Esquema Eltrico.............................................................................................................................. 5 Descrio do programa..................................................................................................................... 7 Descrio dos objetivos do programa......................................................................................... 7 Fluxograma:................................................................................................................................ 7 Cdigo completo comentado....................................................................................................... 7 Ferramentas de software e hardware utilizadas.............................................................................. 13 Depurao do sistema................................................................................................................. 13 PROGRAMA 1 Depurao. Gera uma onda de 166KHz no pino SOD do 8085...................13 PROGRAMA 2 Depurao. Inicializa o LCD e plota a seguinte frase: SMI OK!..............14 PROGRAMA 3 Depurao. Para cada tecla do teclado h um diferente valor de tempo no pino SOS do 8085...................................................................................................................... 15 Problemas...................................................................................................................................... 16 Solues.........................................................................................................................................16 Mudana no projeto....................................................................................................................... 16

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

Introduo
O microprocessador e o microcomputador revolucionaram a indstria eletrnica e tiveram um enorme impacto nos diversos aspectos de nossas vidas. O desenvolvimento de CIs de altssima densidade reduziu to drasticamente o custo dos microcomputadores que os projetistas rotineiramente consideram utilizar suas capacidades e versatilidades em uma grande variedade de produtos e aplicaes. O microprocessador utilizado aqui nesse projeto o 8085, foi originalmente desenvolvido pela Intel no final dos anos 70 como evoluo do 8080. Dentre suas caracteristicas destacam-se o tamanho da palavra que ele trabalha (8 bits), tamanho da bus de dados (8 bits) e tamanho do barramento de endereamento (16 bits) deixando o processador capaz de enderear at 64k posies. Muitos processos de automao dependem de uma fase de processamento de dados, temse sensores que fornecem dados e atravs de um processador pode-se manter um sistema automatico. Existem vrias aplicaes para sistemas onde o processamento seja local, caracateritica principal de um microcontrolador, em uma rede industrial por exemplo, onde temos muitos terminais de microcontroladores independentes entre si mas conectados em rede. Muitos atuadores precisam de um controle de velocidade mais complexo como PWM entre outros modos de controle que necessitam de processamento para funcionarem. No nosso projeto tem-se o 8085 controlando um LCD como dispositivo de sada e um teclado como dispositivo de entrada. O objetivo do sistema de criar uma interface de texto para diverso ou tambm para transmitir informao na forma de texto. Alm do 8085, do LCD e do teclado, temos agregado ao sistema para o pleno funcionamento dele: memria EPROM de 8K bytes, memria RAM de 32K bytes, 74ls373, 74ls245, 74ls244 e portas lgicas AND, NOT e OR.

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

Diagrama de blocos funcionais do sistema

Descrio das caractersticas dos sistema:

Faixa de endereamento disponvel em RAM e em ROM: A capacidade de endereamento do 8085 de 64kbytes, a memria ROM ocupa o endereamento de 0000h at 1FFFh, sendo ela uma memria de 8kbytes. A RAM ocupa o endereamento de 8000h at FFFFh, sendo ela uma memria de 32kbytes. Localizao em memria ROM do programa (e sub-rotinas) no sistema. O programa comea do 0000h e vai at onde a locao de momoria necessitada para armazenar o texto. Importante lembrar que o texto ocupar muito mais espao do que as instrues propriamente ditas.
3

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

Localizao da pilha A pilha inicializa-se na ultima posio da memria RAM (FFFFh) Alimentao Ser usado um 7805, regulador de tenso e uma fonte qualquer. Frequncia de clock (entrada e sada) Ser usado um cristal de 4 Mhz. Outros (interrupes utilizadas, especificao do teclado, display, etc) No ser usada nenhuma interrupo, sendo as entradas do teclado requizitadas por software, ou seja, vai ter um loop para ler o teclado na hora em que necessita-se. O teclado ter oito botes normalmente a nivel baixo. O display de cristal liquido de duas linhas com 16 caracteres por linha, Especificao detalhada do projeto de decodificao de Memrias ROM, RAM e I/O.

ROM A ROM se inicia no endereo 0000h e ternina no enderee 1FFFh, devido ao fato do fio A15 estar ligado juntamente com o IO/M no chip eneble da memria. RAM A RAM se inicia no endereo 8000h e vai at o endereo FFFFh, devido ao fato do fio A15 estar ligado juntamente com o IO/M no chip eneble da memria. I/O O LCD encontra-se no endereo 80H devido ao fato do fio A7 estar ligado no enable do LCD, juntamente com o IO/M e tbm com o WR, pq iremos somente escrever no LCD. O teclado encontra-se no endereo 40H devido ao dato do fio A6 estar ligado no eneble do buffer do teclado, juntamente com o RD e o IO/M.

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

Esquema Eltrico

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

figura 1
6

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

Descrio do programa

Descrio dos objetivos do programa O programa descreve a matria de SM-I Fluxograma:

Cdigo completo comentado .equ 81h .equ 80h .equ 40h ; endereo IO do LCD para dados ; endereo IO do LCD para comandos ; endereo IO do teclado ; sequencia de inicializao do LCD
7

;IO MAP LCData LCDCom keyb

lcdinit1 .equ 00111100b

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

lcdinit2 .equ 00001111b lcdinit3 .equ 00000001b lcdinit4 .equ 00000110b lcdreset .equ 1h lcdline1 .equ 2h lcdline2 .equ 11000000b .org 0h inicio:

; comandos do LCD

lxi SP,0FFFFh ; inicializa pilha call LCDInit ; iniicaliza LCD call Intro ; plota menu mainloop: call kbp ;keyboard precionado jmp mainloop

;################################################## Intro: lxi d,txtintro ; abre texto de introduo call LCDPrintL1 ; plota na tela call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 ret ;################################################## story1: lxi d,txtstory1 ;abre as coisas adiante do menu call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 ret ;################################################## story2: lxi d,txtstory2
8

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 ret ;################################################## story3: lxi d,txtstory3 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 ret ;################################################## story4: lxi d,txtstory4 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 call LCDPrintL2 call LCDPrintL1 ret ;################################################## LCDInit: mvi A, lcdinit1
9

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

out LCDCom lxi B,00FFFh call delay100 mvi A, lcdinit2 out LCDCom lxi B,00FFFh call delay100 mvi A, lcdinit3 out LCDCom lxi B,00FFFh call delay100 mvi A, lcdinit4 out LCDCom lxi B,00FFFh call delay100 ret ;################################################## kbp: in keyb ;io do teclado rar ;coloca o 1 bit no carry jc Intro ;pula se o botao D0 esta apertado rar ;coloca o 2 bit no carry jc story1 ;pula se o botao D1 esta apertado rar ;coloca o 3 bit no carry jc story2 ;pula se o botao D2 esta apertado rar ;coloca o 4 bit no carry jc story3 ;pula se o botao D3 esta apertado rar ;coloca o 5 bit no carry jc story4 ;pula se o botao D4 esta apertado rar ;coloca o 6 bit no carry ; jc story5 ;pula se o botao D5 esta apertado rar ;coloca o 7 bit no carry ; jc story6 ;pula se o botao D6 esta apertado rar ;coloca o 8 bit no carry ; jc story7 ;pula se o botao D7 esta apertado ret ;################################################## LCDPrintL1: ;plota linha 1 a partir do registro DE mvi a,lcdreset out LCDCom call delay100
10

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

LCDPrintL1loop: ldax d inx d mvi b,0h cmp b jz LCDPrintL1end out LCData call delay300 jmp LCDPrintL1loop LCDPrintL1end: ret ;################################################## LCDPrintL2: ; linha 2 mvi a,lcdline2 out LCDCom call delay100 LCDPrintL2loop: ldax d inx d mvi b,0h cmp b jz LCDPrintL2end out LCData call delay300 jmp LCDPrintL2loop LCDPrintL2end: call delaymax ret ;################################################## delaymax: LXI B, 0ffffH ;786,4355 Mili Segundos Ldelay: DCX B MOV A, C ORA B JNZ Ldelay ret ;################################################## delay300: LXI B, 6db6H ;Aproximadamente 300 Mili Segundos jmp Ldelay ;################################################## delay100: LXI B, 02492H ;112.3479 Mili Segundos
11

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

jmp Ldelay ;################################################## txtintro: .byte "Projeto de SMI",0 .byte "0 - Menu:",0 .byte "1 - 8085",0 .byte "2 - Memoria",0 .byte "3 - Barramento",0 .byte "4 - E/S",0 .byte "5 - Integrantes",0 txtstory1: .byte "O 8085 e o prin-",0 .byte "cipal componente",0 .byte "desse projeto co",0 .byte "mandando todos",0 .byte "demais componen-",0 .byte "tes. Operando de",0 .byte "forma sincroniza",0 .byte "da com um oscila",0 .byte "dor, basicamente",0 .byte "busca e executa",0 .byte "tarefas.",0 txtstory2: .byte "A memoria armaze",0 .byte "na grupos de di-",0 .byte "gitos binarios",0 .byte "que podem repre",0 .byte "sentar instrucoe",0 .byte "s e dados que se",0 .byte "rao armazenados",0 .byte "na memoria.",0 txtstory3: .byte "A interligacao",0 .byte "entre o 8085 e",0 .byte "outros dispositi",0 .byte "vos e feita atra",0 .byte "ves do barrament",0 .byte "o estes permitem",0 .byte "a transferencia",0 .byte "de dados, endere",0 .byte "cos instrucoes e",0 .byte "informacoes.",0 txtstory4: .byte "Consiste em todo",0 .byte "s dispositivos",0 .byte "s utilizados para",0
12

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

.byte "obter dados exte",0 .byte "rnos e envia-los",0 .byte "para o usuario.",0 .byte "Os dados de entr",0 .byte "ada sao transmit",0 .byte "idos atraves de",0 .byte "mouse, teclados",0 .byte "disquetes, modem",0 .byte "etc. Ja os dispo",0 .byte "sitivos de saida",0 .byte "sao: monitores,",0 .byte "displays, lampad",0 .byte "as, impressoras,",0 .byte "etc.",0 .end Ferramentas de software e hardware utilizadas

Eagle Tasm Openoffice LEAP Universal Programmer and Tester. Version 5.6 bloco de notas Windows XP Programa SFC para edio de fluxogramas Depurao do sistema

Considerando a complexidade e a grande possibilidade de falha do projeto, foi adotada uma ttica de implementao na qual criava-se um programa teste simples para conferir se toda a parte hardware do projeto estava funcionando Programas de depurao: PROGRAMA 1 Depurao. Gera uma onda de 166KHz no pino SOD do 8085. .org 0h inicio: mvi B,0ffh ; tempo maximo em um registrador loop1: dcr B ;decrementa tempo jnz loop1 ;volta para a decrementao at zerar mvi A,0C0h ;coloca valor no acumulador sim mvi B,0ffh loop2: dcr B jnz loop2 mvi A,40h sim jmp inicio .end
13

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

PROGRAMA 2 Depurao. Inicializa o LCD e plota a seguinte frase: SMI OK!. ;IO MAP LCData LCDCom .equ 81h .equ 80h

lcdinit1 .equ 00000000b lcdinit2 .equ 00000000b lcdinit3 .equ 00000000b lcdinit4 .equ 00000000b lcdinit5 .equ 00000000b ;################################################## ;inicio do programa MAIN() .org 0h inicio: lxi SP,0FFFFh call LCDInit mvi a,'S' out LCData mvi a,'M' out LCData mvi a,'I' out LCData mvi a,' ' out LCData mvi a,'O' out LCData mvi a,'K' out LCData mvi a,'!' out LCData hlt ;################################################## LCDInit: mvi A, lcdinit1 out LCDCom lxi B,00FFFh call delay mvi A, lcdinit2 out LCDCom lxi B,00FFFh
14

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

call delay mvi A, lcdinit3 out LCDCom lxi B,00FFFh call delay mvi A, lcdinit4 out LCDCom lxi B,00FFFh call delay mvi A, lcdinit5 out LCDCom lxi B,00FFFh call delay ret ;################################################## delay: ;Carregar PAR HL para o tempo ;LXI B, 0ffffH ; 786,4355 Mili Segundos Ldelay: DCX B MOV A, C ORA B JNZ Ldelay ret ;################################################## .end PROGRAMA 3 Depurao. Para cada tecla do teclado h um diferente valor de tempo no pino SOS do 8085. .org 0h keyb .equ 40h lxi SP,0FFFFh inicio: in keyb cmp 0 jnz beep jmp inicio beep: ;precisa do par BC para temporizar lxi B,05FFh
15

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

mvi A,0C0h sim call delay mvi A,40h sim ret delay: ;Carregar PAR BC para o tempo ;LXI B, 0ffffH ; 786,4355 Mili Segundos Ldelay: DCX B MOV A, C ORA B JNZ Ldelay ret .end Problemas

Um programa teste implementado deveria acionar o buzzer, entretanto, o buzzer no emitiu som algum - Programa 3 de depurao. Aps o soluo do primeiro problema, o buzzer passou a emitir o som, mas de forma intermitente, o tempo programado para o som no estava sendo obedecido e o buzzer permanecia sempre acionado. Solues

Soluo para o acionamento do buzzer: Varrendo o barramento de endereos com o osciloscpio, percebeu-se que endereos menos significativos do barramento no recebiam nenhum sinal, continuando, notou-se que o pino de controle tri-state do buffer referente a esses endereos estava com mau contato, ento, trocou-se este fio. Soluo para o funcionamento intermitente do buzzer: Notou-se que a falha poderia ser causada pelos fios barramento de dados referente ao display que ainda no estavam sendo usados e estavam flutuantes, dessa forma poderia ocorrer a refleo de um sinal na extremidade do fio interfirindo no valor presente no barramentode dados. Ento, os fios foram retirados temporariamente. Mudana no projeto

Para facilitar o objetivo do sistema decidiu-se alterar as funoes do programa, antes definido como um jogo controlado por escolhas do usurio que defenia um destino para a
16

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

prxima, agora seleciona-se apenas os textos pr-estabelecidos sem a inferio referida. Assim, o programa funciona apenas como um banco de informaoes. Bibliografia Tocci, W,Sistemas Digitais Princpios e Aplicaes 7 edio. Ed. LTC

17

UNIVERSIDADE ESTADUAL PAULISTA Jlio de Mesquita Filho Campus de Sorocaba/Iper

18

Вам также может понравиться