
- •1. Основные положения
- •Цель курсового проектирования.
- •1. 2. Задание на курсовую работу.
- •3. Содержание курсовой работы
- •Пример выполнения курсовой работы.
- •1. Постановка задачи.
- •2. Описание ресурсов мк.
- •3. Описание проверяемой имс.
- •5. Таблица соединений.
- •6. Метод решения задачи.
- •6.1. Общая схема проверки.
- •6.2 Особенности организации проверки для конкретной имс.
- •Разработка схемы алгоритма проверки имс.
- •7.2. Схема алгоритма проверки имс.
- •8. Разработка программы. Проверки имс.
- •8.1. Текст основной программы проверки имс
- •Текст подпрограммы перебора тестовых слов pts.
6.2 Особенности организации проверки для конкретной имс.
Анализ схемы дешифратора показывает, что полная проверка ДШ должна быть выполнена как по информационным, так и по управляющим входам.
Проверка по информационным входам осуществляется путем перебора сигналов на этих входах. Алгоритм перебора имеет структуру -цикл с параметром, в котором значение параметра цикла равно 8.
Для полной проверки ИМС по управляющим входам необходимо выполнить перебор 4 раза: три раза для проверки ДШ в запрещенном состоянии (Е1 = 0, = = 1) и один раз для проверки ДШ в разрешенном состоянии (Е1 = 100). В каждом из трех первых случаев надо убедиться в наличии неактивных сигналов на всех выходах ДШ при любом наборе сигналов на входах ИМС; в последнем случае необходимо зафиксировать наличие «бегущего 0» на выходах ДШ (в соответствии с таблицей истинности, см. табл. 3).
Разработка схемы алгоритма проверки имс.
Алгоритм проверки ИМС осуществляет задание начальных условий для очередного перебора (начальное ТС, начальный эталон) и переход к перебору тестовых слов, который реализуется в виде вспомогательного алгоритма PTS.
Схема алгоритма перебора PTS
7.2. Схема алгоритма проверки имс.
8. Разработка программы. Проверки имс.
8.1. Текст основной программы проверки имс
; Определение регистров
test_slovo : equ 30h
fakt_reakc : equ 31h
etalon : equ 32h
par_c : equ 33h
; Определение портов
; Порт Р0 используется для вывода ТС из МК на входы ИМС
; Порт Р1 используется для ввода в МК слов
; фактической реакции с выходов ИМС
; Порт Р2 – вывод сигналов засветки на светодиоды
START: MOV P1, #0FFh ; Настроить порт Р1 на ввод
MOV test_slovo, #00h ; Начальное ТС для I запрещ. комб. по управ. вх. (Е1 = 0)
MOV etalon, #0FFh ; Начальное значение эталона
ACALL PTS
MOV test_slovo, #10h ; Начальное ТС для II запрещ. комб. ( = 0)
ACALL PTS
MOV test_slovo, #8h ; Начальное ТС для III запрещ. комб. ( = 0)
ACALL PTS
MOV test_slovo, #20h ; Нач. ТС для разреш. комбинации
MOV etalon, #0FFh ; Начальное значение эталона
ACALL PTS
NO_ERR: MOV P2, #2h
SETB PCON.1 ; Переход в режим сниженного энергопотребления
ERROR: MOV P2, #1h
SETB PCON.1
Формат ФР (ЭТ)
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|
|
|
|
|
Текст подпрограммы перебора тестовых слов 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
Пусть через порт 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
Порт РА и порт С настраиваются на вывод информации, порт РВ - на ввод.
Разряды РА.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
Порты РВ и РС используются в режиме вывода, порт РЕ - в режиме ввода.
Разряды РВ.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
рекомендуемая литература.
Сташин В.В. Проектирование цифровых устройств на однокристальных микроконтроллерах - М.: 1991.
Нерода В.Я.,Торбинский В.Э.,Шлыков Е.Л. Однокристальные микро-ЭВМ MCS-51.-М.:Диджитал Компонентс,1995.
Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики – М: Издательство ЭКОМ, 2002
Бродин В.Б., Шагурин И.И. Микроконтроллеры:справочник- М:ЭКОМ, 1999.
Шагурин И.И. Микропроцессоры и микроконтроллеры фирмы MOTOROLA - М: Радио и связь, 1998.
Ульрих В.А. Микроконтроллеры PIC16C7X: справочник - СПб: Наука и техника, 2000.
Евстифеев А. В. Микроконтроллеры AVR семейства Classic фирмы ATMEL
- М.: “Додэка-ХХI”, 2002