Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KP_Bazarova.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
370.69 Кб
Скачать
      1. Главный цикл системы

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

Далее приведен код основного файла main__.c, который содержит главную функцию и основной цикл программы:

/*****************************************************

This program was produced by the

CodeWizardAVR V1.25.9 Professional

Automatic Program Generator

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

http://www.hpinfotech.com

Author : test

Company : test

Chip type : ATmega8

Clock frequency : 4,000000 MHz

External SRAM size : 0

Data Stack size : 256

*****************************************************/

#include <mega8.h>

// Alphanumeric LCD Module functions

#asm

.equ __lcd_port=0x12 ;PORTD

#endasm

#include <lcd.h>

#include <delay.h>

unsigned char i;

int n_sim=1,m_end=500; //m_end - общее количество символов в исходной строке;

char ish_str[] = " Dannaya textovaya stroka operiruyet na microkontrollere AVR Atmega8. Cod scompilirovan na CodeVision AVR. " ;

void beg_str(void)

{

for(i=0;i<15;i++)lcd_write_byte(0xC0+i,lcd_read_byte(0xC1+i));

lcd_gotoxy(15,1); // указали место курсору во второй строке

lcd_putchar(ish_str[n_sim]);

if(++n_sim>m_end)

{n_sim=1;};

delay_ms(100);

}

void main(void)

{

PORTB=0x04;

DDRB=0x00;

PORTC=0x00;

DDRC=0x00;

PORTD=0x00;

DDRD=0x00;

ACSR=0x80;

SFIOR=0x00;

// LCD module initialization

lcd_init(16);

while (1)

{

beg_str();

lcd_gotoxy(0,0,);

lcd_putsf("Stroka Texta");

// Place your code here

};

}

      1. Основные файлы в проекте на CodeVisionAvr

Основной особенностью CVAVR является то, что данный компилятор позволяет автоматически генерировать начальный код с помощью мастера начальной настройки, и мы, конечно же, воспользуемся этой возможностью при реализации начального кода интерфейса передачи по шине кода управления LCD-дисплеем.

В проекте, после генерации всех данных кодов будут автоматически сформированы 1 заголовочный файл –lcd.h.

Вся реализация и вызов процедур осуществляется в исходном файле проекта – main__.с, в этом же файле реализован бесконечный цикл, который каждый раз проверяется наличие обновлений данных от датчика. Выше перечисленные являются основными, кроме них еще стандартные файлы самого микроконтроллера Atmega8 и стандартные файлы языка C, которые не приведены.

    1. Тестирование устройства и условия эксплуатации

Проект был оттестирован и просиммулирован в программном симмуляторе Proteus.

Проект был оттестирован и просиммулирован в программном симмуляторе Proteus. В ходе тестирования были получены следующие рабочие характеристики:

  • Загрузка CPU в пределах 30-40%;

  • Стабильная работа при питании от 4,5 В до 5,5 В;

  • Тактовая частота процессора 8Mhz, при испытаниях был опробован резонатор с частотой 4Mhz, при котором микроконтроллер работал в штатном режиме, такой подход может сыкономить электричество, при использовании портативных источников питания;

Рис. 7. Скриншот проекта в симмуляторе Proteus

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]