Цифровой осцилограф

Автор работы: Пользователь скрыл имя, 03 Ноября 2012 в 04:38, курсовая работа

Краткое описание

В работе ставится задача придумать функциональную схему устройства, разработать в графическом редакторе OrCAD Capture принципиальную схему. В ходе разработки схем подобрать подходящие микросхемы для обеспечения нужных характеристик осциллографа. Написать программу для микроконтроллера.

Прикрепленные файлы: 1 файл

kursovik.doc

— 663.00 Кб (Скачать документ)

; Задание числа c которого считает  таймер 

mov SFRPAGE, #001h

mov RCAP3H,#0FEh

 

mov RCAP3L,#094h

 

mov DPTR, #000h  

Input1_5:

mov SFRPAGE, #00Fh

mov A, Padc1        

movx @DPTR, A             

inc DPTR        

mov A, #0F0h        

mov SFRPAGE, #001h 

mov TMR3CN, #004h  

 

 

;задержка 3690 нс

 

jnb TMR3CN.7,$

nop

nop

 

mov TMR3CN,#000h   

mov TMR3H,#0FEh ;3

mov TMR3L,#094h ;3

 

cjne A, DPL, Input1_5    

 

;-----------------------------

;Частота дискретизации 50 КГц

;-----------------------------

_50KHz1:

cjne kf1, #006h, _25KHz1

 

;Задание числа c которого считает  таймер 

 

mov SFRPAGE, #001h

mov RCAP3H,#0F8h

mov RCAP3L,#054h

 

mov DPTR, #000h  

Input1_6:

mov SFRPAGE, #00Fh

mov A, Padc1        

movx @DPTR, A             

inc DPTR        

mov A, #0F0h        

mov SFRPAGE, #001h 

mov TMR3CN, #004h

 

  

;задержка 19690 нс

jnb TMR3CN.7,$    

nop

nop

 

mov TMR3CN,#000h 

mov TMR3H,#0F8h

mov TMR3L,#054h

 

cjne A, DPL, Input1_6    

;-----------------------------

;Частота дискретизации 25 КГц

;-----------------------------

_25KHz1:

cjne kf1, #007h, _5KHz1

 

mov SFRPAGE, #001h

mov RCAP3H,#0F0h

mov RCAP3L,#084h

 

mov DPTR, #000h  

Input1_7:

mov SFRPAGE, #00Fh

mov A, Padc1        

movx @DPTR, A             

inc DPTR        

mov A, #0F0h        

mov SFRPAGE, #001h 

mov TMR3CN, #004h  

 

;задержка 39 690 нс

jnb TMR3CN.7,$

nop

nop

  

        mov TMR3CN,#000h 

mov TMR3H,#0F0h

mov TMR3L,#084h

 

cjne A, DPL, Input1_7    

;-----------------------------

;Частота дискретизации 5 КГц

;-----------------------------

_5KHz1:

cjne kf1, #008h, _2_5KHz1

 

mov SFRPAGE, #001h

mov RCAP3H,#0B2h

mov RCAP3L,#004h

 

mov DPTR, #000h  

Input1_8:

mov SFRPAGE, #00Fh

mov A, Padc1        

movx @DPTR, A             

inc DPTR        

mov A, #0F0h        

mov SFRPAGE, #001h 

mov TMR3CN, #004h  

 

;задержка 199690 нс

jnb TMR3CN.7,$  

nop

nop 

 

       mov TMR3CN,#000h 

mov TMR3H,#0B2h

mov TMR3L,#004h

 

cjne A, DPL, Input1_8    

;-----------------------------

;Частота дискретизации 2.5 КГц

;-----------------------------

_2_5KHz1:

cjne kf1, #009h, _500Hz1

 

mov SFRPAGE, #001h

mov RCAP3H,#063h

mov RCAP3L,#0E4h 

 

mov DPTR, #000h  

Input1_9:

mov SFRPAGE, #00Fh

mov A, Padc1        

movx @DPTR, A             

inc DPTR        

mov A, #0F0h        

mov SFRPAGE, #001h 

mov TMR3CN, #004h

 

;задержка 399 690 нс

     jnb TMR3CN.7,$ 

nop

nop  

     

mov TMR3CN,#000h 

mov TMR3H,#063h

mov TMR3L,#0E4h

 

cjne A, DPL, Input1_9    

 

;-----------------------------

;Частота дискретизации 500 Гц

;-----------------------------

_500Hz1:

cjne kf, #010h, _250Hz1

 

; Задание числа c которого  считает таймер

 

mov SFRPAGE, #001h

mov RCAP3L,#000h

mov RCAP3H,#000h

 

mov DPTR, #000h  

Input1_10:

mov SFRPAGE, #00Fh

mov A, Padc1        

movx @DPTR, A             

inc DPTR        

mov A, #0F0h        

mov SFRPAGE, #001h 

mov TMR3CN, #004h

 

;задержка 1 999 690 нс

mov i,#3

M1_10:

 

mov TMR3CN, #004h

jnb TMR3CN.7,$  

 

        mov TMR3CN,#000h 

        mov TMR3H,#000h

mov TMR3L,#000h

 

djnz i, M1_10 

 

cjne A, DPL, Input1_10    

 

;-----------------------------

;Частота дискретизации 250 Гц

;-----------------------------

_250Hz1:

cjne kf1, #011h, ExitInputADC

 

; Задание числа c которого считает  таймер 

 

mov SFRPAGE, #001h

mov RCAP3L,#000h

mov RCAP3H,#000h

 

mov DPTR, #000h  

Input1_11:

mov SFRPAGE, #00Fh

mov A, Padc1        

movx @DPTR, A             

inc DPTR        

mov A, #0F0h        

mov SFRPAGE, #001h 

mov TMR3CN, #004h

 

;задержка 3 999 690 нс

mov i,#006d

M1_11:

 

mov TMR3CN, #004h  

jnb TMR3CN.7,$    

   

  mov TMR3CN,#000h 

mov TMR3H,#000h

mov TMR3L,#000h

 

djnz i, M1_11

 

cjne A, DPL, Input1_11

    

ExitInputADC: 

  ret

 

 

;----------------------------------------------------------------

; Подпрограмма заполняет память XRAM данными,

; которые записываются в память  дисплея

;----------------------------------------------------------------

Converting:

mov DPTR, #200h

 

 

L1: ;Смещение адреса на 240 байтов назад

mov A, DPH

clr C

subb A, #02h

mov DPH,A

 

movx A, @DPTR 

mov R1, A      ;в R1 номер  пикселя в строке

 

        ;вычисление адреса байта на дисплее

mov B, #08h

div AB

mov R3, A ; в R3 адрес байта

 

;вычисление номера пикселя в  байте

inc A

mov B, #08h

mul AB

clr C

subb A, R1

 

;установка  бита в байте

mov R7, A

inc R7

mov A, #01h

 

L0: RLC A

dec R7

cjne R7, #00h, L0

mov R7, A ; в R7 содержимое байта

 

;запись в XRAM байта с установленным  битом 

mov DPH, #02h

mov DPL, R3

mov A,R7

movx @DPTR, A

 

mov A, DPH

cjne A, #1Fh, L1 

 

;Запись метки конца массива  данных

mov DPTR, #2000h

mov A, #0A1h

movx @DPTR, A

ret

 

 

 

;----------------------------------------------------------------

; Таблицы и данные

;----------------------------------------------------------------

 

; Инициализация параметров SED1335.

;установка системы

msg1: db 30h, 87h, 07h, 27h, 39h, 0EFh, 28h, 0h, 0A1h

;прокрутка

msg2: db 0, 0, 0EFh, 0B0h, 04h, 0EFh, 0, 0, 0, 0, 0A1h

 

msg3: db 04h, 86h, 0A1h; форма курсора

 

msg4: db 01h, 0A1h; параметр наложения

 

msg5: db 16h, 0A1h; включение/выключение дисплея

 

msg6: db 0B0h, 04h, 0A1h; установка курсора  на графическую страницу

 

msg11: db' ', 01Ah

 

msg18: db 0, 01Ah; параметр прокрутки по  горизонтали

 

END

 

 

 

Заключение

После выполнения работы была разработана цифрового осциллографа, придумана программа для МК.

В ходе проделанной работы были изучены:

    • принципы построения цифровых осциллографов
    • документация на выбранные микросхемы
    • принцип работы ЖКД

Цифровой осциллограф  позволяёт наблюдать на ЖКД переменное напряжение любо частоты до 10 МГц. Также  можно исследовать два сигнала  одновременно.

Частота дискретизации и коэффициент ослабления\усиления сигнала задаются кнопками.

Для измерения постоянных напряжений можно трансформаторы заменить на операционные усилители или воспользоваться  встроенными АЦП доработав программу  для МК. Также можно добавить вывод  текста на дисплей, показывающего количество вольт на деление и количество секунд на деление.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список использованных источников

 

  1. Б.П. Хромой, Ю.Г. Моисеев. Электрорадиоизмерения. Учебник для техникумов. – M: Издательство "Радио и связь", 1985г.
  2. ADG211- Документация. Режим доступа: [http://www.analog.com/UploadedFiles/Data_Sheets/74187780adg211a2.pdf].
  3. AD8008 – Документация. Режим доступа: [http://www.analog.com/UploadedFiles/Data_Sheets/3836143348442092336AD8007_8_d.pdf].
  4. AD9288 – Документация. Режим доступа: [http://www.analog.com/UploadedFiles/Data_Sheets/54479363AD9288_c.pdf].
  5. C8051F120 – Документация. Режим доступа: [http://www2.silabs.com/public/documents/tpub_doc/dsheet/Microcontrollers/Precision_Mixed-Signal/en/C8051F12x-13x.pdf].
  6. SED1335 – Перевод документации. Режим доступа: [http://www.ineltek.ru/html.cgi/txt/lcd/chips/sed1335/index.htm].

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Доработка цифрового  осциллографа

 

Разрабатываемое устройство должно отображать на дисплее неподвижное  изображение осциллограммы. Для  этого все осциллографы имеют три основных режима синхронизации: автоколебательный, ждущий и однократный.

 По умолчанию осциллограф работает в автоколебательном режиме. При ждущем режиме сигнал отображается не непрерывно, а только с приходом сигнала. При этом происходит отображение сигнала полностью. В однократном режиме сигнал оцифровывается и отображается при нажатии кнопки «СТАРТ».

Также обычно имеется  возможность выбирать источник синхронизации  внешний или внутренний. При внутренней синхронизации сигнала при рисовании графика функции U(t), момент времени t=0 делают совпадающим с моментом начала следующего периода исследуемого аналогового сигнала на входе осциллографа, а при внешней – с моментом начала внешнего сигнала синхронизации.

В автоколебательном  режиме для получения чёткого изображения на панель прибора выводится регулятор уровня запуска (LEVEL) и переключатель выбора запускающего перепада положительного или отрицательного (SLOPE).

Переключатель SLOPE определяет на фронте или на спаде импульса будет находиться точка запуска развертки (Рисунок 1).

Рисунок 1 – Регулировка наклона и уровня

В нажатом состоянии  ручки запуск развертки осуществляется по фронту, в вытянутом – по спаду. Регулятор LEVEL определяет точку на выбранном фронте, при пересечении которой запускается развертка.

Дле регулировки уровня подключим ко входу Ain0.0 потенциометр. Напряжение на Ain0.0 может меняться от 0 до 1 В. Ain0.0 подключим при программировании к 10 – ти разрядному ADC0.

 

Рисунок 2 – потенциометр для регулировки уровня

Для настройки АЦП0 загружаются регистры AMX0CF, AMX0SL, ADC0CF, ADC0CN значениями приведёнными в таблице 1.1.

 

Таблица 1.1 – Регистры для настройки и управления АЦП0

Название регистра

Значение

Описание

AMX0CF

xxxx0000

Регистр настройки AMUX0

AMX0SL

xxxx0000

Регистр выбора канала AMUX0

ADC0CF

11111000

Регистр конфигурации АЦП0

ADC0CN

10000000

Регистр управления АЦП0

ADC0H

11111111

Регистр старшего байта  слова данных АЦП0

ADC0L

11111111

Регистр младшего байта  слова данных АЦП0


 

В результате настройки Ain0.0 - Ain0.7 – независимые одиночные входы.

Выбран канал Ain0.0 мультиплексора.

Частота дискретизации вычисляется из формулы:

 ,

где - системная тактовая частота (100 МГц);

- число, задаваемое битами 3 – 7 регистра ADC0CF.

Коэффициент усиления встроенного  усилителя равен 1.

Более подробно опишем назначения битов регистра ADC0CN:

Бит 7: AD0EN: Бит включения АЦП0.

0: АЦП0 отключен. АЦП0 находится в режиме пониженного энергопотребления.

1: АЦП0 включен. АЦП0 находится в активном режиме и готов к преобразованию данных.

Бит 6: AD0TM: Бит установки режима слежения АЦП0.

0: Нормальный режим  слежения: Когда АЦП0 включен, слежение осуществляется всегда, за исключением момента преобразования.

1: Энергосберегающий режим слежения: Режим слежения определяется битами AD0CM1-0 (см. ниже).

Бит 5: AD0INT: Флаг прерывания от АЦП0 (устанавливается при завершении преобразования).

Этот флаг должен быть сброшен программно.

0: АЦП0 не закончил преобразование данных (с момента последнего обнуления этого флага).

1: АЦП0 закончил преобразование данных.

Бит 4: AD0BUSY: Бит занятости АЦП0.

Чтение:

0: Преобразование данных  завершено или в данный момент  преобразование не осуществляется.

При аппаратном обнулении этого бита флаг AD2INT устанавливается в 1.

1: Идет процесс преобразования  данных АЦП0.

Запись:

0: Не оказывает никакого  влияния. 

1: Инициирует запуск  преобразования АЦП0, если биты AD2CM1-0 = 00b.

Биты 3-2: AD0CM1-0: Биты выбора режима запуска преобразования АЦП0.

Если AD2TM = 0:

00: Запуск преобразования  осуществляется установкой в  1 бита AD2BUSY.

01: Запуск преобразования  осуществляется при переполнении  Таймера 3.

10: Запуск преобразования осуществляется нарастающим фронтом внешнего сигнала CNVSTR2.

11: Запуск преобразования  осуществляется при переполнении  Таймера 2.

Если AD2TM = 1:

00: слежение (выборка)  начинается в момент установки  в 1 бита AD2BUSY и длится 3 периода  сигнала дискретизации АЦП0; затем  начинается преобразование данных.

01: слежение (выборка) начинается при переполнении Таймера 3 и длится 3 периода сигнала дискретизации АЦП0; затем начинается преобразование данных.

10: слежение (выборка)  происходит лишь при низком  уровне сигнала на входе CNVSTR2; преобразование запускается нарастающим фронтом сигнала на входе CNVSTR2.

11: слежение (выборка)  начинается при переполнении  Таймера 2 и длится 3 периода сигнала  дискретизации АЦП0; затем начинается преобразование данных.

Бит 1: AD2WINT: Флаг прерывания от детектора диапазона АЦП0 (сбрасывается программно)

0: Преобразованные данные  не соответствуют заданному диапазону  (с момента последнего обнуления  этого флага).

1: Преобразованные данные  соответствуют заданному диапазону 

Бит 0: AD2LJST: Бит выравнивания результата преобразования

0: Данные в регистровой  паре ADC0H:ADC0L выровнены вправо

1: Данные в регистровой паре ADC0H:ADC0L выровнены влево

 

 

 

 

 

 

 

 

 

Рисунок 3 –  Блок – схема алгоритма подпрограммы InputADC1

Информация о работе Цифровой осцилограф