MC9S12C128 микроконтроллерінің перифериялы модульдері

Автор работы: Пользователь скрыл имя, 29 Ноября 2013 в 21:58, дипломная работа

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

Қазіргі заманда микропроцессорларды қолданбайтын техника аймағын табу қиын. Олар есепетеулер жүргізу, басқару функцияларын жүргізу үшін, сонымен қатар дыбыстар мен бейнелерді қолданған кезде де пайдаланылады. Қолдану аймағына қарай микропроцесоарларға деген талаптар да өзгере береді. Бұл микропроцессордың ішкі құрылымына байланысты. Контроллер термині ағылшынның control – басқару сөзінен шыққан. Микроконтроллерлер әртүрлі жұмыс принциптарына негізделіп механикалық немесе оптикалық құрылғылардан бастап электронды аналогтық немесе цифрлық құрылғыларға дейін пайдаланылуы мүмкін. Қазіргі кезде кеңінен тараған басқару схемаларының бірі ол, сандық микросхема негізінде құрылғандар.

Содержание

КІРІСПЕ 5
1 HCS12 БІР КРИСТАЛДЫ МИКРОКОНТРОЛЛЕРЛЕР КЛАСЫ 7
1.1 Кластардың жалпы сипаттамасы 7
2 ELVIS_S12C128ЭКСПЕРИМЕНТАЛДЫ – ЛАБОРАТОРИЯЛЫҚ ҚОНДЫРҒЫСЫ 11
2.1 Қондырғының жалпы сипаттамасы 11
2.2 Микроконтроллердің тақшасы 12
2.3 CSMB12C128 тақшасы + PBMCUSLK тақшасы 17
2.4 CSMB12C128 тақшасы + PBMCUSLK тақшасы + ELVIS II платформасы 20
3 МИКРОПРОЦЕССОРЛЫҚ ЖҮЙЕЛЕРГЕ АРНАЛҒАН CODEWARRIOR ПРОГРАММАЛЫҚ ОРТАСЫ 21
3.1 Өңдеу ортасының жалпы сипаттамасы 21
3.2 CodeWarrior ортасында жоба құру техникасы 23
4 МК MC9S12C128 ПЕРИФИРИЯЛЫ МОДУЛЬДЕРІН ЗЕРТТЕУ 28
4.1 Микроконтроллерлер жайлы жалпы түсінік 28
4.2 Elvis II қондырғысыныңвиртуальды құралдарының жиыны 30
4.4 Микроконтроллердің ШИМ(кең импульсті модуляция) модулін зерттеу 37
4.5 Берілген параметрлері бар жекелеген импульстер генерациясын зерттеу 40
4.6 Аналогты-цифрлы түрлендіргіштің модулі 42
4.7 SPI тізбекті синхронды интерфейсін зерттеу 44
4.8 SCI тізбекті асинхронды интерфейсін зерттеу 46
ҚОРЫТЫНДЫ 48
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ 49
ҚОСЫМША 50

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

dip_3079.doc

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

 

4.7 SPI тізбекті синхронды интерфейсін  зерттеу

 

Бұл жұмыста SPI тізбекті синхронды интерфейсі зерттеледі. Оның ерекшеліктері мен жұмыс істеу режимдері қарастырылады.

Енгізілген SPI модулі арқылы 0x32 кодын тұрақты шығарып тұратын микроконтроллердің программасын жазу керек. Әрбір жіберілімді 250 мкс кешігуі арқылы жүзеге асыру керек. Тізбекті интерфейс арқылы жіберу жиілігін 62.5 кГц-ке тең деп аламыз. Мәліметтер фиксациясы нөлдік активті деңгейі бар тактілі сигналдың жұп фронттары бойынша жүзеге асуы керек. MOSI және SCK сигналдарын Scope осциллографына шығарып, алынған нәтижелерді түсіндіу керек [11].

 

#include <hidef.h>

#include "derivative.h"

#define delay(us); for(delay=us/2;delay!=0;delay--) asm NOP;

                                                //Программалық кешігудің құру  кодының макро-

                                              //анықтамасы. Микросекундтар машиналық цикл-

                                              //ге ауысады.

unsigned int delay;                //Кешігуді құру үшін айнымалы.

void main() {  

      PERM |= 0x3C;             // М портының 2, 3, 4 және 5 аяқтарына                                                                                                                     // резисторлар-дың қосылуы

      DDRM |= 0x3C;        //М портын  кіріске орнату.

      SPIBR = 0x04;          //Ауысу жиілігін  орнату fBUS/(2·16) = 62.5 кГц.

      SPICR1 = 0x5C;       // SPI модулінің қосылуы,тактілеу сигналының нөл-

                                        //дік активті деңгейі,жұп фронты  бойынша өтеу(2,4..).

EnableInterrupts;       //Үзүлулер рұқсаты.

      for(;;) {

               asm LDAA SPISR;  // SPISR регистрінің оқылуы.Осы операциямен

                                              // SPTEF  жалаушасы  алып тасталынады.

               SPI = 0x32;             //Керекті мәліметтерді жібереміз.

               while(SPISR_SPTEF == 0);  // Жіберу регистрінің бос қалу

               delay(250);                          // жалаушасының орнатылғанын күтеміз.

                                                           //Кешігу ~ 250 мкс

       }  

}

 

4.7.1 сурет - Қондырғыдағы контактілердің қосылуы

 

       MCU_PORT (J6 немесе J7)         Elvis II платформасының BNC-тіркеуіші

 



 

 

Программаларды  және виртуалды құралдарды iске қосу алдында 4.7.1 суретке сәйкес қондырғыдағы манипуляцияларды шығару керек

 

4.7.2 сурет - Жөнелту кодының синхронды тізбекті интерфейсі бойынша уақытша диаграммалар

 

 

 Программаны орындау нәтижесі 4.7.2 суретте келтірілген.

4.8 SCI тізбекті асинхронды  интерфейсін  зерттеу

 

Бұл жұмыста SCI тізбекті асинхронды интерфейсі зерттеледі. Оның ерекшеліктері мен жұмыс істеу режимдері қарастырылады. Осы жұмысқа дайындық барысында SCI интерфейсінің сипаттамаларымен танысу керек [13].

Енгізілген SCI модулі арқылы 0x6D кодын тұрақты шығарып тұратын микроконтроллердің программасын жазу керек. Әрбір жіберілімді 250мкс кешігуі арқылы жүзеге асыру керек. Тізбекті интерфейс арқылы жіберу жиілігін 62.5 кГц-ке тең деп, кадр форматын – 8 бит деп орнатамыз. TxD және RxD сигналдарын Scope осциллографына шығарып, алынған нәтижелерді түсіндіру керек.

#include <hidef.h>

#include "derivative.h"

#define delay(us); for(delay=us/2;delay!=0;delay--) asm NOP;

                                                //Программалық кешігудің құру  кодының макро-

                                             //анықтамасы. Микросекундтар машиналық цикл-

                                            //ге аударылады.

unsigned int delay;              //Кешігуді құру үшін айнымалы.

void main() {  

      PERS |= 0x3C;           // S портының 0 және 1 аяқтарына резисторлар-

   //дың  қосылуы.   

      DDRS |= 0x03;          //S портының 0 және 1 аяқтарын шығысқа орнату.

      SCIBD = 0x02;            //Ауысу жиілігін  орнату fBUS/(2·16) = 62.5 кГц.

      SCICR2 = 0x08;         // SCI модулінің қосылуы,тек ақпарат жіберу.

EnableInterrupts;       //Үзүлулер  рұқсаты.

     for(;;) {

               asm LDAA SCISR1;  // SPISR регистрінің оқылуы.Осы  операциямен

                                                   // TDRE  жалаушасы  алып тасталынады.

               SCIDRL = 0x32;             //Керекті мәліметтерді жібереміз.

               while(SPISR_SPTEF == 0);  // Жіберу регистрінің бос қалу

               delay(250);                              //жалаушасының орнатылғанын күтеміз.

             asm LDAA SPISR;      // SPISR регистрінің оқылуы.Осы операциямен

                                                // SPTEF  жалаушасы алып тасталынады.

               SPI = 0x32;              //Керекті мәліметтерді жібереміз.

                                                               //Кешігу ~ 250мкс 

      interrupt 22 void ATD0() {    //АЦТ өрнектеуін аяқтау барысында

                                                // үзүлулердің қызмет көрсетуі.

   if (BTN == UP) PORTA = ATDDR0H;   //Егер батырма басылмаған  болса,

                                                                      //онда портқа сандық мәнді

                                                                      //шығару.

  }  

  }

}

4.8.1 сурет - Қондырғыдағы контактілердің қосылуы

 

MCU_PORT (J6 немесе J7)     Elvis IIплатформасының BNC-тіркеуіші


 


 

Программаларды  және виртуалды құралдарды iске қосу алдында 4.8.1 суретке сәйкес қондырғыдағы манипуляцияларды шығару керек

 

4.8.2 сурет - Жөнелту  кодының асинхронды тізбекті  интерфейсі бойынша уақытша диаграммалар

 

 

 

 Программаны орындау нәтижесі 4.8.2 суретте келтірілген

 

 

 

 

ҚОРЫТЫНДЫ

 

Бұл жұмыста  он алты разрядты  МК МС9S12C128 перифериялы модулдері зерттелді. Оның ішінде:

Таймер модулінің  кірісін ұстап алу режимін зерттеу.Осы жұмыста микроконтроллер таймері ішкі жүйесінің ұстап алу режимі зерттелді. Бұл зерттеу жұмысында Elvis II платформасы көмегімен кейбір сандық сигналдар жайлы мәлімет алынды.

Микроконтроллердің ШИМ(кең импульсті модуляция) модулін зерттеу. Бұл жұмыста микроконтроллермен құрылған ШИМ-сигналды басқаратын сигнал үшін программасы жазылды.

Берілген параметрлері бар жекелеген импульстер генерациясын зерттеу. Бұл жұмыста шығыс сигналын микроконтроллердің көмегімен генерациялайтын программасы жазылды.

Аналогты-цифрлы түрлендіргіштің модулін зерттеу. Бұл жұмыста АЦТ-нің бірканалды және көпканалды, бір ретті және үздіксіз жұмыс істеу режимдері қарастырылды. Келіп түскен сигналды цифрға түрлендіретін және оны Digital Reader виртуалды құрылғысына жіберетін микроконтроллердің көмегімен жүзеге асатын программасы  жазылды.

SPI тізбекті  синхронды интерфейсін зерттеу. Бұл жұмыста енгізілген SPI модулі арқылы 0x32 кодын тұрақты шығарып тұратын микроконтроллердің программасы жазылды.

SCI тізбекті  асинхронды интерфейсін зерттеу. Бұл жұмыста енгізілген SCI модулі арқылы 0x6D кодын тұрақты шығарып тұратын микроконтроллердің программасы жазылды.

Қорытындылай  келе микроконтроллерді студенттерге зертханалық жұмыстар жүргізуде қолдану өте тиімді. Зерттеу жұмысының нәтижелерін техникалық мамандықтағы студенттерді “ микропроцессорлық техника негіздері” пәні бойынша оқытуда қолдануға болады. Жұмыс барысында қойылған мақсаттар мен міндеттер толығымен атқарылды.

 

 

 

 

 

 

 

 

 

 

ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ

 

  1. Т. Ремизевич, Д. Доброхотов, Лабораторный практикум «Шестнадцатиразрядные микроконтроллеры семейства HCS12», Москва 2009// издательство: «ДМК пресс», 193 с.ISBN 5-9706-0034-2, 0-13-14041-6.
  2. Ахметов М. 16-разрядные микроконтроллеры Hitachi, Mitsubishi, Motorola, NEC, Toshiba // Chip News. - 2000. - 55. - C. 3-11.

3    Бьярне Страуструп. Программирование: принципы и практика использования C++, исправленное издание = Programming: Principles and Practice Using C++. // 2011. — С. 1248. — ISBN 978-5-8459-1705-8

4      Гусев В.Г. Электроника и микропроцессорная техника: Учебное пособие для вузов // В.Г. Гусев, Ю.М. Гусев-3-е изд, перераб. И доп.-М.:Высшая школа, 2005.-790 с.

5       Тревис Дж., Кринг Дж. LabVIEW для всех. 4-ое издание,переработанное и дополненное // «ДМК пресс», 2011.-904 стр

6     Гутников В.С. Интегральная электроника в измерительных устройствах //Энергоатомиздат. Ленингр. отд-ние, 1988.- 304 с

7 Опадчий Ю.Ф.,Глудкин О.П., Гуров А.И. Аналоговая и цифровая электроника: Учебник для вузов //Высшая школа 2007.-768 с.

8 Фрунзе А. В. Микроконтроллеры? Это же просто! // «ИД СКИМЕН», 2003. — Т. 3. — ISBN 5-94929-003-7

9 Батоврин В.К., Бессонов А.С., Мошкин В.В.: LabVIEW: Практикум по аналоговым элементам информационно-измерительной техники: Лабораторный практикум //2011.- 116 с.

10 Гребнев В.В. Микроконтроллеры AVR // издательство:радиософт 20027- 174 с.ICBN 5-93037-091-5

11 Иванов Ю.И., Югай В.Л  Микропроцессорные устройства систем управления // Издательство: Таганрог: Изд-во ТРТУ 2005.-133 с. ISBN: 5-8327-0206-9

12 С. Ф. Баррет, Д. Дж. Пак , Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12 / HCS12 с применением языка С// издательство:«ДМК Пресс»2007.-175 с. ISBN: 5-9706-0034-2

13 Ю. А. Шпак, Программирование на языке C для AVR и PIC микроконтроллеров // 2007.-155

14 Досжан Н.С., Курманов Е.Б. Применение технологии отладки программы в среде CodeWarrior Development Studio для микроконтроллера МC9S12C128// Жас ғалымдар және студенттердің халықаралық конференциясы, Ғылым әлемі 2012

 

 

 

 

 

 

ҚОСЫМША А

 

Таймер модулі кірісін ұстап алу режимін зерттеу

 

Өзiндiк жұмысқа  арналған бастапқы деңгейдiң есептерi

1) Микроконтроллердiң T портының 1-ші аяғына Two Channel Generator құралымен құрылған тiкбұрышты импульстің  тізбегі келіп түседі. А портына параллель кодта микросекундпен шығаратын және келетін сигналдың периоды өлшенетін программаны жазу керек. Код T out виртуалды құралын қабылдауы керек.

2) Микроконтроллердiң T портының 0 аяғына Two Channel Generator құралымен құрылған тiкбұрышты импульстің тізбегі келіп түседі. В портына параллель кодта микросекундпен шығаратын және келетін сигналдың периоды өлшенетін программаны жазу керек.  Код T out виртуалды құралын қабылдауы керек.

3) Микроконтроллердiң T портының 0 аяғына Two Channel Generator құралымен құрылған тiкбұрышты импульстің тізбегі келіп түседі. А портына параллель кодта микросекундпен шығаратын және келетін сигналдың периоды  өлшенетін программаны жазу керек. Код T out виртуалды құралын қабылдауы керек. Таймер санағышының жиілігі   fBUS-қа тең деп жасау.

4) Микроконтроллердiң T портының 0 аяғына Two Channel Generator құралымен құрылған тiкбұрышты импульстің тізбегі келіп түседі. А портына параллель кодта микросекундпен шығаратын және келетін сигналдың периоды өлшенетін программаны жазу керек. Код T out виртуалды құралын қабылдауы керек. Таймер санағышының жиілігі   fBUS/4-ке тең деп жасау.

5) Микроконтроллердiң T портының 2-ші аяғына Two Channel Generator құралымен құрылған тiкбұрышты импульстің тізбегі келіп түседі. А портына параллель кодта  микросекундпен шығаратын және келетін сигналдың периоды өлшенетін программаны жазу керек. Код T outвиртуалды құралын қабылдауы керек.

 

Өзiндiк жұмысқа  арналған орташа деңгейдің есептерi

1) Микроконтроллердiң T портының 0 аяғына Two Channel Generator құралымен құрылған тiкбұрышты импульстің тізбегі келіп түседі. В портына параллель кодта килогерцпен  шығаратын және келетін сигналдың периоды  өлшенетін программаны жазу керек. Код T out виртуалды құралын қабылдауы керек. Таймер санағышының жиілігі   fBUS/4-ке тең деп жасау.

2) Микроконтроллердiң T портының 2-ші аяғына Two Channel Generator құралымен құрылған тiкбұрышты импульстің тізбегі келіп түседі. А портына параллель кодта килогерцпен шығаратын және келетін сигналдың периоды өлшенетін программаны жазу керек. Код T out виртуалды құралын қабылдауы керек. Таймер санағышының жиілігі   fBUS/4-ке тең деп жасау.             

3) Микроконтроллердiң T портының 4-ші аяғына Two Channel Generatorқұралымен құрылған тiкбұрышты импульстің тізбегі келіп түседі. А портына параллель кодта килогерцпен шығаратын және келетін сигналдың периоды өлшенетін программаны жазу керек. Код T out виртуальды құралын қабылдауы керек. Таймер санағышының жиілігі   fBUS-қа тең деп жасау.             

4) Микроконтроллердiң T портының 6-шы аяғына Two Channel Generator құралымен құрылған тiкбұрышты импульстің тізбегі келіп түседі. В портына параллель кодта килогерцпен шығаратын және келетін сигналдың периоды  өлшенетін программаны жазу керек. Код T out виртуалды құралын қабылдауы керек. Таймер санағышының жиілігі   fBUS-қа тең деп жасау. 

Информация о работе MC9S12C128 микроконтроллерінің перифериялы модульдері