Professional Documents
Culture Documents
Mikroişlemci Vize Final
Mikroişlemci Vize Final
GiR i Ş
• Bit 1 ve O
• Nibble 4 bit
• Byte 8 bit
• Word 16 bit
• Double Word~ 32 bit
• Quad Word 64 bit
• Paragraph 128 bit
BÜYÜKLÜKLERİN TANIMLANMASI
terabayt TB 1012 2 40 tebibayt TiB 240 önek Adı Si Anlamı ikili sistemdeki anlamı Farktan
petabayt PB 1015 250 pebibayt PiB 250 K veya k kilo 103 = 10001 210 = 10241 2.40%
Sayı Sistemleri
İkili Sayı Sistemleri
---mııımımıı
1 o 1 o 1 1 1 1
128 64 32 16 8 4 2 1
O ve 1 olarak iki rakamla ifade edilir.
t
MSB (Most Significant Bit)
En Önemli Bit
t
LSB (Least Sign ificant Bit)
En önemsiz Bit
128+32+8+4+2+1 = 175
Sayı Sistemleri
O nd alı klı sayı
0,6875 X A = 1 + 0,375
0,375 X 2 = o + 0,75
0,75 X 2 = 1 + 0,5
0,5 X 2 =1 + o
0,6875 = (0,1011)2
Ox A F H
00
'' LSB (Least Significant Bit)
5 (16) = L
k =- cıo
bk 16k
SAYI DÖNÜŞÜMLERİ
- - -••111111 1 1O I l O 111111111111
Ox
b2
o
b3
---- A
ol
F
-
H
16 10 16 10 l
1 1 99 153
2 2 9A 154
3 3 98 155
8 8 9F 159
9 9 AO 160
A 10 Al 161
B 11 A2 162
F 15 FF 255
10 16 100 256
KAYAN NOKTALI SAYI SİSTEMİ
Çok büyük ve Çok küçük sayı gösterimlerinde lşar~ll tam sayılar ~m,
sorun vard ır.
Virgülün solunda sadece bir rakam ile ı) 1 byıe· ! S I cı.J d.Td.] cı,J d. d,Tı1,,
bilimsel gösterim uyarlanmıştır. b) 2byıe: ! ~!d,! 1 1 T J DAJ
<I 4 bvt• _.__.___!
ı...l..:.S.ı.l.c:d:r.ı-! ...__,___,___,_....___.__,__ı..:ld
~]
JI JO 11 11 o d) lbyıo:!...-'-s.....1-"du.......
l _..__...._.___.____.___.___.__.___,___,___,_I.......l__.__.[...;:d,e.ıl
Ls [ E L M -ı
T.ıtOIJtw' Foımat l n • 31 lıı 1
61 62 S1 51
[s i E I M
(;ıııC)u\tnfoımM Cn•&41ıtJ
19 il '463 [ S [ 00000000
1
[ 1[ ! !1[ [ [[[ [[ [ ! 1ı, s. [ H• 1
w= E !
~ı....t~fOrl"l'lıtl (rı•••ıf
M------' ~klO'luformoı S(O,l);ı(0000,0001 , ,1001)
Haif 1 5 10 ıs
1 8 23 127
1 11 52 1023
5
N ( - 1) Mx 2E 1 15 64 16383
IEEE-754
1. Mutlak Değere Al • l-9,68751 = 9, 6875
• 9, 6875 =9 + o, 6875 =(1001)+(0,1011)
2. Tamsayı ve Kesirli Kısımı Böl
• 1001.1011 = cı.0011 oıı)ı x 23
3. Tam sayı kısmını 1,zzzz X zn • Yükseltme değeri 3
çarpım şe k linde yaz. • 3 + z B- l - 1 = 130 = ( 1000 0010) 2
4. M=zzzzOOOO (Kaç bit ise) • 1. 001 101100000000 0000 0000 =>
IEEE-754
Sign (1 bit):
1 -9.6875
31
Exponent (8 blts):
1 O OO O O 1 O
30 29 28 27 26 25 24 23
İşaretli Sayılar
Ondalık işaretli 2'ye lşareth
1'e işaretli
Oooer tomıeven tOmleven bOvOklOk
+7 0111 0111 0111
+6 0110 0110 0110
+5 0101 0101 0101
+4 0100 0100 0100
+3 0011 0011 0011
+2 0010 0010 0010
+1 0001 0001 0001
+O 0000 0000 0000
-O -- 1111 1000
-1 1111 1110 1001
-2 1110 1101 1010
-3 1101 1100 1011
-4 1100 1011 1100
-5 1011 1010 1101
-6 1010 1001 1110
-7 1001 1000 1111
-8 1000 -- --
İşaretli Sayılar
Pozitif işaretli sayılardan negatif işaretli sayıların elde edilmesi :
1'e Tümleme ite Pozitif Sayıların Negatif 2'ye Tümleme ile Pozitif Sayıların
Karşılığının Elde Edilmesi Negatif Karşılığının Elde Edilmesi
+ 5 ➔ 0101 ; önce sayının 1'e tümleyeni bulunur.
- 5 ➔ 1010 + 5 ➔ 0101
1010
+ 1 ; sonra 1 eklenir.
--
- 5 ➔ 1011
1010B 1011B
ikili Sistemde On altılı Sistemde
+ 15 = 0000 11 11 + 2A
1'e tümleme 1'e tümleme
1111 0000 FF - 2A= 05
+ 1 + 1
-
1111 0001 -2A = 06
- 15 ➔ 1111 0001 B - 2AH ➔06H
SAYISAL KODLAR
a
Sayısal Kodlar
&fedcb•
Onluk BCD(8421) 3 F•zla 2-121Kodu Gray Kodu
Aklıf O
o 0011 0000 0000 11000000
10000
-
!.__
2
0001
0010
0100
0 101
-
0001
0010
0001
0011
1111001
0100100
-
3
4
0011
0100
0110
0111
-
0011
0100
0010
0110
0110000
0011001
d
s 0101 11000 0101 0111 0010011
-
6
1
0110
, 0111
1001
1010
-1100
1101
0101
0100
0000011
1111000
8 1000 1110 1100 0000000
9 1001
}1011
1100
·-1111 1101 0011000
10 0001 0000 1111
11 0001 0001 1110
12 0001 0010 1010
13 Joooı 0011 1011
14 0001 0100 1001
ıs 00()1 0101 lOOO
-
(ı) lloll kodlanmıt dıılı (b) Gtay kodlanmlf disk
ASCII
ASCII
MSB ➔
Hex o 1 1 2 3 4 5 6 7
LSB _____Q._ NUL 1 OLE 80$1Uk o ® p p
,ı. 1 1 A Q a
r -2 SOH
STX 1
DC1
DC2
.. 1
2 B R b
q
r
3 ETX 1 DC3 # 3 C s C s
~ EOT DC4 $ 4 D T d l
5 ENQ NAK ·ı. 5 E u e u
, -6 ACK SYN & 6 F V f V
7 BEL 1 ETB ' 7 G w g w
.
f----
8 es CAN ( 8 H X
y
h X
9
A
HT
LF
EM
SUB .
) 9
:
1
J z
i
J
y
z
B VT ESC ♦ ; K [ k {
'f -C FF FS
'
< L \ 1 1
D CR GS - = M 1 m }
E so
1
RS > N .. n -
F Si r us I ? o o DEL
Do<
UI 80
U9
....
81
Chor
C
Ü
e
Do<
160 AO
161 Al
- Chor
a
i
0o<
192
193
....
co
Cl
cıı.r
L
.ı.
0o<
224
225
-
lcO
El
Ctı.ır
a:
8
r
ASCII t)O
ili
il>
81
83
84
a
ii
162 Al
16) A]
164 A4
~
u
ri
194
195
196
C2
Cl
c•
T
-
~
n6
227
728
t7
,.
E3 IJI
~
cı.ı Ooc Ocı .... 1 Clw Ooc Ocı Hn 1 Clw Ooc Ocı Hn
ın 85 a 165 AS N 197 es + 72'} ts (J
ci o
~
134 86 166 A6 198 C6 2)0 f6 ~
1)5 87 C 167 A7 ıı IQ9 C7 231 E7 T'
('111 32 00'0 OX20 1
• 6C 0100 "'~ 1 98 Ol~ MO 136 88 e 168 A8 l
--
200 C8
c, L 212 f8 ~
-
1 3J 00<1 °'21 1 A 156 0101 o,,ı 1• 97 0141 c.6t 137 89 e 169 A9 201 r 233 f9 8
-
0042 Oı22 I B 156 OIIIZ Ol<Z I b 98 0142 0,62
34
3S 000 o,zı 1C 67 oım
,... 111 •
0,'3 99 oıcı Ml IJ8 8A e 170 AA 202 CA ~ 234 EA ~
..
C
s 0,24 1 D 1 ~
•n'
l6 68 oıoı d 100 Ol« t'6< ı:ı, H 171 AB 20) CB T 235 tD
37 00'6 001 E 69 01a; Qy,S !Ol 014!;
-•
& l8 0005 Dı26 1 F 70 01(11 l>-16 11 102 01411 0>156
140 8C i ın AC ¼ 204 CC 236 tC *
39 00<7 Ç,27 I G 71 0101 fııH 1 1 1m 01'7 (iı17 14 1 80 i ın AO i 20S CD 217 tD
Dx2ll l H n Ol!ıl ii
40 ()(S) oııo o,.ıa 1h 1oı ~ 1• 2 BE 174 AE (( 206 CE
1 238 EE E
-
41 0051 Ol2!I 1 1 7J oııı 0,49 ı, ıa; 0151 ~ er /ı
14 3 175 AF » 207 CF 239 tr
..
42
43
,s
0(6l
OOlil
l)C{,I
005li
M• I
-Dı2cJ1 l
Ox2dl ı,ı
ı
K
74
75
16
n
Olll
0113
0114
0'4.1 l ı
0>-10 1 t
O,l< 11
106
107
IIJI
0112
0153
015'
(~
O.il> 144
14 5
90
91
E
z
176
ın
60
81
208
209
00
01
ı
T
240
24 1
f()
rı .-
~
ı:
0115 O>'d !Dil oısı; Oı6d ( n
46 005li 0'2fJ ~
o
78 0ll6 eı,, ııo 0156 ~
146 92
ô
178 82
1 2,0 02
Dl
T
1
242
n ~
~
I '7 0051 Oı2I 7V 0117 0>'1 1 o 111 om 0>6I 14 7 9) t:79 8) 211 24 )
o 48 OOII) 0'30 p 80 oıııı o,<;() 1 p ııı OlliO 0,11) 148 94 ö 180 84 212 04 ı. 244 r• r
l 49 0061 Oıl1 Q 81 0121 OııSI 1 q 113 0161 0.71
o r J
1
14? 95 181 85 2ll DS 245 F5
2 so 0062 0'32 R 82 0122 0>52 ı, 114 0162 o,n
J Si 006.l Cıl3 s B3 oızı CDl 1 • ııs 0163 Oı73 ıso 96 u 182 86 214 06 r 246 ~ +
• ı, u 2:s
!
Oı04 T 012' Oıı54 ll6 0164 Oı74 ::::
..
,2 (1061 8A 151 97 183 87 l 07 247 F7
ş
a
7
f,)
56
00!6
0()(,6
0067
OJl6
hl6
0>:37
u
V
V/
16
16
87
Ol2S
ouıı
0121
0>56 1 u
0>56 1 •
OlS1 I•
117
118
ll9
oııı;
oıı.ıı
om
,75
0,16
o.n
152
153
98
99
Y.o 184
185
88
89 i1 216
217
09
09
248
249
Al
F9 .
o
1
9
56
67
ooııı
oon
Oıll
Oıl9
X
y
81
..,
19
oı:ıı
0131
Qy',8
1h58
1'
1y
1z
120
iZi
oıııı
om
0.78
Oı79
0,-71
ıs•
t5S
9A
98
Ü
C
196
187
DA
88 , 218
2'9
DA
08
r
1
250
251
FA
FB .(
59 0012 oaı l 0132 ('6ı 122 0112
E: J oc •
-
69 0073 Oı3lı 91 oı:ıı °'511 12J 0173 o,ıı, 156 9C ıu 8C 220 252 FC
1
60
61
62
63
001'
0015
007&
0077
Oı3c
Oı3d
Da
1
l
92
93
94
9S
oı:,,
oı:ı;
Dili
0131
"
O>Sd 11
0>5o 1 •
Oıı5/
11 124
l2S
l."11
om
01ıs
011&
0>7c
0ı7d
r,ı,
IH
ısa
159
90
9E
9f
,.
y
1
189
190
191
80
111:
e•
.J
J
ı
221
222
123
DO
Df
o•
r.•
25)
a•
255
fO
fE
ff'
.
•
MANTIKSAL KAPILAR
Mantıks al Kapılar
NOT
x~ NADN
;~
AND
;~ NOR
;~
OR
;~ XOR
;~
AND
~
C
o o o
B=D-c o 1 o
o o
C=A · B
1 1 1
(a) Circuit symbol (b) Truth table (c) Boolean expres ion
OR
B C
o o o
~=D- c o 1 1
o 1
C=A+ B
1 1 1
(a) Circuit symbol (b) Truth table (c) Boolean expre ıon
NOT
A-[>-B B =A
NAND
B C
o o
B=c}-- c o ı
O 1
ı C=A·B
1 O
(a) Circuit symbol (b) Truth table (c) Boolean expression
NOR
-- --
ı
A B C
o o 1
:=[B-c o 1 o
o o
C=A + B
1 o
(a) Circuit symbol (b) Truth table (c) Boolean expression
XOR
B C
o o o
:=)D- c o 1
o 1
C=A EB B
o
(a) Circuic symbol (b) Truth table (c) Boolean expression
NOR
A B C
o 1
C 1 ö C = A(I)B
o o
(a) Circuit symbol (b) Truth rahle (c) Boolean expre ıon
KARNAUGH HARİTASI
=17 1 1
ABCD
o
u
-L__ __J 1 1
w
1 1
- .
1 1 1 1
f(A,B,C,D) = E(6,8,9,10,ll,12,13,14)
F=AC' +AB + BCD'
F=(A+B)(A+C)(B'+C'+D')
YARIM TOPLAYICI
Yarım Toplayıcı
X y Carry Sum
o o o o
o 1 o 1
1 o o 1
1 1 1 o
TAM TOPLAYICI
4 Bit Toplay ı cı
HA
Xo -
X s
So
Yo ____.:!_
iL• FA s
X1 y
Y1 iL_ FA s
X2 X
y
Y2 iL_ FA ,__
9
X3 X
y
~
Y3
BİNARY TOPLAYICI
Binary Toplayıc ı
Flip-flops
AKIŞ DİYAGRAMI
Akış Oiyagra mı
-♦
Gırış / Çıkış
-
Akış Diyagram ı •
-
ÖRNEK YAZILIM DİLLERİ
.. . .
ORNEK YAZILIM DiLLERi
CKODU C++
#include<stdio.h> #include<iostream.h>
#include<conio.h> #include<conio.h>
void main() void main()
{ {
clrscr(); clrscr();
printf( 11 Merhaba! " ); cout<<" Merhaba ! ";
getch(); getch();
} }
.. . .
ORNEK YAZILIM DiLLERi
C# JAVA
using System; public class HelloWorld
namespace HelloWorldAppl ication
{
class HelloWorld public static void main(String
args[])
staticvoid Main(string[) a rgs)
{
{
11
Console.Writeline(" M erhaba 1"); System.out.println( " Merhaba! ) ;
} }
}
}
}
BİLGİSAYARIN TARİHİ
Bilgisayarın Tarihi
• Abaküs
• İ l k işlem yapmaya yarayan aygıt
• 1000 yı llarda kullanı lmıştı r.
• Elektronik Öncesi Kuşak
• 1642 Blaise Pascal (İlk Hesa p makinesi}
• 1643 Dört İşlem, Kara kök Alma (Gottfired}
• 1804 Delikli Kart (Tekstil}
• 1822 Fark M akinal arı (l0luk taban}
• Analitik Makina (Delikli kart, Döngü} Program lamanın atas ı
• 1890 Sayım Makinası
• 1938 Turing hesap makin ası (yapay zeka)
Bilgisayarın Tarihi
• Elektronik Kuşak
• 1946 ENIAC
• Bilim insan ları John M auchly ve Presper Eckert
• Savaşın ardından ENIAC ağırlıklı olarak hava tahminlerinde, atom ene rjisi
he sa plamalarında , kozmik ış ın ça lışma larında , terma l tetikleme, rastgele
sayı bulunmasında, rüzgar tüneli dizaynında ve diğer bi limsel
araştırmalarda ku llanıldı.
• O günlerde 60 saniye yol alan bir topun rotasının hesap l anması için,
yaklaşık 20 saatlik ça lışma gerekiyordu. ENIAC bu hesaplama süresini 15
saniye~e indirdi.
• Geçici hafızasında sadece 200 sayıyı saklayabi liyordu.
• 500.000$ , 17.465 Lamba, 10.000 kondansatör, 1500 röle, 150 kW, Delikli
Kart, 83 m2
Bilgisayarın Tarihi
• EDVAC (Electronic Discrete Variable Automatic Computer)
• İlk elektronik bilgisayarlardan biridir
• EDVAC'ı ENIAC'tan ayıran özellik, ondalık taban değil ikilik taban
kullanmasıd ı r.
• J.Presper Eckert, John William Mauchly, John von Neumann ve d iğer birkaç
kişi tarafından yapılmıştır.
Bilgisayarın Tarihi
Mostek
"1
8 8 16 64K
6502 1978 18 11
Bilgisayarın Tarihi
b
.. .
. --ı
Vss ~
1
AOO
ADI
.,::, ROi'
l
TSC
Power Supply[ .,::,
·- & frequency
A02
A03
AD<
CD
~
~ 0,
-... ..
CD
AD5
o ., WMA OBE
Serial 1/0
ports
[ AOS
A07 1 e
~
8A R/W
AB ı::ı vcc 00
A9 ı::ı
A10 <( AO Ol
-=I
Extemally A11 Al 02
A12 A2 03
lnltlated
signals
A13
A14
A15 ...
A3 04
05
aLE ...
AS 06
07
c..= {
Control &
Status
\lıll.
Rll.
10/M
so
S1
] Control &
Status
A7
AB
A9
AlO
Al5
Al4
"13
... ı,
All vss
8085
16 Adres Yolu 16 Adres Yolu 16 Adres Yolu
8 Veri Yolu 8 Veri Yolu 8 Veri Yolu
14 Kontrol Yolu 12 Kontrol Yolu 11 Kontrol Yolu
Bilgi sa ya rın Tarih i
INTEL MOTOROLA
Accumulator
B
D
H
Program Counter
Flaas
E
L
C
- Main Reptsıer Set
"
8
o
H
Flags
C
E
L
F -
Aaemaıe Reglsı'" Sel
,..
8'
o·
H'
' Flags
F'
8'
E'
L.
1
'rııemııı:-ı
Memoıy Relmh
Stack Polnter
1,-. Regısıo,
R
1~
r.-
IX
lndeııR......., IY
,- Pu,pooe
Slackl'oinıot SP
Program Counlef PC
Bilgisayarın Tari hi
• 1976 MiB'nin tek bir chip olarak üretilmesi
• 1977- Giriş çıkış arabirim, yan birim
• 1978 - 16 bitlik mikroiş l emci, Bireysel bilgisayarlar
• IBM birbirleriyle uyumlu olmayan bilgisayarlar
• Genel amaçlı, Hazır, İş istasyonu, Office , Klima sistemi
• Belli amaca uygun, kullanıcının değiştire meyeceği
• Mikro denetleyici
• 1980 - MiB, Giriş/Ç ı kış Arabirimi ve Bellek tek chip olarak üretildi
• 1980 - CPU tek çip, 1/0, Bellek ➔ Mikrodenetleyici
• Rasspery Pi, Ardunio, PIC, STM
Bilgisayarın Tarihi
• 8 bitlik 8080 ve Z 80 mikroişlemcilerinde hesaplama yapmak maksadıyla bol
mikta rda kaydedici va rdır.
• Diğer 8 bitlik işlemci l er 6800 ve 6502 anlaşı lı r komutlar ve daha fazla adresleme
modu ku llanma ları, kaydedicilerinin fazla olmamasından dolayı veri manevrasında
sık sık belleği kullanmala rı ndan dolayı be ll eğe dayalı iş lemci l er olarak an ılırlar. Bu
gruplar birbirlerinin bellek ve G/Ç (Girş/Çıkış) yongalarını ku llanabilmektedirler.
• Bulunduğu sistemin belirli bir düzen içerisinde çalışmas ını sağlayan, aritmetik ve
lojik işl em yapabilme yeteneğine sahip olan mikroışlemciler geçen zaman
içerisinde sa hip old ukla rı özellikler açısından olağanüstü bir gel i ştirme göstererek
modern yaşamın vazgeçi lmez bir parçası haline gelmiştir.
• Endüstriyel uygulamalarda gerekli olan çevre birimlerinin karmaşıklı lığı ve sayısı
zamanla artmıştı r. Sonuç olarak mikroişlemci taban lı sistemlerin tasarımı ve
gerçekleştiril mesi oldukça karmaşık, zor ve maliyetli olduğundan günümüzde
endüstriyel uygulamalarda " Mikrodenetleyici" ler kullanılır.
Bilgisayarın Tarihi
2008 Nehalem (i3 - i5} 20 unified (14 without miss prediction) 3600 45
2011 Sandy Bridge (i7) 14 (16 with fetch/retire) 4000 32
https://en .wikichip.org/wiki/intel/microarchitectures
MİKROBİLGİSAYAR
Mi krobilgisayar
• Yazılım - Donanım
• Latince computere
• O lası ihtimaller (klavyenin iki tuşuna eynı anda bası l mas ı ) dahilinde
sıralı iş l em yapabilir
•••
••••
Mikroişlemci ve Mikrodenetleyici •••••
••••
••••
•••
,/Adres yolu ••
j;:::::;~==i=J:=====i=ı======i+==~ Veri yolu
Kontrol
Mikroışlemci ,.........._-'--'---> ,...__,._.___,sınyaııeri
Serial
RAM ROM 1/0 Port Timer COM
Port
Mikrodenetleyici
Serial
1/0Port Tlmer
COM
Port
MİKRODENETLEYİCİLERİN KULLANIM ALANLARI
• Savunma sanayi [}
• Otomativ sanayi
• Endüstriyel Uygulamalar
• Beyaz eşya
• Fare, klavye, oyun denetçileri
• Anahtars ız uzaktan Kapı açılması
• Elektronik saatlerde
• Cep telefonları içinde ses, görüntü giri ş birimlerinde
MİKROİŞLEMCİ
Mikroişlemci
• Merkezı işlem birimi (Türkçe kısaltması M İ B, İ ngilizce: Central Process Unit ya da kısaca CPU)
• Dijital bilgisaya rların veri işleyen ve yazı lım komutlarını gerçekleştiren bölümüdür.
• Merkezı işlem birimi aritmetik ve ma ntıksal işlem yapma yeteneğine sahiptir.
• MiB, makine dili denilen düşük seviyeli kodlama sistemi ile çalış ı r
• Bu kodlama sistemi bilgisayarın algılayabil eceği işlem kodlarından ol uşur.
• İşlem kodu (İngilizce: opcode ya da operation code)
• Merkezı işlem birimi aritmetik ve mantıksal iş lem leri Aritmet ik Mantık Birimi (AMB) (ALU)
aracılığıyla yapar.
• Kontol Birimi: İşlem sı rasını belirler, Bellekten okunan kodların çözümünü yapar.
• Mikroişlemcinin içerisinde bu lunan küçük veri saklama a l anlarına yazmaç (register) denir.
• Dahili yollar: Adres Yolları, Kontrol Yolları, Veri Yo ll arı. Yolların bit ge n işliği işlemciye özgün
• Virgüllü sayılarla daha rahat hesap yapabilmesi için bir Kayan Nokta i şlem birimi (FPU) vardı r
Mikroişlemci
Kontrol Yolu
Yeri Yolu
Mertıezi
'11em Birimi Hafıza
(CPU)
Adres Yolu
Kontrol
Yolu
Girit/ Çıkıt (1/0) H.ıricl
Birimleri
BıOlantılar
MİKROİŞLEMCİ İÇ YAPISI
Mikroişlemci İç yapısı
mul4)1e-
GP
ıe,;ıısıeıı
pıogram
ccunto,
sı.ıc;.
cıourto,
VERİ YOLU
KONTROL YOLU
analogue rıpuıs
doğrudan ulaşılamaz; sadece
komutlar ile işlem yaptırılabilir. ALU
from dıgıtal mikroişlemcinin "beyni" gibi
conıroller
düşünülebil in ir.
• BUFFER REGİSTER :
(Tampon/Önbellek kaydedicisi)
an.aıloaue da1a storaae cens
Bilgin in ALU 1 ya girmeden önce
saklandığı birimdir. Mikroişlemci ile
eşit bit uzunluğuna sahiptir.
ZAMANLAMA BİRİMİ
Zamanlama Birimi
~
• Kontrol birimi Xl ve X2 giriş l erine
KONTROL bağlanan kristalin freka nsı
SAAT BİRİMİ üretilecek saat darbelerinin
DARBELERl+d-~--'
_f7_f""L ~ - - - - - ~ frekansını belirler.
YAZILIM
YAZILIM
Assembly Dili
Makine Dili
Do na nı m
KOMUT İŞLEME MANTIĞI
Örnek Uygulama
---
• LDA OOAAH
code 3A
0000
LB AA
0001
HB 00 0002
1
00 M ◄- WR-00
1 1 1
"""'BYTE LOWBYTE
.....
ıLıU
.•
. .•
Örnek Uygulama
AOAfSVOI.U
• Reset- Program Counter (PC)
Donan ı msal PC=0000
IR
Örnek Uygulama
AORE.SYOI.U
• Kontrol birimi komut zamanlama sinya llerini üretir
• PC+l -> Bir sonraki 0001 -> PC
• PC'den adres yoluna transfer 0001 -> Adres Yolu'na
• 000l'deki bilgi veri yoluna aktarılır AA-> Veri yolu
• Veri yolundaki bilgiyi MAR alır AA-> MAR
P:::ımı ıLtLt:::ı!A ı-·ıniw,rc::itı:ıc::i R ilr1i k:Jc,m n:::ıirı::ı R::;ıı::l<'c.ntlifii t:.-:ırnfınri::::ın Ri r1Rlı ıc.Rı ıttrın ile> k:::ı~ırlı::ırlilmi c::ti r
Örnek Uygulama
ADRESYQ.U
Veri
bir algetir saykı lı, sonra veri için diğer bir Belleği
algetir saykılı gerekmektedir.
Harvard Mimarisi
Harvard Mimarisi
???????????????? ???????????????????????????
G/Ç GIÇ
8l!Ul11 Bııınu
Mimarisi
• Al getir: Bir komut ana bellekten a lınıp getirilir.
• Kodunu çöz: Komutun şifresi çözülür. Eğer gerekliyse işlemci bellekten ek bilgi
okur.
• Çalıştır: Komut işlenir. Mikroprogramın kontrol kodu işletimi yürütecek donanım
çevrimini belirler.
• Tekrar yaz: Sonuçlar belleğe yazılır.
CISC Mimarisi (Complex lnstruction Set
Computer-Karmaşık komut kümeli Bilgisayar)
• İşllemci ailesinin ilk kuşakları her yeni versiyon tarafından kabullenilmiştir. Böylece komut
kodu ve çip donanımı bilgisayarların her kuşağıyl a birlikte daha karmaşık hale gel mişt i r.
• Mümkün olduğu kadar çok komut, mümkün olan en az zaman kaybıyla belleğe
depolanabiliyor ve komutlar neredeyse her uzunlukta olabiliyor. Bunun anlamı farkl ı
komutlar farklı miktarlarda saat çevrimi tutaca ktır bu da makinanın performansını
düşürecektir.
• Çoğu özel güçlü komutlar geçerliliklerini doğrulamak için yeteri kadar sık sık kullanılmıı yor.
• Tipik bir programda mevcut komutl a rı n yaklaşık %20'si kullanılıyor.
• Komutlar genellikle bayrak (durum) kodunu komuta bir yan etki olarak kurar. Bu ise ek
saıykıllar yani bekleme demektir. Aynı zamanda sonraki komutlar işlem yapmadan önce
bayrak bitlerinin mevcut durumunu bilmek durumundadır. Bu da yine ek saykıl demektir.
• Bayrakları kurmak zaman aldığı gibi, programlar takip eden komutun bayrağın durumunu
degişti rmeden önce bayrak bitlerini incelemek zorundadır
RISC MİMARİSİ
RISC Mimarisi
• Kısa Tasarım Zamanı: RISC işlemciler CISC işlemcilere göre daha basit
olduğundan daha çabuk tasarlanabilirler ve diğer teknolojik gelişmelerin
avantajlarını CISC tasarımlarına göre daha çabuk kabul edebilirler.
MİKRODENETLEYİCİ
Mikrodenetleyici
• Tek-çip bilgisayar, mikrobilgisayar veya ye rleş i k bilgisayar sistemleri isimleri altında da
ta nıtı lan mikrodenetleyici, t ek bir silikon kı lıf üzerinde toplan m ış entegre devredir.
• Bir mi k roişlemci çek ird eği (CPU)
• Program ve veri be lleği (-ROM, RAM)
• Gi riş/Çı kış (1/0) birimleri
• Saat darbesi üret eçleri
• Za m a n layıcı/Sayıcı birimleri
• Kesme kontrol birimi
• A/D- D/A (Analog/Dijital-Dijital/Analog) çeviriciler
• Darbe ge n işlik üret eci (PWM )
• Seri H aberleşme Birimi (UART, RS-232, CAN, 12C vb.)
• D iğe r çevresel birimler.
Üretici Firma Mikrodenetleyici
. . .
MiKRO i ŞLEMCi
16 bit adres satırları vardır - AO - A15 ve böylece 2 16 = 65535 bayt (64KB) bellek konumunu işaret
edebilir.
A IDllCUT
...... r :U (OUT
İlk 8 satır adres veriyol u ve 8 satır veri yolu çoklayıcı ADO-AD7'dir. Veri yolu 8 hatlı bir grup DO-D7'dir.
,..,
5 seviyeli kesme sağlar ve harici kesme isteğini destekler.
.... ..
16 bit program sayaçları (PC).
__..
mı.ı --+ • u ~
1 adet akümülatör, 2 bayrak kaydedici, 6 adet 8-bit genel amaçl ı kaydedici : BC, DE, HL ve 2 özel
amaçlı kaydedici.
- "
Jl
•
ı::,
""
...
Arit metik ve mantıksal işlemleri gerçekleştirir.
Gel işmiş kontrol sinyalleri için durum sağlar, yonga üzerinde saat üreteci var. .......
Bir sinyal+ 5V güç kaynağı gerektirir ve maksimum saat frekansı 6 MHz ve minimum saat frekansı 500
kHz ile 3.2 MHZ tek fazlı saatte çalışır.
Seri giriş/ çı kış (1/0) bağlantı noktası
• A8-A15 Yüksek Adres yolu bitleri • Adres mandalı Etki n l eşti r (ALE}:
• Bunlar 16 bit adresin 8 bit daha yüksek sıralı AD0-AD7 içeriği hakkında bilgi vermek için kullanılan
olarak kullanılan tri-state (yüksek empedanslı bir bir çıkış sinyalidir.
durum) sinyalleridir. Mikroişlemci tarafından yeni bir işlem başlatıldığında
üretilen darbedir.
Bu sin9aller tek yönlüdür ve bellek veya G / Ç Darbe yükseldiği nde, AD0-AD7 hatların ı n adres
aygıtlarını
seçmek için 8085'ten verilir. olduğunu gösterir.
Düşük olduğunda, içeriğin veri olduğunu gösterir.
• Oku (Read)
Bellekten veya bir G / Ç aygıtından veri okumak için kullanılan kontrol sinyalidir.
(Aktifken Düşük Değerliklidir) (Active-Low)
Bu pinin ana işlevi, daha yavaş çevresel birimi daha h ızlı mikroişlemciye senkronize
etmektir.
Hazır pini yüksekse (High) mikroişlemci işlemi tamamlar ve bir sonraki işleme geçer.
Hazır pini düşükse (Low) mikroişlemci yüksek olana kadar bekler.
Bekletme isteği kaldırıldıktan sonra HLDA düşük duruma geçer. Sinyal işlemci saatiyle senkronize edilir.
CPU, HLDA düşük olduktan sonra yolları yarım saat döngüsü Bu sinyal ayrıca µP sıfırlandıktan sonra çevre birimlerini
sonra ele alır. " sıfırlamak için kullanılır.
sıfırlan ır.
6.14MHz 5
• Xl , X2:
Dahili saat üretecini ayarlamak için Crystal veya R / C devresi j '-- - - -~ x,
bağlanabilir yada kristal yerine harici bir saat girişi de Crystal fre quency
olabilir.
Openıt ing Frequency
• CLK OUT:
CPU'ya Giriş olarak bir kristal veya
R/C devrebsi kullanıldığında, sistem
saati olarak kullanılacak Saat Çıkış ı. CUCOUT
katıdır.
• VCC ve VSS:
+5 volt besleme ve Toprak Referansı
-
8085'in iç mimarisi ALU, zamanlama ve
kontrol ünitesi, komut kaydedicisi ve kod
zııı
çözücü, kaydediciler, kesme kontrolü ve seri ı
•
/ O kontrolünü içeri r. "'"°"'
.-cc _
GNı>--+""'«s.o,t,
l l _.,-------------'ı---,
lZ ,.,,.....,conc,oı
IOUI
Al •AIS
e':'."!tr ,t:ı
INTEL 8085 Birimleri
• ALU Aritmetik ve Mantıksal Birim
IC 74181 (ALU) ile aynı çok işlemli kombinasyonel mantık
devresi. ANbing, ORing, EX-ORing, AOOITON, SUBTRACTION, vb.
gibi aritmetik ve mantıksal işlem leri gerçekleştirir.
Kullanıcı tarafından erişilemez.
ALU kelimesinin uzunluğu dahili bir veri yoluna bağlıdır. Status Register
ALU
iT 8 bit. Her zaman zamanlama ve kontrol devreleri tarafından V,
:,
kontrol edilir.
Bayrak kaydının durumunu veya sonucunu sağlar. Ttmpa,ery
""
::::,
a.
Re&stef' u
8085 Mimarisi ALU aşağıdaki blokları içerir: -;;;
SHIFTU!i ADDER
Toplayıcı: Toplama, çı~arma, arttırma 0 eksiltme vb. Aritmetik Acıcumulıt or
E
işlemleri gerçekleştirir. işlem sonucu akumülatörde saklanır. 2!
5hifter: Sola <;töndür, sağa döndür vb. Gibi mantıksal işlemleri
=
gerçekleştirir. işlemsonucu tekrar akümülatörde saklanır.
Durum Kaydı: Bayrak kaydı olarak da bilinir. Hayır içerir. ya son
ALU i~lemınden sonra ortaya çıkan koşulları belirtmek ya da
belirli ışlemleri denetlemek için.
74181 ALU
74181 - ALU
- .. --·- --·-
S3 S2 11
o o o o
LaglCIM
1)
A
Artthrrıa4ıcjM•Ot
ıcıı
A ...,,. I
o,
Lagle(M
1)
A
AıtttınıMlcjM•O'I
A
1)
c,, ... .. Jı .. ., ., ., .,
o o o 1 A.8 ~ 1 A+ B ,,
-·
AB A 8
o o 1 o A B AB ,,.,,_. I AO A~ B
o o 1 1 - 1 logıcalO -ı
o 1 o o A+ B A ıo (A • Dl AB A ... (AIJ)
(A + B) ...
o 1 o 1 B AB pı,a(A D) o (AO)
o 1 1 o ,.. o A nirı,,ı B ~ l A• B A ~ B mn.ıı t
o 1 1 1 ,ı o ,ı o A/J A, 8...,.,. 1
1 o o o AB A , - (A O) A +O A ııı,.. AB
1 o o 1 Ae B A ,-B A G> B ,ı ,- B
1 o 1 o B ABCA nı /J (A B)- AB
o 1 1 A+B A+ B AO ABnıııal
........
1
1 o o A pı,a A A ,._ A
1
'-"''
1
1
1 o 1
1
1
1 o
1 1
AB
AB
A
AB ,_A
AB ,._ A
A
A+ B
A+B
A
(A +B),-A
(A B ),._ A
A ..._ >
r, ,, .., ,, r, • c,,.,
INTEL 8085 Birimleri
• Akümülatör
Mikroişlemcinin Akaydı olarak da adlandırılan genel amaçlı kayd ından biridir.
Akümülatör, aritmetik/ mantık biriminin (ALU) bir parçası olan 8 bitlik bir yazmaçtır.
Bu kayıt, 8 bitlik verileri depolamak , aritmetik ve mantıksal işlemleri
gerçekleştirmek için kullanılır. ~
Bir işlemin sonucu akümülatörde sakla nır.
Kullanıcı bu kayda uygun talimatlar (komutlar) vererek erişebilir.
• Geçici Kayıt
Ayrıca işlenen kaydı (operand register) (8 bit) olarak da adlandırılır.
ALU'ya işlenenler sağlar. ALU anında sonucu geçici kayıtta saklayabilir.
Kullanıcı tarafından erişilemez.
ALLI tarafından bir işlem yapıldıktan sonra sonuç dahili veri yoluna aktarılır ve sonuç durumu flip floplarda saklanır.
Bunlara Sıfır (Z), Taşma (CY), İşaret (S), Eşlik {P) ve Yardımcı Taşma (AC) bayrakları denir.
• Taşıma bayrağı (CV): ~
ALU'da gerçekleştirilen bir işlem D7'den sonraki aşamaya taşma üretirse CY bayrağı ayarlanır, aksi takdirde sıfırlanır.
• Yardımcı taşıma (AC):
ALU'da gerçekleştirilen bir işlem, alt kısım (DO ile 03)'den üst kısı m (04 ila 07) AC bayrağının taşınmasını oluşturuyorsa 1,diğer
durumda sıfırlanır.
• Sıfır işareti (Z):
ALU'da gerçekleştirilen bir işlem 8 bitin tamamının O değerini verirse sıfır bayrağı ayarlan ı r, aksi takdirde sıfırlanır.
• İşaret biti (S):
tarafından bellek ve G / Ç
aygıtlarının geçici olarak i şlenen,
ara işlenen ve adresini tutmak için
kullanılır.
Program sayacı özel amaçlı bir kayıttır. Bir kaydın veya bir bellek konumunun 8 bitilk içeriği 1 arttırılabilir
veya azaltılabilir.
İşlemci tarafından bir komut yürütüldOğünO düşünün. ALU talimatı
yürütmeyi bitirir bitirmez, işlemci bir sonraki talimatı arar. Bu 16 bil yazmaç, program sayacı ve yığın işaretçi yazmaçının içeriğini
1 arttırmak veya azaltmak için kullanılır.
Bu nedenle, zamandan kazanmak için bir sonraki talimatın adresinin
tutulması gerekir. Bu program sayacı tarafından halledilir. Artış veya aza l ış herhangi bir kayıtta veya bellek konumunda
yapılablllr. ~
Bir program sayacı, yürütülecek bir sonraki komutun adresini saklar.
• Adres / veri arabelleii ve adres araballeği:
Mikroişlemci, bir komut yürütüldüğünde programı artırır, böylece
program sayacı, yürütülecek bir sonraki komutun bellek adresini Yığın işaretçisinln
ve program sayacının içeriği adres arabelleğine ve
gösterir. Program sayacı 16 bitlik bir kayıttır. adres-veri arabelleğlne yüklenir.
• Yığın iıaretçisi: Bu tamponlar daha sonra harici adres veriyolunu ve adres-veri veri
yolunu sürmek için kullanı lır.
Yığın işa retçisi ayrıca bir bellek işaretçisi olarak kullanılan 16 bitlik bir
yazmaçtır.
Bellek ve G / Ç entegreleri bu veri yollarına bağlandığından, CPU
bellek ve G / Ç çlplerine istenen verileri değiş tokuş edebilir.
Yığın RAM bölümünden başka bir şey değildir (Rasgele erişim
Adres-veri tamponu sadece harici veri yoluna değil, aynı zamanda 8-
belleği).
bltlik dahili veri yoluna da bağlıdır.
Yığın işaretçisi, yığına girilen son baytın adresini tutar.
Adres veri arabelleği, dahili veri yolundan hem veri gönderebilir hem
Veriler yığına her yüklendiğinde, Yığın işaretçisi azalır. de alabilir.
Tersine, veriler yığından alındığında artar.
1
ICI)
(3)
ISR
~1121 j
------ ,.,
Kesme kontrolü
~ ,.,
Adından da anlaşılacağı gibi, bu kontrol bir süreci kesintiye uğratır.
r.
Ana programı
bir mikroişlemcinin yürüttüğünü düşünün. Şimdi kesme sinyali etkinleştirildiğinde veya istendiğinde
mikroişlemci, gelen isteği işlemek için kontrolü ana programdan kaydırır ve talep tamamlandıktan sonra kontrol ana
programa geri döner.
Örneğin, bir Giriş/ çıkış cihazı, verilerin giriş için hazır olduğunu bildirmek üzere bir kesme sinyali gönderebilir.
Mikroişlemci ana programın yürütülmesini geçici olarak durdurur ve kontrolü "Kesme Servisi Rutini" {ISR) olarak bilinen
özel özel rutine aktarır.
ISR kontrolü ana programa geri gönderildikten sonra. mikroişlemci ile cihaz arasındaki kesme iletişimi.
808S'te bulunan kesme sinyalleri: INTR, RST 7.S, RST 6.S, RST S.S, TRAP
Dört kesmeden TRAP MASKELENMEYEN bir kesme kontrolüdür ve diğerleri maskelenebilir kesmedir.
Maskelenemeyen bir kesinti, kesinti sırasına göre en yüksek önceliğe sahip bir kesintidir.
Bir komutun hemen işlenmesini istediğinizi varsayalım, talimatı maskelenemeyen bir kesinti olarak verebilirsiniz.
Ayrıca maskelenemeyen kesinti, programcı tarafından hiçbir zaman devre dışı bırakılamaz.
Komut kaydı, diğer tüm mikroişlemciler gibi 8 bitlik bir • Zamanlama ve kontrol ünitesi ile ilişkili sinyaller:
kayıttır.
• 1. Kontrol Sinyalleri: HAZIR, RD (bar), WR (bar), ALE
Komut iki veri eklemek, veri taşımak, veri kopyalamak vb. • 2. Durum Sinyalleri: S0, S1, 10 / M (bar)
gibi bir şey olabilir.
• 3. OMA Sinyalleri: HOLD, HLDA
Böyle bir Komut bellekten getirildiğinde, Komut yazmacına
yönlendirilir. Bu nedenle, Komut yazmacı özellikle bellekten • 4. RESET Sinyalleri: RESET iN (bar), RESET OUT.
getirilen Komut saklamak içindir.
Daha fazla işlem için Komut yazmacı mevcut olan bilgilerin
kodunu çözen bir Komut kod çözücü vardır.
BELLEK ELEMANLARI
Bellek Elemanları
saklanma s ı
Pnmary Cache
• Fiziksel yapı larına göre yarı Secondary
iletken, manyetik
RAM Hard Oısk.
Magnetıc
Tape,
Statıc PAOM CD, DVD, Zıp
Diskete
Oynamlc EPAOM
EEPROM
SRAM - DRAM
Bellek Elemanları
r··
~ Çkt
SRAM : Statik RAM DRAM : Dinamik RAM
• Yazılan veriyi besleme gerilimi • Enerji kesilmese dahi verinin belli
kesilmed iği sürece devam ettirir aralıklarl a güncellenmesi gereklidir.
Bellek Elemanları
[;;]
EJ
sensor amplıfiers
Y gatıng
Bellek Elemanları
■ ■ ■ ■ ■
■ • • • •
•• •• •• ••• •• •
• ■ • • •
•• •• •• •• •• ••
...
a.ıı,
t,.,-ual.
lWOpo,nı)
.,...,
b6 51\AH
-·
,mpıll•n
'WE
Bellek Elemanları
Bellek Elemanları
SL SL
L (>oun-tllııt)
DL DL DL DL
bitlhll'\
Adres
Hattı
A0-AlS • 00-08
• OE : Output Enable
• Lojik 0'da ,J<tif
• Okuma işlemi
• WR : Write
• Sadece RAM türü bellekte bulunur.
• Yazma işlemi
A0-AlS
es --+
OE --+
WR --+
216.x&
RAM
•
BELLEK ADRESLEME
Bellek Adresleme
Adres Adres
.
- -
Veri Bellek Veri Bellek
808I
-- ı,
.
- ArayQzO --
.
.
-- --
Kontrol Kontrol
7
Bellek Adresleme 1
,............................... V .
l,._._ ı..,c..- -..
: erı
-
' 74LS373 - Bellek
8081 AD0i AD7 A0-A7
ALE ' -
A8-A15 A8-A15
Kontrol
-
Bellek Arayüzü
Bellek Adresleme
~ . 74LS373 Program
808I AD0-AD7 A0-A7
ALE aeııeoı
"
A8-A15 A8-A15
-- el
--IO/M
RD .. Bellek··--····-·-·
-
ıın
Arayüzü
Bellek Adresleme
• Enine genişletme belleğin bir ...ı/■.iml
kelimesindeki bit sayısını
arttırmaktır. ...ı~•
• Kelime sayıları aynı olmalıdır. ~ ili
• Boyuna genişletme belleğin ııı<••
kelime sayısını arttırmaktır.
• Kelime boyları aynı olmalıdır. -.ııı/■lııll
ımmıı1~ııa
~-.ııı/■.ijııı■
~.,a
Bellek Adresleme
Bellek Adresleme
• Decoder
f - - -.2 )t ~'lfıldıır bd çidlt.v- - - .., Dotnıtuı. ı:ıııı ..u
1 1
Ao r Aı An Oı O, Dı Dıı
D.ı
Aı
• u • u • 1
• 1
• o 1 a
Dı
1
1
o
1
•
1
1
o o a
• o
11nıtna"t D...ı.lnnltr
Dı
Du x;.-
D, Aı,A.
Dı D: A ı-i\:
ı.. - - - - - - - - -- - - - - J D, A ı·A.
Belle k Adresleme
. .
~ 10 J7ı6fAsl AATA3TA~ verıyol~ 7
74LS138 !! H El C B A TlL.ff Seçilen Çık'l
- x X o X X X HHHHHHHH "i:'"ıçb,rı
=-
A2 S2 C YO o o 1 o o o LHHHHHHH Y i l ( b o f t ~
S1 B Vi
UL
A3 o o 1 o o 1 HLHHHHHH Yı Çıkış Portu UL
UA
A4 SO A Y2 o o 1 o 1 o HHLHHHHH _'f2 Gır'l Portu UA
Y3 UB
~
- o -o 1 o 1 1 HHHLHHHH ~ Gtr'l Portu UB
Y4 UART o o 1 1 o o HHHHLHHH fl USART
AS El o o 1 1 o 1 HHHHHLHH yg boşta
YS o o o HHHHHHLH n boft~
A6
H/IO
E2
E3
Y6 - o o
1
1
1
1
1
1 1 HHHHHHHLff bofta -
Y7 X 1 X X
x- x - x-
X X HHHHHHHH hiçbiri
-
-ı- X x - HHHHHHHH hlçbırı
-
INTEL 8085
INTEL
... 8085
•Y« 1. Kısmi kod çözme: Bu kod çözme
_ .,.___ ....,.,..., türünde devredeki tüm adres hatları
...,.___..,._,,,.......,
ııııııt,_
ORNEK 1
ııcxı
AO AO
DO DO
1
D7 D7 lFFfH
A12 A12
işlemci EPROM
AB
A14
AlS
AKÇ
- CE
BOŞ
RD RD
WR
ORNE K 1
-••t·if•t·ifilllmıımıammımmmmmmı OOOOH
OOOOH O O O O O 0
lFFFH O O O 1 1 1
2000H 1 O O O 0000000000 lkXI
1 1 1 1 1111111111
Al S
••
ORNE K 2
/1() AO /1() Mı AO
00 00 00
07 07 07 07 07
A8 A9 M A8 AS
11emd 1 M(M0RY 2 MEM0RY 3. MEMORY 4. MEM0RY
M !KB 1KB 512B sus
a a CE a
R0
RD RD RD RD
WR
ORNE K 2
-rmı
OOOOH O
AlO
O
I A9
o
1 AS
o
A7
o
A6 I As rmıı+uw Al
o o o o
AO
o
1
1KB
03FFH
03FFH O O
0400H O 1
11111
OIFFH
,:aaa=aa::a=aaa:~=~:==:;;;;;;=a:::aa=aaa:~==::==~;:;a;=aa::a=aaa:
07FFH O 1
0800H 1 o o o o o o o o o o
5128
OlFFH
09FFH 1 o o 1 1 1 1 1 1 1 1 1
OAOOH 1 o 1 o o o o o o o o
512B
OlFFH
OBFFH 1 o 1 1 1 1 1 1 1 1 1
ORNEK 2 Çıkışlar = Düşükke n Aktif
(Act ive Low )
1. MEMORY
oo ➔
09 1KB
2. MEM ıRV
ı➔
1KB
010 3. MEMORV
512B
2-4
OECOOER
4. MEMORY
011- ·11· 512B
ORNEK 3
------------------
1000H
lFFFH
2000H
o
o
o
o
o
o
o
o
o
o
o
1
1
1
1
o
o o o o o o o o o o
..i
2FFFH
o
o
o
o
1
1
o
o 1 1 1 1 1 1 1 1 1 1 1 1
1
N
4000Hı o 1 o o o o o o o o o o o o o o
cı
o 1 o o ~
4FFFH o 1 o o 1 1 1 1 1 1 1 1 1 1 1
8000H 1 o o o o o o o o o o o o o o o
1 o o o ~
s::
SFFFH 1 o o o 1 l 1 1 1 1 1 1 1 1
ORNE K 3 4K
RAMl
lFFFH
u
00 - 07
> 2000H
4IC
D D D
<)
RAMZ
2FFFH
~ ~
8 'b 8 o 8 'b 8 o 3000H
AO
~
AfJ Al) N) Al) 3FFFH
4000H
4K 4K 4K 4K
11AM 11AM G/C AOM
4FFFH
Ali Atı Ali Ali 5000H
All
7FFFH
::ı ~ ::ı ~ ::ı ~ ::ı ~
8000H
- -Al
Al 8FFFH
Al 9000H
Al
FIHH
ORNEK 4
OOOOH - OFFFH
CE
0000H
4K RD
RAMl
OFFFH
1000H
lFFFH
•
IIAIIZ
1
1000H - lFFFH
CE
74LS138
2000H
Al2
Al3
2FFFH 2000H - 2FFFH
A14
CE
3000H
'
3FFFH
4000H
CE
FFFFH
INTEL 8085 ZAMANLAMA DÖNGÜSÜ
SORMAZ
0pcode, TS vev.a T6 durumlarının ~erekli olup olmadığını bilmek için kodu çözülür,
eğer gerekil degilse µp bir sonraki ışlemi gerçekleştirir.
INTEL 8085 Zamanlama Döngüsü
CLK
IO I t;\
IO I M• O Sı 1 So O
S ı. So
Aı~
UnspecıfıOd
01
AOo Oaıa
ALE
;~r~->t
• Bellek işlemi olduğundan, 10 / M (bar) A,;::::x PC,.• ...a Ao
azalır.
• T2 sırasında1 ALE azalır, WR (bar) azalır ve
Adres AD0-A07'den kaldırılır ve ardından 1
8155 (I/O)
•SV
vcc
8155 ( 1/0)
AOO-A01
.....
G;illl
RtH10ut
C!:l
.......
,_ --· -· t;ô
..,
xı
(T.I
CJ;J
·--
"' "' &il
"' Ali
" "'
ı o o o o o o .,., arır.ı
"'
ı o o o ) 1 o o 1 ....,.. ""'"
ı o o o o 1 o 1 o POATI
ı o • o • o ı 1 O< '°'TC
,..,.
ı o o o o ı o o ... ......
~~)
,...,.
ı o • o o ı o ı ....
·-·
fQ GND
•SV
O-ip
sde<t
ackress
lnes
_,
Address
lnesto
port
HEX
ackress
Selected
1'0
PAO-
PA7
A7 Af, AS A4 Al A2 Al >IJ
l o o o o o o o t, PORT
A
PO).
PC7
o POPT
1 o o o o o 1 81H
B
o o o o PORT
1 o 1 o SlH
C
0-.,
l o o o o o l 1 83-1 ..ıect
'09''"'
ADC
ADC
DAC
DAC -~,
vo
ı to v Convt-rtor
~ CK:a CA!II.JfC
MİKROİŞLEMCİLERDE YAZILIM
Mikroişlemcilerde Yazılım
• Assembly Dili
• lntel 8085 komut kümesi
------(J
11
• Adresleme türleri rJ ıl
• Komut ve veri formatı
MAKİNE DİLİ
Makine Dili
• Bir bilgisayarda tüm işlemleri işlemci gerçekleştirir ve işlemcinin
de, makine dili denen kendine has bir dili vardır.
• Her komut satırı m i kroişlemci tarafından sırayla yürütülür.
• Her işlemci için komut kümeleri farklı olabilir.
• Komut satırı makine dilinde O ve 1 lerden oluşur.
• Bir assembly dil programı çevirici (lngiliıce "lngiliıce: assembler" ) olarak adlandırılan faydalı bir
program tarafından hedef bilgisayarın makine koduna çevrilir.
• (Bir çevirici bir derleyiciden (l n ~: compiler) farklıd ı r ve genellikle " lngilizÇ!': mnemonic" ifadelerden
makine komu1Iarına teke tek (izomorfik) çeviriler yapar.)
• Bir assembler'ı
derleyiciden ayıran en önemli özellik birebir dönüşüm ya pmasıdır. Derleyiciler kodun
tamamını okurlar
ve kodun tamamını anlamlı bir programa dönüştürürler. Kodun her sat ırını t ek tek
okuyan ve uygulayan programlara ise yorum layıc ı denir.
Assembly Dili
• Makine dili ve assembly dilileri;
• Mikroişlemciye özgü
• Düşük seviye diller
• Çevirici (Assembler)
• Makine bağımsız diller
• Yüksek seviye
• C++,C, JAVA ...
• Derleyici ( Complier)
Çevirici - Derleyici
-
Assembly Dili
l itl~
dosseg
.aodel , . .u
.staık ıaoh
ıı.110 world Progr
C Dili
.d.ıt•
1>4!llo_...suge db ' tıtllo ı«>rldl ' ,M, ~h, ·s·
XCH!: 1 XTHL 1
Aıithıaetic inıhuctionı:
türetilmiştir. ~ ~ ~ _ ! ! . ! ! J ~ AARI
~ aı.c 1~ ...!!!J ....!!!...J 2!!!.J ...!2!J
Movc Logical inıııuctionı:
Assembly Dili
[;;_iket: [
• Kom t satırının ilk bilgisidir ve sembolik isimlerden oluşur.
• Program içerisindeki belirli i ş levlerin gerçekleştiği bölümlerin başlangıcını
göstermek amacı ile kullanılır.
• Etiket, program a l anının kolaylıkla bulunmas ını ve hatırlanmas ını sağlar.
• Etiketlere isim verirken a ş ağıdaki semboller kullanılabilir.
• Alfabetik karakterler : A'dan Z'ye ve a'dan z'ye (assembler büyük küçük harf ayrımı
yapmaz)
• Sayılar: O'dan 9'a kadar sayısal değerler (ilk karakter olamaz)
• Özel karakterler: soru işareti(?), alt çizgi LJ, Dolar($), at(@)
• Etiket ismi olarak mikroişlemci komut setinde tanımlı olan bir komut ismi verilemez. Yine
etiket bir harf ile başlamak zorundadır.
Assembly Dili
~ i k olarak ta adlandırılan,
komut seti içerisinde
mik roışlemcinin belirli bir işi yapmasını sağlayan tanımlanmış
sembollerdir.
Komut alanına etiketten sonra 1 boşluk ya da tab ile girilir.
• Operand·
u alan, işlemciye işlenecek veriyi ya da verinin nerede olduğunu
gösterir.
Tek başına bira
Bu alan hedef ka na eklinde tanımlanı~
Burada e ef ve kaynak alanı birbirinden ',' le ayrılır.
Assembly Dili
• Veriler farklı formatlarda gösterilebilmektedir
• ASCII _ .___
___
~ Hexadecimal
r. Oed mal -
- ~_!!lm_
...,Y!ŞaretIT tamsayı (Signed lnteger)
• İşaretsiz tamsayı (Unsigned lnteger)
Assembly Dili
Mi k ro iş lem c i Birimleri
8080
IACCUMULATORI FLAGS 8085
HIGH LOW
8 C STACK POINTER
INSTRUCTION
OECODER
o E PROGRAM COUNT ER
8-biı 16-biı
bidircct lonal address bus
daı.ı bus
CONSTANT VARIABLE
DAT A DATA
STACK
KAYDEDİCİLER
Kaydedicil er
-)
Kaydediciler
• Genel amaçlı kaydediciler
• B,C,D E
ift olarak kullanılabılirler
• Akümülator
• ALU ➔ A
• 8 bit
• Aritmetik ve lojik işlemler
• Sonucun depolandığı yer
Kaydediciler
--
• Bayrak kaydedicileri
---- -
• SıfırJZ) -
-
~ de(CY___
~ fü
~şlik P
-
,,.---. Yardımcı Elde (AC)
..,------
Kaydediciler
fnlioe Codir\l Subroutint
• Program sayıcı
• 16 bitlik ı ı
• İlgili program satırının adresini
tutar
ınline
I
routinc
tnllr.e rouıint
IL~
: : ======~ kılıfouılno
• Yığın gösterici CALL
• 16 bitlik I
k,llnc ,ouıınr CL~
• Hafızada yığının oldu ğu bölgeyi
i şaret eder. 1 1
8085 KOMUT SETİ
Veri Transferi
ARİTMETİK İŞLEMLER
Aritmetik İşlemler
• Ekleme ;ADD,ADl,ADC,ACl,DAD
• Çıkarma ;SUB,SUl,SBB,SBI
• Arttırma / Eksiltme (+-1) ; INR,DCR, INX,DCX
Aritmetik İşlemler
• Herhangi bir 8-bitlik sayı
• ADI 32H ..,. ; A = A+32H
• suı 32H ; A = A-32H
• Bir kaydedicinin değe rini
• ADD B ; A = A+B
• SUB C ; A = A-C
• DAD B ; HL= HL+ BC
• Bir bellek bölges inin d eğeri
• ADD 0200H ; A=A +Bellek [0200H]
• ADD M ;A =A +bellek[HL]
• Arttırma / Eksiltme
• INR D ; D = D+l
• DCR E I· E = E-1
;ANA, AN L
;ORA, ORI
.::::::,
;XRA, XR I
----
~ .-=
• Döndürme
-- ---
;CMP, CPI
;RLC,RRC,RAL,RAR
• Değil ;CMA (Akümülatörün değilini alır}
• Bayrak Değili ;CMC (Elde bayrağını değiller}
• Bay rak Setleme ;STC (Elde bay rağını 1 yapar)
Mantıksal ve Bit İşlemleri
• ANA B
• ORAC
• ORI 30H
• XRA B
•CMPC
•CMA
• CPI 30H ; Akü ile 30H'ı kıyasla
• arş ılaştırma komutla rı Z, CY, ve S bayrakları kurar
KARŞILAŞTIRMA KOMUTU
Karşılaştırma Komutu
Elde bayrağı
~ Elde bayraö,
5
Akü
4
ez;,1, ı >• l l
Akü
2 1 ~
Dallanma
• JUMP _.
-
~ Koşu la Bağlı (NZ,Z, NC,C,PO,PE,P,M)
• Koşu l suz
• JMP
• CALL-RETURN
• Koşu l a Bağlı
• Koşu l suz
• CALL
• RET
Da llanma
~
NZ
z
NC
Noı Zcro (Z =O)
Zcro (Z = 1)
No Carry (C =O)
BJC CC
Reıurns
RC (Carry)
C Carry (C = 1) JNC CNC RNC (No Carry)
PO Pariı y Odd (P = O) JZ ez RZ (Zcro)
p
PE Parity Evcn {P = 1)
Plus (S = O)
JNZ
JP
CNZ
CP
RNZ
RP
(Not Zcro)
(Plus)
M Minus (S = 1) JM CM RM (Minus)
JPE CPE RPE {Parity Even)
a po Opo RPO (Parity Odd)
Dallanma
• JZ Adres (Jump on Zero)
• Zero bayrağı 1 ise adrese git.
• JNZ Address (Jump on NOT Zero)
• Zero bayrağı 1 değil ise adrese git.
• JC Adres (Jump on Carry)
• Elde 1 ise adres git.
• JNC Addres (Jump on No Carry)
• Elde 1 değil ise adres git.
• JP Adres (Jump on Plus)
• İşaret bayrağı 1 değil ise adrese git
• JM Adres (Jump on Minus)
• İşaret bayrağı 1 ise adrese git
Dallanma
• JC 2080H ; Elde Bayrağı 1 ise 2080H adresine git
• JMP 2050H ;2050H adresine git
• CALL 3050H ; 3050H adresini çağır
• RET ; Geri Dön
• CNC 3050 ; Elde bayrağı O ise alt yordam çağır
• RZ ; Sıfır bayrağı 1 ise geri dön
JUMP - CALL
5ERIAL
JUMP CAll
NO.
1. Program kontrolü ana programdaki bir hafıza konumuna Program Kontrolü ana programın bir parçası olmayan
aktarılır bir hafıza konumuna aktarı lır
4.
Program Sayacının (PC) değeri yığına aktarılmaz Program Sayacının (PC) değeri yığına aktarılır
7.
Bu komutu uygulamak için 10 T durumu gereklidir Bu talimatı uygulamak için 18 T durumu gereklidir
8. Bu komutu uygulamak için 3 makine döngüsü gereklidir Bu talimatı uygulamak için 5 makine döngüsü
gereklidi r
Dallanma
Kullama BelleAI
4080 LXI-- Alt Rutın
1F
n,
4400ı--------~
1
1
1
1
:
4100
4101
...,
nn
4102 AA RET
4103
:
1
e210 ,___ _ _o~J_ __
1 621E,___ _~4~1~----<
1
SP ""'621F - - - - - - --
.ı
UIT
MAKİNE KONTROL İŞLEMLERİ
; Programı Durdur
; Bekle
; Kesme Aktif
; Kesme Pasif
; Kesmeleri kurmak için
• RIM ; Kesmelerin durumunu okumak için
SIM - RIM
SiM - RIM
-- - -.. ·-
--·-
0..-e,1
'" ..........
.. ..
1 Sftılllııl lıı:
_..,_
........ ----- ~==1 .ıctaııınaııııao.-1
INTEL 8085 KOMUT KÜMESİ BÖLGESEL GÖSTERİM
lntel 8085
ADC
ADDI
SUB
SBB REGM
• ADiı
ACI
SUI
• SBI D
ANA S ANI S
Komut Kümesi XRA XRI
ORA ORI
Bölgesel Gösterim CMP CPI
RI.C RAL RRC
RAR CM~ DAA
~~ REGM3
r-fccUM'ULATOR! FLAGS HIGH LOW
MOV REGM3,REGM3( B ! C STACK • POINTER
1 1 o 1 E PROGRAM COUNT[R
LXI REG 16,D1
H L
ADRESLEME MODLARI
Adresleme Modları
• MOV A, B
• ADD C
• INR A
İmalı Adresleme
• iN 07H
• OUT 21H
VERİ FORMATI
Veri Formatı
Programlamaya Başlarken
Problem – Analiz
• Problem
• 8085 kullanarak assembly dilinde D ve E kaydedicisine akta rılan 8 bitlik iki
sayı yı toplayarak C kaydedicisi ne 8 bitlik sonucu kaydediniz. Taşma varsa
dikkate almayınız .
• Analiz
• 8 bitlik iki sayı toplanacak
• Assembly dili kullanılacak
• Sonuç C kaydedicisi ne kaydedilecek
Algoritma
• Algoritma
• iki sayı nın D, E kaydedicisinde olduğunu düşüneli m
• İ kisini ekle
• Birini A kaydedicisine transfer et
• Diğerini Aile topla
• Sonuç l arı Kaydet
• A➔ C
• Programı Bitir
8bitlik 2 sayı toplama
• M VI D,22H
• MVI E,33H
,.,,:ı:m,+
• MOVA,D
• ADDE
• MOV C,A
• HLT
~ ,ı 0000
0001
MVI 0,22H 16
ll
,ı 0002 MVI E,33H 1E
000) ))
,ı 0005 ADD E 83 4
---
,ı 0006 MOV CA 4F 1 4
,ı 0007 HLT 76 ı
1 MVI O
oaıa2IHEX Kodu
lıvte 16
Blnary
00010110
nstruct ı on QNode q:ıerarıd Bı(tes Machıne"<y:les T•states
,00 A00 Reı,,Mem ~J l,2 4,7
MVI E byte lE 00011110
ADI
HLT
,Dl
HLT
3-bıt. data
Nen•
2
,.
2 7
5-
MOV A o 7A 01111010
MOV M()'v Rd.As
wov MOV
MOıl MOıl """'
RdM
ADD E 83 10000011
hM
MV\
..,,
Mil =lea,.Oata
Me..,,, Oeıl• 10
MOV C A 4F 01001111
HLT 76 0 1110110
Regısters:
f
5tadt Pointer(SP)
T)pe vaıue
0000
Hemo,y P-ter (Hl) 0000
Program SQtııs Word(PSW) 5504
Progrıım Count.,r{PC) 0008
Clodt Cyde Counter 33
stnıctlon ounter 6
8bitlik 2 sayı toplama (taşma var)
• Algoritma
--
• D ve E kaydedicilerine
-~ ,--._
kullanıcıdan ve rileri al
\
•~
• A ➔ c ---
E
/'/
"\ JdJZ-
~va~_=j_+_ı_ _\ / ·
- •
D,E YÜKLE
B Temizle
0->A
KOPYALA Doğru •
B'yı arttır
A=A+E
E TOPLA
◄
•
-
A->C
KOPYALA
8 Bitlik 2 Sayı Toplama
• MVI D,98H v 0000 MVI D,98H 16 2 2 7
0001 98
• MVI E,A0H v 0002 MVI E,A0H lE 2 2 7
• MOV A,D 0003 A0
--
• JNC END
• MVI B, OH
• INR B
v
v
0007
0008
0009
000A
JNC END
MVI B,0H
D2
OD
00
06
3
2
3
2
10
7
• END: HLT 000B 00
v 000C INR B 04 1 1 4
v 000D END HLT 76 1 2 7
Regısıers:
Regıster Value 7 6 5 4 3~ 0
Aa:umulııtor 38 o o 1 1 1 O O O
Reo,n.,,e 01 o o o o o o
Reıım.,,c 38 o o 1 1 1 o
Reıı,ıtttD 91 1 o
Regm.,,E o o
o o o o
o o o o
M~ o 1
s p
KOPYALA KOPYALA
• 5040H
ikinci sayının ılk lkınci sayının
•
0000 13
" LDAOlOO 3A 3 4
OOOA Ol
• 0103H = S0H " 000B LDA0101 3A 3 4 13
oooc Ol
0000 01
OOOE MDVB,A 47 1 4
•Sonuç: OOOF LDA0103 3A 3 4 13
0010 03
• 0120H =? 0011 Ol
0012 ADCB 88 1 1
" 0013 STA0121 32 3 4
4
13
" 0014 21
ooıs Ol
HLT 76 1 2
" 0016
-
·--~-~---~---~..
......
JG
....
..,,
"'
il
• 43H+43H+43H+43H+43H+43H+43H
• 07H+07H+..........................................................................+07H+07H
• 0101H = 07H
• 0100H = 43H
8 Bit 2 Say ı Çarpma 0000 LHLD0100 2A 3 5 16
0001 00
0002 01
• 0101H = 07H " 0003 XQ-IG EB 1 1 4
0004 MOVC,D 1 1 4
• 0100H = 43H
" 0005 MVID,00 16
4A
2 2 7
" 0006 00
0007 LXI H,0000 21 3 3 10
" 0008 00
• 0ll0H= DÜŞÜK DEĞERLİKLİ 0009 00
000A TKR DADD 19 1 3 10
• 0lllH= YÜKSEK DEĞERLİKLİ
" 000B DCRC OD 1 1 4
" oooc JNZTKR 10
" 000D
C2
0A
3 3
000E 00
000F SHLD0ll0 22 3 5 16
0010 10
0011 01
0012 HLT 76 1 2 7
"
BCD sayı toplama
l 0001 000:
2 0010 0010
1 Elde
59 0101 1001
-
3 0011 001~
6 OllO 0110
1001 0010 - >9
7 oı:ı on:
8 1000 1000 0110 - +6
- -
9 1001 100'.
oocı 0101
BCD Sayı Toplama
0000 o~ ~ ı! o! o~! S: 2
~o~ ı! ~ ! 3;o~ o~~:
0010 ~ 03 01 ~ 00~ 00 00 00 00 00 00 00 00 00 00
- --
oowoooooooooooooooooooooooooooooooo
~000000000~00000000000000000000~
0040 ~ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-
" 00~00000000000000000000000000000000
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0090 oo oo oo oo oo oo oo oo oo oo'oi)too ·oo oo oo oo
- ~_____ OOA0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
,_ -, ~
""--~, 00~00000000000000000000000000000000
_._
,-(-.(il'(}
İctıdı(....[ - ~000000000000000000000000000000000
0000 00 00 00 00 00 00~ 00 00 00 00 00 00 00 00 00
oorooooooooooooooooooooooooooooooooo
oorooooooooooooooooooooooooooooooooo
1
0100 74 34 os 01 oo oo oo oo oo oo oo oo oo 00 00 100
0110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Diziyi toplama
Diziyi Toplama
-~r--------- 0010
oowoo
0040 oo T
05 C2 08 00 32 10 01 79 32 11 01 76
000000~0000000000000000
003000000000000000000000000000000000
oo oo oo oo oo oo oo oo oo oo oo oo oo oo oo
--··,_ııı
00~00000000000000000000000000000000
0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 001
0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
1,,_-
!
= .,c-:_-:_-:_-:.':.':.':.':_-:_-:_-:_::_-::_-::_-::_-:_~~c:_-::__;:;_:.._-_-_-_-'_'-'_
Sl-:ı:Pıııintıef(SP) ,...
.008000000000000000000000000000000000
~000000000000000000000000000000000
1
~ . . . . . . (Hl) OOAO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
.....,_..._.W....PSW)
00~00000000000000~0000000000000000
ı=~c.:::)
~000000000000000000000000000000000
_._"
- - - -·000000000000000000000000000000000000
~OOEO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
~OOFO 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0 100 05 0 1 02 03 04 00 00 00 00 00 00 00 00 00
Loııo F o oo oo oo oo oo oo oo oo oo oo oo oo oo
lo 120 oo 00 100 oo oo oo oo 00 100 oo oo oo oo oo]
Maksimum Minumum
Maksimum/ Minimum
1. Maksimum sayı B kaydında, minimum sayı
C kaydı nda sal<lanır.
(0100 01 05 08 09 05 02 03 0A 1A 07 00 00 00 00 00 ~
2. D kaydında sayaç kaydı tutulur.
3. Akümülatöre ilk eleman yüklenir.
4. Akümülatör ve B kaydını karşılaştırılır.
5. CY=O ise akümülatörün içeriği B'ye aktarılır.
6. CY=l ise akümülatör C kaydıyla CMP:
ka rşılaştırılır.
7. CY=l akümülatörün içeriği C'ye aktarılır. if (A) < reg/mem: CY = 1.
8. D sayacını bir azalt if (A) = reg/mem: Z=1
9. D> O ise akümülatöre bir sonraki eleman if (A) > reg/mem: CY=O ' Z=O
alınır. 4. satıra git.
10. D = O ise, B ve C kaydın ı bellekte saklayın
oo ...,:noo
' "''ccoı ))
'(;l,
Maksimum/ M in imum lCOl
'' ((O)
CCO.t
MCVll.M
lıolOVC.M
"""
lllh ad resine kaydediniz.
.,..
((0, 1': lııllfl DA
00
10
CMP:
((gf
"
ccıı MY✓ C.:ı.
'
tt (A) < reg/mem: CY = 1. ' CCl2
ccu "'" '"''
tt (Al= reg/mem: 2=1 '' ((14
OU<O
"'"'°' Cl 10
oo ..,lıııı
ccı, ll
CCH
"
'' OOIA
0010
hılO\l ~J,!! 7l
Dizi işlemleri
Dizi İş l em l eri
• Hafızadaki veriler küçükten büyüğe doğru nasıl sıralarız.
Gecikme Delay
GECİKME (DELAY)
FF
• TO = döngünün d ışındaki toplam 0001
>J OOOl LOO~ L>LH l 01)
T-State
>J 0003 JNZ LOOP cı 10
• TL= döngünün içindeki toplam 0004 O)
T-State 0005 00
>J 0006 HU 76
• JNZ döngüden ç ıkarken 7 T-State
G E CİK ME (DELAY)
• TO = 7 T-State
• TL= (255 x 14)-3 = 3567 T-State
'i 0002 LOOP DCRC OD 1 1 4
• Tdelay = 3574 'i 0003 JNZLOOP (2 3 3 10
0004 02
0005 00
• TO = 10 T-State
'{ 0000 LX I 8,1000 Ol 3 10
• TL= ( 24 x 4096 ) - 3 =e 0001 00
State 0002 10
'{ 0003 LOOP DCX8 06
'{ 0004 MOVA,C 79
0005 ORA8 80 l
• Tdelay = 98311 T-State '{ 0006 JNZLOOP C2 3 10
= 65 .868ms
GECİ K ME (DELAY)
ARDUİNO
• UIN~- · ·
1 1:: - ı .ı __
1 ~ 1 1
Kullanımı kolay,
açık kaynaklı donan ı m ve yazılımdan o l uşan,
elektronik protot ip geliştirme ortamıdır.
Aruino ekibi
Massimo Banzi, Oavid Cuartielles, Tom lgoe, Gianıuca Martino, ve David Mellis
KULLAN/MI KOLAY
- Alt seviye mikroişlemci bilgisi gerektirmez.
- Zengin kütüphane desteği
- 10 dakika içinde ilk uygulama gerçek l eşt irilebilir
PROTOTiP GELIŞTJRME
- Kolay bir şekilde elektronik tasarımlar gerçekleştirmek
mümkün.
- İnteraktif sistem tasarlamak için ideal.
INTERAKTIF SİSTEMLER
- Çevresiyle etkileşime giren ve belirli girdilere göre
çıktılar üretebilen sistemler
- Yapay zeka olarak düşünü l ebilir.
•
ARDUINO
ETK.İ
SENSÖRLER
DIŞ DÜNYA
lnteraktif Sistem
EYLEYiCiLER
TEPKi
✓ Donanım
✓ Geliştirme Ortamı
✓Topluluk
DONANIM
UNO
IVlt.uA
Arduino Due
Mini/ Mini Pro / Nano
TOPLULUK
Neleri öğrenmeliyiz?
✓ Devre Kurma
✓ Breadboard kullanımı
✓ . ✓ Temel komponentler
✓Programlama Elektron ık : Ieırıel ~n~log ve Dijital Elektronik
Arduino kurulumu
1 ve O
•
- lll)
RSf
M SV "'"Dil
012
l
ıoıv AIOUino 010
11/C
UDi
GNO
-
sa.
•Arduino UNO üzerinde 15 dijital giriş çıkış pini bulu •ıor
•Bunların 6 tanesi PWM özelliğine sahip ( daha sonra
göreceğiz)
•Dij iıtal
pinleri kullanmak için önce giriş veya çıkış
olarak ayarlanması gerekiyor.
✓Pin_no + 0..•• 13
Dijital Çıkış Vermek İçin:
Yakılıp sonduruluyor
void t () {
ıı the cligıtal as an outpu
pın
onnected on most. Arduıno bo reis
pinMode(l3 , OUTPUT);
}
v oid () {
di.gi tali-. , (13 , BIGH) ; il LED 'i yak
delay(lOl. , , il Bir saniye bekle
di.gi talWri te (13 , LOW); il LED ' i söndür
delay(lOOO) ; il Bir saniye bekle
}
LED
• LED: Işık yayan diyot
DİRENÇ RENK
KODLAR/
•• ••
LED YAKIP SONDURME
-1
- -
R$T
10 lt9'
M SV
Arduino
vırı
Dil
Dil
011
010
-
N/C o,
°'07
1
1
D6
DS
ı,/J
••
A2
i
l>I
Ol
02
-.
Al
M i
Ol
DO
.,. . ...,~,
LIOI
A5 sn
~
SDA
-- --
LED YAKIP SONDURME
Karaşimşek
✓ Arduino'ya 6 adet LED bağlayarak meşhur "Karaşimşek"
Karaşimşek
................................................................................
"
............... ......... ... ............ ............ ......... ........................ ............ .......... ... .......... ... ......
.......................................
• • • • • • • • • • • • • • • ♦ •••••••••••••••• ♦ •• ♦ •
7 segment gösterge
,.,, ARD ,
• - UI NO • ·
11 = - •.'- 7 Segment Gösterge
-····
ı o ' •
8dtoNC dol
S.""n-Segmtnl Dııpla)'
7 Seament Gösterge
::::: ::::: ::::: ::,:: :::::
::::: (::::: ::::: :::
.::::::::::::::::::::::
. .. . . . . . . . .. . . .. . . . .. .. l. .:·. ~:
.... . . . . ... .. . . .. . .... . . . ı .~ .· ~=::::::::::
... ........... .
.. .. . . ... . .... ....... ... .
::::::::::::::::::::::B.:::... ............. .........
.
.. .. .... .. .. .. .. .. .. .. .. .. .. .. .... .. .. .. ....
... . . . ...... ... .. ......... .
......... ..
..,.~ . . .
.. .. .... .. .. .. .. .. .. .. .... .. .. .... .. .. .. .... .. . . ......... .
Arduino dijital pinleri maksimum 40mA akım sağlar. Ortalama 20mA yeterli.
.. "' -
..-
- ....... -
Artlulno
ou
ou
- - Aıdulno
on
.....
00
..
t ..
.
•
1:1 .. --
.. ..
ı .. -
..
1 .. -
..., --
.......
.,.. 1
... 1 ..... ..
~
.... .. -
- -
00
Buton Okuma
BUTON OKUMA
void loop () {
buttonDurumu = digitalRaad(butonPin) ;
/* Bu on b b tonun du u H H l
u r d ın HI y ıyo
(buttonDurumu = ) {
.JigitalWrite(ledPin , );
}
else {
digitalWrite(ledPin , );
}
}
Butonlardaki problem
Buton/ardaki Problem
✓ Çıt - çıt (push) butonlar mekanik yapılarından
dolayı kararlı çalışmamaktadır.
Analog-Digital
Analog
Dig ital
dill rl~ tb
9LJF 9LJP
o.ı
..,,..,
- -
RSr
ıoltff
M fV
Arduino
"'" Dil
ou
--
Dil
010
NIC Ol
Dl
ı .,. -
01
D1
.... .... .... 1()
ı °'
41 Dl
Dl
Dl
DO
..
sa.
50<
Potansiyometre Okuma
Jı ı gerııım okunuyor*/
void t () {
r 1 başlat
• rıaı .
}
void () {
analogGiris - ( n0) ;
gerilimDegeri - (analog( ~ . / 1023.0) * 5.0 ;
( "Analog deg.__ . " ) ;
s rıal. (an alogGiris) ;
S.rial ( "Gerilim degeri: ") ;
Sar (gerilimDegeri) ;
(1000 ) ; // Bir saniye bekle
}
-·
Analog Sensörler
·--· ' •
.
✓ Analog girişler ile analog çıkış üreten sensörleri
Arduino' ya bağlayabiliriz.
✓ LM35 analog çıkış veren bir sıcaklık sensörüdür.
✓ Bir santigrat başına 10 mV çıkış üretir. (20 derecede
200 mV)
T0•9Z
Pl aıtJc
Pac-k191"
Analog Çıkış
PWM
PWM
V V
-
- - Avg.
--- +--- ..
Avg.
,,.,_.,.._ __....____......ı_........._ ,
( ) -,---)._..__._~...___....__
T ( a) T Cb>
PWM
_,_°". :w___n,.__,n,.__,n ı
_,__ :D u u u ~
,.. , ARD ,
• - UI NO •.
• 11
- : •
1 - ••
<:C Analog Çıkış
••• •
✓ RGB LEO'ler
üzerinde 3 ana renk
(Kırmızı - Yeşil -
Mavi) bulunduran
LED'lerdir
✓ Her bir pini ayrı bir
LED gibi sürülür.
✓ Ortak anot veya
ortak katot tipleri
bulunur.
RGB LED
1-Kırm,zı (-)
2 • Ortak Anot (+)
R 3 - Yefill ·)
4 - Movi (-)
DC MOTOR SÜRME
✓ Translstör'lerin BJT,
MOSFET gibi tipleri p N p
bulunur.
....
✓ Burada BC547 BJT
kullanacağız.
✓ NPN transistör
Emıtr,r Cotıecıor
J 1 1
• ~·" U I N □ •.
11 = - ,:,- DC MOTOR SÜRME
DC_. 12V
NPN -
Seri Haberleşme
Seri Haberleşme
Senıl
-
USART Modülü üzerinden RS232 olacak.
Arduino-PC
iletişimi
□
Arduino
Bilgisayar
USB kablosu
Seri iletişim pinleri
USB-Seri
Dönüştürücü
TX
RX
ASCII tablosu
ASC/1 Tablosu
O O 000 IIUL (-11) ,,u, t '4 4J 100 0'4: • i N:
1 1 001 (etact o t beedl.nc;ı) 33 21 041 dll; 65 41 101 , , 65: l • f'1; a
2 2 002 llX (nan ot totl 34 U 04l •fl4: • '6 42 102 d 66; 11 cf Pe; b
, > ooı nx ı..s of tat) u 21 04l , ,n, • n 41 ıo, on: c cın :
4 4 004 ltclT (-S o t tnnauucını 36 24 044 • 1 36; 1 61 44 104 41 6'; D 100 84 144 d "lOOı
S S 005 (mqu.ı.ı::y) 37 25 04S &137; ' , , 4S ıos , . ,,: t 101 65 ıu , , 101: e
, , OOC .iat Ieclıno,,1edı,e1 , . '04 ,,,., ,o 4 19' 0 10: r 10: u 1 , ı ıo:, r
7 7 007 L (NUJ 3t Z7 047 cilt: '11 47 101 0 71; G 10) 67 14'1 , t !0l: V
ı 1 0 10 ~ (NCJıspec-e) 40 21 050 • 140: 71 41 110 411l; H 104 6t U0 • 1104; b
J t ou T. ıııou~onc.a.ı tul 41 Z, 051 UClJ 7) 4, 111 ,,,,: 1 10~ '9 ısı "10$: 1
10 A 0U LF (111. 11.M tud, KW 11.M 42 ll OS1 U4l ; • 1c 4l ıu 0 14: .ı ıM u u: 0106: ,
u a on vr
12
n
C 014 r7
D oıs CP
(11truc-a1 tAhl
•ır, Coua Cted, -
cun-.,r
.,...
ccwuıı
c zıı on
44 ZC OM t 1441
45 2D 0S! c l4h
, ı c: •
1,
7S
77
lll 0 '75: I' 107 68 UJ "101; lı:
4C 114 07 ı L lN
US OZ1ı il 109
« 15-4
6D US dlotı a
&llOlı l
14 E 016 SO ab.Ut oııtJ ZE 05' • 146: 71 4t 116 o 7e: il 110 6[ 156 dll0; D
lS r 0ll 1 ılllCt uıı 47 zr on , ıo: " 4r 111 un: o 111 ır ıs, , ,uı: •
1' 10 020 ı.ı: MU hıılı uc. . ı ıo so 120 oıo: , ıı: 10 160 , ,ıızı P
17 11 ozı Del (dffıce CCIDtı:Ol 1) 4J 30 °'° ""''
ll 061 cl49; 81 Si 121 otı: 0 11) 71 ıu dUJ; q
11 12 OU (M"Vıce control zı SO 3Z 062 • f SO; 12 5Z lU 41921 p 114 7l 1'2 l f l14J l
1' il 0ZJ (61Vlc« corıtrol 11 sı ,, on ,ısı, .., s, ız, o e,; s ıu n a, o ıu, •
zo 14 024 DC4 (dffıca c:orıuoJ 41 SZ 34 064 ,ısı: 4 14 S4 124 OW T 116 74 164 "lH: t
Zl 15 025 ıw: (M"Qat:tve --=-ıecıı,ıı Sl 35 065, t IS3ı IS SS 125 , Sı U 11'1 75 16S "lllı u
:: 16 o:e (s,nch, _ tdh l ~4 36 0'6
ss J7 067
054ı
,,ss: 16 86 se ıu , , 1161 v 111 1, 1u •
, ı 11eı
2l n 021 ETB ı-s oc ama. blodrl 17 S7 U7 017; il llt 77 167 c f llt: •
24 ıı OJO c.uı ıcec:uı 5' ,ı 070 fl56; 1 D Si 1>0 o •: X lZO 78 170 "120; X
ıs ı, ,o,ı Dl ı..ı ot wısııaı 51 , t 011 ı U7; t ff .Sf Ul O : T Ul 7P 111 &ll:Uı Y
U u Ol? SU! ı..ı..ua.uı Si ll 012 ılSlı ı ,o SA ıu ONI: Z lll 1A 172 ,ı ıu: c
n a o>> ut
21 lC 0)4 FS
(unııc ı
(hh ı.-puatorl
s, :sı 073
60 X 074
, ıs,:
d60J
: ,ı Si ll) U tl:
,: 5C 134 O tl:
[ il)
124
,.
7C
ın ,, ıu:
P4 c flZ4ı 1
n lD OlS ıvxoı.ııı acpacatocı 61 Jtl 07S c f61 J • n SD ıu ou ı J 125, '1D ns ,,ı:uı
,o u: 036 F"..S (ı_eco rd ıc;:ıantoc) 62 l!: 076 &162; > 94 SE U6 UM; lZ6 '7E 175 dU6:
31 l F 037 (lllltt a~paı:atotl U 3r 077 ıfOJ ,s sr 1n .nsı _ ın ,r 111 11211 cc.
~,.: -.ı..ı.,, ........_
Seri haberleşme örneği
H Orn ği - 1 */
void () {
Serial . begin(9600) ; // b ud r t
}
void () {
Serial . Write("ARDUINO");
delay(l0O0) ;
}
Seri iletişim
ASC/1 Kodları
'A' 65 +
'R' ~ 82
'D' ~ 68
'U' ~ 85
'I' ~ 73
'N' ~ 78
'O' 79 +
il '. "' UINO · ·
11 = - .·,-,
Seri iletişim
...
1 ~ 1 1
, . Serial Monitor
✓ Serial Monitor
Arduino ile iletişim
kurmak için
Kullanılan
Arduino'ya veri iletip
veri alabileceğimiz
bir eklentidir.
Seri iletişim
- -ı ı =- ,:ı:, Seri iletişim
·--.
1 .;;. 1 t
.
✓ . 1
Ofonksiyonu ile seri haberleşmeyi
başlatıyoruz.