Розробка програми передачі даних через послідовний порт мікроконтролера

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    28,14 kb
  • Опубликовано:
    2010-06-11
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Розробка програми передачі даних через послідовний порт мікроконтролера

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

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

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

Кафедра КСМ


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

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

з дисципліни

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

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

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

Варіант №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-ий режим роботи.

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

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. А.В. Фрунзе. Микроконтроллеры? Это же просто

Похожие работы на - Розробка програми передачі даних через послідовний порт мікроконтролера

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!