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, розглянув використання динамічної індикації.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.