Sq ra dbi vä phåt trién nhanh chöng cåa ky thuat vi dien tü mä déc truing lå thuat vi xü 19 dä t40 ra mét bu6c ng04t quan trong trong su phåt trién cåa khoa hoc tinh toån vä xü 19 thöng
Trang 1PGS 'I'S DC) XUAN TIÉN
THUÄT
LAP TRiN
NHÅ XUÄT BÅN KHOA HOC vÄ KY THUÄT
Trang 2(Biên soan theo chüdng trình chudn cüa BQ GD-DT nàm 2005)
13
Trang 3MO DRU
Trong nhüng thöp nién cuöi cåa thé k} 20, ky thuat dien tü dä lién tuc co nhüng tién bé vuqt böc, déc biét lä trong ky thuöt ché too mach vi dien tü Sq
ra dbi vä phåt trién nhanh chöng cåa ky thuat vi dien tü mä déc truing lå
thuat vi xü 19 dä t40 ra mét bu6c ng04t quan trong trong su phåt trién cåa khoa hoc tinh toån vä xü 19 thöng tin, no ånh hudng quyét dinh dén con dubng "tin hoc hoå" xä héi, tüc lä con dubng mä thöng tin dä vä dang trå thånh luc luqng san xuät truc tiép trong nén sån xuåt cåa ky nguyén näy
Cåc bé vi xü 19 ngäy nay duqc xåy dung trén cd cåa mét täm bån dÄn
silic vi dién tü cd Idn (LSI) vä cuc Idn (VLSI) nén kich thu6c nhö gon, töc dé cao,
tiéu hao näng luqng thåp vä d4c biét lä giå ré nén chüng ngäy cäng phö dung trong cåc üng dung khöng chi trong cåc chuyén ngänh d4c thü nhu thu#t dién tü, tin hoc, vibn thöng, cöng nghé thöng tin, ky thu#t diöu khién tu déng
ma cå trong cåc länh vuc phi dien tü khåc Näm 1970 cöng ty tré tudi Intel cho
ra ddi bé vi xü 19 ddu tién, co ten goi lå Intel 4004, nhåm dåp üng nhu cau cå'p thiét cåa mot cöng ty kinh doanh lå häng truyén thöng BUSICOM Intel-4004
lä két quå cåa mét tuång quan trqng trong su phåt trién cåa kg thuat xü 19
Dö lä mét két cå'u lögic (Automat hüu hon) må co the thay ddi chüc nång cåa
no bäng chucjng trinh ngoåi chü khöng phåt trien theo hudng too mét cå'u trüc cüng chi thuc hién theo mét chüc näng nhå't dinh nhu trUdc dåy Do dö khå näng mem déo hoå trong cåc thao tåc cåa minh må Intel-4004, våo nåm 1971
dä trd thänh bö vi xü 19 ddu tién cåa thi trubng t- Midi Intel-4004 lå bé vi xü
19 4 bit song song, duqc ché too theo quy trinh cöng nghé MOS kénh cåm (mg loai P Thdi gian töå thiéu dé thuc hién mét IQnh lå 10,8 gs Nåm 1972 häng
Intel cho xuå't xuång bé vi xü 19 co ten goi lä Intel-8008 Kieu nåy vÄn duqc ché too theo cöng nghé PMOS nhung lå loqi 8 bit song song Bé vi xü IS' nåy lå CPU cåa måy vi tinh MICRAL do Phåp ché t40 Dén dåy hång loot cåc häng dien tü
ndi tiéng häng dåu cåa thö gidi nhu häng National, Rockwell, Fairchild,
Mostek dä nhanh chöng di våo cöng nghé sån xuåt vå ché too cåc bé vi xü 19 Näm 1974 häng Intel cho ra ddi bé vi xü 19 8080- 8 bit song song ditéc ché too theo cöng nghé NMOS vdi thbi gian dd thuc hién mét Iénh Id 2 dä dånh dåu mét bddc tién Idn trén con dubng låm chå tdc dé xü 19 tin cåa ky thuat dién
tu hién doi Cåc häng khåc cüng cho ra dbi nhüng bé vi IS' co tinh nång
Trang 4tuong üng: 6800 (Motorola), 8080(texas Instrument), TLCS12 (Toshiba), 8080 (NEC), FS (Fairchild), 2650 (Signetics), IM6100 (Intersil), 2650 (RTC), 8080A,4040 (Sinmens), 2900 và và 6800 (cùa hâng Sescosem) Nàm 1978, loai
8080 düQc chi tiê'n thành loai 8085 Lûc này dû xuâ't hièn nhüng mây tinh mini
Sü dung câc bê vi xü IY nôi trên Theo dà dô câc thông sô' cd bàn cüa bê vi xù IY
ngày càng düQc cài thiên: tô'c dô ngày càng Ibn (câc bê vi xü 19 hiën dai cùa INTEL dà dat tdi tô'c dô nhiêu GHZ), do rong kênh thông tin ngày càng Ibn (câc bê vi xü 19 hiën dai cüa INTEL cô kênh dû liêu 16/32/64 bit) Diêu dô dà giüp cho bài toân thiê't kê' câc hê vi xü 19 chuyên dung vdi tinh nàng rong Ibn trd nên dé dàng han
Mêt hê vi xü IY tô'i thidu phài bao gôm mot bê vi xü IY (dô là khôl diêu
khiên và xü IY trung tâm CPU), mot bê nhd RAM, mot bê nhd cô' dinh ROM và
câc công vào ra sô' liëu cùng nhüng thi6t bi ngoai vi càn thiê't Mêt hê vi xü Fy tôi da không gidi han vê sô" luqng thành phàn, vê chüc nàng thuc hiên và vê quy
mô üng dung Vâ'n dê là trên co sd cùa yêu câu cu thê cüa hê càn thiêî ké mà tô chüc düQC phân cüng cüa hê d d4ng tôl thi6u (nhàm tang tô'c do, giàm giâ thành
và tàng dô tin cay) và xây dung phàn mêm diêu khién that tôl üu nhâm tâng khâ nâng linh hoqt và mêm déo trong câc phép xù 19, gia công và bi6n dôi tin hiëu mà hê phài thuc hiën
Nhüng vâ'n dê chinh dâ nêu d trên sê düQc khâo sât, nghiên cüu trong nhüng chüdng sau cüa giâo trinh này Vi dê cung câ'p câc kiê'n thüc co bân cho câc dôi tüQng là Sinh viên dgi hec cùa cdc chuyên ngành dien tÙ-viÉn thông, công nghê thông tin và tu dêng diòu khiên nên trong khuôn khô cûa cuô'n tài liêu không dài, tâc già dâ cô gâng tt;ng hQp, cap nhât câc tài lièu thiét yéu trong
và ngoài nü6c dê xây dung nOi dung tài liëu này nhâm cut muc tiêu dû dè ra NOi dung cùa tài lieu bao gôm 12 chüdng, 2 Phu luc Cu thé:
Chitangl Kiê'n trüc hê vi xü 19 Gibi thiêu kiê'n trüc cûa hê Vi xû IY tôl thiêu
Tô9 chüc và dâc trung cüa kênh hê thô'ng, chüc nâng bê nhd ROM, RAM và phttdng phâp quàn IY bê nhô trung tâm cüa hê vi xü 19 Chitang2 BQ vi xü IY 16 bit 8086 INTEL Trinh bày câ'u trüc phàn cüng và
nguyên tâc làm viêc cüa bê vi xü IY 16/32 bit thông qua 80286 Câc tin hiëu và chüc nàng cùa chüng PhüOng phâp quàn IY bê nhd d chê' dê dia chi thuc và chê' dO dia chi ho cûa bê vi xü IY 16/32 bit Chuang3 Lap trình assembly cho hê vi xü 19 Trình bày tdng quan vê ngôn
ngü assembly và câc thành phàn cd bàn cua nô Trình bày bê ki til khoâ, cü phâp câu lënh, câc lênh già, câc toân tü cùng trình biên dich MACRO ASSEMBLER Tiê'p theo là gidi thiêu tap lënh cüa bê
vi xü IY 80286 cùng v6i câch phân chia chûng theo nhôm dé tiên cho khào sât
Trang 5Chtrong 4.
5.
6.
7.
Chitang 8.
9.
5
Thiét ké hê vi xù IY chuyên dung Trinh bày trinh ttg và phttc;ng phâp thiét kê' câc hé vi xù 19 chuyên dung theo chüc nâng yêu càu. Minh hoq bàng thibt kê' hê thu thâp tin hièu da kênh
Cdng trao dôi thông tin vdi ngoai vi Trinh bày phttong phâp vào/ra thông tin tâch biêt và phüdng phâp vào/ra thông tin theo dia chi bê nhd Vi mach ghép nôi cô lâp trinh 8255A và phuong phâp ghép nô
8255A v6i hê vi xü 19
Chê' dè ngât cûa bê vi xü 19 Trình bày chê' dQ ngât cüa bê vi xü 19. Tô" chüc ngât và nguyên tâc hoqt dông cüa nght trong hè vi xü IY 80X86 Chip diêu khién ngât uru tiên 8259A Ghép nô Chip 8259A vdi hê vi xü 19
Truyên thông tin nol ti6p Trình bày câc khâi nièm vê truyên so liêu M4Ch thu phât di bê van nâng IN8250A/16450 Mach thu phât dông bê và di bê vqn nâng USART 8251A Nôî ghép UART 8250A
và USART 8251A vôi hê vi xü 19
Bién ddi tin hiêu tüdng tu-sô' và tin hiëu sô' - tuong tu Trinh bày nguyên tâc dong cùa bê bién dôi sô' - tüdng tu và bé bién doi tüdng tu- s6 BO biê'n ddi ADC 8 bit 0809 BO bign ddi ADC 12 bit
AD574A Ghép nô'i ADC 0809 và AD574A vdi hè vi xü 19
HQ vi xü 19 ON-CHIP Trình bày cà'u trüc cùa hè vi xü IY On-chip 80C51 (và 89C51) Td chüc cdng vào/ra cua On-chip Khôi tao thòi gian và bê dê'm cüa On-chip Cd chd ngât cûa On-chip 80C51
Chitong 10 Tàp lënh cüa hê vi xü IY ON-CHIP 80C51 Trinh bày cà'u truc lènh
và nguyên 19 thuc hiën lënh cua hê v; xü IY on-chip 80C51 Trình bày tap lênh cua On-chip 80C51 cùns nhôm lènh chuyèn dû lieu, nhôm lënh diêu khiên bién logic, nhôm lènh ré nhânh chutong trinh, nhôm lènh tinh toân câc phép tinh sô' hqc và logic
II Thiê't kê' hê xü IY trên hê vi xü IY ON-CHIP 80CôI Trình bày trình
tu thiê't kê' hê vi xü IY chuyên dung trên hé vi xù IS' on-chip Minh hoq bàng câc thi du thiê't kê' hê chüc nang
Chrong 12 Hé xù IY song song Trinh bày kidn trûc cùa hè xü IY song song
Kidn truc kiéu PIPELINE Kiê'n trüc kiéu da CPU Lap trình cho
hê xù IY song song da CPU Minh trên thi du xù 19 song song
câc tham sô Anh.
Trang 6Trong cåc chuong déu co cåc thi du minh hoq, döc biét lå cåc chttdng Iién quan t6i båi toån thié't hé vi xü IS' chuyén dung Trong cåc minh hoq d6 dä thé hién mét cåch nhåt quån cåc btidc thuc hién thié"t ké' hé thö'ng tif khåu phån tich yéu chu nhiém vu tdi khåu tö chüc phån cüng vå xåy dung phån mem MONITOR tüöng üng Cho hé can thié't kél Vå'n dB ghép nöå vdi måy tfnh cüng duqc dét ra nhäm t4n dung khå näng manh cüa måy tinh trong cåc båi toån
19 cå'p 2, cåp 3 Cho cåc cå"u trüc tin phüc top
Tåc giå Xin chån thånh cåm On Pgs Ts Db Düc Giåo vå Pgs Ts Db Trung
Tuän (Trübng Doi hoc Khoa hec TV nhién thuéc Doi hoc Quö'c gia Hå Nöi) dä bd
nhiéu cöng süc dé hiéu dfnh cuön tåi lieu nåy, cåm On Nhå xuät bån Khoa hoc
vå KY thuat dä teo moi diéu kién thuan IQi dé cuön såch näy dén tay bqn dQC
Do khå näng vä thbi gian chuan bi bån thåo con han ché, cuon såch chäc chän khöng trånh duqc cåc thiéu s6t, chüng töi mong nhän duqc sv g6p j chån thånh cåa ben dec Thu göp Xin güi vé nhå xuät bån Khoa hoc vå KY
thuat-70 Tran Hung Hä Néi
Tåc gia
Trang 7MUC LUC
Mö DAU
CkU0Nq 1 KIÉN TRÜc HÉ VI xÜ
1.1 TG chüc Chung cåa Hé vi xü
1.2 Td chüc kénh thöng tin trong he vi xü IS'
1.3 Bé nhd trung tåm cåa he vi xü If 1.3.1 Quån IS' bé nh6 1.3.2 Bé nhd cd dinh ROM 1.3.3 Bé nhd IC thöng dung cåa ROM
1.3.4 Bé nhd doc/ghi RAM 1.3.5 Bé nhd IC thöng dung cåa RAM 1.4 Tdchüc bé nhd trung tam cåa he vi 19 3 7 9 11 11 12 16 17 20 20 1.4.1 Td chüc bé nhd trung tam kidu ghép song song cåc IC nhd 20
1.4.2 TG chüc bé nhd trung tam kidu ghép nöå tiép cåc IC nhd 22 1.4.3 Db thi thdi gian cåa bé nhd CküdNq2 uxÜL± 16 BIT 80286 INTEL 2.1 'I'd chüc phån cüng cåa bé vi xü IS' 80286
2.1.1 Cå'u trüc Chung cåa bé vi xü IS' 80286
2.1.2 Cåc thanh ghi cia bé vi xü IS' 80286
2.2 Hoot déng cåa bé vi xü Ij 80286 2.3 Quån 19 bé nhd thVc cåa bé vi xü 19 80286 .
2.3.1 Bé nhd thi;ic cåa bévi xü Ij 80286
2.3.2 PhUdng phåp dia chi hoå cåa bé vi xü IS' 80286
24
29 29 29
34 37 43 44 2.4 Quån 19 bé nhd åo cåa bé vi xå IS' 80286 45
2.5 Phuong phåp tinh dia chi vat IY (thuc) tü dia chi åo 51
2.6 Båo ve bé nhd trong ché dé dia chi åo 53
2.7 Khåi déng bé vi xü 19 80286 56
Trang 83.2 3
3.2 4
3.2,5
3.2.6
t roc mot lisnh nsgçmbly
Che d(ing hhng dong trong assembly
CAC tonn tù (operator) dùng trong assembler
3.3 Chü(3ng trinh bién dich MACRO ASSEMBLER
3.4 Top IQnh cùa bO vi xü IS' 80x86 77
3.4.1.
3.4.2
3.4.3.
3.4.4.
Nhôm IQnh chuyên dü li?u 77 NhOm IQnh chuyòn dia chi 82 Nh6m IQnh chuyen thanh ghi cd 83
Nh6m IQnh chuyen dü liëu qua
3.4.5.
3.4.6.
3.4.7.
3.4.8.
3.4.9.
3.4.10.
3.4.11.
3.4.12.
Nh6m IQnh chuyén diêu khiên
Lénh so sânh c6 cü Nhôm IQnh
Lénh gQi chuong trinh
Nhôm IQnh tinh toân sô' Nhôm IQnh dich chuyòn và quay vòng
Nhôm lénh thuc hién phép tinh
Nhôm 1+nh xù IS' xâu
3.5 Tô' chüc MACRO
3.5 l Dinh nghia mot Macro (khung cùa Macro)
3.5.2 CAC chi dàn (directive) cho Macro
3.5.3 CAC toAn tu cho Macro
3.6 Xây dung chuong trinh
3.6.1 CAC buòc xày dung chuong trình
3.6.2, Chuong trinh minh h0ë
Chuonq4 THIÉTKÉHÊVIXÜL± CHUYÊN DVNG
4,1 Trinh tu thiét kécâc vi xù IS' chuyên
4.2 Thiét kécâc he vi xù IS' chuyên d\lng
84
, 88 .89 92
.95 97
98
.99
100 101 101
102
119
122
Trang 94.2.1 Mô tá chúc näng hé vi lý cdn thiét
4.2.2 Thiét hé vi lý theo chúc náng yéu chu
ChUONq F côNG TRAO Dói THÔNG TIN völ NGOô1V1
5.1 Väo/ra thông tin tách biét
5.2 Väo/ra thông tin theo dia chi bÔ nhó
5.3 Vi mach ghép nôä có läp trinh 8255A
5.3.1 Cäu trúc 8255A
5.3.2 Các Ché dÔ läm viéc 8255A
5.4 Ghép nô%1 8255A hÔ vi
CkU0Nq 6 CHE DC) NGÁT
6.2 Td chúc ngát trong hÔ vi lý 80x86
6.2.1 Phän loai ngát
6.2.2 HOQt dÔng ngát
6.3 Chip diÔu khidn ngát uu tiôn PIC 8259A
6.3.1 Khái niëm ngát uu tiôn
6.3.2 Chip diÔu khidn ngát uu tién 8259A
6.3.3 Läp Ché dÔ läm viëc cho chip 8259A
6.4 Ghép Chip 8259A vói he vi lý
6.4.1 Sö dó Ghép nôä Chip 8259A he vi lý
6.4.2 1-4p trinh diÔu khién hoat dÔng cho chip 8259A
6.4.3 táng chip 8259A
Chu0Nq7 TRUYEN THÔNG TIN
7.1 Các khái niëm vé truyÔn liëu
7.1.1 Mang thông tin truyÔn liÔu
122
123
149
149
152 154
154
156 159
169
169
172
172
174 176
176 176 178
190
190 191 197
199
199
199
202
Các 7.1.3 MÔt só dang mä thông dung trong truyÔn
7.2 TÓ chúc dudng truyÔn tín hiëu nôi tiëp
7.3 Mach thu phát di bÔ van náng IN8250A/16450
7.3.1.
7.3.2.
7.3.3.
7.3.4.
Tó chúc UART 8250A Các thanh ghi bén trong 8250 (báng Nôä ghép UART 8250A vói he vi lý Läp trinh cho UART 8250A
205
207
208 209
212
218 219
Trang 107.4 Moch thu phåt d6ng bé vå di bé von nång USART 8251A , 223 7.4.1 USART 8251A
7.4.2 Cåc thanh ghi chüc nång cåa 8251A
7.4.3 Nöå ghép USART 8251A vdi he vi xü
223
224
227
CkÜ0Nq 8 BIEN DOI TiN HI$U TUONG TV Sö vÅ TiN Hlfr,U Sö
-TUONG TU
8.1 Nguyén täc hoqt déng Cda bé bié'n döi sö' - tüdng tu
8.2 Nguyén täc hoot déng cåa bé bién ddi tüdng tu
8.3 Bé bién ddiADC 8 bit 0809
8.3.1 Sd db chüc näng cåa ADC 0809
8.3.2 Ghép tin hiéu våo ADC 0809
8.3.3 Ghép ADC 0809 v6i he vi xü IS'
8.4 m bién ddiADC 12 bit AD574A
8.4.1 Cåu trüc cåa AD574A
8.4.2 Diéu khién hoat déng AD574A
8.4.3 Ghép nö"i AD574A v6i he vi xü
CküdNq 9 vixÜL± ON - CHIP
.
9.1 Ciu trüc cåa he vi xü 19 On-chip 80C51 (vå 89C51)
9.1.1 Cå"u trüc Chung cåa on-chip 80C51
9.1.2 Chüc näng cåc thånh phån cåa on-chip 80C51
9.2 chüc cöng våo/ra cåa he vi xü Ij On-chip
9.3 Khöå tqo thdi gian vå bé dém (Timer/counter)
9.4 Cd ché' ngåt cåa he vi xü IS' on-chip 80C51
9.4.1 Phån loqi ngåt trong he vi xü Ij on-chip
9.4.2 Müc ngÅt Liu tién trong he vi xü 19 on-chip
237
237
240
242
, 242
243
246 250
255
258
263
263
263
265
, 270
273
276 276
277
9.4.3 Nguyén IY diéu khidn ngÅt cåa he vi xå IY on-chip 278 9.4.4 Nguyén 19 khåi déng cåa on-chip 80C51 280 9.5 Nguyen IY truyén tin nö"i tiép cåa he vi xü IY on-chip 80C51 282 9.6 Thanh ghi diéu khién ngudn pcon cåa he vi xå 19 on-chip 80C51 296 CküdNq 10 TAP LÉNH cÜA VI xÜ LY ON-CHIP 80C51 297 10.1 Nguyén Ij thuc hién IQnh cia on-chip 80C51 297 10.1.1 Cåu trüc lénh cåa he vi xü 19 on-chip 80C51 297
Trang 1110.1.2 Xü IS' lénh cåa he vi xü 19 on-chip 80C51.
10.2 TB chüc khöng gian bé nhd cåa on-chip 80C51 298
10.2.1 Bé nhd chutdng trinh EPROM
10.2.2 nhd dü lieu RAM
303
10.3 Tap lénh cüa hé vi xü 19 On-chip 80C51 308 10.3.1 Nhöm lénh chuyén dü lieu
10.3.2 Nh6m lénh diéu khidn biéål lögic 314
10.3.4 Nhöm lénh tinh toån sÖhoc
10.3.5 Nh6m IQnh tinh toån lögic
10.4 T6m tit tap lénh cåa he vi xü ij on-chip 80C51
CküdNq 11 THIÉT KE He xÜ IS TRÉN VI xÜ ON-CHIP 80C51 337 11.1 Trinh tv thiét ké" he vi xü 19 chuyén dung trén on-chip
CkUdNq 12 xÜ IN SONG SONG
12.1 Phån 104i kién truc xü If song song 371 12.2 Kién kidu PIPELINE
12.2.2 Nguyén tic cåa phddng phåp xü IS' vector
trong PIPLINE
12.2.3 Kién trüc pipeline co khå nång ré nhånh.
12.2.4 "I'd chüc he xü 19 pipeline
12.3 Lap trinh Cho he xü Ij song
12.4 He xü IS' song song kidu da CPU
12.4.1 Cå'u trüc cåa he xü IY song song da CPU
12.4.2 Lap trinh cho he xü 19 song song da CPU
12.5 Xü Ij song song cåc tham sö ånh
PHV
371
371
374 376
378
378
381
387