Велокомпьютер на базе микроконтроллера

Автор работы: Пользователь скрыл имя, 13 Февраля 2015 в 00:47, курсовая работа

Краткое описание

Задачей нашего курсового проекта является построение велокомпьютера на базе микроконтроллера. Основными требования, предъявляемыми к такой системе являются:
1) функциональность;
2) точность измерения;
3) минимальные материальный затраты;
4) размер.
Целью курсового проекта является:
1) закрепить, углубить и систематизировать теоретические знания, полученные ранее при изучении общепрофессиональных и специальных схемотехнических дисциплин;
2) получить практические навыки самостоятельного решения комплекса задач, связанных с проектированием ЭВС с использованием микропроцессорных средств, путем выполнения самостоятельной творческой разработки по заданному индивидуальному заданию;
3) научить пользоваться специальной, справочной и другой нормативной-технической литературой, действующими стандартами;
4) подготовить студента к дипломному проектированию и последующей самостоятельной работе по специальности.

Содержание

Введение. Постановка задачи ………..…………………………...….... 5
1. Анализ задачи. ……………………………………………...…….…. 6
1.1 Список функций, выполняемых системой…………………..... 6
1.2 Описание интерфейса между системой и пользователем…….. 7
2. Предварительное проектирование системы…………….……...…. 9
2.1 Разбиение системы на модули ………………………………… 9
2.2 Построение структурной схемы аппаратной части
системы и её описание……………………………………….… 11
3. Проектирование аппаратных средств системы……...……………. 13
3.1 Выбор типа микроконтроллера…………………………..…….. 13
3.2 Разработка принципиальной схемы системы……….………… 17
3.3 Описание работы системы по принципиальной схеме……….. 24
4. Проектирование программного обеспечения...……......…………. 25
4.1 Разработка схемы работы системы на Си……………………… 25
4.2 Описание работы системы и программы……………………... 29
Заключение………………………………………………………........... 31
Список использованных источников………………………………..... 32
ПРИЛОЖЕНИЕ А. Код программы микроконтроллера
на Си….……………………………………..……. 33
ПРИЛОЖЕНИЕ Б. Код программы микроконтроллера
на ассемблере…………………………………….. 40

Прикрепленные файлы: 1 файл

Гончарик А.В. Курсач.docx

— 418.49 Кб (Скачать документ)

//=============

//Подпрограмма расчета  и вывода на дисплей пройденного пути

//============

if(s4et==1)

{

LCDclear();

LCDstring("Quick distance",0,0);

LCDstring("m",8,1);

qdistance=(3.14*D*qdist)/1000;         ////////расстояние в метрах.

sprintf(str16,"%.2f",qdistance);

    LCDstring(str16,0,1);

}

if(s4et==2)

{

 

LCDclear();

LCDstring("Distance",0,0);

LCDstring("km",7,1);

distance=i + ((3.14*D*qdist)/1000000);    ////////расстояние в километрах.

sprintf(str16,"%.2f",distance);

    LCDstring(str16,0,1);

if(qdist==60)

EEPROM_write(2, distance);     // запись в ПЗУ,каждые 60 сек.

 

//=============

//Подпрограмма вывода  на дисплей значения таймера

//=============

}

if(s4et==3)

{

LCDclear();

LCDstring("Time",0,0);

LCDstring("h/m/s",8,1);

sprintf(str16,"%d",sec);

         LCDstring(str16,4,1);

LCDstring(":",3,1);

sprintf(str16,"%d",min);

    LCDstring(str16,2,1);

LCDstring(":",1,1);

sprintf(str16,"%d",hour);

    LCDstring(str16,0,1);

}

 

 

//============

//Подпрограмма расчета  и вывода на дисплей значения потраченных калорий

//============

if(s4et==4)

{

LCDclear();

LCDstring("Calories",0,0);

LCDstring("cal/min",7,1);

         cal = SPEED*0.4125;

sprintf(str16,"%.3f",cal);

    LCDstring(str16,0,1);

}

if(s4et!=0 && s4et!=1 && s4et!=2 && s4et!=3 && s4et!=4)

goto metka;

}

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ Б

Код программы микроконтроллера на ассемблере

 

Расчет значений для «функции таймера» (таймер 0):

IN           R0,0x3F       

CLR       R1            

LDS       R24,0x00CE    

LDS       R25,0x00CF    

ADIW   R24,0x01      

STS       0x00CF,R25    

STS       0x0000,R24    

CPI       R24,0x0F      

CPC      R25,R1        

BRNE   PC+0x0E       

LDS      R24,0x00D0    

LDS      R25,0x00D1    

ADIW   R24,0x01      

STS       0x00D1,R25    

STS       0x00D0,R24    

STS       0x00CF,R1     

STS       0x00CE,R1     

LDS      R24,0x00D0    

LDS      R25,0x00D1    

CPI       R24,0x3C      

CPC      R25,R1        

BRNE   PC+0x0E       

LDS      R24,0x00D2    

LDS      R25,0x00D3    

ADIW   R24,0x01      

STS       0x00D3,R25    

STS       0x00D2,R24    

STS       0x00D1,R1     

STS       0x00D0,R1     

LDS      R24,0x00D2    

LDS      R25,0x00D3    

CPI       R24,0x3C      

CPC      R25,R1        

BRNE   PC+0x0E       

LDS      R24,0x00D4    

LDS      R25,0x00D5    

ADIW   R24,0x01      

STS       0x00D5,R25    

STS       0x00D4,R24    

STS       0x00D3,R1     

STS       0x00D2,R1     

OUT      0x3F,R0       

RETI                    

Расчет значений для «функции спидометра» (таймер 1 по прерыванию на INT1):

PUSH      R1            

PUSH      R0            

IN        R0,0x3F       

PUSH      R0            

CLR       R1            

LDS       R24,0x00D6    

LDS       R25,0x00D7    

SBIW      R24,0x00      

BRNE      PC+0x09       

OUT       0x2D,R1       

OUT       0x2C,R1       

LDI       R24,0x01      

LDI       R25,0x00      

STS       0x00D7,R25    

STS       0x00D6,R24    

LDS       R24,0x00D6    

LDS       R25,0x00D7    

CPI       R24,0x01      

CPC       R25,R1        

BRNE      PC+0x3E       

IN        R28,0x2C      

IN        R29,0x2D      

LDS       R22,0x00DC    

LDS       R23,0x00DD    

LDS       R24,0x00DE    

LDS       R25,0x00DF    

LDI       R18,0xC3      

LDI       R19,0xF5      

LDI       R20,0x48      

LDI       R21,0x40      

RCALL     PC-0x06A6     

LDI       R18,0x00      

LDI       R19,0x00      

LDI       R20,0x10      

LDI       R21,0x42      

RCALL     PC-0x06AB     

MOVW      R14,R22       

MOVW      R16,R24       

MOVW      R22,R28       

CLR       R24           

SBRC      R23,7         

COM       R24           

MOV       R25,R24       

RCALL     PC-0x0763     

LDI       R18,0x0A      

LDI       R19,0xD7      

LDI       R20,0x23      

LDI       R21,0x3E      

RCALL     PC-0x06B8     

MOVW      R18,R22       

MOVW      R20,R24       

MOVW      R24,R16       

MOVW      R22,R14       

RCALL     PC+0x07FD     

STS       0x00E0,R22    

STS       0x00E1,R23    

STS       0x00E2,R24    

STS       0x00E3,R25      

LDS       R24,0x00DA    

LDS       R25,0x00DB    

ADIW      R24,0x01      

STS       0x00DB,R25    

STS       0x00DA,R24    

STS       0x00D9,R1     

STS       0x00D8,R1     

OUT       0x2D,R1       

OUT       0x2C,R1       

OUT       0x3F,R0       

RETI                    

 

 

 


Информация о работе Велокомпьютер на базе микроконтроллера