Рефераты. Cистема автоматической подстройки частоты

Работа системы  осуществляется следующим образом: устанавливается адрес памяти R0, по которому будет заносится 1-е значение, опрашивается вход I мультиплексора (пульт оператора ) , адрес памяти R0 увеличивается на 1, номер входа I уменьшается на N, опрашивается вход I мультиплексора (датчик частоты), происходит обработка данных, вывод результата, номер входа I увеличивается на N+1, происходит проверка: равно ли I значению 2*N+1, т.е. все ли каналы опрошены, если это условие выполняется, то I=N и всё начинается сначала с первого канала, если не выполняется, то I остаётся неизменным и всё повторяется для следующего канала.

Ввод значений с датчиков осуществляется процедурой INPUT.

Рассмотрим подробнее алгоритм этой процедуры (рис.2 приложения 1).

Сначала необходимо подготовить управляющее слово, которое будет содержать адрес опрашиваемого входа мультиплексора и сигналы, начинающие или запрещающие работу соответствующих микросхем. Для этого в младшие разряды слова помещается номер входа мультиплексора, 4-й бит и 5-й биты устанавливаются в 1, 3-й бит обнуляется. Тем самым запрещается работа УВХ с АЦП и дешифратора. Далее это слово выводится в порт 0. После окончания переходных процессов в мультиплексоре в 3-бит записывается единица, что начинает выборку сигнала на УВХ. После выборки в 3-й и 4-й биты записывается логический ноль, заканчивается выборка и начинается аналого-цифровое преобразование. После этого данные с АЦП считываются МК и проверяется старший бит считанного слова, который является флагом окончания преобразования. Если этот бит равен 0, то данные считываются снова, и так до тех пор, пока этот бит не будет равен 1. После этого необходимо отключить АЦП (обнулить4-й бит управляющего слова), тем самым отключить его от шины данных. В конце считанные данные заносятся в оперативную память.

Вывод управляющих сигналов осуществляется процедурой OUTPUT.

Рассмотрим алгоритм этой процедуры.

Сначала формируется управляющее слово. В младшие биты заносится номер обслуживаемого канала. 3-й бит равен 0 (УВХ перед АЦП отключено), 4-й бит равен 1 (АЦП отключен), 5-й бит равен 0 (разрешена работа дешифратора). Затем выводится двоичный код управляющего сигнала в порт 1 и начинается преобразование его в двоичный вид. После преобразования выводится управляющее слово в порт 0, номер канала дешифрируется и выбирается соответствующее УВХ, которое запоминает значение управляющего сигнала и сохраняет его до следующего цикла обработки этого канала.

Обработка считанных значений частоты, текущей и заданной, вычисление отклонения и выработка управляющих сигналов производится процедурой OBRAB.

Рассмотрим алгоритм этой процедуры (рис.3 приложения 1).

Сначала вычисляется отклонение, равное разности между заданной и текущей частотой. После этого выполняется процедура ANALIZ. Затем отклонение делится на заданную частоту и умножается на 100 и получается погрешность. В случае, если погрешность больше 0, то от неё отнимается 10. Если результат больше нуля, то в соответствующий бит порта 2 заносится единица и зажигается соответствующий светодиод. Если погрешность отрицательная, то к ней прибавляется 10. И если результат меньше нуля, то также в соответствующий бит порта 2 заносится единица.

Вычисление значения управляющего сигнала осуществляется процедурой ANALIZ. В данной работе реализован простейший случай, когда управляющий сигнал пропорционален измеренному отклонению. Алгоритм этой процедуры показан на рис. 3 приложения 1.

Здесь отклонение умножается на коэффициент пропорциональности и прибавляется значение, соответствующее нулевому отклонению. В данном случае это значение равно 127. Получившийся результат заносим в регистр R5.


8.                Описание программы


Система команд МК КР1816ВЕ51 ориентирована на организацию гибкого ввода-вывода данных и первичную обработку информации. Особое внимание уделено операциям с битами и передаче управления по их значению.

В ассемблере 51 используются различные методы адресации, т.е. наборы механизмов доступа к операндам. В настоящей разработке использовались следующие методы адресации:

·  регистровая адресация;

·  косвенно-регистровая адресация;

·  непосредственная адресация.

Для адресации портов, регистров специальных функций используются зарезервированные символические имена (Р0, Р1, Р2, Р3 – порты, А или АСС - аккумулятор).

Текст программы приведён в приложении 2.

В начале программы объявляются константы, выбирается банк регистров общего назначения, номер которого определяется разрядами RS0, RS1 регистра PSW. В данном случае выбирается нулевой банк (SEL RB0).

В регистр R2 заносится число каналов N. Регистр R2 далее используется для хранения номера входа мультиплексора, с которого берётся значение. Регистр R0 используется в качестве указателя на ячейку внутренней памяти данных, хранящей операнд. В начале в R0 заносится значение 20H. По этому адресу будет хранится значение с пульта оператора. По адресу 21Н будет хранится значение текущей частоты. В регистре R5 хранится значение управляющего сигнала. Отклонение заносится в регистр R4.

Большое значение в системе команд уделено операциям с битами. В программе используются следующие команды: SETB bit, CLR bit, которые устанавливают бит соответственно в 1 или в 0. Для адресации бит используются зарезервированные символические имена вида < имя РСФ или порта > . < номер бита >.

Для передачи управления использовались такие команды как АSJMP – короткий переход, JNB – переход, если бит равен 0, JB – переход, если бит равен 1, JZ – переход, если аккумулятор равен 0.

Время выполнения команд равно одному, двум или четырём машинным циклам. Цикл равен 12 периодам внешнего синхросигнала (при внешней частоте 4МГц длительность цикла составляет 3 мкс). Это позволяет не вводить дополнительные задержки при вводе данных между выдачей адреса на мультиплексор, запуском УВХ и запуском АЦП и при выводе данных между выдачей данных  в порт 1 и выдачей адреса на дешифратор.

 Система арифметических команд включает в себя операции сложения, вычитания, инкремент, декремент, а также умножение и деление.

 Программа написана в соответствии с алгоритмами, представленными в приложении 1 и описанными в предыдущем разделе. Она включает в себя основную программу, подпрограммы INPUT, OUTPUT, OBRAB, ANALIZ. Вызов подпрограмм осуществляется командой АCALL.


9. расчет временных характеристик устройства.


 Рассчитаем время ввода данных, их обработки и выдачи управляющего сигнала для одного канала. Для этого сложим время выполнения всех команд и учтём время преобразования на АЦП.

 При внешней частоте в 4 МГц получим не более 672 мкс.

Для всех четырёх каналов получим не более 2.7 мс.

Частота опроса каналов не менее 0,37 кГц.






ЗАКЛЮЧЕНИЕ

 

В результате курсового проектирования была разработана система автоматической подстройки частоты на основе однокристальной ЭВМ КР1816ВЕ51 со следующими параметрами: потребляемая мощность: 3,1 Вт, число обсуживаемых каналов – 4, частота опроса не менее 0,37 кГц.

Разработка системы была проведена с учетом требований, указанных в техническом задании.

Система обеспечивает индикацию канала, в котором отклонение текущей частоты от заданной превышает определённое значение.

Была разработана принципиальная схема устройства, алгоритм управления и программа на языке ассемблер для микроконтроллеров серии MCS-51.

Разработанная система может применяться регулировки частоты в различных устройствах и приборах.


Список использованной литературы


1.    В.Б. Бродин, М.И. Шагурин – Микроконтроллеры. Справочник. /М.; Издательство ЭКОМ, 1999 г. – 400 с.

2.    Е.В. Вениаминов – Микросхемы и их применение. Справ. Пособие. / М.; Радио и связь, 1989г. – 240 с.

3.    В.Г. Гусев, Ю.М. Гусев – Электроника. Учебное пособие  / М.; Высшая школа, 1990 г. – 622 с.

4.    Ф.В. Шульгин – Справочник по аналоговым микросхемам / М., 1997 г.


ПРИЛОЖЕНИЕ 1.

Алгоритмы управления САПЧ.

Рис.1. Главный алгоритм работы системы.

Рис.2. Алгоритмы процедуры ввода INPUT и процедуры вывода OUTPUT.




Рис.3. Алгоритм обработки входных сигналов и подготовки результатов.



ПРИЛОЖЕНИЕ 2.


Программа работы микроконтроллера.


N EQU 4

K EQU 31

INIT:    SEL RB0  ;выбор банка регистров

L1:     MOV R2,N    ;занести номер канала

L2:     MOV R0,#20H  ;занести в РПД адрес памяти для данных

АCALL INPUT;чтение данных

MOV A,R2 ;

SUBB A,N  ;

MOV R2,A ;R2=R2-N

  INC R0              ;увеличить адрес на 1

  АCALL INPUT  ;чтение данных

  АCALL OBRAB          ;обработка данных

  АCALL OUTPUT;вывод результата

  MOV A,R2;

  INC          ;

  ADD A,N  ;

  MOV R2,A;R2=R2+1+N

  MOV A,N ;

  MOV B,#2         ;

  MUL AB ;A=2*N

  SUBB A,R2;

  JZ L1;сравнение A и R2

  АJMP L2;переход на L2

  RET


INPUT:     MOV A,R2   ;процедура чтения данных из порта

SETB ACC.5

SETB ACC.4      

OUT P0,A  ;вывод в Р0 адреса

SETB PO.3 ;запуск УВХ

CLR P0.3;

CLR P0.4 ;запуск АЦП

L3:     IN A,P1;чтение из Р1

          JNB ACC.7 L3;проверка готовности АЦП

          CLR ACC.7;ст. бит аккумулятора равен 0

          SETB PO.4                       

          MOV @R0,A;занести считанные данные в память

          RET          


OUTPUT: MOV A,R2;процедура вывода результатов

          SETB ACC.4     

   OUT P1,R5;вывод в Р1

          OUT P0,A ;вывод в Р0 адреса

          SETB P0.5

   RET        


OBRAB:   DEC RO;адрес значения пульта оператора

          MOV A,@R0;значение пульта оператора в акк.

          INC R0;адрес значения датчика

          SUBB A,@R0;отклонение между пультом оператора и датчиком

          MOV R4,A          ;отклонение в регистр 4

          АCALL ANALIZ ;процедура обработки и получения сигнала управления

          MOV A,R4          ;значения отклонения в акк.

          MOV B,#100;

          MUL AB;умножить отклонение на 100%

          DEC R0;адрес значения пульта оператора

          MOV B,@R0;значение пульта оператора в В

          DIV AB;разделить отклонение на значение пульта оператора

          JB ACC.7 NEG;переход если погрешность <0

          SUB A,#10 ;вычесть 10% из погрешности

          JNB ACC.7 INDIK1;если погрешность > 10% индикация

          АSJMP INDIK2  

NEG: ADD A,#10

   JB ACC.7 INDIK1 ;если погрешность > 10% индикация

          АJMP INDIK2

INDIK1:    SETB P2.R2

   АJMP KON

INDIK2:    CRL  P2.R2

KON:    RET       


ANALIZ:   MOV B,K;в регистр B значение коэффициента пропорциональности            

    MUL AB ;умножить отклонение на коэффициент

           ADD A,#127;прибавить макс. зн-е результата деленное на 2 =127

           MOV R5,A;занести результат в регистр 5

           RET













Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.