Danh mục

Ứng dụng KIT 8051 dùng để chuyển đổi A/D-D/A, chương 8

Số trang: 10      Loại file: pdf      Dung lượng: 318.27 KB      Lượt xem: 20      Lượt tải: 0    
Jamona

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Mở rộng bộ nhớ là một khả năng quan trọng đối với vi điều khiển nhằm tránh gặp bế tắc trong vấn đề thiết kế. Họ MCs-51 có thể mở rộng 64Kbs và bộ nhớ mã lệnh 64Kbs dữ liệu. Các IC giao tiếp ngoại vi cũng có thể thêm vào để tăng năng xuất nhập. Nó trở thành một phần của bộ dữ liệu ngoại và được giải mã ÍO như bộ nhớ. Khi bộ nhớ ngoài được sử dụng, pỏt 0 không được dùng làm cổng xuất nhập....
Nội dung trích xuất từ tài liệu:
Ứng dụng KIT 8051 dùng để chuyển đổi A/D-D/A, chương 8 Chương 8: BOÄ NHÔÙ NGOAØI Môû roäng boä nhôù laø moät khaû naêng quan troïng ñoái vôùi vi ñieàu khieån nhaèm traùnh gaëp beá taéc trong vaán ñeà thieát keá. Hoï MCs-51 coù theå môû roäng 64Kbs vaø boä nhôù maõ leänh 64Kbs döõ lieäu. Caùc IC giao tieáp ngoaïi vi cuõng coù theå theâm vaøo ñeå taêng naêng xuaát nhaäp. Noù trôû thaønh moät phaàn cuûa boä döõ lieäu ngoaïi vaø ñöôïc giaûi maõ I/O nhö boä nhôù. Khi boä nhôù ngoaøi ñöôïc söû duïng, port 0 khoâng ñöôïc duøng laøm coång xuaát nhaäp. Noù trôû thaønh bus duøng ñeå phaân keânh ñòa chæ vaø döõ lieäu, ALE choát noù nhö laø bytes thaáp cuûa bus ñòa chæ khi baét ñaàu moãi chu kyø truy xuaát boä nhôù ngoaøi. Port 2 thöôøng duøng laøm byte cao cuûa bus ñòa chæ. Chu kyø boä nhôù A0  A15 Ñòa chæ D0  D7 Döõ lieäu (a) Khoâng phaân keânh (24 chaân) Chu kyø boä nhôù AD8  AD15 Ñòa chæ AD0  AD7 Ñòa chæ Döõ lieäu (b) Phaân keânh (16 chaân) Hình 4.5 Phaân keânh bus ñòa chæ vaø bus döõ lieäu Hình treân moâ taû vieäc phaân keânh vaø khoâng phaân keânh bus ñòa chæ vaø bus döõ lieäu. Neáu khoâng phaân keânh, vôùi 16 chaân ñòa chæ vaø 8 chaân döõ lieäu ta coù 24 chaân cho bus ñòa chæ vaø bus döõ lieäu. Trong khi ñoù neáu phaân keânh, 8 chaân döõ lieäu ñöôïc duøng chung vôùi 8 chaân thuoäc byte thaáp cuûa bus ñòa chæ neân chæ coù 16 chaân cho bus ñòa chæ vaø bus döõ lieäu. Ñieàu naøy coù yù nghóa lôùn trong vieäc cheá taïo IC. Thöù töï phaân keânh nhö sau : ôû nöõa chu kyø ñaàu, byte thaáp cuûa ñòa chæ xuaát ra port 0 vaø ñöôïc choát baèng ALE. Byte naøy ñöôïc choát ôû boä choát trong suoát chu kyø boä nhôù. Trong nöõa chu kyø tieáp theo port 0 laø bus döõ lieäu, coù theå xuaát nhaäp tuøy yù. Truy xuaát boä nhôù maõ leänh ngoaøi (External Code memory): Boä nhôù maõ ngoaøi ñöôïc ñoïc baèng tín hieäu PSEN (hình 4.6). Trong moät chu kyø maùy ALE taùc ñoäng 2 laàn vaø 2 bytes ñöôïc ñoïc töø boä nhôù chöông trình. Giaûn ñoà thôøi gian cuûa hoaït ñoäng naøy ñöôïc goïi laø chu kyø laáy leänh (hình 4.7). Truy xuaát boä nhôù döõ lieäu ngoaøi (External Code memory): Ñaây laø boä nhôù chöùa döõ lieäu, thöôøng laø RAM vaø ñöôïc truy xuaát bôûi tín hieäu RD vaø WR. Döõ lieäu naøy chæ ñöôïc truy xuaát baèng leänh MOVX thoâng qua thanh ghi con troû döõ lieäu DPTR, hoaëc R0, R1. RAM giao tieáp vôùi 8051 gioáng nhö EPROM. Ngoaïi tröø chaân RD ñöôïc noái vôùi chaân OE vaø chaân WR ñöôïc noái vôùi chaân W. Coøn laïi caùc bus döõ lieäu vaø ñòa chæ noái nhö EPROM. Vôùi 16 ñöôøng ñòa chæ ta coù theå coù ñeán 64Kbs cho vuøng nhôù döõ lieäu. Giaûn ñoà thôøi gian cuûa vieâc ñoïc vuøng nhoù döõ lieäu ngoaøi khi thi haønh leänh “MOV A,@DPRT” ñöôïc cho ôû hình 4.8. Löu yù chæ coù chaân RD ñöôïc duøng cho pheùp RAM. Giaûn ñoà thôøi gian cuûa vieäc ghi cuõng töông töï töø ñöôøng WR xuoáng möùc thaáp vaø döõ lieäu xuaát ra port 0. Port 2 coù theå khoâng duøng laøm byte cao cuûa bus ñòa chæ trong heä thoáng khoâng söû duïng vuøng nhôù maõ ngoaøi maø söû duïng vuøng nhôù döõ lieäu ngoaøi nhoû. Taùm bit ñòa chæ coù theå truy xuaát ñöôïc moät vuøng nhôù 256 bytes, ñöôïc goïi laø moät trang boä nhôù. Neáu vuøng nhôù naøy lôùn hôn 256 bytes ta coù theå duøng theâm moät vaøi chaân cuûa port 2 ñeå choïn trang. Khi truy xuaát moät trang (256 bytes) cuûa vuøng döõ lieäu ngoaøi ta coù theå duøng R0 hoaëc R1 ñeå laøm con troû ñòa chæ troû ñeán byte döõ lieäu caàn truy xuaát. Ví duï nhöõng leänh ñoïc noäi dung cuûa RAM ngoaøi coù ñòa chæ 0050H vaøo thanh tích luõy. MOV R0, #50H ; MOV A, @R0 ; Giaûi maõ ñòa chæ: Neáu 8051 söû duïng caû EPROM vaø RAM ngoaøi ñoøi hoûi phaûi giaûi maõ ñòa chæ. Vieäc giaûi maõ ñòa chæ raát quen thuoäc ñoái vôùi haàu heát vi xöû lyù. Ví duï neáu duøng EPROM 8K vaø RAM 8K, bus ñòa chæ giaûi maõ ñeå choïn IC giôùi haïn trong 8Kbytes: 0000H ñeán 1FFFH, vaø 2000H ñeán 3FFFH, v.v… Thoâng thöôøng ta duøng IC giaûi maõ 74138 vôùi ngoõ vaøo laø 3 bits cao nhaát cuûa bus ñòa chæ. Do ñoù moãi ngoõ töông öùng vôùi 8Kbs. Caùc ngoõ ra naøy ñöa vaøo caùc chaân CS cuûa caùc IC nhôù. Löu yù söï phaân chia tín hieäu cho pheùp xuaát cuûa EPROM vaø RAM khaùc nhau (RD cho RAM vaø PSEN cho EPROM). 8051 coù theå coù ñeán 64Kbytes cho moãi vuøng ROM vaø RAM. Hình 4.8: Giaûn ñoà thôøi gian khi ñoïc döõ lieäu töø boä nhôù ngoaøi Söï choàng laép cuûa vuøng maõ leänh vaø döõ lieäu ngoaøi: Vì boä nhôù maõ leänh chæ ñöôïc ñoïc neân seõ baát tieän trong vieäc phaùt trieån phaàn meàm. Laøm theá naøo ñeå söûa loãi cuûa chöông trình naèm trong kit khi boä nhôù maõ leänh chæ coù theå ñoïc. Bieän phaùp thöôøng ñöôïc söû duïng ôû ñaây laø choàng laép hai vuøng maõ leänh vaø döõ lieäu leân nhau. Tín hieäu PSEN duøng ñeå ñoïc maõ leänh vaø tín hieäu RD duøng ñeå ñoïc döõ lieäu trong cuøng moät boä nhôù. RAM chöùa caû chöông trình vaø döõ lieäu. Hai tín hieäu RD vaø PSEN ñöôïc ñöa vaøo coång AND. Ngoõ ra cuûa coång AND noái vôùi chaân OE cuûa RAM. Maïch ôû hình 4.9 cho pheùp ghi döõ lieäu vaøo RAM. Vì vaäy chöông trình coù theå ñöôïc load vaøo RAM (baèng caùch ghi döõ lieäu vaøo RAM) vaø thi haønh (baèng caùch truy xuaát nhö boä nhôù maõ leänh). RAM W WR OE RD PSEN Hình 4.9 Maïch taïo neân söï choàng laép hai vuøng nhôù VII – HOAÏT ÑOÄNG RESET 8051 ñöôïc reset khi giöõ chaân RST ôû möùc cao ít nhaát trong hai chu kyø maùy vaø sau ñoù traû veà möùc thaáp. RST coù theå ñöôïc noái vôùi switch hoaëc maïng tuï, ...

Tài liệu được xem nhiều: