relatorio_1

3

Click here to load reader

Upload: spun123

Post on 08-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

Relatório 1

TRANSCRIPT

  • Experimento 1 linguagem C

    Microprocessadores e microcontrolador

    Joo Paulo da Silva Pires 110124332

    Joo Guimares 120122405

    1. Objetivo

    Apresentar conceitos de programao

    em linguagem C bastante utilizados no

    desenvolvimento de sistemas

    microcontrolados.

    2. Introduo

    Em meio diversidade de linguagens

    de programao disponveis no mercado

    atual, a linguagem C mostra-se eficiente e

    bastante flexvel diante de outras

    linguagens como, por exemplo, COBOL,

    PASCAL, linguagens de terceira gerao.

    Por se adaptar facilmente a diferentes

    projetos como interfaces grficas,

    processamento de registros e at mesmo

    para escrever compiladores para outras

    linguagens. 1

    A linguagem C se torna uma linguagem

    robusta e malevel por ser uma linguagem

    rpida que consegue atingir um melhor

    desempenho, com instrues de alto nvel,

    uma simples por possuir uma sintaxe de

    fcil entendimento, portvel, popular,

    modular, Alto nvel entre outras

    caractersticas.

    A evoluo das linguagens fez com que

    tambm C evolusse no sentido das

    linguagens Orientadas a Objetos, dando

    origem a uma nova linguagem C++, na qual

    mantm a sintaxe da linguagem C e

    permitindo um conjunto adicional de

    caractersticas (encapsulamento,

    hereditariedade, polimorfismo, sobrecarga,

    entre outras).

    A Linguagem C considerada uma

    linguagem de nvel mdio, visto oferecer

    elementos de uma linguagem de alto nvel e

    recursos tpicos de Assembler. Por isso, a

    Linguagem C muito utilizada em

    programao de sistemas (compiladores,

    sistemas operativos), pois permite a

    manipulao de bits, bytes e endereos com

    que o computador funciona.

    3. Desenvolvimento

    Parte I

    Foi criada uma funo para

    separao dos dgitos de um numero, com

    nome Base10, recebendo dados por meio de

    ponteiros para retornar mais de um valor na

    funo. O algoritmo para separar os dgitos

    de um nmero em unidades, dezenas, e

    centenas pode ser implementado a partir do

    fato, que na linguagem C ao dividir um

    numero do tipo inteiro (int), o resultado da

    diviso sempre um numero inteiro, e ao

    dividir qualquer numero inteiro por um

    numero na base 10, desloca-se seus

    algarismos para sua direita, dando assim o

    resto da diviso por 10 suas unidades.

    Assim a diviso de um nmero por

    100 devolve como resultado as centenas,

    tendo assim:

    centenas = numero / 100

    Possvel obter as dezenas por

    meio da multiplicao da casa das centenas

    por 100, subtrair do numero e em seguida

    realizar a diviso por 10:

    dezenas =

    = (numero centenas*100)/10

    Por fim para encontrar as unidades

    subtrai-se o numero pelas centenas

    multiplicadas por 100 e as dezenas

    multiplicadas por 10, o resultado da

    subtrao so as unidades:

    unidades = numero dezenas*10 -

    - centenas *100

  • Foi utilizado a funo scanf para

    poder realizar o recebimento do numero.

    scanf("%d",&numero);

    Parte II

    A segunda parte do experimento foi

    criada uma funo void ShowBase10

    para a impresso de um nmero entre 000 e

    999.

    Para isto foi criado um vetor de

    caracteres para impresso de cada linha de

    um numero qualquer, e um uma matriz

    auxiliar utilizada para imprimir as posies

    do vetor de acordo com o numero

    selecionado utilizando assim de forma mais

    compacta a impresso por meio das

    posies do vetor de caracteres, conforme

    mostrada nas linhas 4 e 5 do anexo [1].

    Para impresso da matriz foi

    criando um lao for de 5 interaes para

    impresso das 5 linhas que compem os

    nmeros imprimindo a primeira linha de

    cada numero para assim seguir para a

    segunda linha conforme as linhas 10 e 11

    do anexo [1].

    Parte III

    Na terceira parte foram associadas

    ambas as funes criadas para a realizao

    da listagem do numero recebido em

    seqncia, utilizando a primeira funo para

    separar os dgitos em unidades, dezenas e

    centenas, e em seguida foi enviado os

    nmeros para a segunda funo para assim

    realizar a impresso do numero na tela.

    4. Resultados

    Os objetivos e metas impostos no

    roteiro foram compridos, obtendo os

    resultados esperados, porem algumas

    alteraes no cdigo poderiam melhorar o

    desempenho do programa para realizao

    futura e otimizada, tirando a limitao de 3

    casas decimais, para um nmero maior,

    atravs de uma pequena modificao na

    lgica de separao dos nmeros.

    5. Concluso

    Com esse experimento foi possvel

    exercitar uma lgica para implementao

    possvel em microcontroladores utilizando

    duas matrizes para impresso de diferentes

    caracteres, e futuramente, utilizao do

    cdigo para impresso de palavras por meio

    de pequenas modificaes, para desenho em

    monitores VGA ou displays.

    6. Referencias

    [1] Frazo, Jos. Linguagem C.

    Disponvel em:

    Acesso em 22 de Maro de 2015.

  • 7. Anexo

    [1] Programa com todas as funes