Предыдущая Следующая

RTCstopO; //останов счета RTC

year_tek = YEAR;

year_tek++;

if (year_tek > 2030) year_tek=1990; YEAR = year_tek;

RTCstartO; //запуск счета RTC

}

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

Файл rtc.h

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

//Заголовки и определения обслуживания модуля часов-календаря реального времени RTC //------------------------------------------------------------------------

#include "hardware.h" // подключение специальных заголовков и определений //Объявление функции инициализации модуля RTC void RTCinit();

//Объявление функции запуска счета модуля RTC void RTCstart();

//Объявление функции останова счета модуля RTC void RTCstop();

//Объявление функции чтения и индикации текущего времени и даты модуля RTC void RTCread_ind_date_timeО;

//Объявление функции установки текущего значения минут

void RTCset_min();

//Объявление функции установки текущего значения часов void RTCset_hour();

//Объявление функции обнуления текущего значения секунд void RTCnull_sec();

//Объявление функции установки текущего значения дней недели void RTCset_dow();

//Объявление функции установки текущего значения дней месяца void RTCset_dom();

//Объявление функции установки текущего значения месяцев void RTCset_month();

//Объявление функции установки текущего значения лет void RTCset_year();

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

Файл main.c программы обслуживания модуля RTC

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

// Основная программа обслуживания RTC

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

#include <iolpc2129.h> // подключение стандартных заголовков и определений linclude "hardware.h" // подключение специальных заголовков и определений #include "rtc.h" // подключение специальных заголовков и определений

volatile extern U8 flagn_knO, flagn_knl, flagn_kn2, flagn_kn3; static U8 ledl_old_state=0;

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

void main(void) {

CPUinitO; //инициализация системы

_disable_int.errupt (); //запрет прерываний

INTERRUPTSinit(); //инициализация прерываний

TIMEROinitstart(); //инициализация ТО

_enable_interrupt(); //разрешение прерываний

RTCinitO; //инициализация модуля RTC

delay(1000000); //задержка на сброс ЖКИ

lcd_init(); //инициализация ЖКИ

delay(1000000); //

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

A_LED1_0FF; //Погасить светодиоды 1, 2

A_LED2_OFF;

while(l) //Начало основного цикла

{

//чтение и индикация текущего времени и даты модуля RTC RTCread_ind_date_time();

if (flagn_kn0==l)'- _ // нажималась ли кнопка 0

{

flagn_kn0=0; //да, сбросить флаг нажатия

ledl_old_state++;

if (ledl_old_state > 3) ledl_old_state=0;


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz