Разработка автомобильного стробоскопа

=2

Рисунок 6.1 – Основной цикл

Блок – схема «инициализация ЖКИ»

Рисунок 6.2 – Инициализация ЖКИ

Блок – схема «вывод информационной строки»

Нет

Да

Рисунок 6.3 – Вывод информационной строки

Блок – схема «подпрограмма – установка курсора на начало строки»

Рисунок 6.4 – Подпрограмма – установка курсора на начало строки

Блок – схема «подпрограмма – передача данных»

Рисунок 6.5 – Подпрограмма – передача данных

Блок – схема «подпрограмма напряжение»

Нет

Да

Рисунок 6.6 – Подпрограмма напряжение

Блок – схема «подпрограмма – импульсы на лампу»

Нет

Да

Рисунок 6.7 – Подпрограмма – импульсы на лампу

Блок – схема «Выбор»

Обработка подпрограммы «Выбор» осуществляется по внешнему прерыванию INT0 микроконтроллера.

Да

Нет

Рисунок 6.8 – Подпрограмма – выбор

7. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СТРОБОСКОПА

#include <avr/io.h>

#include <avr/interrupt.h> //для доступа к sei

#include <avr/signal.h>//для доступа к макросу SIGNAL

#include <avr/delay.h>

#include <util/delay.h>

#include <math.h>

#define Freq 8000000//частота системной синхронизации в Гц

int ZhachPreob,Napr,n,R,Pezim,c,U,Z,Z1,I,N;

unsigned int CurrentTime,PreviousTime,T,UGL;// временные переменнные

unsigned char addr;

//---------Интерфейс ЖКИ-----------//

// A0 R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7//

// PA5 PA6 PA7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7//

//---------------------------------//

#define A0 PA5//линия выбора регистра

#define RW PA6//линия выбора операции

#define E PA7//линия стробирования / синхронизации

#define BS PC7//флаг занятости

unsigned char str1[] = "Работа";

unsigned char str2[] = "Стробоскоп";

unsigned char str3[] = "Тахометр";

unsigned char str4[] = "Вольтметр";

char buffer[15];

//--------------------------Ожидание готовности------------------------------------

void LCD_wait (void)

{

do

{

DDRC = 0x00;//порт на вход

PORTC = 0xFF;//подтяжка

PORTA &=~_BV(A0);//A0=0 (команда)

PORTA |=_BV(RW); //RW=1 (чтение)

PORTA |=_BV(E);//E=1

_delay_us(0);//задержка в 1 mc

PORTA &=~_BV(E);//E=0

}

while (bit_is_set(PINC,BS)); //ожидать сброса флага занятости

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
 16 


Другие рефераты на тему «Транспорт»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы