Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org $1000
- ; Funções TRAP #14: número da função deve ser colocado em d7
- TUTOR equ 228 ; função que retorna ao Programa Tutor
- INCHE equ 247 ; funcao que pega um caractere do teclado
- OUTCH equ 248 ; funcao que envia um caractere para a tela
- OUTPUT equ 243 ; funcao que envia uma string para a tela
- OUT1CR equ 227 ; funcao que envia CR e LF ao terminal
- ; Endereços de Registradores do MC68230
- PGCR equ $FE8001 ; registrador de controle geral
- PACR equ $FE800D ; Porta A - registrador de controle
- PBCR equ $FE800F ; Porta B - registrador de controle
- PADDR equ $FE8005 ; Porta A - registrador de direção de dados
- PBDDR equ $FE8007 ; Porta B - registrador de direção de dados
- PADR equ $FE8011 ; Porta A - registrador de dados
- PBDR equ $FE8013 ; Porta B - registrador de dados
- ; Códigos de configuração do módulo LCD
- LCD2L5X7 equ $38 ; LCD 2 linhas 5 X 7
- LIMLCD equ $01 ; Limpa Display e Retorna o Cursor
- HOME equ $02 ; Coloca Cursor na Posição Inicial (Home)
- LCDOFF equ $08 ; Display Apagado
- CESQ equ $10 ; Desloca somente o Cursor para a Esquerda
- CMESQ equ $18 ; Desloca o Cursor e a Mensagem para a Esquerda
- CDIR equ $14 ; Desloca somente o Cursor para a Direita
- CMDIR equ $1C ; Desloca o Cursor e a Mensagem para a Direita
- LCDONSC equ $0C ; Display Aceso sem Cursor
- LCDONCF equ $0E ; Display Aceso com Cursor Fixo
- LCDONCP equ $0F ; Display Aceso com Cursor Intermitente
- C1L1P equ $80 ; Desloca o Cursor para a 1a. linha, 1a. posição
- C2L1P equ $C0 ; Desloca o Cursor para a 2a. linha, 1a. posição
- WDCESQ equ $04 ; Escreve deslocando o Cursor para a Esquerda
- WDCDIR equ $06 ; Escreve deslocando o Cursor para a Direita
- WDMESQ equ $07 ; Escreve deslocando a Mensagem para a Esquerda
- WDMDIR equ $05 ; Escreve deslocando a Mensagem para a Direita
- ; Programa Principal
- TLCD move.l #$8000,a7 ; inicia a pilha: última posição da RAM + 1
- bsr INICPIA ; Inicializa MC 68230
- bsr DPINIT ; Inicializa Modulo LCD
- TLCD1 move.b #C1L1P,d0 ; seleciona 1a. linha
- bsr WRITEC
- lea (MEN01,pc),a0 ; (a0)<= end. inicial da mensagem
- bsr PRINT ; imprime mensagem
- move.b #C2L1P,d0 ; seleciona 2a. linha
- bsr WRITEC
- lea (MEN02,pc),a0 ; (a0)<= end. inicial da mensagem
- bsr PRINT ; imprime mensagem
- bsr ESPERA2 ; espera tempo grande
- move.b #LIMLCD,d0 ; apaga display
- bsr WRITEC
- bsr ESPERA2 ; espera tempo grande
- move.b #C1L1P,d0 ; seleciona 1a. linha
- bsr WRITEC
- lea (MEN01,pc),a0 ; (a0)<= end. inicial da mensagem
- bsr PRINT ; imprime mensagem
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement