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 ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |