Chương 6: Kết hợp 8051 với bộ nhớ ngoài Vi xử lý (Microprocessor) là IC chuyên dụng về xử lý dữ liệu, điều khiển theo một chương trình, muốn Microprocessor thực hiện một công việc gì người sử dụng phải lập trình hay viết chương trình. Chương trình phải lưư trữ ở đâu để Microprocessor nhận lệnh và thi hành, đôi khi trong lúc xử lý chương trình Microprocessor cần nơi lưư trữ tạm thời các dữ liệu sau đó lấy ra để tiếp tục xử lý. Nơi lưu trữ chương trình cho Microprocessor thực hiện và nơi lưu trữ tạm thời dữ liệu chính là bộ nhớ. Các bộ nhớ của Microprcessor là các IC, các IC nhớ này có thể đọc dữ liệu ra, ghi dữ liệu vào hoặc chỉ đọc dữ liệu ra. Đôi khi bộ nhớ của Microprocessor không đủ để lưu trữ những thông tin cần thiết khi chạy chương trình, khi đó phải dùng kỹ thuật mở rộng bộ nhớ. 8051 có khả năng mở rộng bộ nhớ đến 64k byte bộ nhớ chương trình và 64k byte bộ nhớ dữ liệu bên ngoài. Bộ nhớ chương trình là bộ nhớ Rom còn bộ nhớ dữ liệu là bộ nhớ Ram. _ Bộ nhớ Ram chia ra làm 2 loại Sram và Dram. Dram được chế tạo dùng kỹ thuật MOS, có dung lượng bộ nhớ lớn, công xuất tiêu tán thấp và tốc độ hoạt động trung bình. Sram dữ liệu lưu trữ vào các Flip- Flop còn Dram dữ liệu lưu trữ mức 0 và 1 tương đương với quá trình nạp và xả của một tụ điện khoảng vài pF. Bởi vì điện áp của tụ sẽ suy giảm dần do đó Dram đòi hỏi chu kỳ nạp lại nếu không muốn mất dữ liệu và được gọi là quá trình làm tươi Ram, đây chính là khuyết điểm của Dram so với Sram. Bộ nhớ Rom có nhiều loại: PROM, EPROM, EEPROM nhưng EPROM có thể lập trình bởi người dùng, có thể xóa và lập trình lại nhiều lần nên trong đồ án này chúng em dùng EPROM 2764 và dùng SRAM 6264. Đặc điểm, sơ đồ chân và bảng sự thật của 2764 và 6264 ở hình dưới đây SRAM 6264: là bộ nhớ được chế tạo theo công nghệ CMOS, có dung lượng 65536 bit được tổ chức thành 8192x8 bit (8KByte), điện áp cung cấp là +5V, thời gian truy cập khoảng 150ns. Ngõ vào/ra dữ liệu được dùng chung, các ngõ vào/ra này tương thích TTL. Công suất tiêu tán ở trạng thái chờ rất thấp chỉ khoảng 0,1mW so với khi hoạt động bình thường là 200mW. Sơ đồ chân và sơ đồ logic của 6264 như sau: Từ sơ đồ chân cho ta thấy cá chân được chia thành 4 nhóm: + Vcc, GND : chân nguồn DQ 0 -DQ 7 6264 A 0 -A 12 CE 1 \ CE 2 OE\ WE\ N.C A 12 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 DQ 0 DQ 1 DQ 2 V ss 6264 V cc WE\ CE 2 A 8 A 9 A 11 OE\ A 10 CE 1 \ DQ 7 DQ 6 DQ 5 DQ 4 DQ 3 Mode \ Pin WE\ CE 1 \ CE 2 OE\ Output x H x x Not Select x x L x Hi-Z Output Disable H L H H Hi-Z Read H L H L D out Write L L H H D in + Do đến D7 : chân dữ liệu + Ao đến A12 : chân đòa chỉ + EPROM 2764: là bộ nhớ chỉ đọc được chế tạo theo công nghệ NMOS, dùng một nguồn đơn +5V, dung lượng bộ nhớ là 65536 bit, được tổ chức thành 8192x8 bit (8KByte). 2764 là loại EPROM có thể xóa bằng tia cực tím và có thể ghi lại được nhiều lần. Có hai kiểu họat động: bình thường và chờ. Ở trạng thái chờ, công suất tiêu thụ là 132mW so với 525mW khi ở trạng thái đọc dữ liệu, thời gian truy xuất là 200ns. Sơ đồ chân và sơ đồ logic của 2764 như sau: Mode (chế độ) CE\ OE\ PGM\ V PP Ra (Output) Đọc L L H V cc Dout Chờ H x x V cc Hi-Z Lập trình L x L V pp Din Kiểm tra L L H V pp D o ut Cấm lập trình H x x V pp Hi-Z Bảng trạng thái V pp A 12 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 O 0 O 1 O 2 GND 2764 Vcc PGM\ N.C A 8 A 9 A 11 OE\ A 10 CE\ O 7 O 6 O 5 O 4 O 3 2764 CE\ OE\ V PP D 0 -D 7 A 0 -A 12 WE, OE, CS1, CS2 : chân điều khiển - EPROM có thể được lập bởi người lập trình sử dụng và nó cũng có thể xóa để lập trình lại khi nào muốn. -EPROM dùng trong mạch được chứa sẵn chương trình điều khiển, tức là chỉ xuất Data mỗi khi CPU tham khảo đến, do đó ta chỉ quan tâm đến chế độ đọc và chờ. Dựa vào các Mode hoạt động trên thì EPROM được điều khiển các chân sau: - PGM = 5 Volt (Vcc ) - OE\ nối chân PSEN của CPU - CE\ nối xuống CSO + Chế độ đọc (Read Mode ): Chế độ này được thiết lập khi CE\ và OE\ ở mức thấp, PGM ở mức cao. Có hai ngõ vào điều khiển dùng để truy xuất Data từ ROM là CE\ và OE\ dùng để kiểm soát ngõ ra Data, đưa Data lên Data bus. + Chế độ chờ (Stanby Mode ): Chế độ này làm giảm công suất tiêu thụ được thiết lập khi CE\ ở mức cao, ở chế độ này Data ở trạng thái trở kháng cao độc lập. *Giải mã đòa chỉ: Do 8051 thiết kế cần quản lý nhiều thiết bò ngoại vi, nhiều ô nhớ, muốn làm được việc này người ta phải cung cấp cho mỗi ô nhớ và thiết bò ngoại vi tầm đòa chỉ cho thiết bò đó. Vì vậy cần có mạch giải mã đòa chỉ trong mạch điện. Người ta thường dùng IC giải mã 74HC138 với các ngõ ra được nối tới các ngõ vào chọn chip (CS\) trên các IC nhớ. Sau đây là sơ đồ chân, bảng sự thật và đặc điểm của 74138: A B C G 2A G 2B G 1 Y 7 GND V cc Y 0 Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 74138 74138 A B C Y 0 Y 7 G 2A\ G 2B G 1 Sơ đồ chân sơ lược về các chân: - Ngõ vào A,B,C là các chân ngõ vào số nhò phân 3 bit. C là bit có trọng số lớn nhất, A là bit có trọng số nhỏ nhất - Các chân ngõ ra: Yo Y7, tích cực mức thấp. - Các chân điều khiển: G 1 ,G 2A , G 2B . IC chỉ hoạt động giải mã khi các chân điều khiển đồng thời tích cực. G1 tích cực ở mức cao; G 2A \ và G 2B \ tích cực ở mức thấp Khi một trong 3 chân này không tích cực các ngõ ra từ Yo Y7 ở mức cao. INPUTS ENABLE SELECT OUTPUTS G 1 G 2 C B A Y 0 Y 1 Y 2 Y 3 Y 4 Y 5 Y 6 Y 7 x H x x x H H H H H H H H L x x x x H H H H H H H H H L L L L L H H H H H H H H L L L H H L H H H H H H H L L H L H H L H H H H H H L L H H H H H L H H H H H L H L L H H H H L H H H H L H L H H H H H H L H H H L H H L H H H H H H L H H L H H H H H H H H H H L G 2 = G 2A + G 2 Bảng trạng thái *Giải đa hợp các đường dữ liệu và đường đòa chỉ: Khi dùng bộ nhớ ngoài, port 0 không còn là port IO thuần túy. Nó được kết hợp giữa bus đòa chỉ và bus dữ liệu nên dùng tín hiệu ALE và IC chốt để chốt byte thấp của bus đòa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ. Port2 cho byte cao của bus đòa chỉ. đây chúng em dùng IC chốt 74373. Sơ đồ chân, đặc điểm và bảng trạng thái của 74373 Sơ đồ chân Bảng trạng thái Đặc điểm _ 74LS373 gồm 8 D-FF có ngõ ra 3 trạng thái được điều khiển chốt và xuất dữ liệu bằng chân G và OC. Trong ứng dụng này chân G được nối với chân ALE của 8051, chân OC nối mass. _ là IC chốt 8 bit _ Các bộ đệm ngõ ra 3 trạng thái _ Tín hiệu điều khiển ngõ ra 3 trạng thái chung. 74373 D 0 -D 7 Q 0 - Q 7 OC \ G Output Control (OC) Enable G D OUTPUT L H H H L H L L L L x Q 0 H x x HI-Z V cc Q 0 Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 Q 7 G OE\ D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 GND 74373 . dùng EPROM 2 764 và dùng SRAM 62 64. Đặc điểm, sơ đồ chân và bảng sự thật của 2 764 và 62 64 ở hình dưới đây SRAM 62 64: là bộ nhớ được chế tạo theo công nghệ CMOS, có dung lượng 65 5 36 bit được tổ. cần thiết khi chạy chương trình, khi đó phải dùng kỹ thuật mở rộng bộ nhớ. 8051 có khả năng mở rộng bộ nhớ đến 64 k byte bộ nhớ chương trình và 64 k byte bộ nhớ dữ liệu bên ngoài. Bộ nhớ chương. sơ đồ logic của 62 64 như sau: Từ sơ đồ chân cho ta thấy cá chân được chia thành 4 nhóm: + Vcc, GND : chân nguồn DQ 0 -DQ 7 62 64 A 0 -A 12 CE 1 CE 2 OE WE N.C A 12 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 DQ 0 DQ 1 DQ 2 V ss 62 64 V cc WE CE 2 A 8 A 9 A 11 OE A 10 CE 1 DQ 7 DQ 6 DQ 5 DQ 4 DQ 3 Mode