- •Національний університет „Львівська політехніка” Кафедра атхп Курсовий проект
- •1. Індивідуальне завдання до курсового проекту з дисципліни «мікропроцесорна техніка» на тему «проектування інтелектуального давача на базі мікоконтролера 89с51»
- •Структурна схема інтелектуального давача, побудованого на базі мікроконтролера 89с51 .
- •2.1 Мікроконтролер 89с51 .
- •Опис роботи інтелектуального давача.
- •Побудова контролера клавіатури та семисегментного індикатора.
- •3.1. Ввід інформації з клавіатури.
- •3.2. Вивід інформації на семисегментний індикатор.
- •3.3. Програма для програмування програмованого логічного пристрою контролера
- •3.4. Часові діаграми pоботи програмованого логічного пристрою контролера
- •4. Робота аналого-цифрового перетворювача
- •Контролери послідовного каналу вводу-виводу.
- •Програма для роботи мікропроцесорного пристрою, побудованого на базі мікроконтролера 89с51
- •Висновки
- •Література
3.3. Програма для програмування програмованого логічного пристрою контролера
Програма для програмування програмованого логічного пристрою контролера клавіатури і дев’ятирозрядного семисегментного індикатора:
TITLE AB3
PATTERN PLDShell
REVISION 02
AUTHOR aw
COMPANY POLITEH
DATE 15.11.2010
CHIP AB3 5C090
PIN P07
PIN P06
PIN P05
PIN P04
PIN P03
PIN P02
PIN P01
PIN P00
PIN YA
PIN YB
PIN YC
PIN YD
PIN YE
PIN YF
PIN YG
PIN R0
PIN R1
PIN R2
PIN R3
PIN R4
PIN R5
PIN R6
PIN R7
PIN R8
PIN K0
PIN K1
PIN K2
PIN Q0
PIN Q1
PIN Q2
PIN Q3
PIN IK
PIN CLK
STATE MOORE_MACHINE
DEFAULT_BRANCH S0
S0=/Q3*/Q2*/Q1*/Q0
S1=/Q3*/Q2*/Q1*Q0
S2=/Q3*/Q2*Q1*/Q0
S3=/Q3*/Q2*Q1*Q0
S4=/Q3*Q2*/Q1*/Q0
S5=/Q3*Q2*/Q1*Q0
S6=/Q3*Q2*Q1*/Q0
S7=/Q3*Q2*Q1*Q0
S8=Q3*/Q2*/Q1*/Q0
S0:=GND -> S0
+VCC -> S1
S1:=GND -> S1
+VCC -> S2
S2:=GND -> S2
+VCC -> S3
S3:=GND -> S3
+VCC -> S4
S4:=GND -> S4
+VCC -> S5
S5:=GND -> S5
+VCC -> S6
S6:=GND -> S6
+VCC -> S7
S7:=GND -> S7
+VCC -> S8
S8:=GND -> S8
+VCC -> S0
S0.OUTF=/R0*R1*R2*R3*R4*R5*R6*R7*R8
S1.OUTF=R0*/R1*R2*R3*R4*R5*R6*R7*R8
S2.OUTF=R0*R1*/R2*R3*R4*R5*R6*R7*R8
S3.OUTF=R0*R1*R2*/R3*R4*R5*R6*R7*R8
S4.OUTF=R0*R1*R2*R3*/R4*R5*R6*R7*R8
S5.OUTF=R0*R1*R2*R3*R4*/R5*R6*R7*R8
S6.OUTF=R0*R1*R2*R3*R4*R5*/R6*R7*R8
S7.OUTF=R0*R1*R2*R3*R4*R5*R6*/R7*R8
S8.OUTF=R0*R1*R2*R3*R4*R5*R6*R7*/R8
EQUATIONS
Q3.CLKF=/CLK
Q2.CLKF=/CLK
Q1.CLKF=/CLK
Q0.CLKF=/CLK
P03.TRST=IK
P02.TRST=IK
P01.TRST=IK
P00.TRST=IK
T_TAB (P07 P06 P05 P04 >> YA YB YC YD YE YF YG)
0 0 0 0 : 1 1 1 1 1 1 0
0 0 0 1 : 0 1 1 0 0 0 0
0 0 1 0 : 1 1 0 1 1 0 1
0 0 1 1 : 1 1 1 1 0 0 1
0 1 0 0 : 0 1 1 0 0 1 1
0 1 0 1 : 1 0 1 1 0 1 1
0 1 1 0 : 1 0 1 1 1 1 1
0 1 1 1 : 1 1 1 0 0 0 0
1 0 0 0 : 1 1 1 1 1 1 1
1 0 0 1 : 1 1 1 1 0 1 1
1 0 1 0 : 0 0 0 0 0 0 1
1 0 1 1 : 1 0 0 1 1 1 1
1 1 0 0 : 0 0 0 0 1 0 1
1 1 0 1 : 0 0 1 1 1 0 1
1 1 1 0 : 0 0 0 1 1 1 1
1 1 1 1 : 1 1 0 0 1 1 1
T_TAB(R0 R1 R2 R3 R4 K0 K1 K2>> P00 P01 P02 P03)
0 1 1 1 1 0 1 1: 0 0 0 0
0 1 1 1 1 1 0 1: 0 0 0 1
0 1 1 1 1 1 1 0: 0 0 1 0
1 0 1 1 1 0 1 1: 0 0 1 1
1 0 1 1 1 1 0 1: 0 1 0 0
1 0 1 1 1 1 1 0: 0 1 1 1
1 1 0 1 1 0 1 1: 0 1 0 0
1 1 0 1 1 1 0 1: 0 1 1 1
1 1 0 1 1 1 1 0: 1 0 1 0
1 1 1 0 1 0 1 1: 1 0 0 1
1 1 1 0 1 1 0 1: 1 0 0 0
1 1 1 0 1 1 1 0: 1 0 1 1
1 1 1 1 0 0 1 1: 1 1 1 0
1 1 1 1 0 1 0 1: 1 1 0 1
1 1 1 1 0 0 1 0: 1 1 0 0
x x x x x 1 1 1: 1 1 1 1
SIMULATION
VECTOR OUTK:=[P03 P02 P01 P00]
VECTOR INPI:=[P07 P06 P05 P04]
VECTOR S:=[Q3 Q2 Q1 Q0]
SETF /IK
FOR I:= 0 TO 15 DO
BEGIN
SETF INPI:=I
END
SETF IK CLK
PRLDF Q3 Q2 Q1 Q0
FOR I:= 0 TO 10 DO
BEGIN
SETF K0 K1 K2
IF I=0 THEN
BEGIN
SETF /K0
END
IF I=1 THEN
BEGIN
SETF /K1
END
IF I=2 THEN
BEGIN
SETF /K2
END
IF I=3 THEN
BEGIN
SETF /K0
END
IF I=4 THEN
BEGIN
SETF /K1
END
CLOCKF CLK
END
На рис 3.3 показано призначення ніжок контролера клавіатури та індикатора.
5C090
- - - - -
Gnd -| 1 40|- Vcc
CLK -| 2 39|- Gnd
IK -| 3 38|- Gnd
K2 -| 4 37|- Gnd
Q1 -| 5 36|- YC
Q0 -| 6 35|- YD
Q3 -| 7 34|- YE
Q2 -| 8 33|- YF
R1 -| 9 32|- YG
R4 -|10 31|- P03
R0 -|11 30|- R5
R3 -|12 29|- R6
R2 -|13 28|- R7
YB -|14 27|- R8
YA -|15 26|- P02
P00 -|16 25|- P01
K1 -|17 24|- P06
K0 -|18 23|- P05
P07 -|19 22|- P04
GND -|20 21|- Gnd
- - - - -