Академический Документы
Профессиональный Документы
Культура Документы
Ельцина»
Институт новых материалов и технологий
Кафедра электронного машиностроения
Подпись Дата
Преподаватель_____________________________________________Лысенко В.В.
Студент____________________________________________________Куно Луза Э.
Группа___________________________________________________НМТМ-290702
Екатеринбург
2020
1. Разработать схему на логических элементах.
x x x x x y
x1 2 x3 4 5 x6 7 x8 9 y1 y2 y3 y4 5 y6 y7 y8 y9 y10
0 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0
2 1 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
3 1 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0
4 0 1 1 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0
5 1 1 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 0
6 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 1 0 0 0
7 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0
8 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0
9 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 1
[0] y1 x1 x2 x3 x4 x5 x6 x7 x8 x9
[1] y2 x1 x2 x3 x4 x5 x6 x7 x8 x9
[2] y3 x1 x2 x3 x4 x5 x6 x7 x8 x9
[3] y4 x1 x2 x3 x4 x5 x6 x7 x8 x9
[4] y5 x1 x2 x3 x4 x5 x6 x7 x8 x9
[5] y6 x1 x2 x3 x4 x5 x6 x7 x8 x9
[6] y7 x1 x2 x3 x4 x5 x6 x7 x8 x9
[7] y8 x1 x2 x3 x4 x5 x6 x7 x8 x9
[8] y9 x1 x2 x3 x4 x5 x6 x7 x8 x9
[9] y10 x1 x2 x3 x4 x5 x6 x7 x8 x9
Представление логических функций в логических элементах И и НЕ.
x1
x1
U4
U4 U1
U1
x2
x2
U2
U2
x3
x3 NOT
NOT
U5
U5
x4
x4 y1
y1
x5
x5 AND
AND
NOT
NOT
x6
x6 AND_8
AND_8
U6
U6
x7
x7
x8
x8
NOT
NOT
x9
x9
U22
U22
x1
x1
U3
U3
x2
x2
U26
U26
NOT
NOT
x3
x3
U23
U23 U7
U7
x4
x4 NOT
NOT
U27
U27 y2
y2
x5
x5 NOT
NOT
U24
U24 AND
AND
x6
x6
NOT
NOT AND_8
AND_8
x7
x7
U25
U25
NOT
NOT
x8
x8
x9
x9
NOT
NOT
U28
U28
x1
x1
U8
U8
U30
U30
x2
x2
NOT
NOT
U29 U9
U9
x3
x3 U29
NOT
NOT
x4
x4
U31
U31 y3
y3
x5
x5 NOT
NOT
U32
U32
AND
AND
x6
x6 NOT
NOT AND_8
AND_8
x7
x7
NOT
NOT
x8
x8
x9
x9
y2
y2 x1
x1
U38
U38 U10
U10
NOT
NOT
x2
x2
U35
U35
U11
U11
x3
x3 NOT
NOT
x4
x4 NOT
NOT y4
y4
U37
U37
x5
x5
U34
U34
AND
AND
x6
x6 AND_8
AND_8
NOT
NOT
x7
x7
NOT
NOT
x8
x8
x9
x9
U40
U40
x1
x1
NOT
NOT
U39
U39
x2
x2
U12
U12
x3
x3
U41
U41 NOT U13
x4
NOT U13
x4
x5
x5
U33
U33 y5
y5
NOT
NOT
x6
x6 AND
AND
x7
x7 NOT
NOT AND_8
AND_8
U42
U42
x8
x8
x9
x9
NOT
NOT
U43
U43
NOT
NOT
x1
x1
U14
U14
x2
x2
U44
U44
U15
U15
x3
x3
x4
x4 NOT
NOT y6
y6
x5
x5
U45
U45 AND
AND
x6
x6 AND_8
AND_8
x7
x7 NOT
NOT
x8
x8
U46
U46
x9
x9
NOT
NOT
U47
U47
x1
x1
U16
U16
NOT
NOT
x2
x2
U48
U48
U17
U17
x3
x3
x4
x4 NOT
NOT y7
y7
U49
U49
x5
x5 AND
AND
x6
x6 AND_8
AND_8
NOT
NOT
x7
x7
U50
U50
x8
x8
x9
x9 NOT
NOT
Риc 3. Логические функции выхода 4,5,6 и 7
U51
U51
NOT
NOT
U52
U52
U18
U18
x1
x1
U53
U53 NOT
NOT
x2
x2 U19
U19
x3
x3 NOT
NOT
U54
U54
y8
y8
x4
x4
U55
U55 AND
AND
x5
x5 NOT
NOT
AND_8
AND_8
x6
x6
NOT
NOT
U56
U56
x7
x7
x8
x8
NOT
NOT
x9
x9
U57
U57
x1
x1
U20
U20
x2
x2 NOT
NOT
x3 U58
U58 U21
x3 U21
x4
x4
y9
y9
x5
x5 NOT
NOT
AND
AND
x6
x6
AND_8
AND_8
x7
x7
x8
x8
x9
x9
U61
U61
x1
x1
U59
U59
x2
x2 NOT
NOT
x3 U62
U62 U60
x3 U60
x4
x4
y10
y10
x5
x5 NOT
NOT
U63
U63 AND
AND
x6
x6
AND_8
AND_8
x7
x7
U64
U64
NOT
NOT
x8
x8
x9
x9
NOT
NOT
void setup()
{
pinMode(x1, INPUT);pinMode(x2, INPUT);pinMode(x3, INPUT);
pinMode(x4, INPUT);pinMode(x5, INPUT);pinMode(x6, INPUT);
pinMode(x7, INPUT);pinMode(x8, INPUT);pinMode(x9, INPUT);
pinMode(y1, OUTPUT);pinMode(y2, OUTPUT);
pinMode(y3, OUTPUT);pinMode(y4, OUTPUT);
pinMode(y5, OUTPUT);pinMode(y6, OUTPUT);
pinMode(y7, OUTPUT);pinMode(y8, OUTPUT);
pinMode(y9, OUTPUT);pinMode(y10, OUTPUT);
}
void loop() {
x1=digitalRead(in1);
x2=digitalRead(in2);
x3=digitalRead(in3);
x4=digitalRead(in4);
x5=digitalRead(in5);
x6=digitalRead(in6);
x7=digitalRead(in7);
x8=digitalRead(in8);
x9=digitalRead(in9);
u1=x1*x2*x3*!x4*!x5*x6*x7*!x8*x9;
u2=!x1*!x2*x3*x4*!x5*!x6*x7*!x8*!x9;
u3=x1*!x2*x3*!x4*!x5*!x6*!x7*x8*x9;
u4=x1*!x2*!x3*x4*x5*!x6*!x7*x8*!x9;
u5=!x1*x2*x3*!x4*x5*!x6*x7*!x8*!x9;
u6=x1*x2*!x3*!x4*x5*!x6*x7*!x8*x9;
u7=!x1*!x2*!x3*x4*x5*x6*x7*!x8*x9;
u_8=x1*!x2*!x3*x4*!x5*x6*!x7*!x8*!x9;
u9=x1*x2*x3*!x4*x5*x6*x7*!x8*x9;
u10=x1*x2*x3*!x4*x5*!x6*!x7*x8*!x9;
if (u1>0) {digitalWrite(y1, HIGH);}
else {digitalWrite(y1, LOW);}
if (u2>0) {digitalWrite(y2, HIGH);}
else {digitalWrite(y2, LOW);}
if (u3>0) {digitalWrite(y3, HIGH);}
else {digitalWrite(y3, LOW);}
if (u4>0) {digitalWrite(y4, HIGH);}
else {digitalWrite(y4, LOW);}
if (u5>0) {digitalWrite(y5, HIGH);}
else {digitalWrite(y5, LOW);}
if (u6>0) {digitalWrite(y6, HIGH);}
else {digitalWrite(y6, LOW);}
if (u7>0) {digitalWrite(y7, HIGH);}
else {digitalWrite(y7, LOW);}
if (u_8>0) {digitalWrite(y8, HIGH);}
else {digitalWrite(y8, LOW);}
if (u9>0) {digitalWrite(y9, HIGH);}
else {digitalWrite(y9, LOW);}
if (u10>0) {digitalWrite(y10, HIGH);}
else {digitalWrite(y10, LOW);}
}
Риc 5. Число 4
Риc 6. Число 9
Риc 7. Число 8
Риc 8. Число 3
x2 y3
x3 y4
x4 y5
x5 y6
x6 y7
x7 y8
x8 y9
x9 y10
else
j=j+1;
end
end
b=W(end);
W=W(1:end-1);
u1
U WX B
u
10
void setup()
{
pinMode(x1, INPUT);pinMode(x2, INPUT);pinMode(x3, INPUT);
pinMode(x4, INPUT);pinMode(x5, INPUT);pinMode(x6, INPUT);
pinMode(x7, INPUT);pinMode(x8, INPUT);pinMode(x9, INPUT);
pinMode(y1, OUTPUT);pinMode(y2, OUTPUT);
pinMode(y3, OUTPUT);pinMode(y4, OUTPUT);
pinMode(y5, OUTPUT);pinMode(y6, OUTPUT);
pinMode(y7, OUTPUT);pinMode(y8, OUTPUT);
pinMode(y9, OUTPUT);pinMode(y10, OUTPUT);
}
void loop() {
x1=digitalRead(in1);
x2=digitalRead(in2);
x3=digitalRead(in3);
x4=digitalRead(in4);
x5=digitalRead(in5);
x6=digitalRead(in6);
x7=digitalRead(in7);
x8=digitalRead(in8);
x9=digitalRead(in9);
u1=3.2*x1+2.6*x2+1.1*x3+-0.7*x4+-0.4*x5+0.9*x6+0.7*x7+-
0.4*x8+0.3*x9+-8.6;
u2=-0.4*x1+-0.8*x2+1.4*x3+0.8*x4+-0.8*x5+-1.1*x6+0.8*x7+-
0.8*x8+-0.8*x9+-2.7;
u3=0.3*x1+-0.4*x2+0.2*x3+-0.2*x4+-0.3*x5+-0.4*x6+-
0.2*x7+0.2*x8+0.2*x9+-0.8;
u4=1.6*x1+-0.6*x2+-0.7*x3+1.2*x4+1.1*x5+-0.5*x6+-
0.4*x7+0.6*x8+-0.4*x9+-4.2;
u5=-0.4*x1+3.0*x2+1.8*x3+-0.8*x4+0.8*x5+-0.5*x6+0.3*x7+-
0.7*x8+-0.9*x9+-5.6;
u6=3.0*x1+3.1*x2+-0.3*x3+-0.6*x4+2.7*x5+-0.5*x6+1.9*x7+-
0.1*x8+0.3*x9+-11.0;
u7=-0.7*x1+-0.9*x2+-0.7*x3+3.3*x4+2.7*x5+1.9*x6+1.5*x7+-
0.7*x8+0.9*x9+-9.9;
u_8=0.7*x1+-0.3*x2+-0.2*x3+0.2*x4+-0.4*x5+0.4*x6+-0.3*x7+-
0.2*x8+-0.3*x9+-1.1;
u9=2.1*x1+1.7*x2+1.1*x3+-0.3*x4+0.8*x5+0.3*x6+0.3*x7+-
0.2*x8+0.4*x9+-6.6;
u10=0.6*x1+0.1*x2+0.1*x3+-0.2*x4+0.1*x5+-0.1*x6+-
0.1*x7+0.2*x8+-0.2*x9+-1.1;
if (u1>=0) {digitalWrite(y1, HIGH);}
else {digitalWrite(y1, LOW);}
if (u2>=0) {digitalWrite(y2, HIGH);}
else {digitalWrite(y2, LOW);}
if (u3>=0) {digitalWrite(y3, HIGH);}
else {digitalWrite(y3, LOW);}
if (u4>=0) {digitalWrite(y4, HIGH);}
else {digitalWrite(y4, LOW);}
if (u5>=0) {digitalWrite(y5, HIGH);}
else {digitalWrite(y5, LOW);}
if (u6>=0) {digitalWrite(y6, HIGH);}
else {digitalWrite(y6, LOW);}
if (u7>=0) {digitalWrite(y7, HIGH);}
else {digitalWrite(y7, LOW);}
if (u_8>=0) {digitalWrite(y8, HIGH);}
else {digitalWrite(y8, LOW);}
if (u9>=0) {digitalWrite(y9, HIGH);}
else {digitalWrite(y9, LOW);}
if (u10>=0) {digitalWrite(y10, HIGH);}
else {digitalWrite(y10, LOW);}
}
Схема подключения логических функций и настройки в Arduino