








































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Monografia
Tipologia: Notas de estudo
1 / 80
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Departamento de Sistemas de Informação Curso: Bacharelado em Sistemas de Informação
Paulo Afonso – BA Novembro/
i
Projeto apresentado ao curso de Bacharelado em Sistemas de Informação para cumprimento da disciplina Trabalho de Conclusão de Curso - TCC, sob orientação do professor Msc. Igor Medeiros Vanderlei e co-orientação do professor Esp. Ricardo Azevedo Porto. Paulo Afonso – BA Novembro/
iii NASCIMENTO, E. B. Aplicação da Programação de Microcontroladores 8051 utilizando Linguagem C. 2009, 80 p. Monografia (Curso Bacharelado em Sistemas de Informação). Faculdade Sete de Setembro – FASETE, Paulo Afonso – BA. Com o continuado avançado da tecnologia atualmente os Microcontroladores fazem parte das nossas vidas. As aplicações desses dispositivos são as mais variadas, sendo encontrados, por exemplo, em máquinas de lavar, televisores, DVDs, rádios, controles remotos, microondas, entretenimento, segurança, controle de acesso, etc. Esses dispositivos utilizam software que executam tarefas pré-programadas, são encontrados na maioria dos equipamentos, e na maioria das vezes, os usuários não percebem sua presença. Com a utilização da eletrônica digital nas grandes empresas, o emprego dos Microcontroladores vem sendo muito requisitado para obter um controle preciso dos processos, gerando ganho de produtividade para as empresas. Para desenvolvimento de software para Microcontroladores são necessários software e hardware específicos para cada família de Microcontrolador. Inicialmente, os Microcontroladores foram desenvolvidos para trabalharem com linguagens de programação de baixo nível, mas ao longo dos anos, esses dispositivos passaram a trabalhar com linguagens de alto nível, tornando o desenvolvimento de sistemas embarcados mais flexíveis e mais portáveis em relação ao hardware. A proposta da pesquisa está em apresentar um protótipo de um sistema embarcado funcionando na arquitetura de um Microcontrolador. Para realizar essa proposta foi utilizada pesquisa bibliográfica tendo como referências livros, artigos e sites além do uso de um KIT de programação para Microcontroladores para mostrar o uso de linguagens de alto nível nessa arquitetura. Palavras chave: Microcontroladores, software , hardware.
iv NASCIMENTO, E. B. Application of the Programming of Microcontrollers 8051 using Language C. 2009, 80p. Monograph (Course of Bachelor of Information Systems). Faculdade Sete de Setembro – FASETE, Paulo Afonso – BA. With the continued advancement of the technology currently Microcontrollers are part of our lives. The applications of these devices are highly diverse, being found, for example, in washing machines, televisions, DVDs, radios, remote controls, microwave, entertainment, security, access control, etc. These devices use software that perform pre-programmed tasks, are found in many devices, and in most cases, users do not notice their presence. With the use of digital electronics in large companies, the use of microcontrollers has been a staple for precise control of processes, generating productivity gains for companies. To develop software for microcontrollers are necessary software and hardware specific to each family of microcontroller. Initially, the microcontrollers are designed to work with programming languages, low level, but over the years, these devices have to work with high-level languages, making the development of embedded systems more flexible and more portable compared to hardware. The research proposal is to present a prototype of an embedded system running on the architecture of a microcontroller. To accomplish this proposal was used as bibliographic references and books, articles and websites in addition to using a kit for programming microcontrollers to show the use of high-level languages such architecture. Keywords: Microcontrollers, software, hardware.
vi
Tabela 1: Resumo das Funções especiais do Port P3 ............................................................ 49 Tabela 2: Grandes fabricantes e principais informações sobre suas características................ 51 Tabela 3:Tipos de variáveis contempladas pelo SDCC ......................................................... 58
vii
AD Analógico /^ Digital CMB Conjunto Motor Bomba DA Digital /Analógico EPROM Erasable Programmable Read Only Memory ETA Estação de Tratamento de Água GSM Global System for Mobile Communications IHM Interface Homem - Máquina ISO Organização Internacional para Padronização LED Light Emitting Diode RAM Random Access Memory ROM Read Only Memory SDCC Small Device C Compiler USB Universal Serial BUS
especificamente com o Microcontrolador da ATMEL, com a linguagem de programação C e o compilador freeware SDCC. Serão apresentados detalhes do hardware , da linguagem de programação e os resultados as experiências práticas do desenvolvimento de um protótipo neste ambiente.
A automação de processos e o monitoramento remoto de equipamentos são tecnologias que garantem ganho de produção devido ao controle preciso do processo. Com o avanço da tecnologia e a utilização da eletrônica digital por grande parte das empresas, o emprego de Microcontroladores vêm sendo muito requisitado para um melhor desenvolvimento da produção, diminuindo os custos e trazendo benefícios para as empresas que utilizam esse sistema. LOPES (2006/2007) Como já dito anteriormente, os Microcontroladores são chips que tem um processador, pinos de entradas/saídas e memória. Com o barateamento de Circuitos Integrados – CI e o surgimento dos microprocessadores (CPUs) mais poderosos, começou-se a usar as CPUs mais simples para implementar tarefas dedicadas. Estas aplicações tinham custo dependente da CPU e dos periféricos (ROM, RAM, Portas, A/D, D/A, etc.) e também da quantidade de conexões e do tamanho da placa. Para reduzir o custo, começou a surgir a idéia de colocar todos estes periféricos dentro do chip da CPU, transformando-os nos Sistemas Embarcados. BARRETO (2006) No inicio da programação desses chips – CPU, a linguagem utilizada era Assembly. A linguagem Assembly é orientada a máquina (ou melhor, para o processador), é necessário conhecer a estrutura do processador para poder programar em Assembly , tornando em alguns casos o desenvolvimento dos sistemas um pouco mais difícil e pouco portável. Essa linguagem utiliza instruções de baixo nível que operam diretamente com registradores e memórias, ou seja, as instruções são executadas diretamente pelo processador. (MONSERRAT NETO) Atualmente, os Microcontroladores estão sendo desenvolvidos para executarem software em linguagens de alto nível, os software desenvolvidos em linguagens deste tipo, mais especificamente C, terão mais flexibilidade e portabilidade, passando uma sintaxe mais próxima da realidade humana, permitindo a manipulação dos dados nas mais diversas formas
(números inteiros, reais, vetores, etc.), enquanto Assembly trabalha com linguagem pura de máquina bits, bytes, palavras em memória, etc. Logo, a contribuição que este projeto trará para seus leitores, é conhecer a automação de processos e/ou equipamentos que utilizam este tipo de programação. Serão explanados conceitos de hardware e software para Microcontroladores da família 8051 e os conceitos exemplificados através de uma aplicação exemplo para conhecimento de todos que se interessem por assuntos ligados a Automação Industrial, Robótica e Eletrônica Digital.
Como explicar fundamentos teóricos e práticos sobre os Microcontroladores? Qual KIT de programação que será usado para exemplificar os exemplos práticos? Este tipo de Microcontrolador possui alguma Interface Homem Máquina – IHM? Será mostrado um exemplo na linguagem de programação Assembly , visto que o trabalho que será apresentado utilizará a linguagem C?
KIT 8051 com Placa ISP ( In-System Programmable ) é um KIT de desenvolvimento de software para Microcontroladores, sua tecnologia de Dispositivos Montados em Superfície – SMD aumenta a resistência mecânica, reduzindo o tamanho físico da placa, esses fatores resultam em aumento da confiabilidade dos equipamentos que serão utilizados. Sua programação através da porta USB, evita a necessidade de mudança de jumpers^1 para configuração de portas, etc. (^1) Segundo Wikipédia, Jumper é uma ligação móvel entre dois pontos de um circuito eletrônico. É, geralmente, uma pequena peça plástica que contém um metal no seu interior, responsável pela condução de eletricidade.
A pesquisa se caracterizará por um estudo qualitativo, do tipo exploratório, bibliográfico e instrumental, que poderá ser de revistas, livros, internet ou publicações relacionadas baseadas em etapas como descrito abaixo: Levantamento de bibliografias; Análise das referências bibliográficas; Observação de características e pressupostos teóricos; Analise teórica das bases dos software de desenvolvimento para Microcontroladores; Analise teórica e prática dos equipamentos que serão utilizados para desenvolvimento da tarefa; Desenvolvimento e testes no software de exemplo para uma sobrecarga de equipamento.
O presente trabalho está dividido em 5 (cinco) capítulos como descritos a seguir: No capitulo 1(um) faremos a introdução ao trabalho, mostrando onde os Microcontroladores estão inseridos em nossas vidas, o que é um sistema embarcado e Microcontroladores. No capitulo 2(dois) falaremos sobre Sistemas Embarcados. Seu principais conceitos, como surgiram, o que é, para que servem,sua importância na tecnologia. No capitulo 3(três), colocaremos os conceitos sobre os Microcontroladores. Explanaremos a arquitetura dos Microcontroladores 8051, ferramentas utilizadas para programação dos mesmos bem como, programação especifica para os Microcontroladores dessa família utilizando a linguagem C. No capitulo 4(quatro), mostraremos as ferramentas utilizadas no desenvolvimento de software para o Microcontrolador 8051, a integração do Eclipse, o compilador SDCC, o recurso de conhecimento aberto para o SDCC e o modelo de uma aplicação escrita, o simulador PDS-52 e o software de gravação SPI – Flash Programmer. Apresentação de um programa escrito em linguagem de alto nível, o código Assembly gerado pela compilação do SDCC e o KIT de programação com software em funcionamento.
Não existe uma definição universal para o termo “Sistema Embarcado”, a mais comum é quando um sistema está dedicado a uma única tarefa e interage continuamente com o ambiente a sua volta por meio de sensores e atuadores, independente se é dentro de um PC de uso geral ou um controle remoto de uma TV, ainda sim este não seja um desktop comum, é classificado como embarcado. A denominação “embarcada” (do inglês Embedded Systems ) vem do fato de que estes sistemas são projetados geralmente para serem independentes de uma fonte de energia fixa como uma tomada ou gerador e ainda são embutidos tornando-se abstratamente invisíveis. Todo sistema embarcado é composto por uma unidade de processamento, que é um circuito integrado, fixado a uma placa de circuito impresso. Possuem uma capacidade de processamento de informações vinda de um software que está sendo processado internamente nessa unidade, logo o software está embarcado na unidade de processamento. Software embarcado, dependendo do clock do Microcontrolador, é em muitos casos classificado de firmware. (CHASE 2007) Figura 1 : Lógica de funcionamento de um Sistema Embarcado Fonte: CHASE, 2007, Sistemas Embarcados. Modificado por: Erick Barros Nascimento As aplicações dos Sistemas Embarcados são as mais variadas, sendo utilizadas em vários segmentos, dentre os quais estão alguns exemplos: Aplicações Industriais: São utilizados nas industriais dos mais variados tipos, geralmente aplicadas em sistemas de automação industrial, por exemplo: Sistemas de controle de Estações de Tratamento de Água – ETA. Geralmente são aplicações mais robustas, com placas dedicadas e múltiplos sensores de entrada e saída.
Considere o exemplo de um conjunto motor-bomba – CMB para bombeamento de água que está com superaquecimento. Entre o cabo de alimentação elétrica desse CMB está um equipamento chamado de relé térmico, segundo Gustavo Roberto (2007), eles usados para proteger os motores elétricos contra sobrecargas. Essas sobrecargas são elevações de corrente por tempo prolongado, devido a um trabalho acima do previsto que pode ultrapassar a corrente nominal do motor. Logo, é programado o parâmetro limite em que a corrente pode chegar, o relé passa a monitorar essa corrente, se ela começar a subir (ex. motor emperrando) o mesmo desliga a alimentação protegendo o motor, e em muitos casos envia um pulso de sinal Analógico / Digital para acender um LED, ou até mesmo um pulso para que o sistema escreva uma mensagem na tela de uma IHM para avisar da sobrecarga. Aplicações empresariais: A área empresarial também pode se beneficiar com a utilização de sistemas embarcados. Dispositivos como Palm Tops, que executam Sistemas Operacionais Embarcados, como o Windows Móbile, são capazes de realizar boa parte das tarefas que geralmente são realizadas em PCs de uso geral, entretanto proporcionam uma maior mobilidade que pode contribuir para a disponibilidade das informações. Possuem aplicações básicas conhecidas em qualquer PC de uso geral, tais como Excel e Windows Media Player. Considere o exemplo de um vendedor de uma distribuidora de bebidas. Ele sai pela cidade efetuando as vendas dos produtos da distribuidora, seja qualquer produto que esteja disponível (cerveja, refrigerante, água mineral, etc.). As informações sobre as vendas dos produtos (cliente que solicitou o pedido, quantidade, etc.) são armazenadas no Palm Top na hora que ele faz a venda corpo a corpo. Ao chegar à sede, as informações do Palm Top do vendedor são descarregadas através de uma porta Serial e/ou USB para um PC de uso geral. Com aplicações especificas, essas informações são condensadas e é emitida ordem de entrega dos produtos e nota fiscal de venda a pessoa do despacho. Assim, os produtos são entregues nos estabelecimentos que estão espalhados pela cidade.