Система вимірника струмів

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Скачать Бесплатно!
Для того чтобы скачать эту работу.
1. Пожалуйста введите слова с картинки:

2. И нажмите на эту кнопку.
закрыть



, a2, a3, a4;

a1 = a/1000;

lcd_gotoxy(position_x,position_y);

lcd_putchar(a1 + 0x30);

a2 = (a - (a1 * 1000))/100;

lcd_gotoxy(position_x + 1,position_y);

lcd_putchar(0x2C);

lcd_gotoxy(position_x + 2,position_y);

lcd_putchar(a2 + 0x30);

a3 = (a - (a1 * 1000) - (a2 * 100))/10;

lcd_gotoxy(position_x + 3,position_y);

lcd_putchar(a3 + 0x30);

a4 = (a -(a1 * 1000) - (a2 * 100) - (a3 * 10));

lcd_gotoxy(position_x + 4,position_y);

lcd_putchar(a4 + 0x30);

}

//############################################################################################

void bar (char time, char posit)

{

lcd_clear();

lcd_gotoxy(posit,0);

lcd_putsf("Working.");

delay_ms(time);

lcd_clear();

lcd_putsf("Working..");

delay_ms(time);

lcd_clear();

lcd_putsf("Working...");

delay_ms(time);

lcd_clear();

lcd_putsf("Working....");

delay_ms(time);

lcd_clear();

}

//############################################################################################

void main(void)

{

init_mega();

lcd_init(16);

#asm("sei")

while(1)

{

 

int A, Current;

A = ADCW;

if (ADCFlag)

{

ADCFlag = 0;

Current = 2 * A;

lcd_gotoxy(2,0);

lcd_putsf("Current, A:");

//lcd_gotoxy(0,1);

//lcd_putsf("PREVED AE-022!!!");

if (d != A)

{

#asm("cli")

bar (2000,0);

d = A;

convert_out (Current, 5, 1);

#asm("sei")

}

 

}

 

}

}

//############################################################################################

 

Файл LCD.h

 

#ifndef _LCD_INCLUDED_

#define _LCD_INCLUDED_

 

#pragma used+

 

void _lcd_ready(void);

void _lcd_write_data(unsigned char data);

// write a byte to the LCD character generator or display RAM

void lcd_write_byte(unsigned char addr, unsigned char data);

// read a byte from the LCD character generator or display RAM

unsigned char lcd_read_byte(unsigned char addr);

// set the LCD display position x=0..39 y=0..3

void lcd_gotoxy(unsigned char x, unsigned char y);

// clear the LCD

void lcd_clear(void);

void lcd_putchar(char c);

// write the string str located in SRAM to the LCD

void lcd_puts(char *str);

// write the string str located in FLASH to the LCD

void lcd_putsf(char flash *str);

// initialize the LCD controller

unsigned char lcd_init(unsigned char lcd_columns);

 

#pragma used-

#pragma library lcd.lib

 

#endif

 

5. Рекомендаціі по розробці програмних та апаратних діагностичних засобів для перевірки працездатності пристрою

 

Для розробки програми варто використати достатньо легкий у освоєнні пакет CodeVisionAVR C Compiler . До його функцій входить така важлива риса, як наявність власного програматора. Для відпрацювання програми треба використовувати фірмовий пакет ATMEL AVR Studio.

Зібраний пристрій треба запрограмувати та відкалібрувати за допомогою точного зовнішнього амперметру, джерела живлення, навантаження. Калібрування треба проводити встановленням або зняттям перемичок на шунті (резистор R1 на схемі пристрою) виконаним друкованим способом. Встановити таким чином рівні показання приладу та амперметру при різних значеннях струму.

 

6. Проектування плати друкованої пристрою

 

На сьогоднішній день існує багато програмних пакетів спеціально розроблених для розведення та проектування друкованих плат, таких як PCad, OrCad, Eagle, але з метою закріплення знань з таких дисциплін як САПР, ТЕМЦ , метрології та т.п. вирішено розробити плату друковану ручним способом у пакеті Sprint-Layout4 з урахуванням усіх вимог та стандартів. Розмір ПД вирішено обрати таким самим як і розміри плати РКІ. Їх крепіжні отвори співпадають. У корпусі вони кріпляться друг за другом за допомогою гвинтів.

 

Висновок

 

У даному курсовому проекту ми детально розібрали устрій, алгорітм роботи та способи програмування мікроконтролерами фірми ATMEL. На прикладі МК ATmega16 розробили пристрій вимірювання струму до 2А. Відладили програму, розробили принципову схему та плату друковану. Зібрали пристрій на макетній платі та опробували його працездатність.

Література

 

1. Программирование на языке С для AVR и PIC микроконтроллеров. / Сост. Ю.А.Шпак К.: МК-Пресс , 2006. 400 с., ил

2. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL, 2-е изд., стер. М.: Издательский дом Додека-ХХІ, 2005. 560с.

 

 

Вид со стороны А (деталей)

 

Вид со стороны В

 

 

 

 

 

 

 

 

 

 

Схема расположения элементов (вид сверху)

 

 

 

s