Текст подпрограммы перебора тестовых слов PTS
PTS: mov par_c, #8 ; Установить параметр цикла m1: mov R5, P1 ; Ввод фактической реакции mov a, etalon ; etalon → a xrl R5, a ; R5 a → R5 jnz ERROR ; Ф.Р. ≠ ЭТ, если да – выход на проверки с засветкой красного светодиода inc P0 ; Формирование нового ТС
JNB P0.5, m2 ; Если запрет по одному JNB P0.4, m2 ; из управляющих входов JNB P0.3, m2 ; то не изменять эталон rl a ; Е1 = 100 mov etalon, a ; изменить эталон m2: DJNZ par_c, m1 ; Е1 ≠ 100, не изменять эталон RET
Таким образом, программа, управляющая процессом проверки, реализуется структурой вида цикл с параметром, где значение параметра определяется количеством элементарных проверок. Тело цикла включает: - прием ФР на очередное ТС; - сравнение ФР с эталоном с последующим ветвлением, а именно, если ФР равно эталону, переход к следующему действию в теле цикла, в противном случае выход из процесса проверки; - формирование следующего ТС; - формирование (по необходимости) эталона для следующего ТС.
Рассмотрим реализацию последнего раздела 8 в случае использования других МК.
МК PIC16C73фирмыMICROCHIP [6]. Пусть через порт PORTD на входы ИМС поступают ТС, через порт PORTB МК принимает слова ФР, PORTC связан с светодиодами. Init ; Настройка портов Bsf STATUS,RPO ; Movlw ‘11000000’b Movwf TRISD Movlw ‘11111100’b Movwf TRISC Movlw 0ffh Movwf TRISB Bcf STATUS,RPO
START clrf test_sl ; Начальное ТС для Е1 = 0 movlw 0FFh ; Значение ЭТ для запрещенной movwf etal ; работы DC CALL PTS movlw 10h ; Начальное ТС для = 1 movwf test_sl CALL PTS movlw 8h ; Начальное ТС для = 1 movwf test_sl CALL PTS movlw 20h ; Начальное ТС для Е1 = 100 movwf test_sl movlw 0FEh movwf etal CALL PTS NO_ERR bsf PORTC, 0 sleep ERROR bsf PORTC, 1 sleep
PTS movlw 8h movwf par_c bsf STATUS, C m1 movf etal, w xorwf PORTB, w ; PORTB – входной порт btfss STATUS, Я goto ERROR incf PORTD ; PORTD – выходной порт btfss PORTD, 5 goto m2 btfsc PORTD, 4 goto m2 btfsc PORTD, 3 goto m2 rrf etal, а m2 decfsz par_c goto m1 return МК AT90S4414[3,7] Порт РА и порт С настраиваются на вывод информации, порт РВ - на ввод. Разряды РА.2- 0 подключаются к адресным входам дешифратора, разряды РА.5 - 3 подключаются к его управляющим входам .Выходы дешифратора подключаются к порту РВ. Разряды РС.1 - 0 подключаются к светодиодам. Org 0h ; Настройка портов LDI R1, #00000000b OUT DDRB, R1 ; Настройка порта В на ввод LDI R1, #11111111b OUT DDRA, R1 ; Настройка порта А на вывод OUT DDRC, R1 ; Настройка порта C на вывод
; Основная программа Start: LDI R22, #00000000b; нач. ТС при запрете по Е1 LDI R23, #0FFh: эталон при запрете RCALL PTS; LDI R22, #10H нач. ТС при запрете по Е2 RCALL PTS LDI R22, #08H; нач. ТС при запрете по Е3 RCALL PTS LDI R22, #20H; нач. ТС при разрешении LDI R23, #0FEh; нач. эталон при разрешении RCALL PTS No_err: LDI R1, #1h; GREEN OUT PORTC,R1 SLEEP Err: LDI R1, #2h; RED OUT PORTC,R1 SLEEP ; Подпрограмма перебора ТС PTS: LDI R2,#8h M1: OUT PORTA,R22;вывод очередного ТС IN R24,PORTB CP R24,R23 BRNE Err INC R22; очередное ТС SBRS R22,5; пропустить, если Е1=1 RJMP M2 SBRC R22,4; пропустить, если Е2=0 RJMP M2 SBRC R22,3; пропустить, если Е3=0 RJMP M2 SEC C ROL R23; эталон для следующего ТС M2: DEC R2 BREQ M1 RET
МК MC68HC11E9 фирмы MOTOROLA [5].
Порты РВ и РС используются в режиме вывода, порт РЕ - в режиме ввода. Разряды РВ.2- 0 подключаются к адресным входам дешифратора, разряды РВ.5 - 3 подключаются к его управляющим входам . Выходы дешифратора подключаются к порту РЕ. Разряды РС.1 - 0 подключаются к светодиодам.
T_Sl: equ $40 Par_c: equ $41 Etalon: equ $42
Org 0 ; Настройка портов LDAA #11111111b STAA DDRB BSET DDRC, #3 ; Порт E настраивать не надо, т.к. он является входным LDAA #8 ; параметр цикла ; Основная программа Start: LDAA #$0 STAA T_Sl; начальное ТС при запрете по Е1 LDAB #$0FF; эталон при запрете работы DC в регистр В JSR PTS LDAA #$10 STAA T_Sl; начальное ТС при запрете по Е2 JSR PTS LDAA #$08 STAA T_Sl; начальное ТС при запрете по Е3 JSR PTS LDAA #$20 STAA T_Sl; начальное ТС при разрешении работы DC LDAB #$0FE ; начальный эталон при разрешении работы DC JSR PTS No_err: BSET PORTC,#$1; GREEN STOP Err: BSET PORTC,#$2; RED STOP ; Подпрограмма перебора ТС PTS: LDAA #$8 STAA Par_c M1: LDAA T_Sl STAA PORTB ; Вывод очередного ТС на входы ИМС CMPB PORTE BNE Err INC T_Sl ; формирование следующего ТС BRCLR T_Sl,#$20,M2 BRSET T_Sl,#$10,M2 BRSET T_Sl,#$8,m2 ; проверка на запрет SEC ROLB M2: DEC Par_c BNE M1 RTS
рекомендуемая литература.
1. Нерода В.Я.,Торбинский В.Э.,Шлыков Е.Л. Однокристальные микро-ЭВМ MCS-51.-М.:Диджитал Компонентс,1995. 2. Цифровые интегральные микросхемы: Справочник/ П. П. Мальцев и др.-М.: Радио и связь, 1994.-240 с. 3. Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики – М: Издательство ЭКОМ, 2002 4. Бродин В.Б., Шагурин И.И. Микроконтроллеры:справочник- М:ЭКОМ, 1999. 5. Шагурин И.И. Микропроцессоры и микроконтроллеры фирмы MOTOROLA- М: Радио и связь, 1998. 6. Ульрих В.А. Микроконтроллеры PIC16C7X: справочник - СПб: Наука и техника, 2000. 7. Евстифеев А. В. Микроконтроллеры AVR семейства Classicфирмы ATMEL - М.: “Додэка-ХХI”, 2002
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (310)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |