Xem mẫu

  1. ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KỸ THUẬT MÁY TÍNH –––Ë——— BÁO CÁO ĐỒ ÁN MÔN HỌC MATRIX LED NHẬP TỪ BÀN PHÍM Giáo viên hướng dẫn: Ths Nguyễn Tất Bảo Thiện Lớp: KTMT01 Nhóm thực hiện: Nguyễn Minh Hùng 06520189 Lê Nguyễn Khoa 06520225 Ngô Tự Đăng Khoa 06520228 Lê Quang Huy 06520202 2008 - 2009 2
  2. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” Mục lục Mục lục................................................................................................... trang 3 Giới thiệu về đồ án ................................................................................. trang 4 Phần I: Các linh kiện được sử dụng ........................................................ trang 5 IC AT89C52 ...................................................................................... trang 6 IC 82C55A......................................................................................... trang 7 IC 74HC373....................................................................................... trang 8 IC 74HC138....................................................................................... trang 9 IC 6264 (Ram 8Kx8bit) ..................................................................... trang 10 Phần II: Thiết kế và thi công mạch ......................................................... trang 11 Mạch vi điều khiển AT89C52............................................................ trang 12 Mạch chốt 74HC373 và chọn chip 74HC138 ..................................... trang 13 Mạch Ram 6264 và 82C55A.............................................................. trang 14 Mạch khuếch đại (amplifier) và bàn phím 4x4................................... trang 15 Mạch nguồn và khối hiển thị.............................................................. trang 16 Phần III: Các lệnh tiêu biểu trong Keil C và chương trình mẫu .............. trang 17 Lưu đồ giải thuật................................................................................ trang 18 Các lệnh tiêu biểu trong Keil C.......................................................... trang 19 Lập trình sử dụng RAM trong Keil C................................................. trang 21 Các nguyên lý cơ bản về quét led và bàn phím .................................. trang 23 Chương trình mẫu .............................................................................. trang 25 Phần IV: Sản phẩm thu được, ưu và khuyết điểm ................................... trang 37 Sơ đồ bàn phím .................................................................................. trang 38 Hướng dẫn sử dụng matrixled............................................................ trang 39 Ưu điểm và khuyết điểm sản phẩm .................................................... trang 41 Sơ đồ mạch ........................................................................................ trang 42 3
  3. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” Giới thiệu về đồ án: Hiện nay trong đời sống thì quảng cáo bằng hình thức quang báo không còn mới mẽ gì. Nó có thể được sử dụng để quảng cáo tên nhãn hiệu sản phẩm, tên của một công ty hay tên của một cửa hàng nào đó. Trong đó có quang báo dùng Led Ma Trận, dù quang báo dùng Led Ma Trận chiếm không nhiều nhưng nó cũng đóng góp một phần vào việc tuyên truyền, quảng cáo hay thông tin đến người tiêu dùng nói riêng và cả nước nói chung. Đặc điểm lớn nhất của “Quang báo dùng Led Ma Trận” là có thể nhập trực tiếp từ bàn phím những ký tự mà mình mong muốn, việc này ở các hình thức quang báo khác không có, cái hay của nó là thông tin được cập nhật bất cứ lúc nào, có thể hiện thị nhanh nhất các thông tin mới nhất để mọi người nắm bắt. Trong đồ án này, dù quy mô không lớn nhưng tính chất đặc biệt của Led Ma Trận không mất. Để hiểu sâu hơn về đề tài, xin xem tiếp phần sau: 4
  4. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” PHẦN I: CÁC LINH KIỆN ĐƯỢC SỬ DỤNG 5
  5. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” IC AT89C52 Sơ đồ chân Đặc điểm AT89C52 là một IC họ MSC-51, các IC họ này có đặc điểm chung như sau: • 4KB EPROM bên trong, ở đây chúng ta sử dụng AT89C52 có 8KB EPROM. • 128 byte RAM nội. • 4 Port I/O (input/output), mỗi port 8bit. • Giao tiếp nối tiếp. • 64 KB vùng nhớ mã ngoài. • 64 KB vùng nhớ dữ liệu ngoài. • Xử lý Boolen (hoạt động trên bit đơn). • 210 vị trí nhớ có thể định vị bit. • 4us cho hoạt động nhân hay chia. AT89C52 có 32 port I/O rất thuận tiện việc quét led hiển thị, nhưng trong đồ án này, chúng ta sử dụng thêm IC Ram 6264 để lưu trữ tạm thời dữ liệu được nhập từ bàn phím. Công việc này lấy đi 14 chân I/O của vi xử lý vì thế không đủ port để quét led, ta phải sử dụng với IC chọn chip kèm IC mở port để thực hiện việc quet led hiển thị này. 6
  6. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” IC 82C55A Sơ đồ chân Đặc điểm IC 82C55A là một IC để mở rộng port cho Microprocessor, nó giao tiếp với Microprocessor thông qua 3 bus: Bus dữ liệu bit D7-D0, bus địa chỉ A1-A0 và bus điều khiển RD\,WR\,CS\,Reset. Mã lệnh, thông tin trạng thái và dữ liệu đều được truyền trên 8 đường dữ liệu D7-D0. Bảng trạng thái của 82C55A: IC 82C55A có 3 Port I/O là Port A, Port B, Port C mỗi Port 8 bit. Các Port này được điều khiển là nhập hay xuất thông qua thanh ghi điều (control register) khiển do Microprocessor (AT89C52) gửi đến từ trước. Port hay thanh ghi điều khiển được chọn qua 2 bit A1-A0. Người lập trình phải điền khiển các bit này từ Microprocessor (AT89C52). 7
  7. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” IC 74HC373 Sơ đồ chân Đặc điểm 74HC373 là một IC chốt địa chỉ tốc độ cao sử dụng công nghệ cổng CMOS, không gây ồn, tiêu thụ công suất thấp. Khi ngõ vào Latch Enable cho phép chốt (G) ở mức cao thì ngõ ra Q sẽ thay đổi theo ngõ vào D, khi Latch Enable (G) xuống thấp thì các ngõ ra Q sẽ được giữ lại đến khi Latch Enable trở lại mức cao. Bảng trạng thái 74HC373: 8
  8. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” IC 74HC138 Sơ đồ chân Đặc điểm 74HC138 là IC giải mã 3 - 8 gồm 3 ngõ vào địa chỉ (A1, A2, A3) có trọng số nhị phân và 8 ngõ ra tích cực mức thấp Y0-Y7, 3 ngõ vào cho phép E1, E2 tích cực thấp và E3 tích cực cao. Bảng trạng thái 74HC138: 9
  9. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” IC 6264 (RAM 8Kx8bit) Sơ đồ chân Đặc điểm IC 6264 là một ram tĩnh CMOS hiệu suất cao được tổ chức bởi 8192*8bit (8Kx8bit) với các chân A0-A12 là bus địa chỉ. Bộ nhớ Ram là bộ nhớ dễ thay đổi, bất kỳ ô nhớ nào cũng có thể truy xuất dễ dàng thông qua bus địa chỉ, thời gian truy xuất các ô nhớ là như nhau. Khác với bộ nhớ ROM, bộ nhớ RAM sẽ bị mất khi nguồn điện cung cấp bị ngắt. Dễ dàng mở rộng bởi chân chọn chip tích cực thấp CE1, một chân chọn chip tích cực cao CE2 và một chân OE tích cực thấp. Tín hiệu cho phép ghi tích cực mức thấp WE điều khiển việc đọc/ghi của bộ nhớ. IC có 8 ngõ vào/ra của bus dữ liệu được dùng chung là I/O0 – I/O7. RAM thường được dùng trong các hệ thống điều khiển tự động để lưu trữ dữ liệu tạm thời.Bộ nhớ Ram có 2 loại là SRAM và DRAM: • SRAM còn gọi là Static Ram hay Ram tĩnh. Đây là loại Ram lưu trữ dữ liệu đến khi nào nguồn không còn. SRAM thực chất là những flip flop (FF), trong mỗi FF là một phần tử nhớ đại diện cho 1 bit. • DRAM còn gọi là Dynamic Ram hay Ram động. Loại ram này phải luôn được làm “tươi” tức là phải nạp dữ liệu cho Ram trong 1 khoảng thời gian nhất định, nếu không Ram sẽ bị mất dữ liệu. Trong khi làm “tươi” Ram ô nhớ đó không được phép truy xuất. 10
  10. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” PHẦN II: THIẾT KẾ VÀ THI CÔNG MẠCH 11
  11. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” MẠCH VI ĐIỀU KHIỂN AT89C52 Sơ đồ mạch Mô tả Mạch này gồm 2 mạch nhỏ là tạo xung và reset. Khi cấp nguồn điện áp trên R34 (chân 9 của AT89C52) lên mức cai 5V (=Vcc), sau đó sẽ xuống mức 0V do tụ C8 bắt đầu nạp. Nếu ta ấn phím reset (JP2) thì áp trên R34 sẽ tăng gần = Vcc nhờ cầu phân áp R33 và R34 ghim một mức áp cố định (+5V). Vì sử dụng Ram ngoài nên P2 và P0 đóng vai trò là các bus địa chỉ, P3 thì sử dụng các chân RD\, WR\ để điểu khiển chế độ hoạt động của RAM và 82C55A. P1 để quét và nhận bàn phím ma trận 4*4 (16 phím). Ở đây ra sử dụng Ram 6264 chỉ có 13 bit địa chỉ, P2 P0 có 16 bit, ta dùng 3 bit còn lại để điều khiển IC giải mã chọn chip. 12
  12. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” MẠCH CHỐT 74HC373 & CHỌN CHIP 74HC138 Sơ đồ mạch Mô tả 74HC138 là IC dùng chọn chip Ram, hay 8255. Ở đây chúng ta sử dụng 1 IC Ram 6264 với 3 IC 82C55A tổng cộng là 4 chip. CE cho Ram, CS1-CS3 cho các IC 8255. A, B và C là các ngõ điều khiển được nối với AT89C52. 74HC373 là IC chốt dùng chốt địa chỉ khi sử dụng ram, ta nối các đầu vào với P0 của AT89C52 để chốt khi P0 là bus địa chỉ, và giữ các địa chỉ này cho Ram hoạt động khi P0 chuyển từ bus địa chỉ sang bus dữ liệu. Đồng thời chốt 2 bit A1, A0 để sử dụng và điều khiển 82C55A. Các đầu ra A0-A7 được nối với các đầu vào dữ liệu của Ram 6264 và A1-A0 nối với A1-A0 của 82C55A. Chân LE là chân xung để chọn chốt hay không chốt, chân này nối với chân xung ALE của AT89C52 để nó tự điều khiển khi được cấp lệnh. 13
  13. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” MẠCH RAM 6264 VÀ 82C55A Sơ đồ mạch Mô tả Như đã đề cập, Ram 6264 có 13 bit địa chỉ, 8 bit được nối với P0 thông qua mạch chốt 74HC373, D0-D7 là bus dữ liệu vào và ra nối với P0 của AT89C52 (P0 đóng 2 vai trò bus địa chỉ và dữ liệu) các chân OE\ và WE\ được nối với RD\ và WR\ của AT89C52 để điều khiển khi Read hay Write. CE là chân chọn chip tích cực thâp, chân này nối với IC giải mã 74HC138 để điều khiển khi cần. 82C55A được sử dụng và truy xuất như 1 RAM ngoại, nó có bus địa chỉ là A1-A0, bus dữ liệu là D0-D7 và bus điều khiển là chân đọc RD\, ghi WR\, chọn chip CS\. 14
  14. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” MẠCH KHUẾC ĐẠI (AMPLIFIER) Theo K2: ta có –Vcc + IcRc + Vce + Vled = 0 ð Rc = (5 – 0.2 - 2) / 20 = 140 ohm (150 ohm) Ở đây ta dùng Transistor C1815 có độ khuếch đại b = 70 – 700 và dòng tối Icmax = 150 mA nên: Ta lại có: K2: -5 +IbRb + Vbe + Vled = 0 ð Rb = (5 – 0.7 – 2) / 0.28 = 8.2K BÀN PHÍM 4x4 Mô tả Bàn phím được xây dựng trên cơ sở quét hàng và cột, được nối với port P1 của IC AT89C52. Chức năng của các phím: ð SPACE BAR: chèn 1 khoảng trắng. ð DELETE: xóa ký tự gần nhất ð RUN/STOP: cho phép chạy chương trình vừa nhập hoặc dừng chương trình đang chạy. ð SPEED UP: tăng tốc chạy chương trình. ð SPEED DOWN: giảm tốc chạy chương trình. ð 10 phím còn lại nhập chữ, số và các dấu, mỗi phím có thể nhập đc 5 ký tự ð Còn 1 phím trống. 15
  15. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” MẠCH NGUỒN Chúng ta có thể dùng adapter 5V hay acquy 12V-24V rồi đưa qua IC 7805, IC này có tác dụng chuyển đổi nguồn từ 9V-24V thành 5V. KHỐI HIỂN THỊ Gồm 12 khối led ma trận ML2008 (8x8) ghép với nhau. Mỗi khối led sẽ có 8 hàng dọc tương ứng với 8 đầu anot, 8 hàng ngay tương ứng với 8 đầu catot. Khi muốn sáng Led nào thì ta chỉ cần cấp mức 1(5V) ở đầu anot và cấp mức 0(0V) ở đầu Catot của led cần sáng. Để có thể hiển thị ta ghép 6 khối Led với nhau trên cùng 1 hàng, như vậy ta có 6 khối cột và 2 khối hàng. Trên cùng 1 khối cột ta nối âm với âm, vậy ta có 6 khối cột âm, mỗi khối 8 bit. Trên cùng 1 khối hàng ta nối dương với dương, vậy ta có 2 khối hàng dương, mỗi khối 8 bit.6 khối cột âm nối với 6 port của 2 IC 8255, 2 khối hàng dương nối với 2 port của 8255 thứ 3. Sơ đồ chân của khối matrix led MI08 (8x8): 16 l 0.0 1.4 l 1 15 l 0.1 1.6 l 2 14 l 1.1 0.6 l 3 13 l 0.7 0.5 l 4 12 l 1.3 1.7 l 5 11 l 0.2 0.3 l 6 10 l 0.4 1.5 l 7 9 l 1.0 1.2 l 8 16
  16. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” PHẦN III: CÁC LỆNH TIÊU BIỂU TRONG KEIL C & CHƯƠNG TRÌNH MẪU 17
  17. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” LƯU ĐỒ GIẢI THUẬT BEGIN NHẬP PHÍM CÓ NO PHÍM? YES PHÍM KÝ TỰ NẠP RAM HIỂN THỊ END 18
  18. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” CÁC LỆNH TIÊU BIỂU TRONG KEIL C Khai báo biến: Bit x; kiểu dữ liệu 1 bit Char data; kiểu dữ liệu 8 bit có dấu, bit đầu là dấu -127 … 128 Unsigned char x; kiểu dữ liệu 8 bit không dấu 0 … 255 Int x; kiểu dữ liệu 16 bit có dấu Unsigned int x; kiểu dữ liệu 16 bit không dấu Vòng lặp For(x;x < 100;x++) { …; } For(;;) vòng lặp vô hạn (super loop) { …; } While(x != 100) { …; x++; } While(1) vòng lặp vô hạn (super loop) { …; } Các lệnh luận lý (boolean) – cho ra giá trị fail(0) or true(1) xb; x=b; x==b; bằng x!=b; không bằng 19
  19. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” Lệnh điều kiện If(x > 0) Switch(x) { { …; case 0: …;break; } case 10; …;break; Else case 11; …;break { ….; …; default: ….;break; } } Các lệnh toán tử (operator) x++ :x=x+1; x-- : x=x-1 x+=b: x=x+b; x-=b: x=x-b; x*=b: x=x*b; x/=b: x=x/b; Các lệnh dịch bit: 11: dịch phải 1 bit; x
  20. GVHD: Ths Nguyễn Tất Bảo Thiện ĐỀ TÀI: “MA TRẬN LED NHẬP TỪ BÀN PHÍM” LẬP TRÌNH SỬ DỤNG RAM/ROM TRONG KEIL C Cách 1 :Vào Target, chọn Memory Model là Large , khi đó mọi biến bạn khai báo đều được lưu trữ trong RAM ngoài.Cách này đơn giản nhưng có nhược điểm là không quản lý được biến, compiler sẽ tự định địa chỉ cho biến của bạn. Cách 2 :Chọn Memory Model là small. Khi đó , biến nào khai báo ở dạng xdata thì sẽ hiểu là RAM ngoài. VD : unsigned char xdata Dulieu[10]; cách này thường được sử dụng rộng rãi, tuy nhiên RAM của bạn phải bắt đầu từ địa chỉ 0x0000. Cách 3 : Nếu vùng địa chỉ của RAM không bắt đầu từ 0x0000 , chẳng hạn bạn sử dụng mạch giải mã để đặt địa chỉ cho RAM bắt đầu từ 0x8000 , khi đó ta có thể sử dụng thư viện "absacc.h" ,ví dụ khai báo như sau : #include "absacc.h" .... #define baseaddr 0x8000 void InitRAM() { unsigned char i; for(i=0;i&lt;10;i++) XBYTE[baseaddr+i]=i; // Ghi vào RAM ngoài 10 giá trị , bắt đầu từ // 0x8000 } Lúc lấy giá trị ra, bạn có thể gọi : x=XBYTE[address]; 21
nguon tai.lieu . vn