Дипломдық жұмыстың мақсаты avr микроконтроллерін



жүктеу 5.01 Kb.
Pdf просмотр
бет1/7
Дата30.04.2017
өлшемі5.01 Kb.
түріДиплом
  1   2   3   4   5   6   7


 
 


 
 
 
 
 
 


 


 
 
 

10 
 
АННОТАЦИЯ 
 
Дипломдық 
жұмыстың 
мақсаты 
AVR 
 
микроконтроллерін 
бағдарламалау  және  шеткі  құрылғыларымен    жұмыстарын  ұйымдастыру 
ерекшеліктерін  зерттеу  болып  табылады.  Қызмет  мүмкіндіктерін  зерттеуге 
AVR  Studio  бағдарламалау  ортасы  пайдаланылды.  Іске  асыру  барысында  
Proteus  бағдарламалау  ортасы  арқылы  зерттеу  нәтижелері  алынды. 
         «Бизнес  жоспар»  бөлімінде  жобаның  технико-экономикалық  негіздері 
қарастырылған,  жобаны  іске  асыруға  кеткен  шығындар  есептелген  және 
жобаға экономикалық пайдалылық бағасы берілген. 
        «Өміртіршілік  қауіпсіздік»  бөлімінде  мекемедегі  еңбек  қорғау 
жағдайына  талдау  жасау,  электр  қауіпсіздігі  және  кәсіпорында  өртке  қарсы 
шаралар  тақырыптары  бойынша  теориялық  мәлімет  және  есептеулер 
қарастырылған. 
 
АННОТАЦИЯ 
 
         Целью  дипломной  работы  является  –  исследование  функциональных 
возможностей и работа с перефийрейными устройствами  микроконтроллера 
AVR.  Для  исследование  возможностей  микроконтроллера  использована 
среда 
программирование 
AVR 
Studio. 
Результаты 
исследование  были  получены  с  помощью  среда  программирование  Proteus. 
       В разделе «Бизнес-план» была рассмотрена техническая и экономическая 
основа проекта, были рассчитаны затраты для реализации проекта и оценки 
экономической выгоды от проекта. 
В разделе «Безопасность жизнедеятельности» проведен анализ условий 
труда  и  рабочего  помещения  в  организации,  а  также  проведен  анализ 
электрической и пожарной безопасности. На основании полученных данных 
сделан расчет спринкерного устройтва. 
 
           ANNOTATION 
 
      The purpose of the graduation project is - the study of functional opportunities 
and work with the peripheral devices of the microcontroller AVR.. 
For the study of opportunities of the microcontroller has been used AVR Studio 
programming environment. The results of the study were obtained using the 
programming environment Proteus.
 
In the section "business plan" was discussed technical and economic basis of 
the  project,  and  were  calculated  costs  for  the  project  implementation  and 
evaluation of the economic benefits of the project. 
In the section "Safety" were analyzed conditions of labor and working space 
in the organization, as well as were  analyzed electrical and fire safety. 
 

11 
 
Мазмұны 
КІРІСПЕ 
13
 
1 МИКРОКОНТРОЛЛЕР ҚҰРЫЛЫМЫ 
15
 
1.1
 
М
ИКРОКОНТРОЛЛЕРДІҢ ЕРЕКШЕЛІКТЕРІ
 
15
 
1.1.1 Микроконтроллерді бағдарламалау 
17
 
1.2
 
AVR
 МИКРОКОНТРОЛЛЕРЛЕРІНІҢ ҚҰРЫЛЫМ ЕРЕКШЕЛІКТЕРІ
 
23
 
1.2.1 AVR микроконтроллерлерінің жинамдары 
25
 
1.2.2 Atmega128 микроконтроллерін сипаттау 
28
 
1.3
 
Қ
ОЛДАНЫЛҒАН БАҒДАРЛАМАЛАР
 
30
 
2 AVR МИКРОКОНТРОЛЛЕРІН ЗЕРТТЕУ БАҒДАРЛАМАЛАРЫ 
35
 
2.1
  
«Ж
ҮГІРМЕ ЖАРЫҚТАР
»
 ҚҰРЫЛҒЫСЫН ҚҰРУ
 
35
 
2.1.1 Құрылғыны Ассемблер тілінде бағдарламалау 
37
 
2.1.2 Таймер жұмысын ұйымдастыру 
40
 
2.1.2 «Жүгірме жарық» құрылғысының іс жүзінде орындалуы 
42
 
2.2  «КҮЙ САНДЫҚ» БАҒДАРЛАМАСЫН ҚҰРУ 
45
 
2.1.1 «Күй сандық»  құрылғысын бағдарламалау 
48
 
2.1.2 Құрылғының Proteus ортасында орындалуы 
55
 
2.3 «ӘУЕНДІ ҚОҢЫРАУЛЫ КОДТЫ ҚҰЛЫП» ҚҰРЫЛҒЫСЫ 
57
 
2.3.1 Ассемблер тілінде бағдарламалау 
59
 
2.3.2 Бағдарламаны іс жүзінде бақылау 
68
 
3 БИЗНЕС ЖОСПАР 
70
 
3.1
 
Б
АҒДАРЛАМАЛЫҚ ҚАМТАМАСЫЗДАНДЫРУ ШЫҒЫНЫН ЕСЕПТЕУ
 
70
 
3.2
 
Б
АҒДАРЛАМАНЫ ЕНГІЗУГЕ ЖҰМСАЛҒАН ШЫҒЫНДАРДЫ ЕСЕПТЕУ
 
76
 
3.3
 
И
ГЕРУ САЛАСЫНДАҒЫ ЖЫЛДЫҚ БІР ЖОЛҒЫ ШЫҒЫНДЫ ЕСЕПТЕУ
 
77
 
3.4
 
С
АЛЫСТЫРМАЛЫ ЭКОНОМИКАЛЫҚ ТИІМДІЛІКТІ ЕСЕПТЕУ

79
 
3.5
 
Д
ИНАМИКАЛЫҚ КӨРСЕТКІШТЕР НЕГІЗІНДЕ ЕСЕПТЕУ
 
80
 
3.6
 
Ж
ОБАНЫ ӨТКІЗУДЕ ЭКОНОМИКАЛЫҚ ТИІМДІЛІГІН БАҒАЛАУ
 
80
 
4 ӨМІРТІРШІЛІК ҚАУІПСІЗДІГІ 
83
 
4.1
 
М
ЕКЕМЕДЕГІ ЕҢБЕК ҚОРҒАУ ЖАҒДАЙЫНА ТАЛДАУ ЖАСАУ
 
83
 
4.2
 
Э
ЛЕКТР ҚАУІПСІЗДІГІ
 
85
 
4.3
 
Қ
ОРҒАНЫСТЫҚ ЖЕРГЕ ҚОСУ ҚҰРЫЛҒЫСЫН ТАҢДАУ ЖӘНЕ ЕСЕБІ
 
87
 
4.4
 
К
ӘСІПОРЫНДА ӨРТКЕ ҚАРСЫ ШАРАЛАР
 
88
 
4.4
 
С
ПРИНКЛЕРЛІК ҚОНДЫРҒЫҒА ЕСЕП ЖҮРГІЗУ

90
 
ҚОРЫТЫНДЫ 
92
 
ӘДЕБИЕТТЕР ТІЗІМІ 
93
 
ҚОСЫМША А 
95
 

12 
 
ҚОСЫМША Б 
96
 
ҚОСЫМША В 
101
 
 

13 
 
КІРІСПЕ 
Қазіргі  21  ғасырда  ғылым  мен  технология  жетік  дамыған.  Табиғат 
құбылыстары  және  оның  заңдары  осы  күнге  дейін  адам  баласын 
ойландырып,  толғандырып,  анықталмаған,  сыры  ашылмаған  дүниелерге 
ақиқаттың  түбіне  бар  сана-сезімімен,  білімді  де  тәжірибелі  ақыл-ой 
парасаттылығымен жетуі әрқашанда үлкен жетістік болып табылады. 
Бүгінгі  көптеген  ғылымдардың  дамыуы  –  ғылыми-техникалық 
прогреспен,  іргелі  физика-математикалық  ғылымның  дамуымен  тығыз 
байланысты. 
Ғаламда  бақыланатын  обьектілер,  құбылыстар  мен  процестерді  ой 
елегінен 
өткізу 
микродүние 
мен 
мегадүниенің 
күрделі 
өзара 
байланыстылығын  дұрыс  түсініп,  дүниенің  бүгінгі  астрономиялық 
суреттемесін  ойша  құрастыру  үшін  қажет.  Бақылаулар  мен  олардың 
теориялық түсіндірілуіне негізделген ғылыми болжамдарды (гипотезаларды) 
талдау  жолымен  және  табиғаттаудың  барлық  саласындағы  жетістіктерді 
пайдалану жолымен жүзеге асырады.  
Микропроцессорлық  техникaны  жеткілікті  деңгейде  игеру  үшін, 
микропроцессорлық жүйе жұмысын іс жүзeге толықтай түсіну үшін, aлдымен 
жүйенің  негізгі  буындарының  өзара  іс-әрекеттерінің  ұйымдастырылу 
принциптерін  игеру  керектігін  түсіну  қажет.  Жүйе  құрaмындағы  әртүрлі 
қызмeт  блоктарының  құрылымын  түсінумeн  қатaр  олaрдың  өзара  іс-
әрекеттерінің  ұйымдaстырылу  тәртібін  және  микропроцессорлық  жүйeнің 
талапқа  сай  жұмыс  істеу  бағдaрламаларын  құру  әдістерін  игеру  керек.  
Демек,  микропроцессорлық  жүйе  жөніндe  толық  білім  алу  үшін,  оның 
бағдарламалық бөлігін де, аппaраттық бөлігін де игеру қажет. 
Микропроцессорлық  техниканы  игеругe  байланысты  тағы  бір  өте 
маңызды мәселе, ол микропроцессорлық жүйелердің қазіргі зaмандағы ең кең 
таралған  түрі  –  микроконтроллерлeр  негізінде  нақтылы  қызмет  атқаруға 
арналған  арнайы  жүйелерді  жобалау  және  жұмыстaрының  жүзeге  асырылу 
жолдарын  игеру  әрі  микроконтроллерлерде  командaлар  жүйесінің 
құрамындағы  командалардың  орындaлу  ереккшеліктерін  тиімді  пaйдалана 
отырып,  мәселені  шешуге  арналғанжұмыс  бағдарлaмаларды  құру  болып 
табылады.  Сондықтан,  бұл  мәселeні  шешу  үшін  осындай  құрылымдарға 
бaйланысты зертханалық жұмыстaр қойылып, көлемі мен олардың мазмұны, 
техникaлық қамтамасыздандыруымен қажеттігі туады. 
Жоғарыда айтылғандарға байланысты, мeнің бакалавриаттық шығарым 
жұмысым 
ретіндe, 
микроконтроллерлердің 
комaндалар 
жүйесінің 
құрамындағы  командалардың  орындалу  ерекшеліктерін  анықтап,  олардың 
сол  ерекшеліктеріне  байланысты  тиімді  пайдалану  арқылы  бірнеше  түрлі 
қызмет  атқаратын,  микроконтроллeрлік  жүйелер  құрып,  олардың  жұмыс 
бағдарламаларын  құру  және  олардың  негізінде  оқу  процесіне  қолдануға 
жарамды сәйкесті ұсыныcтар беру тапсырылды. 

14 
 
Дипломдық  жұмыста  қойылған  тапсырмaны  орындaу  үшін  келесідей 
жеке мәселелер  қарастырылды: 

 
AVR микроконтроллерінің  құрылымы мен олардың жұмыс жасау 
мүмкіндіктеріне талдау  жасау; 

 
Қарапайым есептерді шешуге арналған бағдарлама құру және 
оларды орындау мүмкіндіктерін бақылау, зерттеу; 

 
Құрылған бағдарламалардың орындау тәсілдеріне іс жүзінде көз 
жеткізу.  
Қойылған мәселелерді және оған байланысты туынды тапсырмалардың 
шешілу барысы келесі тәртіппен баяндалады: 
Бірінші  бөлімде  микроконтроллeрлердің  жaлпылама  құрылымы, 
икроконтроллерді 
бағдарламалау 
және 
терең 
түрде 
 
AVR 
микроконтроллерінің 
құрылымы 
мен 
түрлері 
және 
басқа 
микроконтроллерден    ерекшеліктеріне  тоқталып,  екінші  бөлімде  AVR 
микроконтроллерінің  негізінде  техникалық  қолданымға  арналған  бірнеше 
бағдарламалардың жұмыс жасау принипі қаралып,  жалпылама түсініктемесі 
келтіріледі.  
Үшінші  тарауда  орындалған  жұмысқа  байланысты  экономикалық 
есептеулер  нәтижелері  кeлтіріліп,  ал  төртінші  тарауда  дипломдық  жұмыс 
тақырыбына сай өміртіршілік қауіпсіздігі мәселелeрі қарастырылады. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

15 
 
1 Микроконтроллер құрылымы 
1.1 Микроконтроллердің ерекшеліктері 
Микроконтроллер  –  ЭВМ    сақталатын    бағдарламаға    ұқсас    және  
үлгімен    құрастырылған,  қосалқы    түйіндермен    біріккен,  әр  түрлі    үлгі  
жадымен    және    микросхемаларда    кездесетін    өте    биік    дәрежелі  
интеграциялық  одақтарымен  бірігіп  жинақталған цифрлік құрылғы. 
Бірақ,  микроконтроллерлер    туралы    айтатын    болсақ,  онда,    көбінесе,  
олардан    көбірек  белгілі    түрін  –  "немере    туыстары",  яғни  
микропроцессорлар  туралы  ойлаймыз. Олар арнайы  компьютерлердің  өте  
маңызды  түйіні  болып  келеді  және  екеуі  бірдей  дербес компьютерлермен  
қатар    көптеген    басқа    электрондық    құрылғыларда    қолданылады.  70-
жылдардың    басында    сатылуда    көрінген    бірінші    микропроцессорлар  
цифрлік    схемаларды  іске    келтіру    жұмысын    орындауда    альтернативтік  
тәсілі  ретінде  көрініс  тапты. 
Екілік  сандар    түрінде    тұрақты    есте    сақтайтын    құрылғыда  (  ПЗУ  ) 
сақталынған    жүйелер  орындалатын    функциялар    нұсқау    жүйелілігімен  
анықталды.  Бұл    шешім    дәстүрлі    қосу  схемасы    қолданылатын    әр  түрлі  
микросхемалармен    салыстырғанда    үлкен  иілгіштікке  ие  болды.  Қазіргі  
замандағы    микроконтроллер    сондай    интеграцияланған    есептеуіштердің  
біреуі  болып  табылады. 
Микроконтоллерлердің ең басты ерекшеліктері келесідей: 

 
берілген тапсырманы орындау үшін бағдарламаланады; 

 
барлық функциялар кіші және ыңғайлы мөлшерде болып келеді; 

 
бірбағытты кіріс-шығыс порты бар және бұл порттар  перифериялық 
құрылғылармен байланыс орнату кезінде тиімді болып табылады.  

 
көп  энергияны қажет етпейді, себебі физикалық параметрлеріне аз 
мөлшерде энергия қорымен қамтамасыз етіледі;  
Қазіргі  таңда  микроконтроллер  күнделікті  қолданыстағы  қоптеген 
құрылғыларда кездеседі: 

 
есептеу  техникасында:  аналық  плата,  қатты  және  илгіш  дисктер 
контроллерінде,  CD және DVD, есептеу аппараттары;  

 
үй  техникасында:  кір  жуу  машина,  қысқа  толқынды  пеш,  ыдыс 
жуатын  машина,  ұялы  телефондар  және  заманауи  құрылғыларда,  робот 
жасауда, «ақылды үй» жүйесінде т.б. 

 
өндірісте: өнеркәсіптік автоматика құрылғылары, білдекпен басқару 
жүйесі. 
 Микроконтроллерді 
бағдарламалаудың 
пайдаланушылық 
және 
қызметтік мүмкіндіктері артқандықтан кеңінен қолданысқа ие болып отыр. 
Микроконтроллерлер жанұясындағы ең кең таралған түрлері: 

 
Atmel AVR (Xmega, ATmega, ATtiny және т.б.); 

16 
 

 
Microchip 
Technology 
PIC 
(PIC16, 
PIC24 
және 
т.б.) 
микроконтоллерлері; 

 
MCS 51 (Intel) 

 
MSP430 (TI) 

 
ARM (ARM Limited) 

 
STM8 (STMicroelectronics) 
Қарастырылып  жатқан  микроконтоллерлердің  ішінде  ең  тиімдісін 
анықтау  үшін  сапасына  және  физикалық  параметрлеріне  қарай  4  топқа 
бөлеміз:  физикалық  сипаттамасы,  бағасы,  құрылым  жасау  ортасы  және 
техникалық  қолдау.    Физикалық  сипаттамасы  бойынша  келесі  мәселелерді 
атап өтсек болады: 

 
таймер саны – уақыт критерийлерінің қарастыру үшін маңызды; 

 
деректерді  сақтау  жадысының  көлемі  –  бағдарламаның  орындалу 
және өңделу көлемін көрсетеді;  

 
процессордың  жұмыс  жиілігі  –  чиптің  жұмыс  жылдамдығын 
анықтайды; 

 
энергияны  пайдалану  –  мобильді  қосымшаларда  маңызды  болып 
табылады. 

 
бағдарламаның жады – чипке жүктелетін максимал көледі көрсетеді; 

 
кіріс пен шығыстың саны және оны тағайындау –  түрлі өткізгіштің 
әртүрлі  мүмкіндіктері  болады; 
Микроконтроллерде келесідей перифериялар болады: 

 
кіріс және шығысты порттар; 

 
USB, UART,  SPI,   I²C, CAN, IEEE  1394, Ethernet  сияқты  әртүрлі 
интерфейстер; 

 
цифрлы-аналогтық және аналогты-цифрлық түрлендіргіштер; 

 
таймерлер; 

 
компараторлар; 

 
кең импульсті модулятор; 

 
радиожиілікті қабылдағыш мен таратқыш

 
дисплей мен пернетақта контроллері; 

 
орнатылған тактілік генератор; 

 
флеш жады. 
Өндірісте шығарылатын микроконтроллерлердің әйгілі түрлері: 

 
MCS 51 (Intel); 

 
MSP430 (TI); 

 
ARM (ARM Limited); 

 
AVR (Atmel); 

 
PIC (Microchip); 

 
STM8 (STMicroelectronics). 

17 
 
1.1.1 Микроконтроллерді бағдарламалау 
Микроконтроллерге    арналған    бағдарлама  –  арнайы    бағдарламалық  
жадына  жазылып  жататын  код жүйелерінен тұрады. 
Адамға  кодтар  арқылы  бағдарламалау  өте  қиын,  әрі  қолайсыз.  Өйткені  
оған    әрбірінің  өзінің  мағыналы  аты  бар  командалармен  операция  жасау 
әлдеқайда  жеңіл,    әрі    ыңғайлы,  сондықтан  адам  оларды  жазуда  арнайы 
бағдарламалық тілдерді қолданады. 
Бағдарламалық тіл – арнайы  өңделген  тіл, машина  және  адам аралық 
түсіністік делдалы. 
Тілдің    негізгі  мақсаты  –  микроконтроллердің    жүйелі    әрекеттерін  
мағыналы суреттеп айту. Тіл адамға ыңғайлы да мәлімді болуы керек екнін 
ұмытпаған жөн. 
Бағдарламалауды  жасау  барысында  адам  қарапайым  немесе өз қалауы  
бойынша  күрделі    іс-әрекет  мәтінін  компьютерге  әдеттегідей  теріп  жазады, 
сосын  арнайы аударма программаны (транслятор) іске қосады. 
Транслятор  –  адам    жазған    басқару    мәтінін    машиналық    кодпен  
алмастыру,  яғни  микроконтроллерге  түсінікті  тілдік  формаға  айналдыру  
программасы. 
Адаммен   жазылған    программа    мәтіні    негізгі   немесе   объектілі   код  
деп    аталады.  Ал    трансляциядан    кейін    алынған    код    нәтижелі    немесе  
машиналық  код  деп   аталады. Осы  код  микроконтроллердің  жадысында  
жазылып,  сақталады.  Бұл  нәтижелі    кодты  жазып    сақтау    үшін  – 
программаторлар  арнайы  құрылғысын  пайдаланады. 
Барлық  бағдарламалардың  тілдері  2 түрге  бөлінеді: 
-
 
төменгі  деңгейлі  тілдер; 
-
 
жоғарғы  деңгейлі  тілдер. 
Жиі    қолданылатын,  қарапайым    мысал    ретінде,    бағдарламалардың  
төменгі    деңгейлі  тілдерінің  бірі  –  Assembler  тілі.  Бұл    тіл    барынша  
микроконтроллердің  басқару    жүйесінің    бұйрықтарына    жуық.  Assembler  
тілінің    әрбір    операторы  –  ол,  мәнмен  алғанда,  қандай  да    бір    нақтылы  
бұйрықтың  ауызша  аты. Трансляция  барысында  сондай  команда  операция  
кодымен  қарапайым  түрде  ауыстырылады. 
Assembler  тілінде  бағдарламаны    құрастыра    отырып,  адам    берілген  
тиісті  мәліметтер  түрлерімен  операция  жасауы үшін  процессормен  ұқсас, 
яғни    байттармен    және    сақалармен  болуы  керек.  Сонымен  қатар, 
Ассемблердің    тілінің    ерекшілігі  –  бұл  тіл  үшін    операторлардың    терімі  
нақтылы    микроконтроллердің    бұйрықтарының    жүйелеріне    тікелей  
тәуелділігі.  Сондықтан,  егер    екі    микроконтроллер    әр  түрлі    бұйрықтар  
жүйесін    қабылдаса,  онда    әрбір  сондай    микроконтроллерлардың    өзіндік  
бір-бірінен  бөлек    Ассемблер  тілі  болады. Сол  сияқты  жаңа  заманның  
талаптарына  сай  басқа да  көптеген  бағдарламалау жүйелері  бар. Мәселен, 
ғылымның,  техниканың    қарқынды    дамыған,  адам    қажеттіліктері    көбейіп  

18 
 
және    барлық    мүмкіншіліктері    кең    ауқымда    ұлғайған    кезде,  үлкен  
жетістіктерге    қол    жеткізген    кезде,  әрине,  микроконтроллерлардың    да  
мүмкіншіліктері    айтарлықтай    жетілдіріле    түсті.  Енді,  қазіргі    заманда  
жоғарғы    деңгейлі    тілдер    қолданылуда.  Оларға    Basic,  С  және    де    басқа  
жүйелер  жатады. 
Бұл  тілдер  өз  уақытында  нағыз  үлкен  компьютерлер  үшін  өңделген  
болатын.  Бірақ   қазір   олар    микроконтроллерларда    кеңінен   қолданылады. 
Жоғарғы  деңгейлі  тілдер, көбінесе, адамға  танымалдығымен  ерекшеленеді. 
Көптеген  жоғарғы  деңгейлі  тілдер  топтары  микроконтроллердің  нақтылы  
топтарымен    байланыспайды.  Ондай    тілдер    енді    байттармен    емес, 
математикадан  бізге  әлдеқайда  жақсы  таныс  қарапайым  ондық  бірліктік  
сандармен,  сонымен    қатар    айнымылылармен,  тұрақтылармен    және   басқа  
элементтермен    байланысады.  Тұрақтылар    мен    айнымылылар    бізге  
түсінікті  болатындай  дағдылы  күйге  ене алады. 
Жоғарғы    деңгейлі    тілдер    трансляциясы    Ассемблер  трансляциясына  
қарағанда    өте    күрделі    өзгертулерді    өндіреді.  Бірақ,  нәтижесінде    сондай  
машиналық    кодтағы    программалар    шығады.  Сонымен  қатар,    транслятор  
микроконтроллердің    барлық    ресурстарын    өзіне    тән    болатындай    етіп 
қарастырады.  Жазылған    айнымылылардың    суреттемесін    ол    қай    және  
қандай    регисторда    немесе    жады    ұяшықтарында        сақтайтынын,  қалай   
және    қандай    математикалық:  арифметикалық    немесе    алгебралық  
функцияларда  орындайтыны  туралы  алдын ала біледі. 
Транслятор    бағдарламасы    алгоритмді  өзі    таңдайды.  Сондықтан, 
трансляция      бағдарламасынан    алынған    алгоритм    тиімділігінің    мақсаты  
транслятор   бағдарламасына   жатады.  Бүтіндей    алғанда,  жоғарғы   деңгейлі  
тілдер  жүйесінде    жазылған    программалар    Ассемблер    тілінде    жазылған  
ұқсас    программаларға    қарағанда    микроконтроллер    жадысында    30-40% 
көбірек  орын  алады, бірақ, егер  де  микроконтроллерде  жеткілікті  жады  
болса,  онда    программаның    үлкеюі    проблема    емес.  Жоғарғы    деңгейлі  
тілдердің      артықшылығы    программаның    өңдеуінің    іс    жүзінде    жылдам  
болуында.  Жоғарғы    деңгейлі    тілдердің    ішіндегі    ең    тиімдісі  –  С  тілінің  
жүйесі    болып    табылады.  Сондықтан    жоғарғы    деңгейлі    тілдерді  
көркемдеуде  осы  түрді  пайдаланылады.  
Микроконтроллер  үшін  Ассемблер  және  Си  тілінің  келесідей  белгілі 
компиляторлары бар: 

 
WinAVR (AVR және AVR32  

 
Keil (8051 және ARM); 

 
GNU Compiler Collection; 

 
CooCox (ARM). 

 
Small Device C Compiller; 

 
CodeVisionAVR (AVR); 

 
IAR (кез келген МК); 

 
HiTECH (PIC); 

19 
 
Қорыта  келе,  микроконтроллер  –  электронды  құрылғыны  басқаруға 
арналған  микросхема.  Қарапайым  микроконтроллер  жедел  есте  сақтау 
құрылғысынан  және  тұрақты  есте  сақтау  құрылғысынан  тұрады,  оның  бір 
кристаллы  процессор  мен  сыртқы  құрылғы  қызметін  атқарады. 
Құрастырушының жұмысын жеңілдетеді, өнім  арзан қолжетімді және арзан 
болады. 
Осы 
дипломдық 
жобада 
Atmel 
компаниясының 
АVR 
микроконтроллерлері зерттелінеді.  
Ассемблер тілі - машиналық тідің аналогы болып саналады. Ассемблер 
тілінде  жазылған  программа  МП-р  құрылысының  ерекшеліктерін:  жадтың 
ұйымдастырылуын, операндтарды адрестеу тәсілдерін, регистрлерді қолдану 
ережелерін анықтап, көрсету қажет. Әр МП-ң өзінің Ассемблері болады. 
Ассемблер тілінде жазылған программа жад сегменттері деп аталатын 
жадблоктарының  тобынан  тұрады.  Программа  осындай  бір  немесе  бірнеше 
блок-сегменттерден  тұруы  мүмкін.  Әр  сегмент  программа  кодының  әр 
қатарында орналасқан сөйлемдерден құрылады. 
Ассемблер тілінің сөйлемдері төрт түрлі болады: 
Командалар:  машиналық  кодтардың  аналогтары.  Бұл  командалар 
трансляциялау кезінде МП-ң сәйкес командаларына түрленеді; 
Макрокомандалар: 
трансляциялау 
кезінде 
басқа 
сөйлемдерге 
алмасатын сөйлемдер; 
Дерективалар:  ассемблер  трансляторына  орындалатын  әрекеттер 
туралы  түсінік  береді,  яғни  қызметші  ақпараттар  жиыны.  Дерективалар 
машиналық кодтарға түрленбейді; 
Комментарий: кез келген белгілерден тұрады. 
Ассемблер тілінің екі артықшылығы бар: 
Бұл тілдің көмегімен программаны МП командалары деңгейінде жазуға 
болады  және  сандық  кодтардың  барлығын  еске  сақтауды  талап  етпейді. 
Программа  командалары  жазылып  болған  соң,  Ассемблер  программасы 
шақырылады  да,  ол  бұл  командаларды  олардың  кодтарына  айналдырады. 
Командалар  жиыныннан  тұратын  программа  негізгі  не  алғашқы  программа 
деп аталады, ал негізгі программаның сандық кодтары, яғни машиналық тілге 
айналған түрі – объектік программа деп аталады. 
Ассемблердің  атқаратын  негізгі  қызметі  –  қолданушыға  түсінікті 
негізгі  прогрпмманы  МП  түсінетін  объекттік  программаға  айналдыру. 
Ассемблердің  кең  тараған  түрлері:  IBM  фирмасының  MASM(Macro 
Assembler) программасы және Borland фирмасының TASM (Turbo Assembler) 
прграммасы. 
Ассемблер тілінде программа құру кезеңдері. 
Ассемблер тілінде программа құру келесі кезеңдерден тұрады: 
есептің қойылымы және программасының құрылымын анықтау; 
текстік редактордың көмегімен компьютерге программа командаларын 
енгізу; 

20 
 
Ассемблердің көмегімен программаны трансляциялау; 
загрузчик  (жадқа  жүктеуші  программа)  көмегімен  трансляцияланған 
программаны  (сандық  кодтарды)  өздігінен  орындалатын  модульге 
айналдыру; 
программаны орындау; 
отладчиктің көмегімен программаны жүргізу. 
2-ші  кезеңде  қолданылатын  редактор  ретінде  WORD  редакторінен 
басқа  кез  келген  текстік  редакторді  қолдануға  болады.  Негізгі  программа 
операторлар  тізбегінен  тұрады.  Оператор  ретінде  Ассемблер  тілінің 
командалары немесе псевдокомандалар қолданылады. 
Ассемблер тілінің синтаксисі, алфавиті. Тұрақтылар. 
Программа 
сөйлемдерін 
(команда, 
макрокоманда, 
директива, 
коментарий)  ассемблер  трансляторы  айқын  анықтау  үшін  олар  белгілі  бір 
синтаксистік ережелерге сәйкес қалыптастырылуы тиіс. 
Ассемблер тіліндегі әр команда 4 өрістен тұруы мүмкін. 
Мысалы: get:  mov  cx,di;  cx  регистріне di  регистрінің  мәнін меншіктеу 
Бұл  жерде  get  белгіні  білдіреді,  mov  –  меншіктеу  командасы,  cx,  
di  операндтарды білдіреді, ал; белгісінен кейін тұрған мәлімет – коментарий. 
Директивалар (Псевдокомандалар). 
Директивалардвң  (псевдокомандалардың)  көмегімен  сегменттер  мен 
пройедураларды  анықтауға,  командалар  мен  мәліметтер  элементтеріне  ат 
беруге,  жадтың  жұмысшы  аумақтарын  анықтауға  және  т.с.с.  әрекеттерді 
орындауға болады. Директивалардвң жазылу түрлері: 
Жиі кездесетін директивалардың түрлері : 
SEGMENT ENDS – негізгі прграмманы сегменттерге бөледі, сегменттің 
басын  және  аяғын  білдіреді.  Сегмент  түрлерін  анықтау  үшін  ASSUME 
директивасы қолданылады. Оның жазылу түрі: Мұндағы, сегмент_регистрі – 
DS,  CS,  SS,  ES  сегмент  регистрінің  аты, :  сегмент_аты  –  SEGMENT 
директивасында көрсетілген ат. 
PROC  ENDP  процедураның  басын  және  соңын  білдіреді.  Процедура 
дегеніміз – программаның әр жерінде орындалатын командалардың тізбегі. 
Ассемблер тілінде кездесетін тұрақтылардың түрлері: 
екілік  сандық  жүйесіндегі  тұрақтылар:  0  және  1-ден  тұратын  сандар 
тізбегі. Тізбектің соңында В әрпі жазылады. Мысалы: 1011011В. 
орындық  сандық  жүйесіндегі  тұрақтылар:  0+9  аралығында  сандар.  D 
әрпімен аяқталуы мүмкін. Мысалы: 927 не 927D. 
16-лық  сандық  жүйесіндегі  тұрақтылар:  0+9  аралығында  сандар,  А+Ғ 
латын  әріптері.  Н  әрпімен  аяқталады.  Алғашқы  символ  сан  болуы  тиіс. 
Мысалы: 1Е23Н. 
символдардың тұрақтылар – тырнақшаға алынып жазылған әріп, сан не 
символдар тізбегі. 

21 
 
Теріс  сандарды  енгізу  үшін  келесі  тәсілдер  қолданылады:  егер  сан 
ондық  жүйеде  болса,  алдына  минус  белгісі  қойылады,  егер  сан  2-лік  не  16-
лық жүйеде болса, оны толықтырғыш кодқа ауыстыру керек. 
Ассемблер синтаксисі: 
1. Ассемблер синтаксисi дегенiмiз бұл командалар мен операндтардың 
белгiлi-бiр синтаксистiк ережеге бағынуы. Ассембелер тiлiнде программалау 
кезiнде жадыны адрестеу тәсiлдерi, массивтер, айнымалылар қолданылады.  
2. Айнымалыларды сипаттау 
Турбо  Ассемблерде  айнымалыларды  сипаттау  үшiн  арнайы 
идентифиаторлар қолданылады:Оларға: 
DB (Dimension Byte) –1 байт өлшемдi айнымалыны сипаттау. 
DW  (Dimension  Word)  –  2  байт  өлшемдi  айнымалыны  сипаттау. 
(машиналық сөз) 
DD  (Dimension  Double  word)  –  4  байт өлшемдi  айнымалыны  сипаттау. 
(екiлiк сөз) 
DQ  (Dimension  Quadruple  word)  -  8  байт  өлшемдi  айнымалыны 
сипаттау. (4 сөз) 
3. Айнымалыны сипатау синтаксисi: 
 Айнымалы аты    тип  бастапқы мән 
Мұндағы,  бастапқы  мән-  осы  типке  беруге  болатын    кез-келген  сан. 
Санды  жазу  ондық,  он  алтылық,  сегiздiк,  екiлiк  форматта,  алдына  есептеу 
жүйесiнiң әрпi қойылу арқылы  жазылады: 
d (Decimal) – ондық сан. Мысалы 034d саны 34 санын бiлдiредi. 
h (Hex) – он алтылық сан. Мысалы: 3е5ah, 0ac44h, 0f0h. 
o (Octal) – сегiздiк сан. Құрамына  0,1,2,3,4,5,6,7 осы сандар кiредi. 
b (Binary) – екiлiк сан.  Құрамына 0 және 1 сандары кiредi. 
 
Кесте  1.1–Арифметикалық    командалардың  негiзiлерi  төмендегi  кестеде 
көрсетiлген: 
Мнемоника 
(опN= 
операндN) 
Операнд түрi 
 
Орындалу логикасы 
Өзгеретiн 
жалаушалар 
ADD оп1, оп2 
R, A    R, M 
A, I      M, R 
R, I      M, I 
 
оп1 = оп1 + оп2 
Қарапайым қосу 
O,  S,  Z,  A,  P, 

ADC оп1, оп2 
R, A 
A, I 
оп1 = оп1 + оп2 + CF 
Тасымалдау  есебiнен 
O,  S,  Z,  A,  P, 


22 
 
R, I 
R, M 
M, R 
M, I 
қосу  
CF = 1, то  
оп1 = оп1 + оп2 + 1  
SUB оп1, оп2 
R, R 
M, R 
R, M 
A, I 
R, I 
M, I 
оп1 = оп1 - оп2 
Азайту 
O,  S,  Z,  A,  P, 

SBB оп1, оп2 
R, R 
M, R 
R, M 
A, I 
R, I 
M, I 
оп1 = оп1 - оп2 - CF 
Тасымалдау  есебiнен 
азайту 
O,  S,  Z,  A,  P, 

MUL оп1 
R8 
R16 
M8 
M16 
AX = AL * оп1, 
 
 
DX:AX = AX * оп1,  
 
O, C 
 
 
DIV оп1 
R8 
R16 
M8 
M16 
AL = AX / оп1; 
AH = қалдық, 
 
AX = DX:AX / оп1; 
D, 
I, 

жалаушалары 
өзгермейдi. 

23 
 
AX = қалдық 
 
SHL оп1, оп2 
R, 1 
R, CL 
M, 1 
M, CL 
   CF ← оп1 ← 0 
Биттердi 
солға 
жылжыту 
O, S, Z, P, C. 
 
SHR оп1, оп2 
R, 1 
R, CL 
M, 1 
M, CL 
0 → оп1 → CF 
Биттердi 
оңға 
жылжыту 
O, S, Z, P, C. 
 
 


жүктеу 5.01 Kb.

Поделитесь с Вашими друзьями:
  1   2   3   4   5   6   7




©emirb.org 2020
әкімшілігінің қараңыз

    Басты бет