3. СИ ТІЛІНДЕ БАҒДАРЛАМАЛАУ
Жұмыс №1. СИ тілінде AVR микроконтроллерін
бағдарламалау
Жұмыстың мақсаты
ICCavr
бағдарламалық қамтамасыздандыруымен лабораторлық стендтің
мүмкіндік-терімен танысу.
Си тілінде енгізу/шығару цифрлік бағдарламасын құру.
Жұмысқа түсініктеме
Зертханалықстендтің сипаттамасы
Стендтің құрамына кіреді:
-
«Микроконтроллер» блогы, ATmega8535 үлгісіндегі AVR микроконтроллерін
қамтитын және бағдарламаның жұмысқа қабілеттілігін тексеру үшін
(тумблерлар, түймелер, светодиодтар және т .б.) перифериялық құрылғылар;
-
"ImageCraft С" (ICCavr) бағдарламалық қамтамасыздандыру, жоғары
деңгейдегі Си тіліндегі бағдарламаны енгізу үшін тағайындалған;
-
«AVR Studio»
бағдарламалық қамтамасыздандыру, симуляторде бағдарламасы
үшін тағайындалған.
-
«Микроконтроллер» блогы (МК) қамтиды (сурет 1):
-
ATmega8535-8PI
үлгісіндегі AVRмикроконтроллер, 3.1.1 кестесінде
техникалық сипаттамалар келтірілген (контроллер модуль ішінде тұрады);
-
SA6...SA9
тумблерлары және SB1, SB2 түймелері сигналдарды береді
(SA6...SA9
тумблерлары РА4...РА7 МК проттарымен біріктірілген, SB1
түймесі РВ4 МК портымен біріктірілген, SA5 тумблеры және SB1 түймесі
сәйкесінше клеммаларымен);
-
RP1
тапсырманың аналогты сигналдың потенциометрі (РАО (ADC0) МК
портымен біріктірілген);
-
-VD1...VD8
светодиодтар шығыс сигналдарының күйлерінің индикациясы
үшін сәйкесінше клеммаларымен (PD0...PD7 порттарымен біріктірілген, +5В-
светодиод қосылады, ОВ - өшіріледі; қарсылық, берілетін светодиод тогы
модуль ішінде орнатылған);
-
Жетісегментті индикаторлар HG1және HG2 индикатор клеммаларымен (А...Н
сегменттері РС0...РС7 МК порттарымен біріктірілген, HG3, HG4
индикаторлары РВ0...РВ1 МК порттарымен біріктірілген);
Сурет 1. «Микроконтроллер» блогының сыртқы түрі
17
-
U
ДТ
, U
ДН
, Оде клеммалары деңгейдің түрлендіруі (соединены с портами
РА1...РА3 МК порттарымен біріктірілген)
Модульді бағдарламалау және дербес компьютермен байланысы SPI
портымен жалғасқан бойынша орындалады.
Кесте 1.
Atmega 8535
микроконтролерінің техникалық сипаттамасы
Атауы
Мәні
Архитектура
RISC
Командалар саны
130
Бағдарлама жады (FLASH), кБайт
8
Оперативті жад (RAM), Байт
512
EEPROM
жад, Байт
512
Цифрлік енгізу/шығару саны
32
Үзілу саны
ішкі
сыртқы
17
3
Таймерлер саны
8-
разрядты
16-
разрядты
2
1
ШИМ саны
4
Аналогты-цифрлік түрлендіргіш
8
арна 10 разряд
Атауы
Мәні
Жалғасқан интерфейстар
SPI
TWI
UART
Қосымша мүмкіндіктер
ішкі генератор аналогты компаратор
аппаратты көбейткішшынайы уақыт
сағаты сторожевой таймер 6 режимов
SLEEP
6 режимді таймер
Максимальды жұмыс жиілігі, МГц
16/8 (L)
Кернеу диапазоны, В
4,5...5,5/2,7...5,5 (L)
Си тілінде бағдарламаны жетілдіруі келесі кезеңдерді қосады:
-
бағдарламаны кірістіру және оның компиляциясы;
-
симуляторда жұмысқа қабілеттілігін тексеру;
-
микроконтроллерге бағдарламаны жазу;
-
бағдарламаның жіберілуі және тестілеуі.
18
Бағдарламаны кірістіру және оның компиляциясы.
"ImageCraft С" бағдарламасы (ICCavr келесіде) арнайы Си тілінде AVR
микроконтроллерінің жұмысы үшін жетілдірілген. Ол Си тілінің базалық білімін
және арнайы функцияларды және макростарды үйреніп микроконтроллерімен
жұмыс істеуге рұқсат етеді. Бағдарламалау кезеңінің нәтижелері кеңейтілген "с"
бағдарламаның қолданбалы листингы болып табылады. Результатом этапа
программирования является листинг прикладной программы с расширением (және
жобаның файлы "*.prj"), сондағы компиляциядан кейінгі "*.hex" файлы түрленеді,
микроконтроллер процессорының команданың кодын қамтитын.
ICCavr
бағдарламасын жүктеу
Бағдарлама тізімінде бағдарламаны және оны жүктеуді табу (Пуск →
Программы → ImageCraft Development TooIs → ICC AVR).
Сурет 2. ICCavr бағдарламасының терезесі
Бұдан кейін бағдарлама терезесі ашылады (сурет 2), 3 облысын қамтиды:
1.
меню түймесі;
2.
қолданбалы бағдарламаның кірісінің обласы;
3.
компиляция облысы;
4.
жоба файлдарының облысы.
Қолданбалы бағдарламаның жобасын құру
Жаңа жобаның құратын терезені ашу: Project менюінде New жолын таңдау
(
келесіде бұл операциялар Project → New жазылатын болады). "Папка" жолында
пайда болған терезеде папканы жазу, қайда жоба сақталатын болады. "Имя
файла"жолында -жобаның аты, мысалы, "tmp" және "Сохранить" түймесін басу
керек. Жоба файлдарының обласында жобаның аты пайда болады.
Қолданбалы бағдарламасының шаблонын құру
Бағдарламаны енгізуде менюдегі
мастер - значоктың көмегімен дұрысы
бастау, сондағы бағдарламаның керек элементтерін енгізуді жеңілдетеді. Экранда
мастер терезесі пайда болады (сурет 3).
19
Сурет 3. ICCavr мастерінің терезесі
Бұл терезеде қарапайым бағдарламаны енгізу үшін контроллер үлгісін
жазу жеткілікті («Target CPU» пунктында М8535 таңдау) және кварцты
резонатордың жиілігі («Xtal») – 8 МГц. Жалпы жағдайда бұл менюде порт
жұмысының параметрлерін, таймерлерін, АСТ, UART және SPI жалғасқан
таратудың құрылғысын, ішкі үзілулерін таңдау, сәйкесінше қосымша бетін
таңдай отырып. «Options» түймесі листинг бағдарламасына «main» басты
функциясының жолын жазуға рұқсат етеді, «Preview» түймесі – бағдарламаның
шаблонын қарап шығу. Параметрлерді енгізгеннен кейін мастер терезесін «Ок»
түймесін басып жабамыз.
Бағдарламаны енгізу обласында қолданбалы бағдарламаның басты
листингімен "Untitled - 0" қосымша беті пайда болады.
Сурет 4. Бағдарлама шаблонының терезесі
Бағдарламаны дискте сақтау қажет: File → Save және файлдың атын жазу,
обязательно указав расширение міндетті түрде "*.с"кеңейтілуін нұсқау,
мысалы, "test.с". Бұдан кейін бағдарламаның терезесінде элементтердің түстері
өзгереді:
20
а) коментария символының түсі жасыл болады;
б) қосылатын файл символының түсі - көк;
в) кілттік сөздер жартылай майлы шрифтпен бөліп шығарылады және т.б.
Өзінің функцияларымен қосымша бағдарламалар
Берілген кезеңде бағдарламаға өзінің функцияларын жазу қажет, сондағы,
мысалы, порттардан сигналдарды енгізеді және шығарады, үзілудің өнделуін
анықтайды, математикалық операцияларды орындайдыжәне т.б. Жекеше түрде
бағдарлама main() басты функциясының микроконтроллерінде оның
орындалуында шексіз цикл қамтиды, мысалы, мынадай түрде:
-
void main (void)
-
{
-
While (1)
-
)
-
Жобаға файлдың қосылуы
Бұл үшін Project → Add Files менюдің пунктысын таңдапжәне
бағдарламаның файлға көрсетеді, біздің мысалда, бұл "test.c" файлы болады.
Бұдан кейін оң жақтағы экранында жобаның файл терезесінде "Files" жолында
қолданбалы бағдарламаның файл аты пайда болады.
Компилятордың параметрлері
Бұл үшін Для этого выбрать пункт меню Project → Options меню пунктысын
таңдау және контроллердің қажетті параметрлерін жазу. Параметрлер терезесі
пайда болады (сурет 5).
Сурет 5. Компилятордың параметрлері
Параметрлерді таңдау үшін минималды нұсқада контроллер үлгісін тек
жазу қажет: "Target" қосымша бетінде "Device Configuration" жолында
"ATmega8535"
контроллерін таңдау.
|