Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật, điện tử đã được ứng dụng ở rất nhiều lĩnh vực trong thực tế để phục vụ nhu cầu, chăm sóc sức khỏe, bảo vệ tính mạng và tài sản của con người. Qua tìm hiểu thực tế em đã thấy được rằng gần đây rất nhiều vụ nổ bình gas thương tâm đã xảy ra gây thiệt hại rất lớn về người và của. Mặt khác, nhiều vụ cháy lớn không được cảnh báo và phát hiện kịp thời đã thiêu trụi và phá hủy gần như toàn bộ tài sản và đe dọa đến tính mạng con người. Khi mà cuộc sống hiện đại ngày nay, bình gas là nhiên liệu đốt không thể thiếu trong mỗi gia đình, các nguy cơ cháy nổ luôn luôn thường trực, mối đe dọa về một thảm họa có thể xảy đến bất cứ lúc nào. Từ đó, em đã tìm hiểu và thiết kế hệ thống cảnh báo rò rỉ khí gas và báo cháy thông qua mạng điện thoại GSM rất phổ biến hiện nay để giảm thiểu tối đa hậu quả của chúng gây ra cho con người. Nguyên lý hoạt động của hệ thống : khi có rò rỉ khí gas hoặc nhiệt độ cao bất thường, các sensor cảm biến nồng độ khí gas và nhiệt độ sẽ phát hiện, gửi thông số điện áp tương ứng tới vi điều khiển. Vi điều khiển sẽ phân tích tín hiện nhận về, kích hoạt hệ thống phòng ngừa tương ứng và gửi tin nhắn tới điện thoại của người sử dụng. Hiện nay, do nhu cầu sử dụng các hệ thống, thiết bị tự động của người dân ngày càng tăng. Đồng thời, mạng điện thoại di động phát triển rộng khắp và các thiết bị điện thoại di động ngày càng có mức giá phù hợp với người dân. Đó là những mặt thuận lợi của việc hình thành ý tưởng. Xuất phát từ ý tưởng và tình hình thực tế nêu trên, em quyết định chọn đề tài “Thiết kế hệ thống báo cháy tự động truyền thông qua điện thoại”. Trong quá trình thực hiện đề tài, em đã tham khảo nhiều nguồn tài liệu khác nhau, cùng với sự hướng dẫn tận tình của thầy Lê Hoài Nam, em đã hoàn thành đồ án. Lần đầu tiên thực hiện đề tài, cũng như kiến thức còn hạn chế, khó tránh khỏi những thiếu sót, mong thầy thầy hướng dẫn. Em xin chân thành cảm ơn Sinh viên thực hiện Nguyễn Văn Quốc Chương1: Tổng quan về hệ thống 1.1 . Giới thiệu đề tài Ngành công nghệ thông tin liên lạc đã phát triển nhanh chóng cùng với các ngành công nghệ khác, nhằm đáp ứng nhu cầu ngày càng cao của xã hội. Đặc biệt là song điện thoại, ngày nay được phủ hầu khắp mọi nơi…Vì vậy, với suy nghĩ là ứng dụng kiến thức đã học ở trường và tìm hiểu them sách vở, em quyết định chọn đề tài “Thiết kế hệ thống báo cháy tự động truyền thong qua song điện thoại” với mong muốn là sau khi thực hiện xong đề tài có thể ứng dụng vào thực tế. 1.1.1. Mục đích, yêu cầu của đề tài Nhằm phục vụ cho việc cảnh báo cháy, hoặc rò rỉ khí gas tại hộ gia đình, truyền thông qua sóng điện thoại…thiết bị báo cháy phải đảm bảo các yêu cầu sau: Sữ dụng tiện lợi và sữ dụng trên khắp cả nước mà không cần thay đổi phần cứng. Báo động kịp thời các vụ cháy nhằm giảm nhẹ thiệt hại do cháy gây ra. Tự động gửi tin nhắn cảnh báo, đồng thời báo động bằng chuông và phun nước khi có cháy. 1.1.2. Giới hạn đề tài Báo cháy và chống cháy có rất nhiều vấn đề cần bàn tới, tùy thuộc vào mức độ nghiêm trọng và nhiên liệu cháy mà có các cách chống cháy khác nhau. Vì vậy, có rất nhiều khó khăn trong lúc thực hiện đề tài. Với thời gian ngắn nhưng lại có nhiều vấn đề cần giải quyết, hơn nữa với kiến thức còn có hạn nên đồ án này em chỉ tập trung các vấn đề sau: Gửi tin nhắn cảnh báo chủ nhân khi có cháy xảy ra. Thực hiện được 2 chức năng là: + Bật chuông báo động khi có cháy. + Khởi động máy bơm để bơm nước. Trong điều kiện bình thường, hiển thị nhiệt độ để chủ nhà có thể nắm bắt được nhiệt độ phòng.
Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Mục Lục SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Lời nói đầu Ngày nay, với phát triển vượt bậc khoa học kỹ thuật, điện tử ứng dụng nhiều lĩnh vực thực tế để phục vụ nhu cầu, chăm sóc sức khỏe, bảo vệ tính mạng tài sản người Qua tìm hiểu thực tế em thấy gần nhiều vụ nổ bình gas thương tâm xảy gây thiệt hại lớn người Mặt khác, nhiều vụ cháy lớn không cảnh báo phát kịp thời thiêu trụi phá hủy gần toàn tài sản đe dọa đến tính mạng người Khi mà sống đại ngày nay, bình gas nhiên liệu đốt thiếu gia đình, nguy cháy nổ luôn thường trực, mối đe dọa thảm họa xảy đến lúc Từ đó, em tìm hiểu thiết kế hệ thống cảnh báo rò rỉ khí gas báo cháy thông qua mạng điện thoại GSM phổ biến để giảm thiểu tối đa hậu chúng gây cho người Nguyên lý hoạt động hệ thống : có rò rỉ khí gas nhiệt độ cao bất thường, sensor cảm biến nồng độ khí gas nhiệt độ phát hiện, gửi thông số điện áp tương ứng tới vi điều khiển Vi điều khiển phân tích tín nhận về, kích hoạt hệ thống phòng ngừa tương ứng gửi tin nhắn tới điện thoại người sử dụng Hiện nay, nhu cầu sử dụng hệ thống, thiết bị tự động người dân ngày tăng Đồng thời, mạng điện thoại di động phát triển rộng khắp thiết bị điện thoại di động ngày có mức giá phù hợp với người dân Đó mặt thuận lợi việc hình thành ý tưởng Xuất phát từ ý tưởng tình hình thực tế nêu trên, em định chọn đề tài “Thiết kế hệ thống báo cháy tự động truyền thông qua điện thoại” Trong trình thực đề tài, em tham khảo nhiều nguồn tài liệu khác nhau, với hướng dẫn tận tình thầy Lê Hoài Nam, em hoàn thành đồ án Lần thực đề tài, kiến thức hạn chế, khó tránh khỏi thiếu sót, mong thầy thầy hướng dẫn Em xin chân thành cảm ơn! Sinh viên thực Nguyễn Văn Quốc SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 Đồ Án Kỹ Thuật Vi Điều Khiển Chương1: GVHD: Lê Hoài Nam Tổng quan hệ thống 1.1 Giới thiệu đề tài Ngành công nghệ thông tin liên lạc phát triển nhanh chóng với ngành công nghệ khác, nhằm đáp ứng nhu cầu ngày cao xã hội Đặc biệt song điện thoại, ngày phủ hầu khắp nơi…Vì vậy, với suy nghĩ ứng dụng kiến thức học trường tìm hiểu them sách vở, em định chọn đề tài “Thiết kế hệ thống báo cháy tự động truyền thong qua song điện thoại” với mong muốn sau thực xong đề tài ứng dụng vào thực tế 1.1.1 Mục đích, yêu cầu đề tài - Nhằm phục vụ cho việc cảnh báo cháy, rò rỉ khí gas hộ gia đình, truyền thông qua sóng điện thoại…thiết bị báo cháy phải đảm bảo yêu cầu sau: Sữ dụng tiện lợi sữ dụng khắp nước mà không cần thay đổi phần cứng Báo động kịp thời vụ cháy nhằm giảm nhẹ thiệt hại cháy gây Tự động gửi tin nhắn cảnh báo, đồng thời báo động chuông phun nước có cháy 1.1.2 Giới hạn đề tài Báo cháy chống cháy có nhiều vấn đề cần bàn tới, tùy thuộc vào mức độ nghiêm trọng nhiên liệu cháy mà có cách chống cháy khác Vì vậy, có nhiều khó khăn lúc thực đề tài Với thời gian ngắn lại có nhiều vấn đề cần giải quyết, với kiến thức có hạn nên đồ án em tập trung vấn đề sau: Gửi tin nhắn cảnh báo chủ nhân có cháy xảy Thực chức là: + Bật chuông báo động có cháy + Khởi động máy bơm để bơm nước Trong điều kiện bình thường, hiển thị nhiệt độ để chủ nhà nắm bắt nhiệt độ phòng 1.1.3 Chọn phương án thực đề tài Với yêu cầu đặt trên, em xem xét đưa phương án sau: Sữ dụng kỹ thuật số Sữ dụng kỹ thuật vi xữ lý Sữ dụng kỹ thuật vi điều khiển SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Với yêu cầu đồ án, ta đơn giản hoạt động kỹ thuật số Nhưng tốn linh kiện kích thước cồng kềnh, khó thay đổi phần mềm khả nẵng mở rộng cho hoạt động khác Với kỹ thuật vi xử lý, khắc phục yếu điểm mạch số, lại phức tạp việc thiết kế phần cứng Nếu sữ dụng kỹ thuật vi điều khiển, giao xung với mạch thiết kế chất điện tử giá thành hạ chất lượng thiết bị phụ thuộc nhiều vào phần mềm, em định theo hướng 1.2 Sơ lược hệ thống báo cháy 1.2.1 Sơ đồ khối 1.2.2 Cách nhận biết báo cháy Khi đám cháy xảy ra, vùng cháy thường có dấu hiệu sau: - Lửa, khói, vật liệu chổ cháy bị phá hủy Nhiệt độ vùng cháy tăng lên cao Không khí bị Ôxy hóa mạnh Có mùi cháy, mùi khét Để đề phòng cháy, dựa vào dấu hiệu để đặtcác hệ thống cảm biến làm thiết bị báo cháy Kịp thời khống chế đám cháy giai đoạn đầu Thiết bị báo cháy điện tử giúp liên tục theo dõi để hạn chế vụ cháy tai hại, tăng cường độ an tồn, bình yên cho người SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam 1.2.3 Các phận 1.Cảm biến: Cảm biến phận quan trọng, định độ nhạy xác hệ thống Cảm biến hoạt động dựa vào đặt tính vật lý vật liệu cấu tạo nên chúng Cảm biến dùng để chuyển đổi túi hiệu vật lý sang tín hiệu điện Các đặc tính cảm biến: độ nhạy, độ ổn định, độ tuyến tính, Cảm biến nhiệt: Là loại cảm biến dùng để chuyển tín hiệu vật lý (nhiệt độ) thành túi hiệu điện, loại cảm biến có độ nhạy tương đối cao tuyến tính Nguyên tắc làm việc dòng điện hay điện áp thay đổi nhiệt độ nơi đặt thay đổi Tuy nhiên dễ báo động nhàm nguồn điện bên ngồi tác động không theo ý muốn Các loại cảm biến nhiệt: IC cảm biến: Là loại cảm biến bán dẫn chế tạo thành IC chuyên dụng với độ nhạy cao, điện áp thay đổi tỉ lệ thuận với nhiệt độ, số loại IC bán bên ngồi thị trương là: LM355, LM334, Thermistor: Thermistor loại điện trở có độ nhạy nhiệt cao không tuyến tính với hệ số nhiệt âm Điện trở giảm phi tuyến với tăng nhiệt độ Vì thân điện trở nên trình hoạt động Thermistor tạo nhiệt độ gây sai số lớn Thermo Couples: Thermo Couple biến đổi đại lượng nhiệt độ thành dòng điện hay điện áp DC nhỏ Nó gồm hai dây kim loại khác nối với hai mối nối Khi dây nối đặc vị trí khác nhau, dây xuất suất điện động Suất điện động tỉ lệ thuận với chênh lệch nhiệt độ hai mối nối Thermo couple có hệ số nhiệt dương a Cảm biến lửa: Khi lửa cháy phát ánh sáng hồng ngoại, ta sử dụng linh kiện phát tia hồng ngoại để phát lửa Nguyên lý hoạt động điện trở linh kiện thu sóng hồng ngoại tăng, chuyển tín hiệu ánh sáng thu thành túi hiệu điện để báo động Loại nhạy lửa Tuy nhiên dễ báo động nhầm ta để cảm biến ngồi trời gần ánh sáng bóng đèn tròn b Cảm biến khói: Thường cảm biến khói phân riêng biệt chạy PIN thiết kế để lắp đặt trần nhà, tường Ngồi yêu càu kỹ thuật (chính xác, an tồn) đòi hỏi phải đảm bảo mặt thẩm mỹ Có hai cách để thiết kế cảm biến khói Cách thứ sử dụng nguyên tắc lon hóa Người ta sử dụng lượng nhỏ chất phóng xạ để lon hóa cảm biến Không khí bị lon hóa dẫn điện tạo thành dòng điện chạy chạy hai cực đợc nạp điệân Khi phần tử khỏi lọt vào khu vực cảm nhận SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam lon hóa làm tăng điện trở buồng cảm nhận làm giảm luồng điện hai cực Khi luồng điện giảm xuống tới giá trị cảm biến phát phát túi hiệu báo động Cách thứ hai sử dụng linh kiện thu phát quang Người ta dùng linh kiện phát quang (Led, Led hồng ngoại ) chiếu tia ánh sáng qua vùng bảo vệ vào linh kiện thu quang (photo diode, photo transistor, quang trở ) Khi có cháy, khói ngang qua vùng bảo vệ che chắn làm giảm cường độ ánh sáng chiếu vào linh kiện thu Khi cường độ giảm xuống tới giá trị cảm biến phát phát tín hiệu báo động Trong hai cách phương pháp thứ nhạy hiệu phương pháp thứ hai, khó thực thi, khó lắp đặt Còn cách thứ hai nhạy linh kiện dễ kiếm dễ thực thi dễ lắp đặt Một nhược điểm loại cảm biến là: mạch báo động sai vùng bảo vệ bị xâm nhập lớp bụi Thiết bị báo động: Thiết bị báo động gồm có hai loại: > Báo động chỗ > Báo động qua điện thoại Báo động chỗ ta sử dụng chuông điện, mạch tạo còi hụ hay phát tiếng nói để cảnh báo Trong hệ thống báo cháy, cảm biến thường đặt nơi dễ cháy nối với thiết bị báo động dây dẫn điện, số trường hợp làm dây bị đứt VI hệ thống báo cháy trở nên hiệu sử dụng phát vô tuyến Trong phận thu gắn với mạch báo động, mạch phát gắn với cảm biến Tuy nhiên việc lắp đặt gặp nhiều khó khăn giá thành cao Báo động qua điện thoại giúp ta đáp ứng nhanh thông tin cố đến quan chức Khi có tín hiệu báo động tự động gửi tin nhắn đến quan như: nhà riêng, công an, phòng cháy chữa cháy SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Chương 2: Tìm hiểu chọn linh kiện 2.1.Giới thiệu Qua tìm hiểu thực tế, với tiêu chí độ xác, giá thành, tính thông dụng có sẵn linh kiện, sở lý thuyết học em định chọn linh kiện sử dụng mạch sau: - Vi điều khiển – ATMEGA 16 - Cảm biến nhiệt độ - LM35 - Cảm biến khí gas – MQ2 - Module sim 900A - LCD 16X2 2.2 Vi điều khiển Atmega16 2.2.1 Giới thiệu AVR họ vi điều khiển hãng Atmel sản xuất (Atmel nhà sản xuất dòng vi điều khiển 89C51 mà bạn nghe đến) AVR chip vi điều khiển bits với cấu trúc tập lệnh đơn giản hóa-RISC(Reduced Instruction Set Computer), kiểu cấu trúc thể ưu xử lí Tại AVR: so với chip vi điều khiển bits khác, AVR có nhiều đặc tính hẳn, tính ứng dụng (dễ sử dụng) đặc biệt chức năng: • • • • • - Gần không cần mắc thêm linh kiện phụ sử dụng AVR, chí không cần nguồn tạo xung clock cho chip (thường khối thạch anh) Thiết bị lập trình (mạch nạp) cho AVR đơn giản, có loại mạch nạp cần vài điện trở làm số AVR hỗ trợ lập trình on – chip bootloader không cần mạch nạp… Bên cạnh lập trình ASM, cấu trúc AVR thiết kế tương thích C Nguồn tài nguyên source code, tài liệu, application note…rất lớn internet Hầu hết chip AVR có tính (features) sau: Có thể sử dụng xung clock lên đến 16MHz, sử dụng xung clock nội lên đến MHz (sai số 3%) Bộ nhớ chương trình Flash lập trình lại nhiều lần dung lượng lớn, có SRAM (Ram tĩnh) lớn, đặc biệt có nhớ lưu trữ lập trình EEPROM Nhiều ngõ vào (I/O PORT) hướng (bi-directional) bits, 16 bits timer/counter tích hợp PWM SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 Đồ Án Kỹ Thuật Vi Điều Khiển - GVHD: Lê Hoài Nam Các chuyển đối Analog – Digital phân giải 10 bits, nhiều kênh Chức Analog comparator Giao diện nối tiếp USART (tương thích chuẩn nối tiếp RS-232) Giao diện nối tiếp Two –Wire –Serial (tương thích chuẩn I2C) Master Slaver Giao diện nối tiếp Serial Peripheral Interface (SPI) Một số chip AVR thông dụng: AT90S1200 AT90S2313 AT90S2323 and AT90S2343 AT90S2333 and AT90S4433 AT90S4414 and AT90S8515 AT90S4434 and AT90S8535 AT90C8534 ATtiny10, ATtiny11 and ATtiny12 ATtiny15 ATtiny22 ATtiny26 ATtiny28 ATmega8/8515/8535 ATmega16 ATmega161 ATmega162 ATmega163 ATmega169 ATmega32 ATmega323 ATmega103 ATmega64/128/2560/2561 AT86RF401 Trong viết sử dụng chip ATmega8 để làm ví dụ, chọn ATmega8 loại chip thuộc dòng AVR nhất, có đầy đủ tính AVR lại nhỏ gọn (gói PDIP có 28 chân) low cost nên bạn mua để tự tạo ứng dụng Tại Assembly (ASM): bạn không cần biết cấu trúc AVR lập trình cho AVR phần mềm hỗ trợ ngôn ngữ cấp cao BascomAVR (Basic) hay CodevisionAVR (C), nhiên mục đích viết Để hiểu thấu đáo AVR bạn phải lập trình ngôn ngữ nó, ASM Như lập trình ASM giúp bạn hiểu tường tận AVR, tất nhiên để lập trình ASM bạn phải hiểu cấu trúc AVR….Một lý khác bạn mà khuyên bạn nên lập trình ASM trình dịch (compiler) ASM cho AVR hoàn toàn miễn phí, nguồn source code cho AVR viết ASM lớn Tuy nhiên bạn thành thạo AVR ASM bạn sử dụng ngôn ngữ cấp cao C để viết ứng dụng ưu điểm SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam ngôn ngữ cấp cao giúp bạn dễ dàng thực phép toán đại số 16 hay 32 bit (vốn vấn đề khó khăn lập trình ASM) Công cụ: Trình biên dịch: có nhiều trình biên dịch bạn sử dụng đế biên dịch code bạn thành file intel hex để nạp vào chip, số trình dịch quen thuộc kể đến sau: • • • • • • • AvrStudio: trình biên dịch ASM thức cung cấp Atmel, trình biên dịch hoàn toàn miễn phí tất nhiên tốt cho lập trình AVR ASM Wavrasm: cung cấp Atmel, tiền thân AvrStudio Hiện wavrasm không sử dụng nhiều so với AvrStudio trình biên dịch có nhiều hạng chế WinAVR hay avr-gcc: trình dịch phát triển gnu, ngôn ngữ sử dụng C dùng tích hợp với AvrStudio (dùng Avrstudio làm trình biên tập – editor) Đặc biệt biên dịch miễn phí đa số nguồn source code C viết này, lí tưởng cho bạn viết ứng dụng chuyên nghiệp Việc lập trình avrgcc đề cập phần sau CodeVisionAvr: chương trình ngôn ngữ C hay cho AVR, hỗ trợ nhiều thư viện lập trình Tuy nhiên chương trình thương mại ICCAVR: lập trình C cho avr BascomAVR: lập trình cho AVR basic, trình biên dịch hay dễ sử dụng, hỗ trợ nhiều thư viện Tuy nhiên khó debug lỗi không thích hợp cho việc tìm hiểu AVR Và nhiều trình biên dịch khác cho AVR mà không kể đây, nhìn chung tất trình biên dịch hỗ trợ C Basic chí Pascal Việc chọn trình biên dịch tùy thuộc vào mục đích, vào mức độ ứng dụng, vào kinh nghiệm sử dụng nhiều lý khác Ví dụ thường dùng Avrstudio avrgcc học sử dụng AVR viết thư viện Nhưng cần viết chương trình ứng dụng thường chọn avrgcc CodeVisionAVR Trong viết hướng dẫn bạn sử dụng AvrStudio để viết chương trình cho AVR ASM Chương trình nạp (Chip Programmer): đa số trình biên dịch (AvrStudio, CodeVisionAVR, Bascom…) tích hợp sẵn chương trình nạp chip hỗ trợ nhiều loại mạch nạp nên bạn không lo lắng Trong trường hợp khác, bạn sử dụng chương trình nạp Icprog hay Ponyprog…là chương trình nạp miễn phí cho AVR Việc chọn sử dụng chương trình nạp giới thiệu sau Chương trình mô phỏng: avr simulator trình mô debbug tích hợp sẵn Avrstudio, avr simulator cho phép bạn quan sát trạng thái ghi bên AVR nên phù hợp để bạn debug chương trình Proteus chương trình thứ hai muốn nói đến, Proteus mô hoạt động bên chip mà mô mạch điện tử Proteus mô trực quan, công cụ hữu ích bạn chưa có điều kiện làm mạch điện tử SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam 2.2.2 Cấu trúc phần cứng Hình 2.1 Sơ đồ cấu trúc CPU ATmega16 a Thanh ghi trạng thái - Đây ghi trạng thái có bit lưu trữ trạng thái ALU sau phép tính số học logic Hình 2.2 Thanh ghi trạng thái SREG C: Carry Flag ;cờ nhớ (Nếu phép toán có nhớ cờ thiết lập) SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 10 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Trong số LCD chân LED đánh số 15 16 số trường hợp chân ghi A (Anode) K (Cathode) Hình mô tả cách kết nối LCD với nguồn mạch điều khiển Hình 2.21 Sơ đồ kết nối LCD Chân chân chân nguồn, nối với GND nguồn 5V Chân chân chỉnh độ tương phản (contrast), chân cần nối với biến trở chia áp hình 2.Trong hoạt động, chỉnh để thay đổi giá trị biến trở để đạt độ tương phản cần thiết, sau giữ mức biến trở Các chân điều khiển RS, R/W, EN đường liệu nối trực tiếp với vi điều khiển Tùy theo chế độ hoạt động bit hay bit mà chân từ D0 đến D3 bỏ qua nối với vi điều khiển, khảo sát kỹ phần sau 2.6.3 Thanh ghi tổ chức nhớ HD44780U có ghi bits INSTRUCTION REGISTER (IR) DATA REGISTER (DR) Thanh ghi IR chứa mã lệnh điều khiển LCD ghi “chỉ ghi” (chỉ ghi vào ghi mà không đọc nó) Thanh ghi DR chứa các loại SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 25 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam liệu ký tự cần hiển thị liệu đọc từ nhớ LCD…Cả ghi nối với đường liệu D0:7 Text LCD lựa chọn tùy theo chân điều khiển RS, RW Thực tế để điều khiển Text LCD không cần quan tâm đến cách thức hoạt động ghi này, không cần khảo sát chi tiết chúng HD44780U có loại nhớ, nhớ RAM liệu cần hiển thị DDRAM (Didplay Data RAM), nhớ chứa ROM chứa font tạo ký tự CGROM (Character Generator ROM) nhớ RAM chứa font tạo symbol tùy chọn CGRAM (Character Generator RAM) Để điều khiển hiển thị Text LCD cần hiểu tổ chức cách thức hoạt động nhớ này: a DDRAM DDRAM nhớ tạm chứa ký tự cần hiển thị lên LCD, nhớ gồm có 80 ô chia thành hàng, ô có độ rộng bit đánh số từ đến 39 cho dòng 1; từ 64 đến 103 cho dòng Mỗi ô nhớ tương ứng với ô hình LCD Như biết LCD loại 16x2 hiển thị tối đa 32 ký tự (có 32 ô hiển thị), có số ô nhớ DDRAM không sử dụng làm ô hiển thị Để hiểu rõ tham khảo hình bên Hình 2.22 Tổ chức DDRAM Chỉ có 16 ô nhớ có địa từ đến 15 16 ô địa từ 64 đến 79 hiển thị LCD Vì muốn hiển thị ký tự LCD cần viết ký tự vào DDRAM 32 địa Các ký tự nằm 32 ô nhớ không hiển thị, nhiên không bị đi, chúng dùng cho mục đích khác cần thiết b CGROM CGROM vùng nhớ cố định chứa định nghĩa font cho ký tự Chúng ta không trực tiếp truy xuất vùng nhớ mà chip HD44780U tự thực có yêu cầu đọc font để thị Một điều đáng lưu ý địa font ký tự vùng nhớ CGROM mã ASCII ký tự Ví dụ ký tự ‘a’ có mã ASCII 97, tham khảo tổ chức vùng nhớ CGROM hình bạn nhận thấy địa font ‘a’ có bit thấp 0001 bit cao 0110, địa tổng hợp 01100001 = 97 CGROM DDRAM tự động phối hợp trình hiển thị LCD Giả sử muốn hiển thị ký tự ‘a’ vị trí đầu tiên, dòng thứ LCD bước thực sau: trước hết biết vị trí dòng có địa 64 nhớ DDRAM (xem hình 3), ghi vào ô nhớ có địa 64 giá trị 97 (mã ASCII ký tự ‘a’) Tiếp theo, chip HD44780U đọc giá trị 97 coi địa vùng nhớ CGROM, tìm đến vùng nhớ CGROM có địa 97 đọc bảng font SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 26 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam định nghĩa sẵn đây, sau xuất font “chấm” hình LCD vị trí dòng LCD Đây cách mà nhớ DDRAM CGROM phối hợp với để hiển thị ký tự Như mô tả, công việc người lập trình điều khiển LCD tương đối đơn giản, viết mã ASCII vào nhớ DDRAM vị trí yêu cầu, bước HD44780U đảm nhiệm Hình 2.23 Vùng nhớ CGROM c CGRAM SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 27 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam CGRAM vùng nhớ chứa symbol người dùng tự định nghĩa, symbol có kích thước 5x8 dành cho ô nhớ bit Các symbol thường định nghĩa trước gọi hiển thị cần thiết Vùng có tất 64 ô nhớ nên có tối đa symbol định nghĩa Tài liệu không đề cập đến sử dụng nhớ CGRAM nên không chi tiết phần này, bạn tham khảo datasheet HD44780U để biết thêm 2.6.4 Điều khiển hiển thị Text LCD a Các chân điều khiển LCD Các chân điều khiển việc đọc ghi LCD bao gồm RS, R/W EN RS (chân số 3): Chân lựa chọn ghi (Select Register), chân cho phép lựa chọn ghi IR DR để làm việc Vì ghi kết nối với chân Data LCD nên cần bit để lựa chọn chúng Nếu RS=0, ghi IR chọn RS=1 ghi DR chọn Chúng ta biết ghi IR ghi chứa mã lệnh cho LCD, muốn gởi mã lệnh đến LCD chân RS phải reset Ngược lại, muốn ghi mã ASCII ký tự cần hiển thị lên LCD set RS=1 để chọn ghi DR Hoạt động chân RS mô tả hình Hình 2.24 Hoạt động chân RS R/W (chân số 4): Chân lựa chọn việc đọc ghi Nếu R/W=0 liệu ghi từ điều khiển (vi điều khiển AVR chẳng hạn) vào LCD Nếu R/W=1 liệu đọc từ LCD Tuy nhiên, có trường hợp mà liệu đọc từ LCD ra, đọc trạng thái LCD để biết LCD có bận hay không (cờ Busy Flag BF) Do LCD thiết bị hoạt động tương đối chậm (so với vi điều khiển), cờ BF dùng để báo LCD bận, BF=1 phải chờ cho LCD xử lí xong nhiệm vụ tại, đến BF=0 thao tác gán cho LCD Vì thế, làm việc với Text LCD thiết phải có chương trình tạm gọi wait_LCD để chờ LCD rảnh Có cách để viết chương trình wait_LCD Cách đọc bit BF kiểm tra chờ BF=0, cách đòi hỏi lệnh đọc từ LCD điều khiển ngoài, chân R/W cần nối với điều khiển Cách viết hàm delay khoảng thời gian cố định (tốt 1ms) Ưu điểm cách đơn giản không cần đọc LCD, chân R/W không cần sử dụng nối với GND Tuy nhiên, nhược điểm cách khoảng thời gian delay cố định lớn SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 28 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam làm chậm trình thao tác LCD, nhỏ gây lỗi hiển thị Trong hướng dẫn bạn cách tổng quát cách 1, để sử dụng cách bạn cần thay đổi nhỏ chương trình wait_LCD (sẽ trình bày chi tiết sau) kết nối chân R/W LCD xuống GND EN (chân số 5): Chân cho phép LCD hoạt động (Enable), chân cần kết nối với điều khiển phép thao tác LCD Để đọc ghi data từ LCD cần tạo “xung cạnh xuống” chân EN, nói theo cách khác, muốn ghi liệu vào LCD trước hết cần đảm bảo chân EN=0, tiếp đến xuất liệu đến chân D0:7, sau set chân EN lên cuối xóa EN để tạo xung cạnh xuống b Tập lệnh LCD Bảng 2.2 tóm tắt lệnh ghi vào LCD Bảng 2.2 Danh sách lệnh tô màu khác nhau, lệnh màu đỏ dùng thường xuyên lúc hiển thị LCD lệnh màu xanh thường dùng lần lúc khởi động LCD, riêng lệnh Read BF dùng không tùy theo cách viết chương trình wait_LCD Phần giải thích ý nghĩ lệnh tham số kèm theo chúng Trước hết nhóm lệnh đỏ: SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 29 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam - Clear display – xóa LCD: lệnh xóa toàn nội dung DDRAM xóa toàn hiển thị LCD Vì lệnh ghi Instruction nên chân RS phải reset trước ghi lệnh lên LCD Mã lệnh xóa LCD 0x01(ghi vào D0:D7) - Cursor home – đưa trỏ vị trí đầu, dòng LCD: lệnh thực việc đưa trỏ vị trí nhớ DDRAM, sau lệnh biến ghi vào DDRAM biến nằm vị trí (1;1) RS phải trước ghi lệnh Mã lệnh 0x02 0x03(chọn mã lệnh, tùy ý) - Set DDRAM address – định vị trí trỏ cho DDRAM: di chuyển trỏ đến vị trí tùy ý DDRAM dùng để chọn vị trí cần hiển thị LCD Để thực lệnh cần reset RS=0 Bit MSB mã lệnh (D7) phải 1, bit lại mã lệnh địa DDRAM muốn di chuyển đến Ví dụ muốn di chuyển trỏ đến vị trí thứ dòng LCD (địa 42) cần ghi mã lệnh 0xAA 0xAA=10101010 (binary) bit MSB 1, bảy bit lại 0101010=42, địa ô nhớ muốn đến - Write to CGRAM or DDRAM – ghi liệu vào CGRAM DDRAM: lệnh ghi instruction mà lệnh ghi liệu nên chân RS cần set lên trước ghi lệnh vào LCD Lệnh cho phép ghi mã ASCII ký tự cần hiển thị vào ghi DDRAM Trường hợp ghi vào CGRAM không khảo sát Kế đến nhóm lệnh màu xanh: nhóm lệnh thường thực lần (ít học này) thường viết chung chương trình khởi động LCD ( gọi init_LCD học này) - Entry mode set – xác lập thị liên tiếp cho LCD: nói cách dễ hiểu, lệnh cách mà bạn muốn hiển thị ký tự ký tự trước Ví dụ bạn muốn thị ký tự liên tiếp AB, trước hết bạn viết A vị trí 5, dòng Sau bạn ghi B vào LCD, lúc có cách mà LCD hiển thị B sau: hiển thị B bên phải A vị trí số (cách 1); B hiển thị bên trái A, vị trí số 4(cách 2); LCD tự dịch chuyển A bên trái đến vị trí sau hiển thị B bên phải A, vị trí 5(cách 3); khả cuối LCD dịch chuyển A bên phải đến vị trí sau hiển thị B bên trái A, vị trí 5(cách 4) Chúng ta chọn cách hiển thị thông qua lệnh Entry mode set Đây lệnh ghi Instruction nên RS=0, bit cao D7:3=00000, bit D2=1, hai bit lại D1:0 chứa mã lệnh để lựa chọn cách hiển thị Xem lại bảng 2, bit D1 chứa giá trị I/D D0 chứa S Trong I/D nghĩa tăng giảm (Increment or Decrement) I/D= hiển thị tăng tức ký tự sau hiển thị bên phải ký tự trước, I/D=0 hiển thị giảm, tức ký tự sau hiển thị bên trái ký tự trước S giá trị Shift, S=1 ký tự trước “đẩy” đi, ký tự sau chiếm chỗ ký tự trước, ngược lại S=0 vị trí hiển thị ký tự trước không thay đổi Có thể tóm tắt mode hiển thị ứng với mã lệnh sau: + D7:0 = 0x04 (00000100) : hiển thị giảm không shift (như cách ví dụ) + D7:0 = 0x05 (00000101) : hiển thị giảm shift (như cách ví dụ) + D7:0 = 0x06 (00000110) : hiển thị tăng không shift (như cách 1, khuyến khích) + D7:0 = 0x07 (00000111) : hiển thị tăng shift (như cách ví dụ) - Display on/off control – xác lập cách thị cho LCD: lệnh bao gồm thông số cho phép LCD hiển thị, cho phép hiển thị cursor mở/tắt blinking Đây lệnh ghi Instrcution nên RS phải Mã lệnh cho lệnh có dạng 00001DCB D (Display) cho phép hiển thị LCD mang giá trị 1, C (Cursor) cursor SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 30 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam hiển thị B blinking cho cursor vị trí hiển thị (blinking dạng ô đen nhấp nháy vị trí ký tự hiển thị) Mã lệnh dùng phổ biến cho lệnh 0x0E (00001110 - hiển thị cursor không hiển thị blinking) - Function set – xác lập chức cho LCD: lệnh thiết lập phương thức giao tiếp với LCD, kích thước font chữ số lượng line LCD RS phải sử dụng lệnh Mã lệnh function set có dạng 001D¬¬LNFxx Trong DL=1 (DL: Data Length) mode giao tiếp bit dùng, lúc tất chân từ D0 đến D7 phải kết nối với điều khiển Nếu DL=0 mode bit dùng, trường hợp có chân D4:7 dùng để truyền nhận liệu kết nối với điều khiển ngoài, chân D0:3 để trống N quy định số dòng LCD, khảo sát LCD loại hiển thị dòng nên N=1 (N=0 cho trường hợp LCD dòng) F kích thước font chữ hiển thị, LCD có font chữ có sẵn CGROM nên cần lựa chọn thông qua bit F, F=1 font 5x10 sử dụng F=0 font 5x8 hiển thị bit thấp mã lệnh gán giá trị tùy ý Mã lệnh dùng phổ biến cho lệnh function set 0x38 (00111000 – giao tiếp bit, dòng với font 5x8 ) 0x28 (00101000 – giao tiếp bit, dòng với font 5x8 ) Ví dụ sử dụng mã lệnh c Giao tiếp bit bit Như trình bày lệnh function set, có mode để ghi đọc liệu vào LCD mode bit mode bit: - Mode bit: Nếu bit DL lệnh function set mode bit dùng Để sử dụng mode bit, tất lines liệu LCD từ D0 đến D7 (từ chân đến chân 14) phải nối với PORT chip điều khiển bên (ví dụ PORTC ATmega32 ví dụ này) hình Ưu điểm phương pháp giao tiếp liệu ghi đọc nhanh đơn giản chip điều khiển cần xuất nhận liệu PORT Tuy nhiên, phương pháp có nhược điểm tổng số chân dành cho giao tiếp LCD nhiều, tính chân điều khiển cần đến 11 đường cho giao tiếp LCD - Mode bit: LCD cho phép giao tiếp với điều khiển theo chế độ bit Trong chế độ này, chân D0, D1, D2 D3 LCD không sử dụng (để trống), có chân từ D4 đến D7 kết nối với chip điều khiển Các instruction data bit ghi đọc cách chia thành phần, gọi Nibbles, nibble gồm bit giao tiếp thông qua chân D7:4, nibble cao xử lí trước nibble thấp sau Ưu điểm lớn phương pháp tối thiểu số lines dùng cho giao tiếp LCD Tuy nhiên, việc đọc ghi nibble tương đối khó khăn đọc ghi liệu bit Trong học này, trình bày chương trình viết riêng để ghi đọc nibbles gọi Read2Nib Write2Nib SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 31 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Chương 3: Thiết kế mạch 3.1 Giới thiệu Ở chương 2, chọn linh kiện có sờ đồ khối hệ thống Trong chương này, tính toán thiết kế mạch điện tử cụ thể cho khối 3.2 Cảm biến nhiệt độ LM35 Hình 3.1 Mạch cảm biến nhiệt độ LM35 Đặc điểm cảm biến LM35 + Điện áp đầu vào từ 4V đến 30V + Độ phân giải điện áp đầu 10mV/oC + Độ xác cao 25 C 0.5 C + Trở kháng đầu thấp 0.1 cho 1mA tải Dải nhiệt độ đo LM35 từ -55 C - 150 C với mức điện áp khác Xét số mức điện áp sau : - Nhiệt độ -55 C điện áp đầu -550mV - Nhiệt độ 25 C điện áp đầu 250mV - Nhiệt độ 150 C điện áp đầu 1500mV Tùy theo cách mắc LM35 để ta đo giải nhiệt độ phù hợp Đối với hệ thống SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 32 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam đo từ đến 150oC Tính toán nhiệt độ đầu LM35 Việc đo nhiệt độ sử dụng LM35 thông thường sử dụng cách LM35 - > ADC - > Vi điều khiển Như ta có: U= t.k u điện áp đầu t nhiệt độ môi trường đo k hệ số theo nhiệt độ LM35 10mV/1 độ C Giả sử điện áp Vcc cấp cho LM35 5V ADC 10bit Vậy bước thay đổi LM35 5/(2^10) = 5/1024 Giá trị ADC đo tương ứng điện áp đầu vào LM35 là: (t*k)/(5/1024) = ((10^-2)*1024*t)/5 = 2.048*t Vậy nhiệt độ ta đo t = giá trị ADC/2.048 Sai số LM35 + Tại 0oC điện áp LM35 10mV + Tại 150 độ C điện áp LM35 1.5V ==> Giải điện áp ADC biến đổi 1.5 - 0.01 = 1.49 (V) + ADC 11 bit nên bước thay đổi ADC : n = 2.44mV Vậy sai số hệ thống đo : Y = 0.00244/1.49 = 0.164 % Điện áp LM35 là: v1 = 0,01*T( C) V1 = 0.01 x T (oC) = 0.01*T(oC) (3.1) Biến trở VR1 dùng để chỉnh giá trị nhiệt độ cảnh báo Chọn VR = 10kΩ 3.3 Khối điều khiển động SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 33 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Hình 3.2a Mạch nguyên lý điều khiển động AC Hình 3.2b Mạch in khối điều khiển động AC 3.4 Mạch dò bắt điểm Hình 3.3a Mạch nguyên lý dò bắt điểm SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 34 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Hình 3.3b Mạch in dò bắt điểm 3.5 Mạch nguồn 5v Hình 3.4a Mạch nguyên lý nguồn 5v SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 35 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Hình 3.4b Mạch in nguồn 5v SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 36 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam 3.6 Mạch vi điều khiển ATMEGA16 Hình 3.5a Mạch nguyên lý khối vi điều khiển SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 37 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Hình 3.5b Mạch in khối vi điều khiển SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 38 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Chương 4: Lưu đồ thuật toán chương trình 4.1 Lưu đồ thuật toán Start Nhiệt độ >=70oC Nồng độ gas >= 15% LEL Báo động chuông, gửi tin nhắn khởi động bơm Báo động chuông gửi tin nhắn SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 39 [...]... nhiệt độ cảnh báo Chọn VR 1 = 10kΩ 3.3 Khối điều khiển động cơ SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 33 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Hình 3.2a Mạch nguyên lý điều khiển động cơ AC Hình 3.2b Mạch in khối điều khiển động cơ AC 3.4 Mạch dò bắt điểm 0 Hình 3.3a Mạch nguyên lý dò bắt điểm 0 SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 34 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Hình 3.3b Mạch in... nhất (0) SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 16 Đồ Án Kỹ Thuật Vi Điều Khiển c GVHD: Lê Hoài Nam Đơn vị so sánh ngõ ra Hình 2.9 Sơ đồ đơn vị so sánh ngõ ra Bộ so sánh 8 bit liên tục so sánh giá trị TCNT0 với giá trị trong thanh ghi so sánh ngõ ra (OCR0) Khi giá trị TCNT0 bằng với OCR0, bộ so sánh sẽ tạo một báo hiệu Báo hiệu này sẽ đặt giá trị cờ so sánh ngõ ra (OCF0) lên 1 vào chu kỳ xung clock tiếp... 12 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Hình 2.5 Bản đồ bộ nhớ chương trình Bộ nhớ dữ liệu SRAM 1120 ô nhớ của bộ nhớ dữ liệu định địa chỉ cho file thanh ghi, bộ nhớ I/O và bộ nhớ dữ liệu SRAM nội Trong đó 96 ô nhớ đầu tiên định địa chỉ cho file thanh ghi và bộ nhớ I/O, và 1024 ô nhớ tiếp theo định địa chỉ cho bộ nhớ SRAM nội e SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 13 Đồ Án Kỹ Thuật Vi Điều Khiển. .. với bộ điều khiển và 2 chân nguồn cho “đèn LED nền” Thứ tự các chân thường được sắp xếp như sau: Bảng 2.1 SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 24 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Trong một số LCD 2 chân LED nền được đánh số 15 và 16 nhưng trong một số trường hợp 2 chân này được ghi là A (Anode) và K (Cathode) Hình 2 mô tả cách kết nối LCD với nguồn và mạch điều khiển Hình 2.21 Sơ đồ kết... bằng cách điều khiển chân PWKEY Kích thước: 3.42 cm x 5.87 cm Kết nối với vi điều khiển: GND nối với 0 VDC VGSM - Nguồn cấp cho Module Sim 3.6V-4.8V / 3A VMCU - Chân này dùng để đồng bộ mức điện áp RX,TX của 2 thiết bị, do module thiết kế có thể giao tiếp được cho cả IC 5V và 3.3V Chân VMCU được nối với nguồn của vi điều khiển hoặc nguồn của IC giao tiếp với Module Sim.(Ví dụ: dùng vi điều khiển 3.3V... vào thì thanh ghi này lại mang dữ liệu điều khiển cổng Cụ thể nếu bit nào đó của thanh ghi này được set (đưa lên mức 1) thì điện trở kéo lên (pull-up) của chân tương ứng của port đó sẽ được kích hoạt Ngược lại nó sẽ ở trạng thái hi-Z Thanh ghi này sau khi khởi động Vi điều khiểnsẽ có giá trị là 0x00 f SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 14 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam Thanh ghi PINx... LM35 để ta đo các giải nhiệt độ phù hợp Đối với hệ thống này thì SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 32 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam đo từ 0 đến 150oC Tính toán nhiệt độ đầu ra của LM35 Vi c đo nhiệt độ sử dụng LM35 thông thường chúng ta sử dụng bằng cách LM35 - > ADC - > Vi điều khiển Như vậy ta có: U= t.k u là điện áp đầu ra t là nhiệt độ môi trường đo k là hệ số theo nhiệt độ của... đơn vị tạo dạng sóng SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 17 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam - Bit 6, 3-WGM01:0: Chế độ tạo dạng sóng Các bit này điều khiển đếm thứ tự của bộ đếm, nguồn cho giá trị lớn nhất của bộ đếm (TOP) và kiểu tạo dạng sóng sẽ được sử dụng - Bit 5:4-COM01:0: Chế độ báo hiệu so sánh ngõ ra Các bit này điều khiển hoạt động của chân OC0 Nếu một hoặc cả hai bit COM01:0... nó) Thanh ghi DR chứa các các loại dữ SVTH: Nguyễn Văn Quốc – Lớp: 12CDT1 25 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam liệu như ký tự cần hiển thị hoặc dữ liệu đọc ra từ bộ nhớ LCD…Cả 2 thanh ghi đều được nối với các đường dữ liệu D0:7 của Text LCD và được lựa chọn tùy theo các chân điều khiển RS, RW Thực tế để điều khiển Text LCD chúng ta không cần quan tâm đến cách thức hoạt động của 2 thanh... Nguyễn Văn Quốc – Lớp: 12CDT1 26 Đồ Án Kỹ Thuật Vi Điều Khiển GVHD: Lê Hoài Nam đã được định nghĩa sẵn ở đây, sau đó xuất bản font này ra các “chấm” trên màn hình LCD tại vị trí đầu tiên của dòng 2 trên LCD Đây chính là cách mà 2 bộ nhớ DDRAM và CGROM phối hợp với nhau để hiển thị các ký tự Như mô tả, công vi c của người lập trình điều khiển LCD tương đối đơn giản, đó là vi t mã ASCII vào bộ nhớ DDRAM