Download as pdf or txt
Download as pdf or txt
You are on page 1of 129

. .

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

Büyükl ükl erin Tanıml a nm as ı

• 1 Kilobayt = 1 KB = 103= 1.024 Bayt


Bayt Birimleri • 1 Megabayt = 1 MB = 106= 1.048.576 Bayt
Yaygın önek İkil ik önek • 1 Gigabayt = 1 GB= 109 = 1.073.741.824 Bayt
• 1 Terabayt = 1 TB = 1012 = 1.099.511.627.776 Bayt
Ad Sembol Ond alık İkilik Ad Sembol İkilik
• 1 Petabayt = 1 PB = 1015 bayt
3 210 210
kılobayt KB 10 kıbıbayt KiB • 1 Eksabayt = 1 EB = 1018 bayt

megabayt MB 106 220 mebıbayt MiB 220 • 1 Zettabayt = 1 ZB = 1021 bayt


• 1 Yottabayt = 1 YB = 102 4 bayt
gıgabayt GB 199 230 gıbıbyte GiB 230

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%

260 260 M mega 106 = 10002 ı20= 10242 4.86%


eksabayt EB 1018 eksbıbayt EiB
G glga 109 = 10003 ~ = 10243 7.37%
zettabayt ZB 1021 270 zebibayt ZiB 270
T ıera 1012 = 1()004 2"0 = 10244 9.95%
yottabayt YB 1024 280 yobıbayt YiB 280 p peta 1015 = 1ooo6 :ı50 = 10245 12.59%
E exa 1018 = 10006 'Z'° = 10246 15.29%
SAYI SİSTEMLERİ

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

Sayı Sistemleri ımımı.l!ll•Ell. . . . . . . .lllDIDlmDIBI


Onaltıl ı Sayı Sistemi Onaltılık O 1 2 3 4 5 6 7 8 9 A B C D E F

Ox A F H

M SB {Most Significant Bit)

00
'' LSB (Least Significant Bit)

5 (16) = L
k =- cıo
bk 16k

SAYI DÖNÜŞÜMLERİ

Sayı D ö n üş üml eri


İkilik sayı sisteminin onaltılık sayı sistemine
dönüştürülmesi
ımı
1
b6
o
bS
1
.... ..
o 1
b2
1
bl
1 1

l________ ,____J l__________J


.. Ox
r
A F
r
1111
H
• 1110101111 sayısının 16 bitlik karşılığı nedir?

- - -••111111 1 1O I l O 111111111111

Ox
b2
o
b3
---- A
ol
F
-
H

ONALTILIK SAYI SİSTEMİ

Dnaltılık Sayı Sistemi

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İ

ı) lbyıe: !d lcı.lcı. [cı. lddd.[d,ido)


Kayan N o kta lı Sayı
b) 2byıe: ıdul I r 1 1 1 1 1 jı1,j
Sist e mi •> • bvt• ' .6.LLI 1 11 11 1ı1, 1
Kesirli sayıları bellekte
saklamak için d) 8bvt• ' ...,cı.....ı _....I_.__
, ... I __..___.___.___.___.___.___.___,__.__...ı_ ...
1 __,__!L.:dı,,,,j
kullanılan sabit noktalı gösterimlerde sayını n
virgülden ö nce ve sonraki kısım la, ı iç in sabit
uzunlukta y er ayrılır.

Ç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)

Kayan Nokta lı Sayı


Sistemi
IEEE-754 +andardındaki Floating Point
sayılarının bit d üzeyindeki bellek pay laşımı

Tür s E M Toplam Bias

Haif 1 5 10 ıs

1 8 23 127

1 11 52 1023
5
N ( - 1) Mx 2E 1 15 64 16383

1 ıs 112 128 16383


IEEE - 754

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 =>

5. E=n + Bias 001 101100000000 0000 0000


• S=l ; E=(lOOO 0010) z;
6. S = negatif ise 1 pozitif ise O
M= 001 10110000 0000 0000 0000
Sonuç: 1- 10000010-001101100000000
00000000

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

Mantıssa (23 bits):

OO1 1 O 1 1 OOOOO OOOO OOOOOOO


22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 O

https:ljbi nary-system.base-conversion .ro/


İŞARETLİ SAYILAR

İş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

(a) Circuit symbol (b) Truth table (c) Boolean expression


BUFFER

(a) Circuit symbol


tf: o
1
(b) Truth table
B=A

(c) Boolean expression

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

Karnaugh Haritası (Karnaugh Map)


AB
il '
11 10

=17 1 1
ABCD

o
u
-L__ __J 1 1

i -~-..■ ı ı r-!;:- ~--~-:-~ F


ı '--·'· '
•· r
.·...
'; ,, -·--.
1,, ·'· r ~ 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

Tam Toplayıcı (Full Adder)


4 BİT 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 ı

• Yarım Top layıcı = 4 Kapı


• Tam Toplayıcı =4 * 2 + Or Kapıs ı =9 Mantılsal Kapı
• N bit toplayıcı = 1 YT + (n-l)TT
• 32 Bit top layıcı = 1 YT + 31 TT = 4+9 * 31=283 ka pı
• 64 Bit top layıcı =1 YT + 63 TT = 4+9*63= 571 ka pı
FLİP-FLOPS

Flip-flops

• 1 bit hafızada tutar.


• Gerçekte 5 yada daha fazla kapı
• 1 GB Ram= 8,589,934,592 bit
• 43 Milyon transistor
• 9 entegre * 5 milyon transistor

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.

• Okuyucu ve kaydedici bir manyetik teyp


• Osiloskoplu bir kontrol ünitesi
• Her defasında bir sayı çifti üzerinde aritmetik işlemleri yapan ve sonuçları
aynı işlemi yapan başka bir ünite üzerinde kontrol ettikt en sonra belleğe
gönderen, bir hesaplama ünitesi
• Bir zamanlayıcı her bir hat üzerinde sekiz kelime kapasiteli 64 civalı akustik
gecikme hatlı, i ki setten oluşan, bir çift bellek ünit esi
• Her biri te~ bir kelimeyi tutan, üç geçici depo
• 6000 vakum tüpü, 12000 diyota sahipti ve 56 kW, 45.5m 2, 7850 kg
• 1958'de nokta kaydıra n bir aritmetik ünitesi dahil edildi.

Bilgisayarın Tarihi

• ı nesil : 1945 - 1955 tüp, röle, delikli kart


• il nesil : 1956 - 1965 transistör, delikli kart
• ili nesil : 1966-1975 transistör, Mekezi İşlem Birimi (MiB)
• iV nesil : 1976 - ve üzeri transistör, Mekezi İşlem Birimi (MiB)
• Mikroi ş lemci Kuşağı
Bilgisayarın Tarihi
• 1971 - lntel 4004, tek tümdevreli ilk mikroişlemci olup lntel firması
tarafından üretilmiştir. 740 kHz, 16 pin, merkezi işlemci (CPU), Yol genişliği 4
bit, Transistör sayı sı 2.300, Program Hafızası 4 KB, Federico Faggin
• 1974 i8080 ve MC6800
• 1975 Faggin ve Shima birlikte Z80 mikroişlemcis i ni geliştirm iştir.

Oream Kaydedici Kaydedici Vertyolu Adres Yolu Adr..ı.-


llıllkroiflemcilef
Yılı Sayısı lluyUldUOU Genl'801 ~,oı Kapnltesl
lntcl 1974 8 8 16
8085 2
8 MK
11
Motorola 3 8
1975 8 11 MK
6800 3 18
o
Zllog
1975 "1 H 7 8 16 MK
Z-80 11:

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'

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

• 8051 ailesinin yeni nesil üyeleri endüstriyel uygulamalarda karşılaşılan


ihtiyaçlara cevap verebilmek amacı ile temel mimari özelliklere ilave
olarak, ana l og-sayısal dönüştürücü (ADC), sayısal-analog dönüştürücü
(DAC), darbe genişlik modülasyonu (PWM), ilave hafıza birimleri,
yüksek ça l ışma frekansları, kısır-döngü zamanlayıcısı (Watchdog
Timer) gibi çok çeşitli özellikler~ sahip olarak üretilmektedir.
B i lgisaya rın Tarihi {INTEL)
Max Tech
Year Micro-architecture Pipeline stages
Clock[MHz) process[nm)
1978 8086 (8086, 8088) 2 s 3000
1982 186 (80186, 80188) 2 25 3000
1982 286 (80286) 3 25 1500
1985 386 {80386} 3 33 1500
1989 486 {80486) 5 100 1000
1993 P5 (Pentium) 5 200 800,600, 350
1995 P6 (Pentium Pro, Pentium il) 14 (17 with load & store/retire) 450 500,350,250
1997 P5 (Pentium MMX} 6 233 350
1999 P6 (Pentium 111) 12 (15 with load & store/retire) 1400 250,180, 130
2000 NetBurst (Pentium 4} (Willamette) 20 unifıed with branch prediction 2000 180

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

• Kendi başına iş yapamaz


• Mikro iş l emci, Bellek, 1/0 ve yollar (Veri, Kontrol, Adres)
• Giriş : Tuş takımı
• Ekran : LCD,LED
• Haberleşme : 8 bit RS-232
Mikrobilgisayar

• PC commodre 64, Apple il


• Küçültmek için kapasite ve hızdan fedakarlık

• Bir sistem için Optimum ihtiyaç

•••
••••
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

Mikroişlemcili sistem (Mikrobilgisayar)

Mikrodenetleyici

Mikro RAM ROM


işlemci

Serial
1/0Port Tlmer
COM
Port
MİKRODENETLEYİCİLERİN KULLANIM ALANLARI

Mikrodenetleyicilerin Kullanım alanları

• 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,

dock tnıng and CCW\IICI

VERİ YOLU

Veri Yolu (Data Bus)


BUS lut«rf'aceUıut(BIU)
• İşlemci, hafıza ve çevre birimleri
ExKUbou Uoiı (EU)

arasında veri iletişimini sağlama k


için kullanılır.
ADRES YOLU

Adres Yolu (Adress Bus)

• İşlemcinin program komutlarına ve veri saklama alanlarına erişimi


sağlayan hafıza adreslerini, ROM ve RAM hafızalarına göndermek için
kullanılır.

KONTROL YOLU

Kontrol Yolu (Control Bus)


• Kontrol biriminin ürettiği sinyalleri ilgili çevre birimlerine ve ilgili çevre
biriminden kontrol birimine gelecek sinyalleri iletmek için kullanılır.

CPU BİRİMLERİ VE ÖZELLİKLERİ

CPU Birimleri ve Özellikleri:


• Kaydediciler ve sayıcılar gerek mikroişlemci içerisindeki gerekse de
mikroişlemci ile diğer devreler arasındaki işlemleri destekleyen
devrelerdir. Saklayıcılar CPU' nun ufak birer bilgi depolama birimleridir
ve diğer bellek birimleri gibi ikili (binary) hücrelerden (filp, floplardan)
oluşturulmuşlardır.

• ACCUMULATOR: (ACC, A -Akümülatör) CPU'nun ana saklayıcıdır. Özel


tanımlanmış kaydedici olup, ALU (Arithmetic-Logic Unit) ile yapılan
herhangi bir aritmetik veya lojik işlem sonucunu saklar.
ARİTMETİK – MANTIK BİRİMİ (ALU)

Aritmetik- Mantık Birimi (ALU)

• (Arithmetic Logic Unit- Aritmetik-


Lojik İşlem Ünitesi) Matematiksel
(toplama, çıkarma vb.) ve/veya lojik
işlemler gerçekleştirilir. ALU ya
analoaue anlhmetic unıı I/O an alog ue outputs 1

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

• CLOCK: (Saat Darbesi) Kontrol


biriminin (control unit) zamanlama
darbeleri olarak kullandığı belirli
frekansta saat darbeleri üretir.

~
• 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.

• Bir sinyal alınarak talebe göre


zaman sinya llerine çevrilerek
sisteme dağıtılır.
KONTROL ÜNİTESİ

Kontrol Ünitesi (Control Unit)

• MUX (Multiplexer) ve ALU için


kontrol! hatalarını düzenler.
• Kaydediciler, hafızalar ve giriş­ GiRiŞ .--------. ÇIKIŞ
SiNYALLERi SINIYALLERI
çıkış cihazları için okuma-yazma KONTROL
darbeleri üretir. BiRİMi
• Program sayacıısını (PC) artırır
veya eksiltir. _n_n_
SAAT
• Tüm işlemleri bu birim kontrol DARBELERi

eder ve müdahale yapılamaz!

• IR: (lnstruction Register/Komut Kaydedicisi) CPU' nun koşturacağı kodu


binary kodunda tutan kaydedicidir.
• 1D: (lnstruction Decoder/Komut Kod Çözücü) Komut kaydedicisinde
tutulan bilgiyi tanımlayarak kontrol biriminin doğru zamanlama ve
kontrol darbelerini üretmelerini sağlar.
• MAR: (Memory Adress Register/Hafıza Adres Kaydedici ) Hafızada
okuma-yazma işlemi yapılacaksa ; ulaşmak istenilen bölgenin adresinin
tutulduğu yerdir.
• MUX:(Multiplexer/Çoğul layıcı)
Kaydediciler ad res yolu ve veri yolu
arasında bdgi transferi için yol seçimini
yapan elektronik anahtarlama elemanıd ı r.
Denetimi kontrol birimi (control unit) DATA
tarafından yapılır. GIRIŞ/ÇIKIŞ
• PC: (Program Counter/Program Sayac ı)
Genellikle 16-bit olan PC; programdaki bir
sonra gelecek komutun adresini saklar.
Yani çalıştırılacak komut buradan yola
çıkar. PC'da adres değişikleri yapı l ır, satır
atlanalabilir.
• WR: (Working register/ Ça l ışma RD WR
Kaydedicisi) Bu kaydediciler çeşitli (REAO) (WRITE)

fonksiyonları gerçek l eştirebilirler. Bir kısmı


çeşitli hafıza, bir kısmı da özel fonksiyon
kaydedicileri olarak kullanılır.

YAZILIM

YAZILIM

Yüksek Seviye Diller

Assembly Dili

Makine Dili

Do na nı m
KOMUT İŞLEME MANTIĞI

Komut İşleme Mantığı

control unit arithmetic / • Fetch Cyele: [Gidip-getirme


logic unit Periyodu] Mikro programın ilk
kısmı (iş lem kodu/opcode)
komutun bulunduğu hafızadan
alınması ve CPU'da uygun
kaydediciye konmas ıdır.
• Decede : [Kod Çözme Periyodu]
• Execute Cyele: [Yürütme
periyodu] Mikroprogramın ikinci
kısmı ise CPU'ya getirilen
komutun koşturulmasıdır.

Ö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

• PC'den adres yoluna transfer


• 0000 ->Ad res Yolu'na
• 0000'daki bilgi veri yoluna
• 3A ->Veri Yoluna
• Veri yolundaki bilgi IR'ye yüklen ir
VI.RI VOlU
• 3A->IR
• IR'deki bilgi ID'ye yüklenir
• 3A ->ID

Ö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

ô • PC+l -> Bir sonraki 0002 -> PC


• PC'den adres yoluna transfer 0002 -> Adres Yolu'na
• 000l'daki bilgi veri yoluna 00 -> Veri Yolu
• Veri yolundaki bilgi MAR'ye yüklenir 00 ->MAR
• PC+ 1 -> Bir sonraki 0003 ->PC
• SON

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

• MAR içeriği adres yoluna


1(00 000 ~ - - - ,
00AA -> Adres yoluna
tWlZAS 000 ,-...,..,..--, PC
1 OIIO .............__,
1 00 1 02 1 • 00AA'nın içeriği veri yoluna
~---,
l --JlJ1.. 38 -> Veri Yolu
• Veri yolundaki bilgi ACC'ye
yüklenir
38 -> Akümülatör
VERi VOI.U

MİKRODENETLEYİCİ MİKROBİLGİSAYAR TASARIM YAPILARI

Mikrodenetleyici / Mikrobilgisayar Tasarım


Yapıları
• Bilgisayarın yüklenen tüm görevleri çok kısa zamanda yerine
getirmesinde yatan ana unsur bilgisayarın tasarım mimarisidir.
Bir mikroişlemci, mimari yetenekleri ve tasarım felsefesiyle
şekillenir. Von Neuman ve Harvard olmak üzere iki temel mimari
vardır.
VON NEUMANN (PRİNCETO) MİMARİSİ

Von Neumann (Princeton) Mimarisi


Adres ve
• İlk bilgisayarlar Von Neuman yapısından Kooırol

yola çıkılarak ge liştirilmiştir. Geliştirilen


bu bilgisayar oeş birimden oluşmaktaydı.
Bu birimler; aritmetik ve mantıksa l birim,
kontrol birim, bellek, gi ri ş-çıkış birimi ve
GIÇ
bu birimler arasında iletişimi sağlayan B1111ıu
yalardan oluşur.
• Bu mimaride veri ve komutlar bellekten
tek bir yoldan mikroişlemciye getirilerek
işlenmektedir.
I}
• Program ve veri ayn ı bellekte
bulund uğundan, komut ve veri gerekli
olduğ un da aynı ileti şim yol unu
ku llanmaktadır. Bu durumda, komut için
,..
Proe,ııın

Veri
bir algetir saykı lı, sonra veri için diğer bir Belleği
algetir saykılı gerekmektedir.

Van Neuman (Princeton) Mimarisi

• Van Neuman mimarisine sahip bir bilgisayar aşağıdaki sıralı adımları


gerçekleştirir.

• 1. Program sayıcısının gösterdiği adresten (bellekten) komutu algetir.


• 2. Program sayıcısının içeriğini bir artır.
• 3. Getirilen komutun kodunu kontrol birimini kullanarak çöz. Kontrol
birimi, bilgisayarın geri kalan birimlerine sinyal göndererek bazı
operasyonlar yapmasını sağlar.
• 4. 1. adıma geri dönülür. b

Von Neuman (Princeton) Mimarisi

• Von Neuman mimarisinde, veri bellekten alınıp işledikten sonra tekrar


belleğe gönderilmesinde çok zaman harcanır. Bundan başka, veri ve
komutlar aynı bellek biriminde depolandığından, yanlışlıkla komut
diye veri a l anından kod getirilmesi s ıkıntıl a ra sebep olma ktadır. Bu
mimari yaklaşıma sahip olan bilgisayarlar günümüzde, verilerin
iş l enmesinde, bilginin derlenmesinde ve sayısal problemlerde olduğu
kadar endüstriyel denetimlerde başarılı bir şekilde kullanılmaktadır.
HARVARD MİMARİSİ

Harvard Mimarisi

• Harvard mimarili bilgisayar


sistemlerinin Von Neuman
mimarisinden farkı veri ve
komutların ayrı ayrı belleklerde
Veri
8 bit CPU
.
14 bıt-
Program
Belleği
tutulmasıdır. Buna göre, veri ve
Belleği
komut aktarımında iletişim
yolları da bir birinden bağımsız
yapıda bulunmaktadırlar.

Harvard Mimarisi

• Komutla birlikte veri aynı saykıl


da farklı iletişim yolundan ilgili
belleklerden alınıp işlemciye
getirilebilir. Getirilen komut
işlenip ilgili verisi veri
GÇ belleğinden alınırken sıradaki
Bırunı
komut, komut belleğinden alınıp
getirilebilir. Bu önden alıp
getirme işlemi, dallanma
haricinde hızı iki katına
çıkarabilmektedir. ~
MİKROİŞLEMCİ TASARIM MİMARİLERİ

Mikroişlemci Tasarım Mimarileri

???????????????? ???????????????????????????

G/Ç GIÇ
8l!Ul11 Bııınu

MİKROİŞLEMCİ KOMUT MİMARİLERİ

Mikroişlemci Komut Mimarileri

• Mikroişlemcinin temel unsurları


kaydediciler, veri yolları ve iş
hatlarıdır. Bu unsurların büyüklüğü, sayısı, yapısı o işlemcinin
yeteneklerini belirler ve bir mimariyi diğer mimarilerden ayırır.
• Bir bilgisayarınkomut kümesi, programcının makineyi programlarken
kullanabileceği ilkel emirleri veya makine komutlarının tamamının
oluşturduğu kümeyi belirtir. Bir komut setinin karmaşıklığı, komut ve
veri formatlarına, adresleme m·odlarına, genel amaçlı kaydedicilere,
opcode tanımlamalarına ve kullanılan akış kontrol mekanizmalarına
bağlıdır. İşlemci tasarım ındaki komut seti mimarileri CISC ve RISC
olmak üzere iki çeşittir.
CISC MİMARİSİ

CISC Mimarisi (Complex lnstruction Set


Computer-Karmaşık komut kümeli Bilgisayar)
• lntel'in X86 mimarisine dayalı işlemci serisinin ortaya çıktığı 70'1i yıllarda RAM'lerin
pahalı ve kısıtlı ol ması sebebiyle bu kaynakların tasarruflu bir şekilde kullanılarak yüksek
seviyeli dillerin desteklenmesini savunan bazı tasarım mimarları bir araya gelerek CISC
mimarisini geliştirmişlerdir.
• CISC mimarisinin karakteristik iki özelliğinden birisi, değişken uzunluktaki komutlar, diğeri
ise karmaşık komutlardır.
• Değişken ve karmaşık uzunluktaki komutlar bellek tasarrufu sağlar.
• Karmaşık komut karmaşık mimariyi de beraberinde getirir.
• Yüklenmesinde ve çalıştırılmasındaki düşük bellek kullan ımı bu sorunu ortadan
kaldırabilir.
• CISC mimarisi çok kademel i işleme modeline dayanmaktadır. İlk kademe yüksek düzeyli
dilin yazıldığı yerdir. Sonraki kademeyi makine dili oluşturur.
• Donanım birimlerini kontrol edebilen en basit işlenebilir kodla ra (mikrokod) dönüştürülür
• mikrokod komut gruplarını içeren belleği (tipik olarak ROM) vardır

CISC Mimarisi (Complex lnstruction Set


Computer-Karmaşık komut kümeli Bilgisayar)
CISC tasarım kararları :
• Mikrokod kullanmak
• Zengin komut kümesini oluşturmak
• Yüksek seviyeli komut kümesini o luşturmak

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)

Komut Kümeleri Donanım Mimarisi

• Komutların bir kaynak ve bir • Pek çok adresleme modunu


desteklemesi amacıyla tek bir komut
hedefe sahip olması tarafından karmaşık komut ve deşifre
mantığı yürütülür.
• Kaydediciden kaydediciye,
• Az miktarda genel amaçlı kaydedici
kaydediciden belleğe ve (Belleğe doğrudan erişim)
bellekten kaydediciye komutlara • Çoğu CI~~ ta~a.rı_m!byığın işaretçisi ve
sahip olması Resme yonetıcı s ı gı ı ozel amaçlı
kaydedicileri kendi si kurar.
• Değişken uzunlukta komutlar • Bayrak kaydedicisi: Bu kaydedici, son
içermesi işlemin sonucunun ne olduğunu
işlemciye bildirir

CISC Mimarisinin Üstünlükleri

• CISC makinalar ilk gelişim sıralarında bilgisayar performansını yükseltmek


için mevcut teknolojileri kullandılar.
• Mikroprogramlama assembly dilinin yürütülmesi kadar kolaydır ve
sistemdeki kontrol biriminden daha ucuzdur.
• Yeni komutlar ve mikrokod ROM'a eklemenin kolaylığ ı tasarımcılara CISC
makinalarını ilk bilgisayarlar gibi çalıştırabilirler çünkü yeni bilgisayar önceki
bilgisayarın komut kümelerini de içerecektir.
• Her bir komut daha yetenekli olmaya başladığından verilen bir görevi
yürütmek için daha az komut kullanılır. Bu, nispeten yavaş ana belleği n
daha etkili kullanımını sağlar.
• Mikroprofıram komut kümeleri, yüksek seviyeli dillerine benzer biçimde
yazı labild iginden derleyici karmaşık olmak zorunda değildir.
CISC Mimarisinin Sakıncaları

• İş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

• RISC mimarisi, CISC mimarili işlemcilerin kötü yanlarını gidermek için


piyasanın tepkisi ile ona bir alternatif olarak geliştirilmiştir. RISC'ı IBM,
Apple ve Motorola gibi firmalar sistematik bir şekilde geliştirmiştir
• Bilgisayarların gittikçe daha karmaş ı k hale getirildiği ve hepsinin bir
kenara bıra k ılıp en baştan geri başlamak gerektiği fikrindeydiler
• 70' 1erin ortalarında yarı iletken teknolojisindeki gelişmeler, ana bellek
ve işlemci yongaları arasındaki hız farkını azaltmaya b aşlad ı. Bellek hızı
artırıldığından ve yüksek seviyeli diller Assembly dilinin yerini
aldığından, CISC'ın ba şl ıca üstünlükleri geçersizleşmeye ba ş ladı
RISC Mimarisi
• Prensipler
• Bütün komutlar tek bir çevrimle çalıştırılmalıdır.
• Belleğe sadece " load" ve "store" komutlarıyl a eriş il melidir.
• Bütün icra birimleri mikrokod kullanmadan donanımdan çalı ştırılmalıdır.
Günümüzün RISC yapısına sahip ticari mikroişlemcilerinde genel olarak iki
tarz görülür. Bunlar Berkeley Modeli ve Standford modelidir. Aralarındaki
esas fark kaydedici kümeleri ve bunların kullanımıyla alakalıdır. Her ikisi de
veri ve komutların birbirinden ayrıldığı veriye erişimin paralel yapıldığı ve
komut ve veri uyuşmazlığını ortadan kaldıran Harward harici veriyolu
mimarisine sahiptir. Eğer bu iki akış tek bir yoldan yapılmaya kalkışılırsa,
herhangi bir veri çağırması komut akışını durdurur ve işlemcinin tek çevrimde
işleme hedefine ulaşmasının önüne geçer

RISC Mimarisinin Özellikleri

• Bir çevrimlik zamanda bir komut işleyebilme

• Aynı uzunluk ve sabit formatta komut kümesine sahip olma


• Ana belleğe sadece load ve store komutlarıyla erişim, operasyonların
sadece kaydedici üzerinde yapılması
• Bütün icra birimlerinin mikrokod kullanılmadan donanımsal çalışması

• Yüksek seviyeli dilleri destekleme


• Çok sayıda kaydediciye sahip olması
RISC Mimarisinin Üstünlükleri

• RISC tasarımı olan bir mikroişlemciyi kullanmak, karşılaştırılabilir bir CISC


tasarımını kullanamaya göre pek çok avantaj sağlar.
• Hız: Azaltılmış komut kümesi, kana l ve süperskalar ta sa rıma izin
verdiğinden RISC işlemciler genellikle karşılaştırılabilir yarı iletken
teknolojisi ve aynı saat oranları kul lanı lan CISC işlemcilerinin
performansının 2 veya 4 katı daha yüksek performans gösterirler.
• Basit Donanım: RISC işlemcinin komut kümesi çok basit olduğundan çok az
çip uzayı kullanırlar. Ekstra fonksiyonlar, bellek kontrol birimleri veya kayan
noktalı aritmetik birimleri de aynı çip üzerine yerleştirilir.

• 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.

RISC Mimarisinin Sakıncaları

• CISC tasarım stratejisinden RISC tasarım stratejisine yapılan geçiş


kendi problemlerini de beraberinde getirmiştir. Donanım mühendisleri
kodları CISC işlemcisinden RISC işlemcisine aktarırken anahtar
işlemleri göz önünde bulundurmak zorundadır.

MİKROİŞLEMCİLERDE KULLANILAN YENİ TEKNOLOJİLER

Mikroişlemcilerde Kullanılan Yeni Teknolojiler


• Süper Ölçekli Kanal Komut İşleme (Hyper-Pipelined) Teknolojisi,
• Geliştirilmiş Dallanma Tahmini (lmproved Branch Prediction),
• Dinamik Yürütme (Advanced Dynamic Execution) Teknolojisi,
• Hızlı İşleme Motoru (Rapid Execution Engine) ,
• Çift Kanal (Dual Channel) Teknolojisi,
• Kom utların Mikroişlemlere Bölünmesi ve İşlem İzleme Belleği,
• Çoklu Program İşleme (Hyper-Threading) Teknolojisi,
• Genişletilmiş ~ayan Nokta Birimi ve SSE İşlem i,
• Çift Çekirdek (Dual Core) Teknolojisi,
• Ön Bellek Sistemi,
• Düşük Güç Tüketimi,
Mikroişlemcinin Rakipleri
• Mikrod enetleyici ler (Microcontroller)
• Programlanabilir M a ntı k Denetleyiciler (Programmable Logic
Controllers, PLC)
• Sayısal Sinyal İşlemciler (Digital Signal Processor, DSP)
• Programlanabilir Yapılar
• FPGA (Field Programmable Gate Array)
• CPLD (Complex Programmable Logic Device)
• ASIC (Application Specific lntegrated Circuits)
• PSOC (Programmable Syst em On-Chip)

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

• lntel 8051 (MCS-51 Ailesi)


• Microchip PIC Ailesi
• Atmel AVR serisi
• Motorola 68HC
• Texas lnstruments MSP430

PLC(Programmable Logic Controllers, PLC)

Programlanabilir Mantık Denetleyiciler


• Sayısal ve Analog 1/0 portları
• Dahili güç ünitesi ve ekran
• Kutulu
• Pahalı, yüksek yatırım
• Endüstriyel üretim sistemleri
SAYISAL SİNYAL İŞLEMCİLER

Sayısal Sinyal İşlemciler


(Dijital Signal Processor, DSP)
• Daha hızlı ve performanslı
• Son derece esnek
• Pahalı çip ve yazılım araçları
• Geniş ölçekli projeler ve bütçeler
• Karmaşık ve pahalı baskı devre

FPGA CPLD PROGRAMLANABİLİR YAPILAR

FPGA,CPLD Programlanabilir Yapılar

• Hız ve performans amaçlı


• Son derece esnek
• Pahalı çip ve yazılım araçları
• Zor öğrenilen diller (VHDL, VERILOG, SystemC)
• Geniş ölçekli projeler ve bütçeler
• Karmaşık ve pahalı baskı devre
MİKROİŞLEMCİ

. . .
MiKRO i ŞLEMCi

• Mikroişlemci, VLSI (Çok Büyük Ölçekli


Entegrasyon) te k niği ile üretilen yarı
iletken bir cihazdır.

• Bir işlevi veya görevi gerçekleştirmek için


Aritmetik ve Mantık Birimi, kaydedicile ri
ve kontrol devresini teK bir yonga
üzerinde içerir.

• Mikroişlemciye bellek ve klavye, mantık


devresi gibi diğer eklentileri baglayabiliriz.
Mikroişlemci daha sonra bu cihazlara,
... ......
içinde yazı lı programa veya koda göre
hareket etmesini emreder.

INTEL 8085 ÖZELLİKLERİ

INTEL 8085 Özellikleri


8 bitlik bir mikroişlemcidir
ll l'tr
6200 transist ör ile uygulanan N-MOS teknolojisi ile üretilmektedir. ıu MOLO

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 ~

16 bit yığın işaretçisi (SP).

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.

74 komut setinden oluşur.


ıırıu

- "
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ı

1.3 mikro sn komut çevrimleri


40 pinli DiP (Dual in line package) (Çift sıralı paket) ile çevrilidir.
INTEL 8085 Pin Tanımları
:::::::- ~
... ,.,.....,

• 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.

• AD0-AD7 Çokla nmı ş Adres/ Veri yolu:


• Bunlar, 2 set sinyale sahip G / Ç üç durumlu 10 / M (bar}:
sinyallerdir (tri-state). Bunlar adres ve veridir.
Bu, bellek veya G / Ç aygıtlarıyla gerçekleştirilecek
işlem hakkında bilgı vermek için kullanılan bir çıkış
16 bit adresin alt 8 biti çoğullanır / veri yolu ile durum sinyalidir.
paylaşılır.
= O olduğunda, mikroişl emci bellekle ilgili işlem
gerçekleştirır.
=1 olduğunda, mikroişlemci 1 / O cihazı ile ilgili işlem
gerçekleştirir.
Bu sinyal belleği ve G / Ç aygıtlarını ayırır.

INTEL 8085 Pin Tanımları


• Durum sinyalleri (Status slgnals) {S0 ve S1): Operallon so sı

• Bunlar, mikroişlemci tarafından gerçekleştirilen işlem


hakkında bilgi vermek için kullanılan çıkış durum Opcoô? f•tctı(r6tnı;tm rı:ad tom m•morv) 1 1
sinyalleridir.
• S0 ve S1 hatlÜrı 808S makine döngüsünün 4 farklı Pe.l:l(data •e.J:l tom mem(ırf) o 1
koşulunu belirtir.
Wr.te 1 o
H.ı: o o
INTEL 8085 Pin Tanımları

• Oku (Read)

Bellekten veya bir G / Ç aygıtından veri okumak için kullanılan kontrol sinyalidir.
(Aktifken Düşük Değerliklidir) (Active-Low)

• Yaz (Write) °"'


µP Wtlıt
Belleğe veya bir &/ Ç aygıtına veri yazmak için kullanılan çıkış sinyalidir. (Aktifken
Düşük Değerliklidir) (Active-Low) !ud Peıiplıer•

• Hazır (Ready) Ready


Bu aktif yüksek giriş kontrol sinyalidir. (Active-Hlgh)

Mikroişlemci tarafından bir çevre biriminin veri aktarımını tamamlayıp


tamamlamadığını (veya Hazır olup olmadığını) tespit etmek için kullanılır.

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.

INTEL 8085 Pin Tanımları


• INTR ve INTA
KESM E (INTERRUPT) iNTR aktif, yüksek seviyede tetiklenen genel amaçlı bir kesmedlr.
TRAP INTR aktif olduğunda, µp bir kesme kabul (acknowledge) sinyali
üretir.
Aktif yüksek, seviye ve kenar tetiklemeli, maskelenemeyen yüksek
öncelikli kesmedir. INTR etkinse, Program Sayacı'nın (PC) artması engellenir.
TRAP etkinken, Jt, program sayacı 0024 adresine otomatik olarak Bu döngü sırasında, kesme Servis rutinine atlamak için bir RESTART
atlar. veya CALL komutu eklenebilir.
• RST 7.5, RST 6.5 ve RST 5.5 INTR yazılım tarafından etkinleştirilir ve devre d ışı bırakılır. Resel ile
veya bir kesme kabul edildikten hemen sonra devre dışı bırakılır.
Bunlar aktif yüksek, kenar (RST 7.5) veya seviye (RST 6.5 ve RST 5.5)
tarafından tetiklenen maskelenebilir kesmelerdir. • HOLD (bekle)
Bunların öncelikleri TRAP, RST 7.5, RST 6.5 ve RST 5.5'tir. HOLD, başka bir Master ın Adres ve Veri Veri Yolları kullanımını
istediğini belirtir.
RST 7.5, RST 6.5 ve RST 5.5 aktif olduğunda, program sayacı otomatik
olarak sırasıyla 003C, 0034, 002C adresine atlar. CPU, Bekletme talebini aldıktan sonra, mevcut makine döngüsünün
tamamlanmasının ardından yolun kullanımını geri çekecektir. Dahili
işleme devam edebilir.

İşlemci yolları yalnızca HOLD sinyali kaldırıldıktan sonra geri alabilir.

HOLD sinyali geldiğinde Adres, Veri, RD, WR ve 1/ O yolları tri-stated


durumundadır.
INTEL 8085 Pin Tanımları
• HLOA • RESETOUT
HOLD ACKNOWLEDGE CPU'nun Hold isteğini aldığını ve bir Bu, CPU'nun sıfırlandığını göstermek için kullanılan etkin yüksek
sonraki saat döngüsünde yolları geri çekeceğıni gösterır. çıkış sinyalidir ve bir sistem sıfırlaması olarak kullanılabilir.

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.

• Reset lN RESET iN (bar) 'a bir onay sinyalidir.


Sıfırla, Program Sayacını sıfırlar ve Kesme etkinleştirme bayrağı
sıfırlanır ve HLDA Flip-flops sıfırlar ve adres, veri ve kontrol
hatlarını tri-stated duruma geçer.

Reset uygulandığı sü rece CPU resel durumunda tutulur.


Sıfırlama durumundan sonra dahili kayıt ve bayrak öngörülemez.
Sıfırlamadan sonra mikroişlemci OOOOH'den itibaren talimattan
itibaren çalışmaya başlar.

INTEL 8085 Pin Tanımları

• Seri giriş verileri (SID) (Serial lnp ut Data):

Bu, aktif bir yüksek Seri giriş ver i hattıdır ve bu satırdaki


veriler bir RIM komutu yürütüldüğünde akümülatör bitine 7
yüklenir.
• Seri çıkış verlı'eri (SOD) (Serial Output Dala): 8

Bu aktif bir yüksek Seri çıkış veri hattıdır.


SOD çıkışı, SiM talimatında belirtildiği gibi ayarlanır veya
_n_n_ 8
3.07 MHZ O

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

Dahili çalışma frekansını vermek için giriş frekansı 2'ye


bölünür.
INTEL 8085 Pin Tanımları

• CLK OUT:
CPU'ya Giriş olarak bir kristal veya
R/C devrebsi kullanıldığında, sistem
saati olarak kullanılacak Saat Çıkış ı. CUCOUT

Diğer tüm çevre birimlerine saat


6.l4MHı ~
J.07 MHı 1

girişi CLK OUT pini ile sağla nı r.

CLK süresi Xl, X2 giriş süresinin iki X,

katıdır.

• VCC ve VSS:
+5 volt besleme ve Toprak Referansı

•ııt MA ıtSUS ltST6S ltSl7.S 1W s,o soo


ı 1 l
INTEL 8085 Mimarisi

-
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.

• Durum veya bayrak kaydedicisi


Bayrak kaydı, fark lı işlem sonuçlarının durumunu vermek için kullanılan bir grup flip flopt ur.
Bayrak kaydı ALU'ya bağlanır.

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):

MSB bit i = O ise sayı pozitiftir, aksi takdirde negat iftir.


• Eşlik bayrağı (P):
Sonuç çift ise 1 değilse O olarak kaydedilir.
INTEL 8085 Birimleri
• Geçici kayıt (W ve Z}
Bu geçici kayda yal n ızca
mikroişlemci erişebilir ve o E

programcılar tarafından tamamen


erişilemez.
Geçici kayıt 8 bitlik bir kayıttır.
Bu kayıt kontrol sistemleri H

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.

INTEL 8085 Birimleri


• Genel amaçlı kayıt

Akümülatör d ışında Genel Amaçlı Kayıtla r olarak


adlandırılan altı özel kaydediciden oluşu r.

Bu genel amaç lı kaydediciler, diğer kaydediciler gibi


verileri tutmak için ku llanılır.
Progrım stııus woıd (Flıgs)
8085 işlemcilerdeki genel amaçlı kaydediciler B, C, D,
E, H ve L'dir. Her kayıt 8 bit verı t utabilir. !> I
Yukarıdaki fonksiyonun yanı sıra, bu kayıtlar 16-bit
veriyi tutmak için çiftler halinde çalışmak için de
kullanılabilir.
"" • PSW(8)
8(8)
D(8)
H(8)
A(8)
C(8)
E(8)
l(8)
16 bit veri depolamak için B-C, D-E ve H-L gibi çiftler SP (16)
halinde çalışabilirler. Pq16)

H-L çifti bir bellek işaretçisi olarak çalışır.


Bellek işaretçisi belirli bir bellek konumunun adresini
t uta r.
Çift olarak çalıştıklarında 16 bit adres saklayabil irler.
INTEL 8085 Birimleri
Özel amaçlı kaydediciler
• ArtıJ / azalma kaydedicisi:
Program sayıcı:

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.

INTEL 8085 Birimleri


- M-1 Progrwıt

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.

Maskelenebilir kesmeler El ve Dl talimatları kullanılarak devre dışı bırakılabilir ve etkinleştirilebilir.


Maskelenebilir kesmeler arasında RST 7.S RST 6.S'in üzerinde en yüksek önceliğe ve INTR'ye en az öncelik verilir.
INTEL 8085 Birimleri
• Seri G / Ç kontrolü • Zamanlama ve kontrol ünitesi
Seri verilerin girişi ve çıkışı 8085'teki 2 talimat kullanılarak Zamanlama ve kontrol ünitesi, kayıt ve veri akışını çeşitli
gerçekleştirilebilir: kayıtlar ve diğer birimler aracılığıyla senkronize ettiği için çok
önemli bir birimdir.
1. SID-Seri Giriş Verileri
Bu ünite, verilerin ve diğer ünitelerin dahili ve harici kontrolü
2. 5OD-Seri Çıkış Veril eri
için gerekli kontrol sinyallerini gönderen bir osilatör ve
Seri 1/ O aygıtları için gereken seri-paralel dönüşümü kont rolör sıra layıcısından oluşur.
gerçekleştirmek için iki komut daha kullanılır.
Osilatör, 8085 mikroişlemcinin tüm kayıtlarını senkronize
• Komut (lnstruction) yazmacı ve kod çözücü (decoder) etmeye yardımcı olan iki fazlı saat sinyalleri üretir.

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ı

• Bir sistemde program


komutlarının ve verilerin Memoıy

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.

• Flip- Flop ile oluşturulur. (Refreshing)


• Bir kapasite ve bir kondansatörden
dl dO
oluşur.

• Bellek okunduktan sonra tekrar


yazılma l ıdır.

Bellek Elemanları

SRAM : Statik RAM DRAM : Dinamik RAM


• Yapısal • Yapısal
• Flip-Flop kullanılır. • Kapasite kullanılır.
• Güç varken silinmez. • Güç varken silinir.
• Özellik • Özelli k
• Hızlı • Yavaş

• Her hücre 6 MOS • Her hücre 1 MOS


• Kullanım • Kullanım
• Cache Bellek • Ana Bellek
Bellek Elemanları
t,
Wordlınes (Wl) bı tlınes (Bl)

[;;]
EJ
sensor amplıfiers

Y gatıng

lnpuı / Ouıpuı O.ıı.ı lınes

Bellek Elemanları

SRAM : Statik RAM DRAM : Dinamik RAM


Static RAM (SRAM)
~Q_,._ _ _ _f--a.______-a--ı~-- orı-s

■ ■ ■ ■ ■
■ • • • •
•• •• •• ••• •• •
• ■ • • •
•• •• •• •• •• ••
...
a.ıı,

t,.,-ual.
lWOpo,nı)

.,...,
b6 51\AH

,mpıll•n
'WE

O.ta lnp,,t / output


SİLİNMEZ SALT OKU BELLEK – SİLİNEBİLİR PROGRAMLANABİLİR SALT OKU BELLEK

Bellek Elemanları

• Silinmez Salt-Oku Bellek • Silinebilir - Programlanabilir Salt -Oku


• Mask-ROM Bellek
• Veriler üretici tarafından bellek üzerine kalıcı • EPROM
olarak yazılır.
• Veriler üretim aşamasında fiziksel olarak • UV- EPROM {u ltraviolet EPROM)
tasarlanır. • Bellek ışık ile silinebilir. Ve sonra yazılabil i r.
Kod çözücü çıkışları lojik l'de aktif olur ve ilgili • lşığın içeri girmesini sağlayan pencere
translstoru iletime sokar
vardır.
• Transistorun ~rlığı ilgili hattı sıfıra çeker
• Kazara silinmelerine karşın etiket ile kapan ır
• PROM
• Bir kez programlanabilir
• Veriyi 10-20 yıl saklayabilir.
Program veya verinin saklan ması için kullanılır • EEPROM
• Üretimden sonra programlanır • Tüm içerik veya se~ilen kısım elektrik
PROM içindeki sigortaların yüksek gerilim ile darbesi ile silinebilır.
yakılması ile yazılır.
• 1 milyon yazma ömrüne sahiptir.
• Flash
• EEPROMlara göre hızlı yazma, silme işlem i

Bellek Elemanları

Silinebilir - Programlanabilir Salt-Oku


Silinmez Salt-Oku Bellek Bellek
blrllııt tJ,tU.nt bltliıı<
(BL) CBL) (BLJ

I\Ordllot (\\ 1.)

wordll.ot (\' 1.)

SL SL
L (>oun-tllııt)
DL DL DL DL
bitlhll'\
Adres
Hattı

Bellek Elemanları Genişliği

A0-AlS • 00-08

• Yarı iletken bellek e l emanları


216.x9
• Yaz/Oku Bellek (Random Access Veri Hattı
Memory=RAM) ROM
Genişliği
• Salt Okunur Bellek (Read - Only Memory
= ROM)
es --+
• CS : Chip Select OE --+
• Lojik 0'da aktif
• Bellek elemanını aktif eder. 64KB

• 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

' ' Veri


~

~ . 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

• Boşluksuz bellek tasa rımı • Her bellek için ayrı devre


• Adreslenebilir bellek bölgesi içinde oluşturulabilir.
birbiri ardı n a yapılan adresleme • Lojik kap ı
türüdür
• Kod çözücü kullanı labi l ir.
• Kısmi Kod Çözüm ü
• Bellek ele manlarının seçiminden • 74139
gerekli ıpin haricinde boşta adres pini • 74138
kalmasıyla yapılır.

• Tam Kod Çözümü


• Tüm adres yolları gerekli olmasa dahi
adres kod çözücüsüne giriş yapı l ır.
{AKÇ)

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.ı

• u • u • 1

• 1
• o 1 a


1
1
o
1

1
1
o o a
• o

11nıtna"t D...ı.lnnltr

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,_

kullanılmaz (kullanılmayan pin olarak


kalır). Orn: 4kS bellek arayüzünde yalnızca
AO-All adres hat ları ku ll anılırken , geri
kalan A12-A15 adres hatları kullanılmaz .

• 2. Tam kod çözme {kapsam l ı kod çözme) :


Bu kod çözme türünde, tüm adres satırları
devrede bir veya başka bir kullanım ..için
kullanılır (yani tüm pinler bitmiştir). Orn:
4kB bellek arayüzünde sadece AO-All
adres hatları kullanılırken, geri kalan A12-
A15 adres hatları Bellek seçim mantı ğında
veya diğer kontrol sinyalleri olarak
kullanılır.
OOOOH

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

A13 AlS=O ıııııı1ııııı,.


A14=0 ..,.. CE=O
Al 4 CE Al3=0

Al S

' O olursa aktif

••

ORNE K 2

• 8 Bitlik veri yolu


• 12 Bitlik adres yolu
• 4 adet bellek ( 1KB,1KB,512B,512B)
ORNEK 2
lK = 2"10
512 = 2"9

/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

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

INTEL 8085 Zamanlama Döngüsü


• 1. Talimat döngüsü: MiB (CPU) tarafından • Bir ta limattaki makine döngüsü sayısını
tüm süreci tamamlamak içın gereken belirleme kuralları :
adım sayısı olarak tanımlanır. Bir talimatın
getirilmesi ve yürütülmesidir. Getirme ve • 1. Bir adresleme modu doğru dan veya
dolaylı ise makine çevrimi sayısı = bayt
yürütme döngüleri saatle senkronize sayı sı .
olarak gerçek l eştirilir.
• 2. Makine çevrimi: Mikroişlemcinin bellek • 2. Adresleme modu dolaylıysa, makine
aygıtlarına veya G / Ç aygıtlarına erişim
çevrim sayısı = bayt sayıs ı + 1.
işlemini tamamlamak için gereken Bellek okuma/ yazma işlemi ise makine
zamandır. Makine döngüsünde opcode çevrim sayıs ına +1 eklenir.
getirme, bellek okuma, bellek yazma, G /
ç okuma, G / Ç yazma gibi çeşıtli işlemler • 3. İşlenen 8 bit veya 16 bit adres ise,
gerçekleştirilir. makine çevrim sayıs ı = Bayt sayıs ı +1.
• 3. T durumu: Her saat döngüsüne T • 4. Bu kurallar 8085 talimatlarının% 80'i
durumları denir. için geçerlidir.

INTEL 8085 Zamanlama Döngüsü

INTEL 8085 Zamanlama Döngüsü


0pcode (Komut) getirme:
Mikroişlemci, belirli bir eylemi gerçeklettirmek ısın talimatlar gerektirir. Bu
l~IT~~~~ ğ!~:ıı~l!i~t~~u~~r~~~:~mcı, mikroiı emclye aynntı sağlayan bir
Operasyon:
.----------------------,
Tl durumu sırasında mikroişlemci 10 / M (barı kullanır, mikroişlemciye opcode
getl rmesinl bildirmek için 50, 51 sinyaller! kuRanı ır.
Bu nedenle 10 / M (bar)= O, 50 = 51 = ı olduğunda, opcode alma işlemini gösterir,
Bu işlem sırasında 8085, 16 bit adres iletir ve adres latch için ALE sinyalini kullarnır.
T2 durumunda mikroişlemci, okuma sinyalini kullanır ve bellekten opcode okumak
için bu bellek konumundan verileri hazır hale getirir ve aynı zamanda sayaç
sayaanı 1 arttırır ve getirilecek bir sonraki talimatı gösterir.

~~~t~r:erv~\~~~şli~~c~~i.H~I~!~~ s~lrr~~ile~lrı~~:~ ~e~~u~ina~üs~~~


bekneme durumu ekler.
T3'te mikroişlemci, opcode'u okur ve daha fazla kod çözmek için talimat kaydında
saklar.
T4 sırasında mikroi\lemci, kod çözme ve gerekli eylemleri sağlama gibi dahili
işlemleri gerçekleştinr.

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

INTEL 8085 Zamanlama Döngüsü


Operasyon: Bellek yazma zamanı.ama diyagramı
• Belleğe bi r bayt göndermek için kullanılır.
• 3 T-State gerektirir.
• T1 sırasında ALE yüksektir ve AD0-
AD7'den daha düşük A0-A7 adresi içerir.
• A8-A15 daha yüksek bayt adresi içerir. ıo , ıı

;~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

AD0-AD7'de veri görünür.


• WR !bar) düşük olana kadar veri AD0-
AD7 de ka l ır.
INTEL 8085 Zamanlama Döngüsü
Operasyon:
• Bir G / Ç bağlantı noktasından bir bayt almak 1/ O okuma zamanlama diyagramı
için kulranıl ı r.
• 3 T-State gerektirir.
• T1 sı ras ında , 10 adresinin Alt Baytı daha
yüksek sı ra adresli veri yolu A8-A15'e
kopyalanır.
• ALE yüksek ve AD0-AD7 10 cihazının adresini
içeriyor.
• 10 / M (bar), bir 10 işlemi ol duğu için yükselir.
• T2 s ıras ında ALE azalır, RD (bar) azalır ve ~=--~-;---~ ;::::::===============
ii5lı----.. ---~ ,-----------
veriler AD0-AD7'de 10 aygıtından girdi olarak
görünür.
• T3 s ıras ında Veriler RD (bar) düşük olana
kadar AD0-AD7'de kalır.

8155 (I/O)
•SV

vcc
8155 ( 1/0)
AOO-A01
.....
G;illl
RtH10ut

C!:l
.......
,_ --· -· t;ô

..,

(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

8255 ( 1/0) PAO-


PA7

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.

• Makina dili öğrenmek ve kullanmak çok zordur.


• Bu nedenle insanların anlayabileceğimiz bir dilde konuşup ardından
işlemcinin diline çeviren yazılımlar geliştirilmiştir (derleyici).
ASSEMBLY DİLİ

Assembly Dili (Çevirme dili)


• Derleyiciler de bir dile sahiptir fakat işlemcinin diline göre çok daha kolayd ır. lşte bu derleyici dillerinden
biri de Assembly' dir.
• Çevirici dil, bilgisayar programlarının yazılmasında kullanılan alt seviyeli bir dildir.
• Assembly dili programlarının yazılımında insan dostu sembollerin (lngilizce " lngilizce: mnemonics")
kullanılması, daha fazla hataya yatkın ve zaman alıcı ilk bilgisayarlarda kullanılmış olan bir hedef
bilgisayarının say ısal makine kodunda doğrudan programlama çalışmasının yerine geçmiştir.

• 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·

.code int main()


Nln proc
{
"'°" ax, @dat•
printf( "Hello world\n");
w,v ds 11 ax
return 0;
WJt:ıt/ ah,9 }
aov dx,ofhet hello_.,,.suge
lnt 11h

acw AX, 4COOh


lnt 21h
. .in endp
Mel Nln
Code Auiılanl
Dala tranıleı inıltuctionı:

WA I L!lAA I LHLl> 1~ HOII 1~


Assembly Dili ~ POSH I Sl!IJ) 1 SPlll., I ~ STAA 1

XCH!: 1 XTHL 1
Aıithıaetic inıhuctionı:

• Komutlar İngilizce dilindeki kelimelerden ~ AllC I ADD 1 ~ DAA I DAll 1

türetilmiştir. ~ ~ ~ _ ! ! . ! ! J ~ AARI
~ aı.c 1~ ...!!!J ....!!!...J 2!!!.J ...!2!J
Movc Logical inıııuctionı:

Move lmmcdiatc ANA 12!!!...l QtA I CMC I QU> 1~


LDA l oad Accumulator Directly from Mcmory ~~~ ırnl~
STA Storc Accumulator Dircctly in Memory Bıanch conlrol in&tıuctionı:
LH LD Load H and L Registcrs Dircctly from Mcmory CAUl~..J:!!..J = I ~ ~
SHLD Store H and L Registcrs Dircctly in Memory ....2!J CPO 1 ...E,_j _2Ll ..2!!..J JHP 1
JIIC I JlfZ 1~ .;p;; 1 J"PO 1.2:_J
LX I Load Rcgistcr Pair with lll'mediatc da ta
LDAX l oad Accumulator from Addrcss in Rcgistcr Pair 2Ll anl~~2!!!..J-2!...J
ll.P:t l~_E_J PCHI.I
STAX Storc Accumulator in Address in Rcgister Pair
XCHG Exchangc H and L with D and E Machine conlrol inıtruclions:

XTHL Exchangc Top of Stack with H and L ...!!!:!J_!!!_J~~


wl>el 1

Assembly Dili

• [Etiket:] O code [Opera~] [;yorum J


• Opcode = Operation Code = İşlem kodu komut
• Mnemonic: Anımsatıc ı
• Openrand =İşlenen
• « ; » yorum yazmak için kullanılır. Makine kodu üretilmez.
• MVI A,2H ; 2H Adresindeki veri ➔ Kaydedici A
• MVI B, 4H ; 4H Adresindeki veri ➔ Kaydedici B
• ADD B · A=A+B
I
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)

• Örneğin akünün taş ıdığı de ğer: 0100 0001. O


• İkili formatta iş aretsiz bir tamsayıdır.
• Onlu sayı sisteminde GS'e eşittir.
• 16'1 ı sayı sisteminde ise 41 değerine eşittir.
• ASCII karş ı l ığı ise A harfidir.

Assembly Dili

Ön Takı Son Takı Anlamı Örnek

(Boşluk) o Onlu sayı (decimal)' 55-55D


~o B ikili sayı (binary) CJ.001010101 - 01010101B
@ o Sekizli sayı (octal) @33-330
s H Onaltılık sayı (hexadecimal) SFB - FBH
.,
ASCII 'A'
MİKROİŞLEMCİ BİRİMLERİ

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

1 OATA BUS LATCH 1 H L AODRESS BUS LATCH

8-biı 16-biı
bidircct lonal address bus
daı.ı bus

RAM INPUT OUTPUT


PORTS PORTS
INSTRUCTIONS

CONSTANT VARIABLE
DAT A DATA
STACK

KAYDEDİCİLER

Kaydedicil er

-)

8- Lines 16- Lines


Bidirectional Unidirectional
Kaydediciler
• 6 genel amaçlı kaydedici
• Akümülatör (A)
• Bayrak kaydedicileri
• Program sayıcı (PC)
• Yığın gösterici (SP)

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İ

8085 Kom ut Seti

• 74 işlem kodu örneğin ➔ MOV


• 246 komut ➔ MOV A,B
• 8085 komut seti sınıflandırması
• Veri transferi işlemleri
• Aritmetik işlemleri
• Mantık ve bit işlemleri
• Dallanma işlemleri
• Makine kontrol işlemleri
VERİ TRANSFERİ

Veri Transferi

• Kaydedici ile Hafıza arasında kopyalama


• 16 bit veri yükleme
• Kaydedici yığın arasında kopyalama
• MOV, MVI, LDA, STA, LHLD, SHLD, LXI, LDAX, STAX, XCHG,XTHL, PUSH,
POP, iN, OUT
Veri Transferi
• Sabit bir veriyi bir kaydediciye /kaydedici • Bir giriş/çıkış birimi ile akü arasındaki veriyi
çiftine • OUT OlH
• MVI B,4FH ; 4F Adresini ➔ B Kaydedicisi • iN 07H
• ~ I H,2050H ; 2050H Adresindeki 16 Bit ➔ H(L)
• XCHG ; Hlf- ➔ DE
• Kaydediciler arası ndaki verileri
• SPHL ; HL ➔ Yığına ekler
• MOV A,B ; B Kaydedicisi ➔ A Kaydedicisi
• XTHL ;Yığının en üst iki byte f- ➔ HL yer
• Bir bellek bölgesinden kaydediciye yada değiştir
kaydediciden b ir belleğe
• LDA2000H ;Bellekte 2000h adresindeki bilgiyi • PUSH B ; BC ➔ Yığına ekler
aküye kopyala
• POP H ; HL f- Yığından getirir
• STA 4000H ;Aküde ki bilgiyi belleğin 4000h
adresine kopyala
• LDAX B ; BC'nin gösterdiği adresteki bilgiyi aküye
kopyala
• STAX B; Aküyü BC'nin gösterdiği adrese kopyala
• MOV B,M ;HL:'in gösterd iği adresteki bilgiyi B' ye
kopyala (Dolaylı

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

• INR 2000H ; Bellek[2000H] +l


• INR M ;Bellek[HL]+l ( M = [HL] }

MANTIKSAL VE BİT İŞLEMLERİ

Mantıksal ve Bit İşlemleri

;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

!.. CM P X (X = Kaydedici veya hafıza)


-
• EĞER (A) < X: Elde Bayrağı
• EĞER (A) = X: Sıfır Bayragı
. -
• EĞ ER (A) > X: Elde ve Sıfır Bayrağı = O
--
• Akümülatörün içeriği değişmezi
akümülatörün içeriği değişmez önemli
MANTIK VE BİT İŞLEMLERİ

Mantık ve bit işlemleri

• Akümülatörün içeriğini bir kez sola ve sağa kaydırma.


• RLC Aküyü bir bit sola kaydır. Bit7, BitO'a ve eldeye gider.
• RAL Aküyü e lde üzerinden bir bit sola kaydır.
• RRC Aküyü bir bit sağa kaydır. BitO, Bit7'ye ve eldeye (CY) gider
• RAR Akü elde üzerinden sağa kaydır.

Elde bayrağı
~ Elde bayraö,

5
Akü
4
ez;,1, ı >• l l
Akü
2 1 ~

burdan soru gelir


DALLANMA

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

2. ivedi Adresleme Modu İved i Adresleme Modu + Dolaylı Adresleme Modunu


Kaydetme

3. SP'nin (Yığın İşaretçisi) başlatılması zorunludur


SP'nin (Yığın İşaretçisi) başlatılması zorunlu değildi 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

5. CALL'dan sonra bir RETURN talimatı var


JUMP'tan sonra iade tali matı yoktur
6. SP'nin değeri değişmez SP'nin değeri 2 azaltı 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İ

Makine Kontrol İşlemleri

; Programı Durdur
; Bekle
; Kesme Aktif
; Kesme Pasif
; Kesmeleri kurmak için
• RIM ; Kesmelerin durumunu okumak için

SIM - RIM

SiM - RIM

X RST75 MSE ı.t75 MU 1 ' '

P65 P55 ~ M75 M65 M55

-- - -.. ·-
--·-
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

JMP CALL RET

JC JNC} CC CNC} RC RNC}


JZ JNZ A ez CNZ A RZ RNZ A
JP JM 16 CP CM 16 RP RM 16
JPE JPO CPE CPO RPE RPO
LHLD
~ STHD Al6
CONTROL
LDIIX} llC,OE INSTRUCTIONS
STAX
MEMORY
RST
LDII} NOP
STA Al6 HLT
El
MVI Da Dl
MOV REGMa,REGMa PUSH }
STACK POP B,D,H,PSW SiM} 8085 ONLY
RIM

ADRESLEME MODLARI

Adresleme Modları

• Hemen/İvedi Adresleme (lmmediate Addressing)


• Doğal Adresleme/ Yazmaçtan Yazmaca {Register Adressing)
• Doğrudan/Dolaysız Adresleme {Direct Adressing)
• Yazmaç Dolaylı Adresleme {Register lndirect Adressing)
• İmalı Adresleme {implied/implicit addressing )
Hemen/İvedi Adresleme

• Veri komut içinde yer alır.


• M '1,A, 20H
• LXJ. H, 2050H
• ADI 30H
• suı ıoH

Doğal Adresleme/ Yazmaçtan Yazmaca


----
• Kaydediciler (Yazmaçlar) arası işlemler

• MOV A, B
• ADD C
• INR A

Doğrudan/Dolaysız Ad resi eme

• Verinin adresi komut içinde doğrudan yer alır.


• LDA 2050H
• STA 3050H
Yaz ma ç Dola y lı 8dresleme

• MOV A, M ( [HL] çif t i tarafından gösterilen bellek konum unun iç eriğini


akümülatöre taşır)
• LDAX B ( [ BC] kaydının akümülatöre ta ş ınması )

İmalı Adresleme

• İmalı / kapalı adresleme modunda işlenen (operand) gizlenir ve


çalıştırılacak veriler talimatın kendisinde bulunur.

• CMA (akümülatör A'nın l'in tamamlayıcısını A'da bulur ve saklar)


• RRC (akümülatörü A'yı sağa bir bit döndür)
• RLC (akümülatör A'yı bir bit sola döndür)

Giriş/ Çıkış Adresleme

• iN 07H
• OUT 21H
VERİ FORMATI

Veri Formatı

• İşlenen türlerine bağlı olarak komut uzun l u kları fark lı olabilir.


• 1 Byte Komut
• Tipik olarak t üm kom utlar belekte 1-bayt yer kaplar
• 2 Byte Komut
• ivedi taş ıyan komutlar iki bayttır. (1 bayt opkod 1 bayt veri).
• 3 Byte Komut
• Bellek adresi içeren bir komut ise bellekte 3-bayt işga l eder. (1-bayt
opkod 2-bayt ise 16-bitlik adres)

Veri Fo r matı - 1 Byte


Opcode I Operand Binary HEX
MOV C,A 01000 1111 4FH
ADD B 1000 0000 80H

HLT 0111 0110 76H

Veri Formatı - 2 Byte


Opcode Operand Binary HEX
M VI A,32H 00111110 3 EH
00110010 32H
M VI B,F2H 0000 0110 06H
11110010 F2H

Veri Formatı - 3 Byte


Operand I Binary
LXI H,2050H 0010 0001 2 1H
0 10 1 0000 SOH
0010 0000 20 H
LDA 3070 H 00111010 3AH
01110000 70H
0011 0000 30H
Yazılım Yazarken Dikkat Edilmesi Gerekenler

Programlamaya Başlarken

• Problemin tespit edilmesi


• Probleme uygun çözümlerin belirlenmesi
• Algoritma geliştirilmesi

• Algoritma akış diyagramının oluşturulması

• Programlama dilinün seçilmesi


• Programın yazılması ve derlenmesidir.

Problem – Analiz

8 Bitl ik 2 Sayı Toplama

• 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

8 Bitlik 2 Sayı Toplama

• 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

8 Bitlik 2 Sayı Top lama

• M VI D,22H
• MVI E,33H
,.,,:ı:m,+
• MOVA,D
• ADDE

• MOV C,A

• HLT

8 Bitlik 2 S ayı To plama

~ ,ı 0000
0001
MVI 0,22H 16
ll
,ı 0002 MVI E,33H 1E
000) ))

,ı 0004 MOVfı,D 7fı

,ı 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:

8 Bitli k 2 Say ı To plama 7 o


Kaydedici C d eğeri : 55
Regısıer
Acıcumulator
vaıue
55 o
6 5 4
1 o 1 o
3 2
ı o 1 .
Re9tsterll 00 o o o o o o o o
6 Komut Kullanılmıştır. ııev ..mc 55 o ı o 1 o ı
llegıstttO 22 o o 1 o
33 Clock Cycle 11e9,.tı,, ( 33 o o 1
RA,o..ler H 00 o o o
Program Say ıcı: 8 RA,oıotul 00
Hrmory(H} 16
PSW = [ AF )

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)

8 Bitlik 2 Sayı Toplama (Taşma Var)

• Problem : 8 bitlik iki sayıyı toplayınız. Taşma varsa dikkate alınız.

• Analiz : 8 bitlik iki sayı 9 bit olabilir


• 8 bitlik 2 sayı topla
• Sonucu C ye kaydet cı

• Elde bayrağı kullanılmalı


• BC kaydedicisi çift olarak kullanı labilir.
• A = A+ B eğer taşarsa CV=l
• B=CY ve C=toplam 8 bitlik sonuç

8 Bitlik 2 Sayı Toplama

• Algoritma

--
• D ve E kaydedicilerine

-~ ,--._
kullanıcıdan ve rileri al

\
•~
• A ➔ c ---
E
/'/
"\ JdJZ-
~va~_=j_+_ı_ _\ / ·

8 Bitlik 2 Sayı Toplama

- •
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

•ADDE v 0004 MOVA,D 7A 1 1 4


v 0005 ADDE 83 1 1 4
• MOV C,A v 0006 MOVC,A 4F 1 1 4

--
• 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

8 Bitlik 2 Sayı Toplama

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

16 bit 2 sayı ekleme

16 Bit 2 Sayı Ekleme


ilk sayının ilk İlk sayı:ıın ikinci
Byte ➔A Byte ➔A
• Adres: 0100H
A->B A->B
• 3020H 1

KOPYALA KOPYALA
• 5040H
ikinci sayının ılk lkınci sayının

• Sonuç 0120H Byte ➔ A ıkınci Byte ➔ A

B'yı ekle B'yi elde ekle

A'yı ılk toplam A'yı ıkincı


olarak kaydet toplam olarak
kaydet


0000 13
" LDAOlOO 3A 3 4

16 Bit 2 Sayı Ekleme 0001


0002
00
Ol
0003 MOVB,A 47 1 4
,h\)'\) 0004 LDA0102 3A 3 4 13
• 0100H = 20H ooos 02
0006 01
• 0101H = 30H " 0007 AD08 80 1 4
STA0120 32 3 4
• 0102H = 40H
I " " 0008
0009 20
13

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

16 Bit 2 Sayı Ekleme

-
·--~-~---~---~..
......
JG

....

..,,
"'
il

8bit 2 sayı çarpma

8 Bit 2 Sayı Çarpma


• 07H * 43H ?

• 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

BCD Say ı Toplama


V UOOO MYI L,00 Ot ı ı

• ;0100---74 0101---34 0001 00


V 0002 LHLO0l00 2A 16
• MVI C,00H 0003 00
• LHLD 0100H 0004 Ol
V 000~ MOYl\,l 1D
• MOV A,L
v uoo~ /IJJUH 84 4
• ADD H V 000/ DM 21 1 l 4

• DAA V 0008 JNCNCARY D2 3 3 10


0009 OL
• JNC NCARY UOOA uu
• INR C V U00H iNii( Ol l 4

• NCARY: STA 0 102H V 000C NOIRY STA0102 32 4 13


000D 02
• MOVA,C 000l Ol
• STA 0103H V 000~ MOYl\,L 19 1 4
V 0010 STA0103 32 3 4 13
• HLT 0011 03
0012 Ol
V 0013 HLT 76

BCD Sayı Toplama


. Onluk ikilik BC0(8421)

• 74+34 = 108 o 0000 0000

l 0001 000:

2 0010 0010
1 Elde
59 0101 1001

-
3 0011 001~

4 0100 0100 + 39 0011 1001


• 0101 010:

6 OllO 0110
1001 0010 - >9
7 oı:ı on:
8 1000 1000 0110 - +6

- -
9 1001 100'.

1) ıcıo 00(1 0000


10011000 (98)
ıı ıcıı oocı 0001

12 1100 oocı ooıo

il 1101 oocı oou


l ıtO
"
ı; 1111
00(1 0100

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

• Dizinin boyutunu sayaç olarak


kullanın.

• Dizinin temel adresini HL kayıt


çiftine yükleyin.
(0100 os oı 02 o3 04J os oo oo oo oo oo oo oo ooroo o<iJ
• Akümülatörü 00 olarak başlatın .
• HL çiftinde verilen bellek
konumunda saklanan
akümülatörün içeriğini ekleyin .
• Her eklemede sayacı azaltın.
v 0000
0001 ~ 3A
00
13

Di ziyi Topl ama


0002 01
v
v
0003
0004
C~s?>
!l!.H,OIOIH
47
21 10
Hafıza da 11 veri arka arkaya depolanmaktadır. 0005 01
0006 01
Dizideki ilk byte dizinin boyutunu
v 0007 M\11 A,00 3E
göstermektedir. oooe 00
v 0009 M\11 C,00 OE
000A 00
1
1 1
v
oo 00 '00 00 100 öö oo~ 0008 NOTZERO AOO M 86
1
B o5 01 02 03 04 05 oo]
v oooc iNAL 2c
v 0000 JNC NCAAV 02 10
OOOE 11
OOOF 00
v 0010 INAC oc
v 0011 NCARY OCR8 05
v 0012 JNZNOT2ERO C2 10
0013 0B
0014 00
v 0015 SlA 0 110 32 13
0016 10
0017 01
v 0018 MOV A,C 79
v 0019 STA 0 111 32 13
001A 11
0018 01
v 001c HLT 76 2

Diziyi Top lama

-~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

11. Program son u

oo ...,:noo
' "''ccoı ))
'(;l,
Maksimum/ M in imum lCOl

'' ((O)

CCO.t
MCVll.M
lıolOVC.M

Be llekte s ıral ı var o lan 10 verinin için den ' ı.u~

maksimum ve minimumu sırasıyla 110h ve ,oo, r.


' ((01
uo,
MOV..... lıl

"""
lllh ad resine kaydediniz.
.,..
((0, 1': lııllfl DA
00
10

loıoo 01 05 08 09 05 02 03 oıı 1A 01 oo oo oo oo oo~ oooc .,


'' MDV&.A
'lıılPC
.,
0000
"'" .NC~ ı
' "'' I" Ol 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

if (Al> reg/mem: CY=O, Z=O CC15

oo ..,lıııı
ccı, ll
CCH
"
'' OOIA
0010
hılO\l ~J,!! 7l

' "'" MIOV~J,C

' 0010 H.T

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)

• Tdelay = TO + TL >J 0000 MVI c,rr O[

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

GECİ K ME (DE LAY)

• 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

• Tdelay = 98311 •S 0007


0008
03
00

= 65 .868ms

GECİ K ME (DELAY)

• İç içe 2 döngü ku llanarak gecikme programı tasarl ayınız.


ARDUİNO
.
~... ARD

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

AÇIK KAYNAKLI DONANIM VE YAZILIMLAR


- Yazıl ı mla rın kaynak kodlarına erişim serbesttir ve
üzerlerinde istenildiği gibi değişiklik yapılabilir.
- Donan ı m tasarımları için de aynı şey geçerli.
- Yapacağınız tasarımlarda aynı l isansı sürdürmelisiniz!

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

- - MEGA ADK r,rew•1E - - -


LILVPAD

Arduino Due
Mini/ Mini Pro / Nano

✓ Arduino açık kaynaklı olduğundan internette


birçok Arduino " benzeri" ürün bulmak mümkün.

✓ Burada gördüklerimiz sadece Arduino ekibi


tarafından tasarlanan ürünler

✓ Kendi donanımlarınızı üretmekte özgürsünüz !


GELİŞTİRME ORTAMI

✓ Geliştirme ortamı ile Arduino progra mla rın ın


yazıl ı p derlenip kartlar üzerine yüklenebiliyor

✓ Arduino programlamada C / C++ /Java t emelli bir


dil ku lla n ıl ıyo r.

✓ Kütüphaneler sayesinde donanım seviyesine


inmeye gerek yok

TOPLULUK

• Arduino web sitesinde programlama, don anım lar ve


kütüphaneler hakkında bilgiler yer al ıyor.

• İnternet üzerinde oldukça canlı bir Arduıno topluluğu


var.

• Aklın ı za gelebilecek hemen her konuda ya pı lmış proj eler


bulabilirsiniz.

Neleri öğrenmeliyiz?
✓ Devre Kurma
✓ Breadboard kullanımı
✓ . ✓ Temel komponentler
✓Programlama Elektron ık : Ieırıel ~n~log ve Dijital Elektronik
Arduino kurulumu

✓ Arduino W indows/ Linux/ Mac platformlarında çalışabiliyor

✓ Herhangi bir USB cihaz kurulumu gibi sürücüyü bilgisayara


tanıtarak kurulum yapabiliyoruz.

✓ Sürücüler kurulum dosyasın ı n içerisinde Arduino/drlvers


klasörü altında bulunuyor.
Dijital giriş- çıkış

Dijital Giriş - Çıkış

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.

• Digital Giriş / Çıkış 1 veya O bilgisini Arduino içine almak


veya dış dünyaya iletmek için kullanılıyor.

• Bir butonun, bir LED'in durumu 1 bitlik bilgi demek (1


veya O, açık veya kapalı)
✓ pinMode(pin_no, INPUT) + Giriş olarak kullanmak için

✓ pinMode(pin_no, OUTPUT) + Çıkış olarak kulla ~ ,< için

✓Pin_no + 0..•• 13
Dijital Çıkış Vermek İçin:

✓ digitalWrite(pin_no, HIGH) + İlgili pinden HIGH (1) çıkışı verir

✓ digitalWrite(pln_no, LOW) + İlgili pinden LOW(0) çıkışı verir


Led yakıp söndürme
-- --
LED YAKIP SONDURME
I*
Pın13'e b gıı olan LED sanıyed hır

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

• Bir ucu anot, diğer ucu katot olarak


adlandırılır.

• Belirli bir dL 0 .:rin üzerinde gerilim


uygulandığında ışık saçar.

• Değişik renklerde satılmaktadır. Ayrıca 2


veya 3 rengi bir arada bulunduran modelleri
de vardır.
Direnç Renk ve Kodları

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"

aracının efektini yapabiliriz.

Karaşimşek

.................... .. .. ........ ........ .......... .. .. ........ ........ .. ........


•••••••••••••••••• ♦ •••••••••• ♦ •••• ♦ •••••

................................................................................
"
............... ......... ... ............ ............ ......... ........................ ............ .......... ... .......... ... ......
.......................................
• • • • • • • • • • • • • • • ♦ •••••••••••••••• ♦ •• ♦ •

.. ...... ...... . ...

7 segment gösterge
,.,, ARD ,
• - UI NO • ·
11 = - •.'- 7 Segment Gösterge
-····
ı o ' •

. orı:ak Anot orı:ak Katot


g tcmıub

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.

Arduino dijital pinleri maksimum 40 mA akım


sağlayabilmektedir

Dijital giriş okumak için

Dijital Giriş Okumak İçin :

✓ pin_deger = digitalRead(pin_no) ~ İlgili pinin durumunu

( HIGH (1) veya LOW (O) ) döndürür.


Buton Girişi Okuma

■I '..."' UINO ,'.


1 1= 4a :o.
1 ~ • •
1
Buton Girişi Okuma
-
... - -
M"

.. "' -
..-
- ....... -
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.

✓Basma anında defalarca 1 ve O durumu arasında


gidip gelirler

✓eu olarak "sıçrama (bouncing)" denilir

✓sıçrama giderme işlemine "debouncing" denilir.

✓oonanımsal ve 3zılımsal olarak uygulanabilir.

Analog-Digital

Analog

Dig ital
dill rl~ tb
9LJF 9LJP

✓ Arduino üzerindeki ve diğer mikroişlemciler/


mikrodenetleyiciler "dijital" olarak çalışı rlar.

✓ Analog verilerin işlenebilmesi için analog / dijital


çeviriciler (A ) kullanılır.

✓o - SV aralığındaki değişimler Arduino üzerindeki


ADC ile - J. arasındaki dijital veriye çevrilir. (2"10
-1 = 1023)
✓o- SV aralığındaki değişimler Arduino üzerindeki
ADC ile O- 1023 arasındaki dijital veriye çevrilir. (2"10
-1 = 1023)
SV / 1024 = 0.0048V (4.8 mV)

Gerilim = {ADC_~ .ucu / 1023) * ADC Gerilimi

ADC Gerilimi = 5V (Arduino UNO)

Arduino UNO üzerinde 6


analog gi riş bulunuyor.

✓ Analog giriş fonksiyonları ile analog sensörlerin


çıkışları, potansiyometre ile gerilim bölücü çıkışı gibi
şeyleri Arduino ile okuyabiliriz.

✓ Analog girişleri analogRead() fonksiyonu ile


okuyabiliyoruz.
..
'
• •
, . Ana/og Giriş Okuma

o.ı
..,,..,

- -
RSr

ıoltff
M fV

Arduino
"'" Dil
ou

--
Dil
010
NIC Ol
Dl

ı .,. -
01

D1
.... .... .... 1()
ı °'
41 Dl
Dl
Dl
DO
..
sa.
50<

.. ... .... .... ........ .......... .....


... ..
.r
• • • • • • • • • • • •• 1

.............. .................. .. .. .................................... ..... ..................


.................
........ . ................ .. . ........ ... . ................
... ... ........ .......
... ......... ... ...... ...... ........................ ... ... ............ ... ... ...... ... ... ...... ... ......... ... ...... .......................
.............. .................. ... ...................... ...... .. . .......... ... ..................... .. ....... ....... ....
................... .
..... ..... .. .. . ..... . .... ... .. ..... ... .. ... .. ...... ....
Potansiyometre okuma

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

11= - ;ı-,. ' •


Analog Sensörler
1 -

·--· ' •

.
✓ 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"

$ .., ......... ,..


OU1ftl1
~
~
1 l 3
✓ Bütün analog sensörleri benzer şekilde okuyabiliriz.

✓Dikkat etmemiz gereken en önemli şey giriş


geriliminin 5 Voltu geçmemesi.

Analog Çıkış

✓ Mikrodenetleyiciler analog çıkış üretmek için dijital


- analog çeviriciler (DAC) kullanır.

✓ Arduino üzerinde DAC bulunmuyor fakat PWM


tekniğiyle analog çıkış üretebiliyoruz.

✓ PWM (pulse width modulation) belirli frekanstaki


bir 'Sinyalin 1 ve O olma süreler i değiştirilerek bir
ortalama gerilimin değiştirilmesine dayanır.

PWM

PWM
V V
-
- - Avg.

--- +--- ..
Avg.
,,.,_.,.._ __....____......ı_........._ ,
( ) -,---)._..__._~...___....__
T ( a) T Cb>
PWM

_,_°". :w___n,.__,n,.__,n ı

_,__ :ıo:n:n:ru.--------, .--------, .--------, .---------,

_,__ :D u u u ~
,.. , ARD ,
• - UI NO •.
• 11
- : •
1 - ••
<:C Analog Çıkış
••• •

✓ Analog çıkış için analogWrite() fonksiyonunu kullanacağız.


analogWrite(pin, PWM ty_cycle)

✓ O- 255 arası ı+ O- 5 Volt

✓ Analogolarak kullanacağımız pinled çıkış olarak


ayarlamamız gerekmiyor !

✓ analogWrite(A0,100) ı+ AO çıkışından (100 / 255) • 5V


RGB LED sürme

RGB LED Sürme

✓ 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

• '. ." ' UIN □ ,-


11 = - -:ı:ı. DC Motor Sürme
-...
1 ~ ' '
, .

✓ DC motor uygulanan gerilime göre devri değişen bir


motor çeşididir.

✓ Arduino'nun çıkışları bir DC motoru sürmek için


gerekli akımı sağlayamaz.

✓ Yüksek akımlı komponentleri çalıştırmak için akım


yükseltici bir elemana ihtiyaç duyulur.
Transistör
.... ARD
• - UIND · ·
11 = - .:,-,
1 ~ ' '
Transistör
· -- l •

✓ 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

NPN Transistor PN P Trans is tor

J 1 1
• ~·" U I N □ •.
11 = - ,:,- DC MOTOR SÜRME
DC_. 12V

NPN -

Seri Haberleşme

Seri Haberleşme
Senıl

Dijital haberleşme temel


olarak paralel ve seri
olarak iki bölümde
incelenebilir.
- · 1 1= - .:,-, . Seri Haberleşme
...
1 "''
_ , .

✓ Seri haberleşmede birçok protokol bulunuyor: USB, 12C


SPI, RS232

✓ Arduino'de en sık kullanacağımız seri haberleşme

-
USART Modülü üzerinden RS232 olacak.

✓ Eskiden her bilgisayarda bulunan RS232 portunun


yerini USB aldı . USB üzerinden sanal bir COM port
yaratılıyor.

✓ Seri haberleşme ile Arduino ile çevre birimlerini


veya bilgisayar üzerindeki arayüz yazılımlarını
haberleştirebil iriz.

✓ PC üzerinde COM port'a erişebilen herhangi bir


yazılım platformunu kullanarak Arduino ile iletişim
kurabilen arayüzler tasarlanabilir.

Arduino-PC
iletişimi


Arduino
Bilgisayar
USB kablosu
Seri iletişim pinleri

Seri İletişim Pin/eri

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

Seri Haberleşme Orneğ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.

✓ fonksiyona parametre olarak "hız" (baud rate) değerini


veriyoruz.
✓ Hız değeri 9600, 19200, 38400, 57600, 115200... olabilir.

✓ İletişim kuran iki birim aynı hızda veri göndermeli!

You might also like