6.1.  Блок-схемы алгоритмов и их описание

 

6.2.  Структура программы

Микроконтроллер выполняет следующие функции:

-  прием аналогового сигнала ;

-  АЦП преобразование ;

-  Преобразования результата АЦП в семисегментный код ;

-  принятие решения о выходе уровня входного сигнала за пороговые уровни.

-  Вывод преобразованных значений на светодиодные индикаторы(осуществление динамической индикации с заданной частотой)

-  выдача сигнальных сообщений на светодиоды и динамик.

Программа содержит следующие участки программы:

INIT – производит перевод всех портов и регистров устройства в исходное состояние;

MAIN – основная программа;

IRQTMR1 - подпрограмма обработки прерывания от таймера1 (для динамической индикации)

IRQTMR2 - подпрограмма обработки прерывания от таймера2

(для звуковой индикации)

INDICATION – подпрограмма обновления состояния индикатора;

BINTOSEVEN – подпрограмма перевода числа из двоичного кода в семисегментный код.

SOUNDINDICATION – подпрограмма звуковой индикации

6.3.  Текст программы.

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

6.4.  Технология отладки программы

При разработке и отладке программы была использована бесплатная программа Mplab предоставляемая фирмой Microchip.

MPLAB - это интегрированная среда разработки (IDE) для семейства микроконтроллеров PICmicro фирмы Microchip Technology Incorporated. MPLAB позволяет писать, отлаживать и оптимизировать программы для Ваших разработок. MPLAB включает текстовый редактор, симулятор (виртуальный отладчик), менеджер проектов и поддерживает эмуляторы (внутрисхемные отладчики) MPLAB-ICE и PICMASTER , программаторы PICSTART Plus и PRO MATE II и другие средства и инструменты разработок фирмы Microchip и других фирм.

Инструментальные средства MPLAB, организованные как ниспадающие меню и определяемые быстрые клавиши, позволяют:

- ассемблировать, компилировать исходный текст;

- отлаживать логику работы, наблюдая с помощью симулятора или, в реальном времени, с эмулятором MPLAB-ICE ;

- просматривать переменные в окнах просмотра;

- программировать кристаллы с помощью программаторов PICSTART Plus или PRO MATE II

- и многое другое.

Так как MPLAB не корректно работает с АЦП, отладка программы выполнялась путем замены результата АЦП числами, которые не выходили за пороговые значения(заданными константами К1 и К2) и на числа которые:

а) меньше нижней границы ;

б) больше верхней границы .

6.5.  Технология отладки программы

 

6.5.1.  Компиляция (с распечаткой всех файлов, полученных во время компиляции: obj, lst, erl, sym)

В ходе компиляции был получен объектный модуль и НЕХ – файл пригодный для прошивки в память микроконтроллера.

Приведем фрагменты файлов полученных во время компиляции:

Файл KURSOV.lst:

MPASM 02.50.02 Intermediate KURSOV.ASM 4-20-2006 9:09:06 PAGE 1

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

00001 list p=16C72

00002 #include <P16C72.inc>

00001 LIST

00002 ; P16C72.INC Standard Header File, Version 1.01 Microchip Technology, Inc.

00249 LIST

00003

00000020 00004 TMP EQU 20H

00000021 00005 K1 EQU 21H

00000022 00006 K2 EQU 22H

00007

00000023 00008 SOTNI EQU 23H

00000024 00009 DESYATKI EQU 24H

00000025 00010 EDINICI EQU 25H

00011

00000028 00012 SAVEW EQU 28H

00000030 00013 SAVEW2 EQU 30H

00000029 00014 SAVESTATUS EQU 29H

00000031 00015 SAVESTATUS2 EQU 31H

00016

00000026 00017 SV EQU 26H ; STACK VERTEX

00000027 00018 SP EQU 27H ; STACK POINTER

00019

00020

00000032 00021 DINAMIK EQU  32H

00022

00000033 00023 CT EQU 33H ; FOR DELAY

00024

00025 ;STK 40h-5Eh ; STACK ADDRES FOR TEN BCD TRIADS

00026

Warning[205]: Found directive in column 1. (ORG)

0000 00027 ORG 0x00 ; processor reset vector

0000 28B5 00028 GOTO Start ; go to beginning of program

00029

00030

00031 ; -------------IRQ

Warning[205]: Found directive in column 1. (ORG)

0004 00032 ORG 0x04 ; обработка прерывания осуществляется за 9 циклов (4,5 мкс)

0004 1C0C 00033 BTFSS PIR1, TMR1IF ; анализ

0005 2818 00034 goto IRQTMR2 ; источника прерывания

00035

0006 00036 IRQTMR1 ; обработчик прерывания от таймера

00037 ;------ PUSH REGISTERS---------

0006 00A8 00038 MOVWF SAVEW

0007 0803 00039 MOVF STATUS,W

0008 00A9 00040 MOVWF SAVESTATUS

0009 0804 00041 MOVF FSR,W

000A 00A6 00042 MOVWF SV

00043 ;------------------------------

000B 1010 00044 BCF T1CON,TMR1ON ; TIMER STPR

000C 3038 00045 MOVLW B'00111000'

000D 008E  00046 MOVWF TMR1L

000E 30A7 00047 MOVLW B'10100111'

000F 008F 00048 MOVWF TMR1H

MPASM 02.50.02 Intermediate KURSOV.ASM 4-20-2006 9:09:06 PAGE 2

LOC OBJECT CODE LINE SOURCE TEXT

VALUE

0010 1410 00049 BSF T1CON,TMR1ON ; TIMER ON

0011 100C 00050 BCF PIR1, TMR1IF ; сброс флага переполнения от таймера

0012 2116 00051 CALL INDICATION

00052

00053 ;------ POP REGISTERS ---------

0013 0826 00054 MOVF SV,W

0014 0084 00055 MOVWF FSR

0015 0829 00056 MOVF SAVESTATUS,W

0016 0083 00057 MOVWF STATUS

0017 0828 00058 MOVF SAVEW,W

00059 ;------------------------------

---------------------------------

---------------------------------

Файл KURSOV.err:

Warning[205] D:\MPLAB\KURSOV.ASM 27 : Found directive in column 1. (ORG)

Warning[205] D:\MPLAB\KURSOV.ASM 32 : Found directive in column 1. (ORG)

Warning[203] D:\MPLAB\KURSOV.ASM 83 : Found opcode in column 1. (retfie)

Warning[205] D:\MPLAB\KURSOV.ASM 86 : Found directive in column 1. (ORG)

Message[302] D:\MPLAB\KURSOV.ASM 107 : Register in operand not in bank 0. Ensure that bank bits are correct.

Message[302] D:\MPLAB\KURSOV.ASM 109 : Register in operand not in bank 0. Ensure that bank bits are correct.

Message[302] D:\MPLAB\KURSOV.ASM 111 : Register in operand not in bank 0. Ensure that bank bits are correct.

Message[302] D:\MPLAB\KURSOV.ASM 167 : Register in operand not in bank 0. Ensure that bank bits are correct.

Message[302] D:\MPLAB\KURSOV.ASM 168 : Register in operand not in bank 0. Ensure that bank bits are correct.

Warning[203] D:\MPLAB\KURSOV.ASM 322 : Found opcode in column 1. (RETURN)

Warning[203] D:\MPLAB\KURSOV.ASM 399 : Found opcode in column 1. (RETURN)

Warning[203] D:\MPLAB\KURSOV.ASM 419 : Found opcode in column 1. (RETURN)

Warning[203] D:\MPLAB\KURSOV.ASM 434 : Found opcode in column 1. (RETURN)

Warning[205] D:\MPLAB\KURSOV.ASM 438 : Found directive in column 1. (END)

Файл KURSOV.hex:

:02000000B52821

:080008000C1C1828A8000308D5

:10001000A9000408A600101038308E00A7308F0009

:1000200010140C10162126088400290883002808C3

:100030008C1C2628B0000308B1001211003091007A

:0E00400012158C105C21310883003008090075

:0C01540082073F3406345B344F346634BD

:100160006D347D3407347F346F3403138316FF30CE

:10017000850000308600003087008312FF30A00029

:10018000A501A301A401B201850186018701073001

:100190008700FF30B3007830A2002D30A10040303E

:1001A0008400A700A60038308E00A7308F00900191

:1001B00010140C108B170B1783160C148C1483124D

:1001C000C1309F001F1534211F19E4287F309E0085

:1001D0001E08A000FF30B300000000000000000077

:1001E000000000000000000000000000000000000F

:1001F00000000000000000000000B30BEC2803101A

:1002000021082002031C0D29031020082202031CD0

:100210000D29121187150712DF2807168711920181

:100220008C101211FC3091001215DF282708840071

:1002300000080710860067210714840A0008871049

:10024000860067218714840A000807118600672149

:100250000715840A03105E300402031C3129403064

:1002600084000408A7000800A301A401A501A30AB3

:100270006430A00203183729A3036430A007A40A3E

:100280000A30A00203183F29A4030A30A00720085F

:10029000A500AA208000840A2408AA208000840ADD

:1002A0002308AA208000840A03105E300402031C85

:1002B0005B29403084000800031001303202031C27

:1002C0006429B20387120800B20A87160800FF30BB

:1002D000B30000000000000000000000000000006B

:0602E000B30B69290800C0

:00000001FF



Информация о работе «Устройство контроля за уровнем аналоговых сигналов»
Раздел: Коммуникации и связь
Количество знаков с пробелами: 37785
Количество таблиц: 4
Количество изображений: 8

Похожие работы

Скачать
34541
3
13

... сигнал. Выходной сигнал ЦАП фильтруется ФНЧ и поступает на выход преобразователя для цифрового магнитофона. Описание работы принципиальной схемы В приложении 2 приведена электрическая схема рассмотренного выше устройства преобразования аналоговых сигналов. Работает оно следующим образом. Через ФНЧ с частотой среза 15 кГц на ОУ DA1.1 входной сигнал поступает на один из входов сумматора – ...

Скачать
25634
6
10

... одноканального устройства контроля температуры для контроля и измерения температур силовых элементов, отвечающих за управление ДПТ, в диапазоне от 0 до 100°С. 1.4 Режимы работы устройства Одноканальное устройство контроля температуры будет работать в одном режиме. Измерение по прерываниям. В этом режиме цикл чтения информации с устройства будет осуществляться по прерыванию основной ...

Скачать
13573
1
14

... несущими и амплитудно-фазовая модуляция с одной боковой полосой (АФМ-ОБП). 3. Выбор длительности и количества элементарных сигналов, используемых для формирования выходного сигнала В реальных каналах связи для передачи сигналов по частотно ограниченному каналу используется сигнал вида , но он бесконечен во времени, поэтому его сглаживают по косинусоидальному закону. , где  - ...

Скачать
30441
28
7

... информации хотя бы на двух датчиках из трех. Каждый датчик состоит из четырех зон, последовательность включения которых определяет направление движения подвижного состава. Стенд проверки устройства контроля свободности железнодорожного перегона должен: - формировать сигнал занятия рельсовой цепи РЦ для счетных пунктов СП1 и СП2; - формировать сигнал ИВ для сброса показаний счетно-решающего ...

0 комментариев


Наверх