Home

EXPERIÊNCIA 7: LINGUAGEM DE ALTO NÍVEL “C” PARA

image

Contents

1. EXPERI NCIA 7 LINGUAGEM DE ALTO N VEL C PARA 8051 E GRAVA O de programas EM EPROM Autores Prof Dr Andr Riyuiti Hirakawa e Prof Dr Carlos Eduardo Cugnasca Vers o 3 0 2006 1 OBJETIVO Esta experi ncia tem como objetivo complementar o aprendizado de elabora o de programas em linguagem de alto n vel apresentando os aspectos do acesso a perif ricos a sinais de controle e a interrup es Al m da programa o do microprocessador em linguagem de alto n vel essa experi ncia prev a grava o do programa execut vel em mem ria EPROM que dever substituir a mem ria com o Programa Monitor da Placa Experimental 2 INTRODU O Os compiladores s o ferramentas poderosas para a produ o de software por traduzirem programas escritos em linguagem de alto n vel para programas escritos em linguagem de m quina Entretanto a intera o da linguagem de alto n vel com as opera es sobre o hardware opera es de entrada e sa da em alguns casos n o s o previstas na linguagem Nos programas executados em computadores as opera es de entrada e sa da s o executadas pelo sistema operacional atrav s de systems calls Nos equipamentos desprovidos de sistema operacional necess rio que o programador crie os programas b sicos de entrada e sa da escritos usualmente em linguagem assembly para que apresentem um bom grau de otimiza o minimizando o tempo de sua execu o Eles
2. PCS 5 Laborat rio de Processadores I Experi ncia 7 AP NDICE I ALGUMAS CARACTER STICAS DO SMALL DEVICE C COMPILER Recomenda se a leitura atenta do manual desse compilador A seguir ser o apresentadas algumas informa es de interesse ao programador Maiores informa es bem como o manual do compilador podem ser obtidos em http sdcc sourceforge net Em rela o aos exemplos apresentados na apostila h a necessidade de se realizar algumas altera es sugerindo se fortemente a leitura atenta do manual dispon vel no endere o acima A seguir s o apresentadas algumas recomenda es para seu uso a Declara es reas de mem ria do microcontrolador utilizar at Exemplo unsigned char far at 0x98 var b Uso de Linguagem Assembly dentro da Linguagem C asm lt c digo em linguagem assembly gt _endasm Observa o o da ltima instru o n o pode ser esquecido c Chamada do Compilador Utilizar o comando SDCC em uma janela DOS colocando se as informa es de aloca o na mesma linha Exemplo c gt sdcc code loc 0xA000 xram loc 0x8000 progr c d Passagem de Par metros e Retorno de Valores em Subrotinas O primeiro par metro de acordo com o seu tamanho em bytes passado pelos seguintes registradores cap tulo 3 13 de 1 1 byte DPL 2 byte DPH 3 byte B 4 byte A Do segundo em diante caso a subrotina seja n o reentrante os par metros s o
3. as recomenda es abaixo e O endere o inicial do programa gerado deve ser 0000H e Uma das tarefas do Programa Monitor inicializar os registradores e os perif ricos do 80C51 Com a retirada desse programa isso n o mais ser feito Portanto o programa do rel gio nesta vers o deve inicializar adequadamente alguns dos registradores de configura o do microcontrolador por exemplo PSW IE IP e SP Descubra no manual do compilador como essa quest o pode ser resolvida e coloque no relat rio e Deve se tomar cuidado com os par metros usados no processo de compila o e liga o aloca o por exemplo par metros de otimiza o e modelo small large veja Ap ndice 1 e Interrup es o Programa Monitor possui instru es de desvio LJMP para o final da mem ria RAM externa para cada posi o do seu vetor de interrup es redefinindo o assim Assim permite se que sejam colocadas subrotinas de tratamento de interrup es em qualquer local sem a necessidade de se alterar o conte do da mem ria EPROM A tabela abaixo apresenta o novo vetor dispon vel Contudo neste item tal caracter stica n o ser utilizada Interrup o Endere o original Endere o na Placa Experimental IEO Interrup o externa O 0003H FFFOH TFO Timer Contador 0 000BH FFF3H IE1 Interrup o externa 1 0013H FFF6H TF1 Timer Contador 1 001BH FFF9H RI TI Canal Serial 0023H FFFCH c Efetue uma p
4. e o resultado ser alocado gerando o programa absoluto progr ihx no formato hexadecimal Intel a ser transferido para aplaca experimental outros arquivos rel poderiam ser colocados neste comando sendo que o primeiro da lista no caso progr c deve necessariamente contero main f Modelos de Compila o Uma vez que o microcontrolador 8051 permite o uso de mem rias ROM e RAM internas ou externas foram previstos dos modelos se compila o que permitem aos projetistas alocar as instru es e rea de dados de forma compat vel com o previsto no projeto Maiores informa es cap tulo 3 17 de 1 No comando de compila o pode ser acrescentada uma das op es model large e model small default Escola Polit cnica da USP Departamento de Engenharia de Computa o e Sistemas Digitais PCS 7 Laborat rio de Processadores I Experi ncia 7 g Subrotinas de Interrup o Uma subrotina de tratamento de interrup o deve ser declarada da seguinte forma void timer0 int void interrupt 1 using 1 O n mero da interrup o atribu do da seguinte forma N da interrup o Descri o Endere o do vetor Endere o de desvio na Placa Experimental 0 Interrup o Externa O 0x0003 OxFFFO 1 Timer O 0x000B OxFFF3 2 Interrup o Externa 1 0x0013 OxFFF6 3 Timer 1 0x001B OxFFF9 4 Canal Serial 0x0023 OxFFFC 5 Timer 2 8052 0x002B O comando using especifica o ba
5. passados pela mem ria em caso de subrotinas reeentrates pela pilha O retorno do valor da subrotina segue a mesma ordem apresentada Escola Polit cnica da USP Departamento de Engenharia de Computa o e Sistemas Digitais PCS 6 Laborat rio de Processadores I Experi ncia 7 e Declara o de uma Fun o Escrita em Linguagem Assembly Presente em um Arquivo Externo Exemplo rotina no arquivo rot asm Os nomes dos par metros n o devem ser passados Na rotina deve ser declarado que a rotina de uso global e que o c digo reloc vel Exemplo globl delay rea CSEG delay RET Observa o n o se utiliza a pseudo instru o END Deve se primeiramente chamar o montador para gerar o c digo da fun o e depois o compilador para gerar o c digo do programa que invoca a fun o e lig lo com o c digo deste Exemplo c gt asx8g051 losg rot asm gera o arquivo rot rel c gt sdcc code loc 0xA000 xram loc 0x8000 progr c rot rel e a op o code loc 0xA000 aloca o c digo a partir do endere o AO00H e a op o xram loc 0x8000 aloca a rea de vari veis externas a partir do endere o 8000H e al m do rot rel outros arquivos reloc veis escritos em linguagem assembly C que j foram montados compilados poderiam ser acrescentados inclusive bibliotecas prontas ou criadas pelo usu rio ele ser ligado ao programa progr c que est sendo compilado atrav s deste comando
6. esquisa em manuais e sites de fabricantes de mem ria e ou livros especializados e coloque no relat rio uma pesquisa a respeito do funcionamento de uma mem ria EPROM e seu processo de grava o e de apagamento Responda ainda s seguintes quest es e Qual o tempo t pico de grava o e de apagamento de uma mem ria e O que uma mem ria do tipo OTP e Quais s o as diferen as entre as mem rias do tipo ROM PROM EPROM EEPROM E PROM e FLASH d Refazer o programa experi ncia IMPLEMENTA O DE REL GIO DIGITAL COM INTERRUP O EM LINGUAGEM C O cron metro deve possuir pelo menos uma tecla para disparar e parar a contagem A implementa o das teclas de RESET e LAP normalmente encontradas nos rel gios digitais opcional Utilize as subrotinas de depura o e apresenta o Escola Polit cnica da USP Departamento de Engenharia de Computa o e Sistemas Digitais PCS 4 Laborat rio de Processadores I Experi ncia 7 no display desenvolvidos na experi ncia anterior e o m dulo de identifica o de teclado reescrito em linguagem C e Envie a informa o apresentada no display tamb m no terminal de v deo f Gerar uma vers o execut vel do programa anterior para ser gravada em EPROM e test la g Opcionais n o necess rio gravar novamente a EPROM e Altere o programa para que o teclado de terminal de v deo substitua o teclado da Placa Experimental e Utilize o c digo do sinal sonoro d
7. nar op o B up down load data 22 Selecionar op o 1 download PC gt SU1 Os passos executados anteriormente armazenam o programa no buffer do MPT 2000 Para que este seja transferido para a EPROM basta digitar a tecla PROG do equipamento de grava o Autor Eng Ricardo Caneloi dos Santos 12 08 1997 Escola Polit cnica da USP Departamento de Engenharia de Computa o e Sistemas Digitais PCS
8. nco de registradores a ser utilizado na subrotina de tratamento de interrup o Maiores informa es cap tulo 3 8 de 1 h Includes Includes podem ser colocados no programa escrito em C visando simplificar a sua escrita Por exemplo o comando a seguir permite a inclus o de um arquivo que cont m as declara es de todos os registradores do 8051 o arquivo 8051 h encontra se na sub pasta MCS51 do SDCC finclude lt B05l h gt i Bibliotecas O SDCC disp e de bibliotecas prontas para uso cap tulo 3 16 de 1 Tamb m permite que o programador crie as suas pr prias bibliotecas cap tulos 3 13 e 3 14 de 1 j Outros Recursos O cap tulo 8 de 1 apresenta uma s rie de comandos teis ao programador como por exemplo deslocamento e rota o de bits otimiza es etc k Classes de Armazenamento O SDCC especifica outras classes de armazenamento al m das especificadas pelo Padr o ANSI para adequar a linguagem s particularidades de cada microprocessador que ele suporta Para o 8051 tem se cap tulo 3 4 de 1 data near code xdata far DE idata sfr sbit pdata ponteiros Escola Polit cnica da USP Departamento de Engenharia de Computa o e Sistemas Digitais PCS 8 Laborat rio de Processadores I Experi ncia 7 AP NDICE II GRAVA O DE EPROM 27256 VIA PC UTILIZANDO O MPT 2000 Passos a serem seguidos para a grava o de mem rias do tipo EPROM 1 Ligar o equipamento de grava o de disp
9. nterrup es em linguagem C apresentado em 1 e Utiliza o do Diagrama Estruturado de Nassi Schneirderman ou Carta de Nassi Schneirderman 10 e Especifica o do programa a ser testado com diagramas estruturados e linhas de programas com explica o sobre qual a fun o da execu o de cada comando Planejamento sem esta documenta o n o ser aceito e Edi o do arquivo fonte existem editores que facilitam a edi o de programas bem como a impress o da listagem associada como por exemplo o Crimson Editor 11 Escola Polit cnica da USP Departamento de Engenharia de Computa o e Sistemas Digitais PCS 3 Laborat rio de Processadores I Experi ncia 7 4 2 Atividades a Refazer o programa do rel gio da Experi ncia 5 em linguagem C Utilize as rotinas auxiliares da experi ncia anterior para depura o do programa Veja as informa es do Ap ndice I para a utiliza o da interrup o em Linguagem C especialmente a partir do item j OBS Como os programas em linguagem C costumam criar programas execut veis de tamanhos significativamente maiores do que se fossem desenvolvidos em linguagem assembly o tempo dispon vel para o tratamento de interrup o se torna mais cr tico Assim deve se evitar a coloca o de muitas instru es dentro de subrotinas de tratamento de interrup es b Gerar uma vers o execut vel do programa anterior para ser gravada em EPROM Procure seguir
10. o encontrados em implementa es especificas para a gera o de c digo para determinados microprocessadores por exemplo 8080 8085 Z80 8086 8088 68000 etc Com o advento do microcomputador pessoal surgiram compiladores C espec ficos para essas m quinas com bibliotecas de rotinas de manipula o dos seus perif ricos t picos teclado v deo disco etc e gerando o programa execut vel compat vel com elas e que nem sempre permitem que o mesmo possa ser utilizado para a gera o de programas para sistemas diferentes baseados no mesmo processador por exemplo baseados no 8086 8088 Tais sistemas costumam apresentar reas de mem ria especificas diferente dos computadores pessoais exigindo compiladores e outras ferramentas de gera o de programa com capacidade de aloca o de programas para qualquer regi o de mem ria escolhida pelo programador Os manuais espec ficos de cada compilador devem sempre ser consultados observando se as restri es existentes os recursos de biblioteca dispon veis os mecanismos de gera o de c digo e demais conven es adotadas O Ap ndice I apresenta as principais caracter sticas do compilador C a ser utilizado 1 Informa es gen ricas a respeito da linguagem C podem ser obtidas em 4 5 6 e 7 4 PARTE EXPERIMENTAL 4 1 Planejamento O planejamento dever apresentar e Descri o do projeto relacionando suas caracter sticas principais e O estudo do manuseio de i
11. o terminal de v deo BEL para indicar a parada e o rein cio com bips de dura o diferente 5 BIBLIOGRAFIA 1 SDCC Small Device C Compiler http sdcc sourceforge net 2 Andrade Marco T lio Carvalho de Cugnasca Carlos Eduardo Hirakawa Andr Apostila da Experi ncia LINGUAGEM DE ALTO NIVEL C PARA 8051 E GRAVA O de programas EM EPROM Disciplina PCS 597 Laborat rio de Microprocessadores I 2001 3 Cugnasca Carlos Eduardo Zerbini ricardo Costa Apostila da Experi ncia Desenvolvimento de Programas em Linguagem de Alto N vel C Disciplina PCS 599 Laborat rio de Microprocessadores 1 995 4 LEVENTHAL L A 80804 8085 ASSEMBLY LANGUAGE PROGRAMMING McGraw Hill 1986 5 KERNIGHAN B W amp RITCHIE D M C A Linguagem de Programa o Padr o ANSI Rio de Janeiro Editora Campus 1990 289p 6 CUGNASCA C E Linguagem PL M Apostila FDTE S o Paulo 1986 7 PRESSMAN R S Engenharia de Software Makron Books 1995 8 PHILIPS 80C51 Based 8 Bit Microcontrollers Data Handbook IC20 Philips Electronics North America Corporation USA 1 997 9 ALFACOM M dulos Multi Matrix Manual de Utiliza o Editora rica Ltda 1 994 10 EasyCode http www easycode de ou http www blichfeldt dk ipabxwpp 11 Crimson Editor http www crimsoneditor com Escola Polit cnica da USP Departamento de Engenharia de Computa o e Sistemas Digitais
12. ositivos MPT 2000 ele executar automaticamente um auto teste 2 Selecionar tipo do dispositivo neste caso uma EPROM para selecionar uma fun o qualquer basta pressionar a tecla TEST 3 Mover o cursor at a op o 0 8 bit EPROM e pressionar TEST 4 Examinar a mem ria a gravar identificando o seu fabricante e seu tipo por exemplo Intel 21C256 Selecionar o fabricante da mem ria Selecionar o n mero do dispositivo neste caso 27256 ou 27C256 7 Pressione CHECK para verificar se o componente est realmente apagado uma mem ria EPROM considerada apagada quando todas as suas posi es apresentam o valor FFh Caso ela n o esteja apagada coloque a no Apagador de Mem rias por alguns minutos Mi Opera o no PC 8 Inserir disco MPT 2000 ou selecionar o diret rio do disco r gido do microcomputador que possua os programas do equipamento MPT 2000 e digitar MAIN 9 Digitar ENTER duas vezes 10 Digitar l para carregar arquivo do disco 11 Selecionar o formato do arquivo por exemplo INTEL HEX 12 Especificar nome do arquivo a ser carregado por exemplo c teste exp5 hex 13 ENTER 14 Digitar F 15 ENTER 16 ENTER selecionar op o PC gt SU1 17 ENTER MEMORY BUFFER 18 ENTER START Obs executar os passos 20 21 e 22 preparar terminal antes de finalizar 19 ENTER END Opera o do terminal MPT 2000 20 Pressionar a tecla FUNC 21 Selecio
13. ser o utilizados por outros programas escritos em linguagem de alto n vel ou mesmo em linguagem assembly e s o comumente agrupados em bibliotecas Esses programas s o escritos na forma de subrotinas e altamente conveniente que sejam respeitados os padr es de passagem de par metros e devolu o de resultados definidos pelo compilador que se pretende utilizar visando as suas chamadas dentro de programas escritos em linguagem de alto n vel Esse conjunto de subrotinas b sicas deve ser anexado ao programa que as utilize na fase de liga o aloca o Cada subrotina deve portanto ser declarada como p blica para que sejam satisfeitas as chamadas geradas pelo programa em linguagem de alto n vel que a declarar como externa De forma an loga pode se desenvolver rotinas em C e cham las em programas elaborados em linguagem assembly 2 Laborat rio de Processadores I Experi ncia 7 3 CARACTER STICAS DO COMPILADOR C Cada compilador costuma apresentar caracter sticas pr prias para a gera o das instru es em linguagem de m quina tais como passagem de par metros para subrotinas devolu o de resultados de fun es tratamento de interrup es etc Assim compiladores de fabricantes diferentes que geram c digo para um mesmo processador n o necessariamente adotam as mesmas conven es Tamb m muitos recursos existentes em uma implementa o convencional de C utilizada em microcomputadores nem sempre s

Download Pdf Manuals

image

Related Search

Related Contents

eLEDing EE818WDC(WW) Use and Care Manual  

Copyright © All rights reserved.
Failed to retrieve file