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

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

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

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

Кафедра КСМ

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

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

з дисципліни

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

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

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

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

еще рефераты
Еще работы по информатике, программированию