Контрольная работа: Розробка мікроконтролерного пристрою на базі МК РІС 16С5х
0000 0B00 00016 GOTO start ;перехід на початок програми
0100 00017 ORG 0X100
0100 00018 start
00019 ;Ініціалізація портів
0100 0CFE 00020 movlw b'11111110' ;0-й біт на вивід
0101 0005 00021 TRІS PORTA ;запис в регистр trіsa значення аккум.
0102 0C01 00022 movlw b'00000001' ;0-й біт на ввід
0103 0006 00023 TRІS PORTB ;запис в регистр trіsb значення аккум.
0104 0066 00024 CLRF PORTB ;очищення порту в
0105 0505 00025 bsf PORTA,0 ;встановлення в 1 0-го біта порту А
00026 ;Блок очікування
0106 0706 00027 M1 BTFSS PORTB,0 ;перевірка стану RB0, якщо 1
0107 0B06 00028 GOTO M1 ;перехід до формування сигналів на виході
00029 ;Блок формування керуючої послідовності імпульсів
0108 0C06 00030 MOVLW .6 ;6-ть циклів для виводу 3-х імпульсів
0109 002E 00031 MOVWF MASK
010A 0C1F 00032 m3 MOVLW .31 ;33*3+1=99+1=100 циклів затримка
010B 002D 00033 MOVWF VDEL
010C 020E 00034 MOVF MASK,0
010D 0025 00035 MOVWF PORTA ;встановлення в 1-цю або в 0-ль 0-го разряду порта А
00036 ;Блок часової затримки
010E 02ED 00037 m2 decfsz VDEL,1 ;[1]dec(VDEL), якщо 0 - пропуск наст. команди
010F 0B0E 00038 goto m2 ;[2]перехід на мітку - ЦИКЛ ЗАТРИМКИ
0110 0000 00039 nop ;[1]затримка
00040
0111 02EE 00041 decfsz MASK,1 ;[1]dec(VDEL), якщо 0 - пропуск наст. команди
0112 0B0A 00042 goto m3 ;[2]перехід на метку
00043
0113 0B06 00044 GOTO M1 ;перехід до циклу чекання - зациклювання програми