Информатика, программирование: Розробка програми передачі даних через послідовний порт мікроконтролера, Курсовая работа

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЛЬВІВСЬКИЙ ДЕРЖАВНИЙ ІНСТИТУТ НОВІТНІХ ТЕХНОЛОГІЙ ТА УПРАВЛІННЯ ІМ. В.ЧОРНОВОЛА

Факультет інформаційних технологій

Кафедра КСМ

ПОЯСНЮВАЛЬНА ЗАПИСКА

ДО КУРСОВОГО ПРОЕКТУ

з дисципліни

«МІКРОПРОЦЕСОРНІ СИСТЕМИ»

«Розробка програми передачі даних через

послідовний порт мікро контролера»

Варіант №30

Розробив студент групи КІ-31

Височанський Ярослав Михайлович

«____»____________________2006 р.

Керівник___________/ Колосов В.Р. /

«____»____________________2006 р.

Оцінка__________________________

Львів-2006


Розрахунок часових затримок для формування імпульсів у програмі

Для формування нуля:

Отже число, яке потрібно загрузити в перший таймер дорівнює 200.

Для формування одиниці:

Отже число, яке потрібно загрузити в перший таймер, після формування нуля дорівнює 158.

Розрахунок швидкості передачі даних через послідовний порт

Тут ми розраховуєм число, яке потрібно зарядити в таймер/лічильник для генерації потрібної швидкості послідовного порту, в залежності від режиму його роботи та заданої швидкості передачі даних.

Швидкість передачі даних = 1750 біт/с; Режим роботи порту – 3; fclk=22,5МГц

Формула, за допомогою якої визначаємо потрібні дані:

Підставляємо у формулу дані, задані за умовою. Рахуємо, що SMOD=1.

Примітка: при SMOD=1 швидкість передачі вдвоє більша ніж при SMOD=1

Дані для програмування регістрів спеціальних функцій

1. В регістр управління/статусу SCON встановлюємо одиниці у бітах SM0, SM1 для визначення режиму роботи послідовного порту.

2. В регістр масок переривання IE встановлюємо одиниці в бітах EA, ES для дозволу використання програмою переривань.

3. Накладаємо маску на регістр управління потужністю PCON – 10000000 для встановлення біта SMOD в одиницю.

4. В регістр режиму таймера/лічильника TMOD ми записуємо двійкове число 00100010, для встановлення таймерів у 2-ий режим роботи.

5. В TН0 таймера TMR0 записуємо число 189, для формування заданої швидкості передачі даних.

6. Встановлюємо біт RI в нуль, для використання переривання при прийомі байта даних.

7. В TL1 таймера TMR1 записуємо число 200, для формування нуля із заданою тривалістю на лінії порту.

8. В TL1 таймера TMR1 записуємо число 158, для формування одиниці із заданою тривалістю на лінії порту.


Алгоритм


        



4.2 Алгоритм підпрограми обробки переривань від послідовного порту



Лістинг програми

org    0

jmp   Osn                               ;Перехід на основну програму

org    0023h

mov  @R0,SBUF                            ;Зчитування з SBUF в адрес, що знаходиться в R0

inc     R0                                 ;Інкрементуєм лічильник початкової адреси масиву

dec    R5                                 ;Декрементуєм лічильник байт

clr     RI                                  ;Скидаємо прапор переривання приймача

reti                                          ;Вихід з підпрограми обробки переривань

Osn:  setb   SM0                     ;Визначаєм режим роботи послідовного порту

setb   SM1

clr     SM2                    

setb   REN                              ;Встановлюємо біт дозволу прийому даних

setb   EA                                ;Знімаєм блокування переривань

setb   ES                                 ;Встановлюєм дозвіл на переривання від посл. порту

orl     PCON,#10000000b      ;Встановлюємо біт SMOD в одиницю

mov  TMOD,#00100010b     ;Визначаємо режим роботи таймерів

mov  TH0,#189                     ;Загружаєм TMR0

mov  R0,#4eh                        ;Загружаєм лічильник початкової адреси масиву

mov  R5,#27                          ;Загружаєм лічильник байт

setb   TR0                               ;Запускаєм TMR0

Zagr: mov  TH1,#200            ;Загружаєм TMR1

clr     P0.7                              ;Встановлюємо на лінії порту P0.7 нуль

setb   TR1                               ;Запускаєм TMR1

Nul:   jnb    TF1,Nul              ;Перевірка на переповнення TMR1

clr     TR1                    

mov  TH1,#158           

setb   P0.7                              ;Встановлюємо на лінії порту P0.7 одиницю

setb   TR1                    

Odyn:         jnb    TF1,Odyn

clr     TR1

jmp   Zagr                              ;Переходимо на мітку Zagr


Список використаної літератури

1.  В.В. Сташин, А.В. Урусов, О.Ф. Мологонцева. Проектирование цифровых устройств на однокристальніх микроконтроллерах.

2. А.В. Фрунзе. Микроконтроллеры? Это же просто


Еще из раздела Информатика, программирование:


 Это интересно
 Реклама
 Поиск рефератов
 
 Афоризм
Если женщина на тебя не смотрит, это еще не значит, что она тебя не видит.
 Гороскоп
Гороскопы
 Счётчики
bigmir)net TOP 100