_WELCOMETO Radioland

Главная Схемы Документация Студентам Программы Поиск Top50  
Поиск по сайту



Навигация
Главная
Схемы
Автоэлектроника
Акустика
Аудио
Измерения
Компьютеры
Питание
Прог. устройства
Радио
Радиошпионаж
Телевидение
Телефония
Цифр. электроника
Другие
Добавить
Документация
Микросхемы
Транзисторы
Прочее
Файлы
Утилиты
Радиолюб. расчеты
Программирование
Другое
Студентам
Рефераты
Курсовые
Дипломы
Информация
Поиск по сайту
Самое популярное
Карта сайта
Обратная связь

Студентам


Студентам > Курсовые > Разработка микропроцессорного устройства цифрового фильтра

Разработка микропроцессорного устройства цифрового фильтра

Страница: 4/6

 

Вычисление

  YN =A10UM+                                                                                               UM ® W  

   +YNN

   с сохранением

   значения

 

                                                                                                                           W ® UM1

Вычисление

YL=A30(YN+

+YK)+YLL

  с сохранением

   значения

                                                                                                                          ОСТАНОВ

 

 

Передача знач-

чения YL на

порт B

 

 

 

   YN1 ® W

 

 

 

 

   W ® YN2

 

 

 

 

  YN ® W

 

 

 

  W ® YN1           

 

 

 

 

  YL ® W

 

 

 

           5

 

Рисунок 4.2 - Алгоритм программы проектируемого                                                                                                                                                                                             устройства

5 РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕР

 

          Прежде чем приступить к написанию программы необходимо учесть спецификацию ПЗУ микроконтроллера. Организация ПЗУ изображена на рисунке 5.1

                   

Рисунок 5.1 – Организация ПЗУ PIC16C71

 

Из рисунка видно, что начало программы пользователя может быть расположено ниже адреса 0004h. Адрес 0000h – вектор сброса, 0004h – вектор прерывания. По этим адресам перед началом программирования, как правило, прописывают безусловный переход на программу пользователя и безусловный переход на программу обработки прерывания соответственно. Так как в случае нашей системы устройство, осуществляющее запрос прерывания, одно, то по адресу 0004h можно прописывать начало программы обработки прерывания.

          Также при программировании обязательно нужно учесть спецификацию банков ОЗУ. Структура ОЗУ изображена       на

рисунке 5. При обращении к регистрам ОЗУ каждый раз необходимо программно переключаться между банками ОЗУ, в зависимости от того в каком банке находится регистр. Ассемблер, поставляемый производителем, позволяет вначале всем регистрам присвоить вместо адреса определенное имя. Это удобно для составления программы. 

 

                                

Рисунок 5.2 – Организация ОЗУ PIC16C711

         

Сначала напишем программу обработки прерывания. Занесем программу в таблицу - 1 с адресами ПЗУ и комментариями.

Таблица 5.1

Адрес

Метка

Мнемонический код

Комментарии

Циклы

 

 

ORG 0x004

Директива

 

0004h

 

MOVWF W_TEMP

Сохранение содержимого W в W_TEMP

1

0005h

 

MOVF STATUS, 0

Пересылка содержимого STATUS в W

1

0006h

 

MOVWF STATUS_TEMP

Сохранение W в STATUS _TEMP

1

Продолжение таблицы 5.1

0007h

 

BCF STATUS, RP0

Выбор банка 0

1

0008h

 

MOVF ADRES, 0

Пересылка результата АЦП в W

1

0009h

 

MOVWF UM

Пересылка W в UM

 

000Ah

 

MOVF STATUS_TEMP, 0

Пересылка STATUS_TEMP в W

1

000Bh

 

MOVWF STATUS

Пересылка W в STATUS

1

000Ch

 

MOVF W_TEMP, 0

Пересылка W_TEMP в W

1

000Dh

 

RETFIE

Возврат прерывания

2