Thực tập Vi xử lý - Hệ thống vi điều khiển dùng bộ nhớ trong

Một trongnhững ứ ngdụ ng phổ biến trong quảng cáo là thô ng tinđược hiể n thị trên

led ma trận, để giúp người học hiể u được nguyê n lý điều khiể n ledma trận như thế nào thì

trong hệ thố ng có thiết kế giao tiếp với 4 led ma trận 8x8 hai màu xanh và đỏ. Sơ đồ

nguyên lý trìnhbàyở hình6-1và hình trên bộ thínghiệ m là 6-2.

pdf25 trang | Chia sẻ: maiphuongdc | Lượt xem: 2121 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Thực tập Vi xử lý - Hệ thống vi điều khiển dùng bộ nhớ trong, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 1 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN TỬ – BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP ___________________________ THỰC TẬP VI XỬ LÝ TRƯƠNG NGỌC ANH NĂM 2007 Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 2 LỜI GIỚI THIỆU Sau khi đã tìm hiểu kiến thức về vi điều khiển thì bạn có thể bắt đầu thực hiện các bài thực hành đối với vi điều khiển để giúp bạn hiểu rõ hơn những gì bạn đã đọc. Các ứng dụng của điều khiển rất đa dạng nên trong chương này sẽ giới thiệu đến các bạn một bộ thí nghiệm vi điều khiển tương đối đầy đủ các yêu cầu phần cứng và rất nhiều chương trình điều khiển có thể giúp bạn thực hành, thí nghiệm và có thể tự nghiên cứu, tự học. Bộ thí nghiệm vi điều khiển này có thể sử dụng được nhiều loại vi điều khiển 89C51, 89C52, 89S51, 89S52, 89S8252, 89C1051, 89C2051 và 89C4051. Bộ thí nghiệm có thể nạp chương trình cho nhiều loại vi điều khiển như vừa nêu ra ở trên. Đặc biệt là vi điều khiển 89S51, 89S52 và 89S8252 có thể nạp chương trình ngay trong hệ thống đang chạy – điều này tiết kiệm cho bạn không phải mất nhiều thời gian trong quá trình gắn vào bo nạp rồi sau khi nạp xong lại gắn vào bo chạy nếu không đúng phải làm đi làm lại nhiều lần đối với họ 89C – dĩ nhiên 89C vẫn có thể làm được nhưng mạch điện khá phức tạp. Điều tiện lợi thứ 2 là đối với 89C bạn tháo gắn IC trên các socket nạp và nếu bạn gắn ngược thì có thể làm hỏng IC, còn 89S thì do không cần tháo gắn nên điều này sẽ không xảy ra. Chương trình sử dụng cho bộ thí nghiệm này là MCS_52 rất dễ sử dụng, cho phép bạn soạn thảo và biên dịch chương trình một cách nhanh chóng, dễ dàng tìm ra lỗi trong chương trình. Các phần tiếp theo sẽ trình bày chi tiết cấu hình bộ thí nghiệm, cách sử dụng chương trình và cung cấp các bài thí nghiệm thực hành có thể phục vụ cho các bạn tự thực hành. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 3 HỆ THỐNG VI ĐIỀU KHIỂN DÙNG BỘ NHỚ TRONG. Vi điều khiển 89XX có 4 port (từ port 0 đến port 3) được nối với các pinheader. Sơ đồ nguyên lý như hình 1 và hình bố trí linh kiện trong bộ thí nghiệp như hình 8-2. Trong hình 2 có 1 socket để gắn vi điều khiển vào thực hiện các thí nghiệm, chiều gắn IC vào giống như hình trên. Có 4 jumper [JP] để giao tiếp tín hiệu vào ra. Hình 1. Sơ đồ mạch của hệ thống. Hình 2. Hình ảnh thực tế của module vi điều khiển. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 4 1. GIAO TIẾP VỚI LED ĐƠN Một trong những ứng dụng đơn giản để sử dụng 4 port của vi điều khiển xuất dữ liệu làm quen với lập trình ta có một hệ thống 32 led đơn có kết nối với 4 pinheader 8 chân. Khi muốn dùng port 1 để điều khiển 8 led thì chỉ cần dùng một bus dây 8 sợi kết nối 2 pinheader 8 chân từ hệ thống vi điều khiển đến hệ thống led đơn. Sơ đồ mạch của 32 led đơn (do giống nhau nên chỉ trình bày 8 led) như hình 8-3 và sơ đồ bố trí linh kiện như hình 1-1: Hình 1-1. Sơ đồ nguyên lý của 32 led. Hình 1-2. Sơ đồ linh kiện trên bộ thí nghiệm của 32 led đơn. 4 pinheader dùng để kết nối với 32 led, ngõ vào mức 1 thì led sáng, mức 0 led tắt. Do sử dụng led 10 ly và để tăng cường độ sáng nên trong mạch sử dụng các IC đệm 2803 và dùng nguồn 12V và điện trở hạn dòng cho mỗi led là 1k. Chức năng của khối hiển thị led đơn dùng để kết nối với 4 port của vi điều khiển thực hiện các chương trình điều khiển led làm quen với lập trình vi điều khiển. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 5 2. GIAO TIẾP TRỰC TIẾP VỚI 2 LED 7 ĐOẠN Trong thực tế có nhiều ứng dụng trong ta chỉ sử dụng một hay hai led 7 đoạn như hệ thống đếm giây, đếm sản phẩm, hệ thống hẹn giờ nên trong hệ thống thí nghiệm này có thiết kế thêm phần giao tiếp với 2 led 7 đoạn loại anode chung để tiện cho việc sử dụng. Sơ đồ mạch giao tiếp của 2 led đã qua điện trở hạn dòng và có 2 pinheader để nhận tín hiệu như hình 8-5 và hình trên bộ thí nghiệm như hình 8-6 Hình 2-1. Sơ đồ nguyên lý của 2 led 7 đoạn. Hình 2-2. Sơ đồ linh kiện trên bộ thí nghiệm của 2 led 7 đoạn. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 6 3. GIAO TIẾP VỚI 8 LED 7 ĐOẠN THEO PHƯƠNG PHÁP QUÉT Hình 3-1. Sơ đồ giao tiếp với led 7 đoạn. Hình 3-2. Sơ đồ linh kiện trên bộ thí nghiệm của 8 led 7 đoạn. Trong các ứng dụng điều khiển, nhiều thông tin được nhập từ bàn phím cũng như các thông tin hiển thị trên các led 7 đoạn ví dụ như thiết lập nhiệt độ khống chế và đo nhiệt độ của một hệ thống. Trong bộ thí nghiệm có thiết kế giao tiếp với 8 led 7 đoạn loại anode chung theo phương pháp quét. Sơ đồ nguyên lý của led 7 đoạn và ma trận phím như hình 8-5 và hình 8-6. Để điều khiển 8 led 7 đoạn phải dùng 16 đường điều khiển: 8 đường điều khiển 7 đoạn a, b, c, d, e, f, g, dp và 8 đường điều khiển đóng ngắt 8 transistor. Tại mỗi một thời điểm ta chỉ cho 1 tranistor dẫn và 7 transistor còn lại tắt, dữ liệu gởi ra sẽ sáng trên led tương ứng với transistor dẫn. Sau đó cho 1 transistor khác dẫn và gởi dữ liệu hiển thị cho led đó, quá trình điều khiển này diễn ra lần lượt cho đến khi hết 8 led. Với tốc độ gởi dữ liệu nhanh và do mắt có lưu ảnh nên ta nhìn thấy 8 led sáng cùng 1 lúc. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 7 * Mã quét: mức logic 0 thì transistor dẫn, mức logic 1 thì transistor ngắt. MÃ HEX Mã quét điều khiển các transistor FEh 1 1 1 1 1 1 1 0 Transistor 1 ON FDh 1 1 1 1 1 1 0 1 Transistor 2 ON FBh 1 1 1 1 1 0 1 1 Transistor 3 ON F7h 1 1 1 1 0 1 1 1 Transistor 4 ON EFh 1 1 1 0 1 1 1 1 Transistor 5 ON DFh 1 1 0 1 1 1 1 1 Transistor 6 ON BFh 1 0 1 1 1 1 1 1 Transistor 7 ON 7Fh 0 1 1 1 1 1 1 1 Transistor 8 ON * Mã 7 đoạn: trong hệ thống sử dụng led 7 đoạn loại Anode chung nên mức logic 0 thì led sáng và mức logic 1 thì led tắt. Số hex dp g f e d c b a Mã số hex 0 1 1 0 0 0 0 0 0 C0 1 1 1 1 1 1 0 0 1 F9 2 1 0 1 0 0 1 0 0 A4 3 1 0 1 1 0 0 0 0 B0 4 1 0 0 1 1 0 0 1 99 5 1 0 0 1 0 0 1 0 92 6 1 0 0 0 0 0 1 0 82 7 1 1 1 1 1 0 0 0 F1 8 1 0 0 0 0 0 0 0 80 9 1 0 0 1 0 0 0 0 90 A 1 0 0 0 1 0 0 0 88 B 1 0 0 0 0 0 1 1 83 C 1 1 0 0 0 0 1 0 C2 D 1 0 1 0 0 0 0 1 A1 E 1 0 0 0 0 1 1 0 86 F 1 0 0 0 1 1 1 0 8E Các mã khác bạn có thể tự thiết lập. Các transistor và các điện trở gắn bên dưới bo mạch nên bạn sẽ không nhìn thấy trong hình. Trong hệ thống thí nghiệm này bàn phím có thể phục vụ cho hệ thống 2 để nhập các mã lệnh và các thông số nhưng cũng có thể phục vụ cho các thí nghiệm làm quen với bàn phím. Với led 7 đoạn thì có thể cho phép hiển thị chữ và số - khi đó có rất nhiều chương trình ứng dụng có thể thực hiện được trên hệ thống này như chương trình đếm sản phẩm, chương trình đếm tần số, chương trình đồng hồ số, chương trình đồng hồ thể thao … Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 8 4. ỨÙNG DỤNG GIAO TIẾP VỚI MA TRẬN 24 PHÍM Trong bộ thí nghiệm có một ma trận 8x3 tạo thành một bàn phím có 24 phím giao tiếp với IC 8279 chuyên về quét phím kết nối với hệ thống II nhưng cũng có thể hoạt động giao tiếp với hệ thống I bằng cách chuyển 12 switch sang vị trí off để cách ly với IC 8279 như hình 4-1 và hình trên bộ thí nghiệm là 4-2. Bàn phím tổ chức theo dạng ma trận 8 hàng và 3 cột nên tổng số phím là 24 phím được kết nối với một switch màu đỏ. Khi thực hiện các thí nghiệm liên quan đến bàn phím thì bạn phải chuyển 12 switch sang vị trí off Hình 4-1. Sơ đồ giao tiếp với 24 phím. Hình 4-2. Sơ đồ linh kiện trên bộ thí nghiệm của 24 phím. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 9 5. ỨNG DỤNG GIAO TIẾP VỚI THANH GHI DỊCH 8 BIT 6B595. Để mở rộng thêm số lượng tín hiệu điều khiển có thể sử dụng nhiều phương pháp, một phương pháp đơn giản nhất là sử dụng thanh ghi dịch. Trong bộ thí nghiệm này có sử dụng một thanh ghi dịch 6b595 có sơ đồ nguyên lý như hình 8-11 và hình trên bộ thí nghiệm như 8-12. Hình 5-1. Sơ đồ giao tiếp với ma trận led 8x8. Hình 5-2. Hình trên bộ thí nghiệm. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 10 6. GIAO TIẾP VỚI LED MA TRẬN LED 8X8 Một trong những ứng dụng phổ biến trong quảng cáo là thông tin được hiển thị trên led ma trận, để giúp người học hiểu được nguyên lý điều khiển led ma trận như thế nào thì trong hệ thống có thiết kế giao tiếp với 4 led ma trận 8x8 hai màu xanh và đỏ. Sơ đồ nguyên lý trình bày ở hình 6-1 và hình trên bộ thí nghiệm là 6-2. Hình 6-1a. Sơ đồ giao tiếp với ma trận led 8x8. Các hàng sử dụng IC đệm 2803 và transistor, còn các cột sử dụng thanh ghi dịch 6B595. Led ma trận có 2 màu xanh và đỏ có 8 đường điều khiển hàng và 5 đường điều khiển cột màu xanh và 5 đường điều khiển cột màu đỏ – tổng cộng là 18 đường được kết nối với 3 pinheader. Với phần cứng đã thiết kế ở trên sử dụng led ma trận 8x8 có 2 màu xanh và đỏ, để điều khiển led ma trận sáng ta tiến hành gởi dữ liệu ra hàng và mã quét ra cột. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 11 Hình 6-1b. Sơ đồ giao tiếp với ma trận led 8x8 (tiếp theo). Hình 6-2. Hình ảnh thật bố trí trên bộ thí nghiệm. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 12 7. MẠCH THU PHÁT HỒNG NGOẠI Sơ đồ mạch thu phát hồng ngoại như hình 7-1 và hình trên bộ thí nghiệm như hình 7- 2. Hình 7-1. Sơ đồ mạch thu phát hồng ngoại. Hình 7-2. Hình mạch thu phát trên bộ thí nghiệm. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 13 8. GIAO TIẾP ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC CÔNG SUẤT NHỎ Có nhiều loại động cơ bước nhưng trong hệ thống này chỉ sử dụng động cơ bước loại nhỏ, mạch điện giao tiếp để điều khiển động cơ bước sử dụng IC giao tiếp 2803. Động cơ bước sử dụng là loại có 4 cuộn dây – có 5 đầu dây ra hoặc 6 đầu dây ra. Nếu là loại 5 đầu thì có 1 đầu dây chung và 4 đầu dây còn lại sẽ nhận tín hiệu điều khiển, còn loại 6 đầu dây ra thì trong đó sẽ có 2 đầu dây chung nên nối lại thành 1 đầu dây chung. Sơ đồ bố trí linh kiện của IC 2803 để giao tiếp với động cơ bước như hình 8-1 và hình trên bộ thí nghiệm như hình 8-2. Hình 8-1. Sơ đồ nguyên lý điều khiển động cơ bước. Hình 8-2. Sơ đồ giao tiếp với động cơ bước trên bộ thí nghiệm. Mã điều khiển động cơ bước hãy xem trong chương trình điều khiển. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 14 9. GIAO TIẾP VỚI ADC VÀ DAC Hình 9-1. Sơ đồ giao tiếp ADC 7109. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 15 * Hệ thống ADC: trên bộ thí nghiệm có thiết kế mạch giao tiếp với 4 IC ADC 7109: mỗi ADC 12 bit được kết nối đa hợp và có thể và một IC DAC 0808. Sơ đồ nguyên lý như hình 9-1 và sơ đồ bố trí linh kiện trên hệ thống như hình 9-2. Hình 9-2. hình của ADC 7109 trên bộ thí nghiệm. Trong sơ đồ trên sử dụng ADC7109 có thể chuyển đổi 1 kênh dữ liệu ngõ vào tương tự. Các đường tín hiệu điều khiển bao gồm: - 12 đường dữ liệu số truyền tải kết quả chuyển đổi từ tương tự sang số: B11- B0 – tín hiệu ra. - 1 đường tín hiệu điều khiển chọn kênh: CE\ – tác động mức thấp. - 2 đường tín hiệu cho biết cực tính của tính hiệu vào âm hay dương và 1 đường trạng thái – tín hiệu ra. Tần số xung clock để ADC chuyển đổi được cung cấp từ mạch dao động đã tích hợp bên trong và gắn thêm tụ thạch anh bên ngoài có tần số 3.55 MHz - theo sổ tay tra cứu IC. * Hệ thống DAC 8 bit: sơ đồ nguyên lý của hệ thống DAC như hình 9-3 và sơ đồ bố trí linh kiện như hình 9-4. Trong sơ đồ sử dụng 2 IC DAC0808 có chức năng chuyển đổi tín hiệu số 8 bit sang tín hiệu tương tự cộng lại có thể tạo thành DAC 16 bit nhưng trong hệ thống chỉ sử dụng 12bit, 12 đường D11 – D0 dùng để nhận dữ liệu số từ hệ thống điều khiển. Độ phân giải của DAC 0808 được điều chỉnh bằng biến trở. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 16 Hình 9-3. Sơ đồ giao tiếp DAC 8 bit. Hình 9-4. Sơ đồ DAC 8 bit bốn kênh trên bộ thí nghiệm. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 17 10. GIAO TIẾP VỚI REAL TIME 12C887 Sơ đồ mạch của Realtime DS12C887 như hình 10-1 và hình trên bộ thí nghiệm như hình 10-2. Hình 10-1. Giao tiếp với real time 12c887. Hình 10-2. Hình Real Time 12C887 trên bộ thí nghiệm. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 18 11. LCD VỚI 8051 I. MÔ TẢ CÁC CHÂN CỦA LCD. LCD được nói trong mục này có 14 chân, chức năng của các chân được cho trong bảng 12.1. Vị trí của các chân được mô tả trên hình 12.1 cho nhiều LCD khác nhau. 1. Chân VCC, VSS và VEE: Cấp dương nguồn +5V và đất tương ứng thì VEE được dùng để điều khiển độ tương phản của LCD. 2. Chân chọn thanh ghi RS (Register Select): Có hai thanh ghi rất quan trọng bên trong LCD, chân RS được dùng để chọn các thanh ghi này như sau: Nếu RS = 0 thì thanh ghi mà lệnh được chọn để cho phép người dùng gửi một lệnh chẳng hạn như xoá màn hình, đưa con trỏ về đầu dòng v.v… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiển thị trên LCD. 3. Chân đọc/ ghi (R/W). Đầu vào đọc/ ghi cho phép người dùng ghi thông tin lên LCD khi R/W = 0 hoặc đọc thông tin từ nó khi R/W = 1. 4. Chân cho phép E (Enable). Chân cho phép E được sử dụng bởi LCD để chốt thông tin hiện hữu trên chân dữ liệu của nó. Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu. Xung này phải rộng tối thiểu là 450ns. 5. Chân D0 - D7: Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong LCD. Để hiển thị các chữ cái và các con số, chúng ta gửi các mã ASCII của các chữ cái từ A đến Z, a đến f và các con số từ 0 - 9 đến các chân này khi bật RS = 1. Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ. Bảng 12.2 liệt kê các mã lênh. Chúng ta cũng sử dụng RS = 0 để kiểm tra bít cờ bận để xem LCD có sẵn sàng nhân thông tin. Cờ bận là D7 và có thể đượcđọc khi R/W = 1 và RS = 0 như sau: Nếu R/W = 1, RS = 0 khi D7 = 1 (cờ bận 1) thì LCD bận bởi các công việc bên trong và sẽ không nhận bất kỳ thông tin mới nào. Khi D7 = 0 thì LCD sẵn sàng nhận thông tin mới. Lưu ý chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ dữ liệu nào lên LCD. Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 19 Bảng 11.1: Mô tả các chân của LCD. Chân Ký hiệu I/O Mô tả 1 VSS - Đất 2 VCC - Dương nguồn 5v 3 VEE - Cấp nguồn điều khiển phản 4 RS I RS = 0 chọn thanh ghi lệnh. RS = 1 chọn thanh dữ liệu 5 R/W I R/W = 1 đọc dữ liệu. R/W = 0 ghi 6 E I/O Cho phép 7 DB0 I/O Các bít dữ liệu 8 DB1 I/O Các bít dữ liệu 9 DB2 I/O Các bít dữ liệu 10 DB3 I/O Các bít dữ liệu 11 DB4 I/O Các bít dữ liệu 12 DB5 I/O Các bít dữ liệu 13 DB6 I/O Các bít dữ liệu 14 DB7 I/O Các bít dữ liệu 15 A - Chân cấp nguồn cho backlight 16 K - Chân cấp mass cho backlight Hình 11-1: Nối ghép LCD. P2.1 D0 P1.7 P2.0 P2.2 D7 R/W E RS VSS VEE VC +5 v 10K POT LCD 8051 P1.0 Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 20 Bảng 11.2: Các mã lệnh LCD. Mã (Hex) Lệnh đến thanh ghi của LCD 1 Xoá màn hình hiển thị 2 Trở về đầu dòng 4 Giả con trỏ (dịch con trỏ sang trái) 6 Tăng con trỏ (dịch con trỏ sang phải) 5 Dịch hiển thị sang phải 7 Dịch hiển thị sang trái 8 Tắt con trỏ, tắt hiển thị A Tắt hiển thị, bật con trỏ C Bật hiển thị, tắt con trỏ E Bật hiển thị, nhấp nháy con trỏ F Tắt con trỏ, nhấp nháy con trỏ 10 Dịch vị trí con trỏ sang trái 14 Dịch vị trí con trỏ sang phải 18 Dịch toàn bộ hiển thị sang trái 1C Dịch toàn bộ hiển thị sang phải 80 Ép con trỏ Vũ đầu dòng thứ nhất C0 Ép con trỏ Vũ đầu dòng thứ hai 38 Hai dòng và ma trận 5 ´ 7 Bảng 11.3: Danh sách liệt kê các lệnh và địa chỉ lệnh của LCD. Lệnh R S R /W D B 7 D B 6 D B 5 D B 4 D B 3 D B 2 D B 1 D B 0 Mô tả Thời gian thực hiện Xoá màn hình 0 0 0 0 0 0 0 0 0 1 Xoá toàn bộ màn hình và đặt địa chỉ 0 của DD RAM vào bộ đếm địa chỉ 1.64 ms Trở về đầu dòng 0 0 0 0 0 0 0 0 1 - Đặt địa chỉ 0 của DD RAM như bộ đếm địa chỉ. Trả hiển thị dịch về vị trí gốc DD RAM không thay đổi 1.64 ms Đặt chế độ truy nhập 0 0 0 0 0 0 0 1 1/D S Đặt hướng chuyển dịch con trỏ và xác định dịch hiển thị các thao tác này được thực hiện khi đọc và ghi dữ liệu 40 ms Điều khiển Bật/tắt hiển thị 0 0 0 0 0 0 1 D C B Đặt Bật/ tắt màn hình (D) Bật/ tắt con trỏ (C) và nhấp nháy ký tự ở vị trí con trỏ (B) 40 ms Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 21 Dịch hiển thị và con trỏ 0 0 0 0 0 1 S/C R/L - - Dịch con trỏ và dịch hiển thị mà không thay đổi DD RAM 40 ms Đặt chức năng 0 0 0 0 1 DL N F - - Thiết lập độ dài dữ liệu (DL) số dòng hiển thị (L) và phòng ký tự (F) 40 ms Đặt địa chỉ CGRAM 0 0 0 1 AGC Thiết lập địa chỉ C6 RAM dữ liệu CG RAM được gửi đi và nhận sau thiết lập này 40 ms Thiết lập địa chỉ DD RAM 0 0 1 ADD Thiết lập địa chỉ DD RAM dữ liệu DD RAM được gửi và nhận sau thiết lập này 40 ms Cờ bận đọc và địa chỉ 0 1 BF ADD Cờ bận đọc (BF) báo hoạt động bên trong đang được thực hiện và đọc nội dung bộ đếm địa chỉ 40 ms Ghi dữ liệu CG hoặc DD RAM 1 0 Ghi dữ liệu Ghi dữ liệu vào DD RAM hoặc CG RAM 40 ms Đọc dữ liệu CG hoặc DD RAM 1 1 Đọc dữ liệu Đọc dữ liệu từ DD RAM hoặc CG RAM 40 ms Ghi chú: 1. Thời gian thực là thời gian cực đại khi tần số fCP hoặc fosc là 250KHz 2. Thời gian thực thay đổi khi tần số thay đổi. Khi tần số fEP hay fosc Là 270kHz thì thời gian thực hiện được tính 250/270 ´ 40 = 35ms v.v… 3. Các ký hiệu viết tắt trong bảng là: 4. DD RAM RAM dữ liệu hiển thị (Display Data RAM) CG RAM RAM máy phát ký tự (character Generator) ACC Địa chỉa của RAM máy phát ký tự ADD Địa chỉ của RAM dữ liệu hiển thị phù hợp với địa chỉ con trỏ. AC Bộ đếm địa chỉ (Address Counter) được dùng cho các địa chỉ DD RAM và CG RAM. 1/D = 1 Tăng 1/D = 0 Giảm S = 1 Kèm dịch hiển thị S/C = 1 Dịch hiển thị S/C = 0 Dịch con trỏ R/L = 1 Dịch sang phải R/L = 0 Dịch trái DL = 1 8 bít DL = 0 4 bít N = 1 2 dòng N = 1 1 dòng F = 1 Ma trận điểm 5 ´ 10 F = 0 Ma trận điểm 5 ´ 7 BF = 1 Bận BF = 0 Có thể nhận lệnh Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 22 Hình 11-2: Phân khe thời gian của LCD. 16 ´ 2 LCD 80 C0 81 C0 82 C2 83 C3 84 C4 85 C5 86 C6 Through Through 8F CF 20 ´ 1 LCD 80 81 82 83 Đến 93 20 ´ 2 LCD 80 C0 81 C0 82 C2 83 C3 Đến 93 Đến D3 20 ´ 4 LCD 80 C0 94 D4 81 C0 95 D5 82 C2 96 D6 83 C3 97 D7 Đến 93 Đến D3 Đến A7 Đến E7 20 ´ 2 LCD 80 C0 81 C0 82 C2 83 C3 Đến A7 Đến E7 Chú ý: Các dữ liệu ở dạng số hex. Hình 11-3: Các địa chỉ con trỏ đối với một số LCD. tPwh = Enable pulse width = 450 ns (minimum) tDSW = Data set up time = 195 ns (minimum) tH = Data hold time 10 ns (minimum) tAS = Set up time prior to E (going high) for both RS and R/W = 140 ns (minimum) tAH = Hold time afterr E has come down for both RS and R/W = 10 ns (minimum) Data tDSW tPWH tH tAH W/R E RS tAS Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 23 CÁC MODULE CHƯƠNG TRÌNH GHI_LENH: ; Gửi lệnh đến LCD MOV P1, A ; Sao chép thanh ghi A đến cổng P1 CLR P2.0 ; Đặt RS = 0 để gửi lệnh CLR P2.1 ; Đặt R/W = 0 để ghi dữ liệu SETB P2.2 ; Đặt E = 1 cho xung cao CLR P2.2 ; Đặt E = 0 cho xung cao xuống thấp RET GHI_DLIEU: ; Ghi dữ liệu ra LCD MOV P1, A ; Sao chép thanh ghi A đến cổng P1 SETB P2.0 ; Đặt RS = 1 để gửi dữ liệu CLR P2.1 ; Đặt R/W = 0 để ghi SETB P2.2 ; Đặt E = 1 cho xung cao CLR P2.2 ; Đặt E = 0 cho xung cao xuống thấp RET DL_100US: MOV R3, # 50 ; 100 mS DJNZ R3, $ RET DL_41MS: MOV R4, # 100 ; 4.1 mS X2: MOV R5, # 200 X1: DJNZ R5, X1 DJNZ R4, X2 RET KHOI_TAO_LCD: MOV A,#38h ;8 BIT - 2 HANG - 5X7 CALL GHI_LENH CALL DL_41MS MOV A,#38h CALL GHI_LENH CALL DL_100US MOV A,#38h CALL GHI_LENH CALL DELAY MOV A,#0Ch ;BAT LCD ON - LAM CURSOR TAT CALL GHI_LENH CALL DELAY MOV A,#01h ;XOA MAN HINH CALL GHI_LENH CALL DELAY MOV A,#06h ;CURSOR TU DONG DICH SANG PHAI CALL GHI_LENH CALL DELAY MOV A,#0Fh ;HIEN THI CON TRO - CURSOR CALL GHI_LENH CALL DELAY RET Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 24 * CÁCH 1: HIEN_THI: MOV A,#80h ;THIET LAP DIA CHI CHO LCD – HANG 1 CALL GHI_LENH CALL DELAY MOV A, # “O” ; Hiển thị chữ O CALL GHI_DLIEU ; Gọi chương trình con hiển thij DISPLAY CALL DELAY ; Tạo độ trễ cho LCD MOV A,#0C0h ;THIET LAP DIA CHI CHO LCD – HANG 2 CALL GHI_LENH CALL DELAY MOV A, # “K” ; Hiển thị chữ K CALL GHI_DLIEU ; Gọi DISPLAY CALL DELAY ; Tạo độ trễ cho LCD * CÁCH 2: DULIEU EQU P2 HIEN_THI: MOV A, # “O” ; Hiển thị chữ O CALL GHI_DLIEU MOV A, # “K” ; Hiển thị chữ K CALL GHI_DLIEU ;********************************************************* ; GUI LENH/DULIEU RA LCD ;********************************************************* GHI_LENH: SETB EN ;CHO PHEP LCD CLR RS ;RS = 0 : NHAN LENH MOV DULIEU,A JMP TIEP GHI_DULIEU: SETB EN ;CHO PHEP LCD SETB S ;RS = 1: NHAN DU LIEU MOV DULIEU,A TIEP: CLR EN NOP DOI_LCD: SETB EN CLR RS SETB RW ;CHO PHEP GHI/DOC MOV DULIEU,#0FFh ;P2 DONG VAI TRO LA NGO VAO DU LIEU MOV A,DULIEU JB ACC.7,DOI_LCD ;KIEM TRA bit #7 - CO BAN - DOC/GHI DU LIEU XONG CHUA CLR EN CLR RW RET Tài liệu thực hành môn Vi Xử Lý GV: Trương Ngọc Anh Trang 25 * CHƯƠNG TRÌNH MẪU: VD1: ORG 00H CALL KHOI_TAO_LCD CALL HIEN_THI JMP $ ;CAC CHUONG TRINH CON THEO CÁC MODULE TRÊN VD2: ORG 00H CALL KHOI_TAO_LCD MOV A, # “O” ; Hiển thị chữ O CALL GHI_DLIEU MOV A, # “K” ; Hiển thị chữ K CALL GHI_DLIEU JMP $ ;CAC CHUONG TRINH CON THEO CÁC MODULE TRÊN VD3: Hãy viết chương trình hiển thị chữ O hàng 1, chữ K hàng 2 VD4: Hãy viết chương trình hiển thị tên của mình ỡ giữa LCD.

Các file đính kèm theo tài liệu này:

  • pdfthuc_tap_vi_xu_ly_chuong_trinh_moi_2004_.pdf
Tài liệu liên quan