}
//------------------------------------------------------------------------
void main(void) {
CPUinitO ;
_disable_interrupt();
INTERRUPTSinit(); TIMEROinitstart!);
_enable_interrupt();
delay(lOOOOOO); lcd_init(); delay(lOOOOOO) ; lcd_clear(); A_LEDl_OFF; A_LED2_OFF; lcd_pro_data(1 lcd_tek_data(' lcd_tek_data('
0),
//инициализация системы //запрет прерываний //инициализация прерываний //инициализация ТО //разрешение прерываний //задержка на сброс ЖКИ //инициализация ЖКИ //
//очистка экрана ЖКИ //погасить светодиоды 1, 2
//индикация "IAP" с адреса 0 ОЗУ ЖКИ
U8 i; //определение переменной индекса //помещение символьной строки 1 в RAM Ram_Pointer = (char*)0x40000100 for (i = 0; i<12; i++) {
*Ram_Pointer = Ram_Arrayl[i]; Ram_Pointer++; }
//помещение символьной строки 2 Ram_Pointer = (char*)0x40000200 for (i = 0; i<12; i++) {
//установка указателя RAM
//помещение символьной строки в RAM
в RAM
//установка указателя
RAM
*Ram_Pointer •= Ram_Array2 [i] ;
Ram_Pointer++;
}
iap_entry = (IAP)IAP_LOCATION;
while(l)
{
if (flagn_kn0==l) {
flagn_kn0=0;
//помещение символьной строки в RAM
//установка указателя функции IAP //Начало основного цикла
//нажималась ли кнопка 0
//да, сбросить флаг нажатия
_disable_interrupt()
//запрет прерываний
command[0] command[1 command[2 iap_entry command[О command[1 command[2 command[3 iap_entry command[0] command[1 command[2 iap_entry command[0 command[1 command[2 command[3 command[4 iap_entry
= 50; //код команды "подготовить сектор к операции записи"
= 5; //начальный номер сектора Flash
= 5; //конечный номер сектора Flash command,result); //вызов функции IAP
= 52; //код команды "стереть сектор"
= 5; //начальный номер сектора Flash
= 5; //конечный номер сектора Flash
= 58982; //cclk в кГц command,result); //вызов функции IAP
= 50; //код команды "подготовить сектор к операции записи"
= 5; //начальный номер сектора Flash
= 5; //конечный номер сектора Flash command,result); //вызов функции IAP
= 51; //скопировать 512 байт из RAM с адреса 0x40000100
= ОхООООАООО; = 0x40000100; = 512; = 58982; command,result);
_enable_interrupt();
lcd_clear(); read_flash(); }
if (flagn_knl==l) {
flagn_knl=0;
_disable_interrupt();
//во Flash с адреса ОхООООАООО
//
//
//cclk в кГц
//вызов функции IAP
//разрешение прерываний
//очистка экрана ЖКИ
//чтение и индикация содержимого
//нажималась ли кнопка 1
//да, сбросить флаг нажатия //запрет прерываний
FLASH
command[0] command[1 command[2 iap_ent'ry command[0 command[1 command[2 command[3 iap_entry command[0] command[1 command[2 iap_entry command[0 command[1 command[2 command[3 command[4 iap_entry
= 50; //код команды "подготовить сектор к операции записи"
= 5; //начальный номер сектора Flash
= 5; //конечный номер сектора Flash command,result); //вызов функции IAP
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |