Реферат

Реферат Цифровой амперметр

Работа добавлена на сайт bukvasha.net: 2015-10-28

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 11.11.2024





ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ. 6

1 Теоретическая часть. 8

1.1 Постановка задачи. 8

1.2 Теоретические сведения. 9

2 Практическая часть. 12

2.1 Принципиальная схема устройства. 12

2.2 Алгоритмы работы программы.. 13

2.3 Результаты тестирования устройства. 13

2.4 Анализ полученных результатов. 17

ЗАКЛЮЧЕНИЕ. 18

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ. 19

ПРИЛОЖЕНИЕ. 20

ВВЕДЕНИЕ


В современном мире микроконтроллеры окружают нас со всех сто­рон. Научно – технический прогресс неутомимо идет вперед, в результате не только в промышленной, но и в бытовой технике все шире используются встроенные компьютерные системы на основе микроконтроллеров. Они широко применяются в персональных компьютерах и их периферийных устройствах, стиральных машинах, музыкальных центрах и т.д. Микроконтроллеры являются сердцем многих современных устройств и приборов, в том числе и бытовых. Самой главной особенностью микроконтроллеров, с точки зрения конструкторов-проектировщиков, является то, что с их помощью легче и зачастую гораздо дешевле реализовать различные схемы [1]

Микроконтроллер может управлять раз­личными устройствами и принимать от них данные при минимуме дополнительных узлов, так как большое число периферийных схем уже имеется непосредственно на кристалле микроконтроллера. Это позволяет уменьшить размеры конструкции и снизить потребление энергии от источника питания.

Вследствие наличия большого количества конкурентов на рынке микроконтроллеров их цена постепенно снижается при увеличении периферии на чипе. На данный момент наиболее известными фирмами по производству микроконтроллеров являются Omron, Microchip, Motorola, Atmel AVR, Texas Instruments и другие.

Микроконтроллеры семейства Mega имеют наиболее развитую периферию, наибольшие среди всех микроконтроллеров AVR объемы памяти  программ и данных. Они предназначены для использования в мобильных телефонах, в контроллерах различного периферийного оборудования (такого как принтеры, сканеры, современные дисковые накопители и т.п.), в сложной офисной технике и т.д [2]

Целью курсовой работы является разработка программы «Цифровой амперметр с выводом результатов на алфавитно-цифровом индикаторе» с помощью микропроцессора ATmega8. Текст программы написан на языке С  с помощью компилятора Code Vision AVR С Compiler.



1. Теоретическая часть

1.1 Постановка задачи


Необходимо разработать проект, демонстрирующий цифровой амперметр, выводящий результаты на алфавитно-цифровой индикатор, реализованный при помощи микроконтроллера Atmega8 семейства AVR фирмы Atmel. Данный проект должен быть написан на языке С в среде Code Vision AVR C Compiler, а также произведены отладка и анализ полученных результатов с помощью симулятора.

1.2 Теоретические сведения


Микроконтро́ллер — микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров [3]

Термин «микроконтроллер» (МК) вытеснил из употребления ранее использовавшийся термин «однокристальная микро-ЭВМ». Популярностью у разработчиков пользуются 8-битные микроконтроллеры PIC фирмы Microchip Technology и AVR фирмы Atmel, 16-битные MSP430 фирмы TI, а также ARM, архитектуру которых разрабатывает фирма ARM и продаёт лицензии другим фирмам для их производства.

Фирма Atmel была основана в 1984 г. в знаменитой Кремниевой долине (Калифорния, США). В середине 90-х годов ее основной продукцией стали микросхемы памяти и перепрограммируемые МК платформы MCS-51. По сравнению с аналогичными изделиями фирм Intel, Philips, Temic, OKI, Siemens, микросхемы Atmel были дешевле, ни в чем не уступая им по качеству. Всем хороши были МК платформы MCS-51 за исключением энергопотребления и производительности. У архитектуры AVR скандинавская родословная. В 1995 г. два норвежских изобретателя Альф Боген и Вегард Воллен предложили фирме Atmel концепцию нового МК. Идея была принята. Базовые принципы и система команд разрабатывались в норвежском отделении фирмы Atmel совместно со шведскими программистами фирмы IAR Systems. Достоинства AVR: быстродействующий RISC-процессор, FLASH-na-мять с низковольтным напряжением программирования, внутреннее перезаписываемое ЭСПЗУ, мощные выходные порты, широкий диапазон питающего напряжения. И все это при малом потреблении тока, высокой скорости, а главное, при низкой цене.

AVR — семейство восьмибитных микроконтроллеров фирмы Atmel. Год разработки — 1996. Микроконтроллеры AVR имеют гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор AVR имеет 32 8-битных регистра общего назначения, объединённых в регистровый файл.

Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций.         Большинство команд занимает только 1 ячейку памяти (16 бит). Большинство команд выполняется за 1 такт [4]

Управление периферийными устройствами осуществляется через адресное пространство данных. Для удобства существуют «сокращённые команды» IN/OUT.Х [5]

Как и все микроконтроллеры AVR фирмы «Atmel»,  микроконтроллеры семейства ATmega являются 8-разрядными микроконтроллерами, предназначенными для встраиваемых приложений. Они изготовлябтся по малопотребляющей КМОП-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь наилучшего соотношения быстродействия/энергопотребления.

К числу особенностей микроконтроллеры AVR семейства ATmega относятся:

-    FLASH-память программ объемом 8…128 Кбайт;

-    оперативная память (статическое ОЗУ) объемом 1…4 Кбайт;

-    память данных на основе ЭСППЗУ (EEPROM) объемом 512 байт…4Кбайт (число циклов стирания записи менее 100000);

-    возможность защиты от чтения и модификации памяти программ и данных;

-    возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;

-    возможности самопрограммирования;

-    возможность внутрисхемной отладки в соответствии со стандартом IEEE 1149.1(JTAG);

-    различные способы синхронизации: встроенный КС-генератор с внутренний или внешний времязадающей КС-цепочкой или с внешним резонатором; внешний сигнал синхронизации;

-    наличие нескольких режимов пониженного энергопотребления;

-    наличие детектора снижения напряжения питания (brown-out-detector, BOD);

-    возможность программного снижения частоты тактового генератора.

Алфавитно-цифровые ЖКИ являются наиболее эффективным средством отображения информации среди наиболее распространенных. Широчайшее распространение получили индикаторы построенные на основе контроллера HD44780 и его аналогов. Такие индикаторы позволяют отображать символьно–цифровую информацию и имеет возможность по отображению 8 символов в одной строке, 8 символов в 2-х строках, 16 в 1,16 в 2-х строках, 20 в 1, 20 в 2, 20 в 4-х;

Наиболее удобны индикаторы, позволяющие отображать русские буквы, имеющие светодиодную, а не электролюминесцентную подсветку, имеющую однородное питание. В состав ЖКИ помимо контроллера входит непосредственно сам индикатор, построенный на жидких кристаллах. Включение индикатора осуществляется драйвером, управляющим специальным контроллером. [5]

2. ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1 Принципиальная схема устройства



Рисунок 2.1.1 – Принципиальная схема устройства

2.2 Алгоритмы работы программы


Процесс написания программ для микроконтроллеров состоит из нескольких этапов:

1.     подготовка исходного текста программы на каком-либо из языков программирования;

2.     компиляция программы;

3.     отладка и тестирование программы;

4.     окончательное программирование и подготовка к серийному производству.

На каждом из этапов необходимо применение специальных программных и аппаратных средств.

Рисунок 2.2.1 -  Блок - схема работы программы



2.3 Результаты тестирования устройства


Передвигая слайдер 1 вверх/вниз, происходит изменение входного напряжения и, соответственно, меняется результат на ЖКИ.



Рисунок 2.3.1 - Вывод результата


Рисунок 2.3.2 - Вывод результата



Рисунок 2.3.3 - Вывод результата


2.4 Анализ полученных результатов


Основная часть проекта программы была написана в  на языке С в среде Code Vision AVR C Compiler, а для получения результатов работы была проведена симуляция в симуляторе VMLab.

В результате тестирования проекта в симуляторе VMLab, программа выдает показания силы тока при помощи цифрового амперметра.

ЗАКЛЮЧЕНИЕ


В данном курсовом проекте разработана программа цифрового амперметра, который должен отображать силу тока на алфавитно-цифровом индикаторе с использованием  микроконтроллера ATmega8.

Проект реализует работу цифрового амперметра и  включает в себя тексты программ на языке высокого уровня С в среде Code Vision AVR C Compiler и в симуляторе VMLab, который использовался непосредственно для просмотра полученных результатов проекта.

В результате работы проекта были выполнены все цели и решена главная задача -  подготовили исходный текст программы на языке программирования высокого уровня.



СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


1.     Голубцов М.С, «Микроконтроллеры AVR: от простого к сложному», Москва, «СОЛОН – Пресс», 2003. – 290с.

2.     Естифеев А.В, «Микроконтроллеры AVR семейства Mega», Москва,  Издательский дом «Додэка-ХХI», 2007. – 578с.

3.     Гребнев  В.В, «Микроконтроллеры семейства AVR фирмы Atmel. Москва, ИП РадиоСофт, 2002. – 234с.

4.  Электронный ресурс, http://radiospec.ru

5.  Естифеев, А.В. «Микроконтроллеры AVR семейства Mega», Москва,  Издательский дом «Додэка-ХХI», 2007. – 598с.




Приложение
                                                                         


     Текст программы:                                                                   Приложение А
This program was produced by the

CodeWizardAVR V1.24.8d Professional

Automatic Program Generator

© Copyright 1998-2006 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com
Project :

Version :

Date    : 04.03.2010

Author  : OLYA                           

Company : OLYA                           

Comments:
Chip type           : ATmega8

Program type        : Application

Clock frequency     : 4,000000 MHz

Memory model        : Small

External SRAM size  : 0

Data Stack size     : 256

*****************************************************/
#include <mega8.h>

#include<stdlib.h>          

#include<delay.h>             
// Alphanumeric LCD Module functions

#asm

   .equ __lcd_port=0x18 ;PORTB

#endasm

#include <lcd.h>
#define ADC_VREF_TYPE 0x00
float amper;

char buff[4];

// Management LCD

void recode_data(void)

{

  ftoa(amper,2,buff);

}

void add_lcd()

{

  lcd_clear();         //очистка экрана

  lcd_putsf("Сила тока=");          // вывод    

  lcd_puts(buff);         // вывод на экран

  lcd_putsf("mA"); 

  delay_ms(25);           

}
// ADC interrupt service routine

interrupt [ADC_INT] void adc_isr(void)

{

  amper=(((ADCW*5)/1024.)*0.835);

  recode_data();

  add_lcd();

}
// Declare your global variables here
void main(void)

{

// Declare your local variables here
// Input/Output Ports initialization

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTB=0x00;

DDRB=0x00;
// Port C initialization

// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00;

DDRC=0x00;
// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTD=0x00;

DDRD=0x00;
// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

TCCR0=0x00;

TCNT0=0x00;
// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer 1 Stopped

// Mode: Normal top=FFFFh

// OC1A output: Discon.

// OC1B output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer 1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;
// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer 2 Stopped

// Mode: Normal top=FFh

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;
// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;
// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;
// ADC initialization

// ADC Clock frequency: 1000,000 kHz

// ADC Voltage Reference: AREF pin

ADMUX=ADC_VREF_TYPE;

ADCSRA=0x8A;

ADMUX.0=0;                             

ADMUX.1=1;                                  // задание порта выхода         

ADMUX.2=0;                            

ADMUX.3=0;                              

ADMUX.7=1;                                // внутренний источник напряжения

ADMUX.6=1;
ADCSRA.7=1;                              // включение АЦП 

ADCSRA.6=1;                              // запуск преобразования

ADCSRA.5=1;                              // непрерывное преобразование

ADCSRA.4=1;
// LCD module initialization

lcd_init(40);

PORTB.1=1;

PORTB.2=1;
// Global enable interrupts

#asm("sei")
while (1)

      {

      // Place your code here
      };

}

1. Реферат Современная налоговая система России
2. Курсовая Большие и малые игры. Классификация
3. Реферат на тему Physical Fitness Essay Research Paper PHYSICAL FITNESSPhysical
4. Реферат на тему Революция в Англии Конституционный этап
5. Реферат Финансовая политика государства. Ее цели и возможности в макроэкономике
6. Реферат на тему Capital Punishment Essay Research Paper Sign of
7. Реферат Причины поражения Красной Армии в первом периоде ВОВ
8. Биография на тему О жизни и творчестве О Савина
9. Реферат Развитие бэнкинга в арабских странах
10. Реферат Состав законодательства о гражданском судопроизводстве в судах общей юрисдикции