Способи формування сигналів керування та індикації. Формування звукових та світлових сигналів на прикладі мікроконтролеру PIC16F84A, страница 2

0013                  00031 delay_2                 ; задержка 1,25 мс

0013   1683           00032  bsf    STATUS, RP0     ; выбор банка 1

0014   3002           00033  movlw  b'00000010'     ; коэффициент

Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.

0015   0081           00034  movwf  OPTION_REG      ;   предделителя 1:8

0016   1283           00035  bcf    STATUS, RP0     ; выбор банка 0

0017   3066           00036  movlw  66h             ; инициализация

0018   0081           00037  movwf  TMR0            ;   таймера

0019                  00038 repeat_2                ; ожидание

0019   1D0B           00039  btfss  INTCON, T0IF    ;   переполнения

001A   2819           00040  goto   repeat_2        ;     таймера

001B   110B           00041  bcf    INTCON, T0IF    ; сброс флага переполнения

001C   0008           00042  return                 ; выход из подпрограммы

                      00043

001D                  00044 main                    ; начало рабочей части программы

MPASM 02.50.02 Intermediate      LAB6.ASM   3-30-2004  21:09:54         PAGE  2

LOC  OBJECT CODE     LINE SOURCE TEXT

  VALUE

001D   1905           00045  btfsc  PORTA, 2        ; анализ сигнала

001E   2824           00046  goto   sound           ;   на контакте RA2

                      00047

001F                  00048 video                   ; формирование видео сигнала

001F   1486           00049  bsf    PORTB, 1        ; установка '1'

0020   2005           00050  call   delay_1         ;   на контакте RB1

0021   1086           00051  bcf    PORTB, 1        ; установка '0'

0022   2005           00052  call   delay_1         ;   на контакте RB1

0023   281D           00053  goto   main            ; переход на начало рабочей части программы

0024                  00054 sound                   ; формирование звукового сигнала

0024   1485           00055  bsf    PORTA, 1        ; установка '1'

0025   2013           00056  call   delay_2         ;   на контакте RA1

0026   1085           00057  bcf    PORTA, 1        ; установка '0'

0027   2013           00058  call   delay_2         ;   на контакте RA1

0028   281D           00059  goto   main            ; переход на начало рабочей части программы

                      00060  end                    ; конец программы

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

MPASM 02.50.02 Intermediate    LAB6PS.ASM   3-30-2004  21:11:09         PAGE  1

LOC  OBJECT CODE     LINE SOURCE TEXT

  VALUE

Warning[215]: Processor superceded by command line.  Verify processor symbol.

                      00001  list p=16f84a          ; тип используемого ОМК

                      00002  #include <p16f84a.inc> ; подключение описаний регистров ОМК

                      00001         LIST

                      00002 ; P16F84A.INC  Standard Header File, Version 2.00    Microchip Technology, Inc.

Message[301]: MESSAGE: (Processor-header file mismatch.  Verify selected processor.)

                      00134         LIST

                      00003

0000                  00004  org    00h

0000   1683           00005  bsf    STATUS, RP0

Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.

0001   1005           00006  bcf    TRISA, 0

Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.

0002   0186           00007  clrf   TRISB

0003   3005           00008  movlw  b'00000101'     ; коэффициент

Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.

0004   0081           00009  movwf  OPTION_REG      ;   предделителя 1:64

0005   1283           00010  bcf    STATUS, RP0

                      00011

0006                  00012 main

0006   30F3           00013  movlw  b'11110011'     ; P.

0007   1805           00014  btfsc  PORTA, 0

0008   30ED           00015  movlw  b'11101101'     ; S.

0009   0086           00016  movwf  PORTB

                      00017

000A   303D           00018  movlw  3Dh             ; инициализация

000B   0081           00019  movwf  TMR0            ;   таймера на задержку 12,5 мс

000C   110B           00020  bcf    INTCON, T0IF

000D                  00021 repeat                  ; ожидание

000D   1D0B           00022  btfss  INTCON, T0IF    ;   переполнения

000E   280D           00023  goto   repeat          ;     таймера

                      00024

000F   3001           00025  movlw  b'00000001'

0010   0685           00026  xorwf  PORTA, F

0011   0000           00027  nop

0012   0000           00028  nop

0013   0000           00029  nop

0014   0000           00030  nop

0015   0000           00031  nop

0016   0000           00032  nop

0017   0000           00033  nop

0018   2806           00034  goto   main

                      00035  end

Висновок:

 Під час виконання лабороторноі роботи я набув навички складання функціональної схеми. Вивчив способи формування сигналів керування та індикації, навчився формувати звукові та світлові сигнали на прикладі мікроконтролеру PIC16F84A, розглянув використання динамічної індикації.