1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD

62 2,7K 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 2,7 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LẬP KẾ HOẠCH NGHIÊN CỨU: Để thực hiện đề tài này em đã kết hợp sử dụng nhiều phương pháp và phương tiện Với thời gian gần năm tuần thực hiện đề tài cũng như trình độ chuyên môn có hạn,

Trang 1

Xin chân thành cảm ơn

Thành phố Hồ Chí Minh, ngày tháng 6 năm 2016

Sinh viên thực hiện

Trang 2

LỜI NÓI ĐẦU

Ngày nay cùng với sự phát triển nhanh chóng của khoa học kỹ thuật thì các lĩnh vựcứng dụng kỹ thuật công nghệ cao ngày càng phát triển và kỹ thuật điện tử đã và đangkhẳng định vai trò to lớn của mình

Lĩnh vực ứng dụng điện tử số đang ngày càng lớn mạnh và được ưa chuộng vì tính đadạng, chính xác và những ưu điểm vượt trội so với kỹ thuật tương tự chính vì vậy màtrong những năm gần đây, trong chương trình giảng dạy tại các trường đại học kỹthuật các môn học về điện tử số luôn được chú trọng chuyên sâu

Hòa mình cùng sự phát triển mạnh mẽ đó, trường Đại Học công Nghệ Tp Hồ ChíMinh đã luôn nâng cao trang thiết bị học tập, cập nhật chương trình giảng dạy để sinhviên có thể luôn nắm bắt được những kiến thức tốt nhất đáp ứng cho nhu cầu học tập

và xã hội Những môn học về điện tử đã được ứng dụng rất nhiều Bên cạnh đó nhàtrường còn tạo mọi điều kiện để sinh viên có thể làm quen với các trang thiết bị quacác mô hình học tập

Ngoài ra nhà trường còn hướng dẫn cho các sinh viên làm các đồ án môn học như làcác bài tập lớn nhằm giúp cho sinh viên phát huy khả năng sáng tạo, tự nghiên cứu vàtrình bày khoa học Dưới đây là một trong những ứng dụng của điện tử số trong cuộc

sống hàng ngày đó là Mạch Đo Độ Ẩm.

Em xin chân thành cảm ơn thầy Đinh Sỹ Hiền đã tận tình giúp đỡ và hướng dẫn để emhoàn thành đồ án môn học này Em cũng xin gửi lời cảm ơn tới các thầy cô đã giảngdạy và giúp đỡ em rất nhiều trong quá trình học tập

Thành phố Hồ Chí Minh, ngày 22 tháng 6 năm 2016

Sinh viên thực hiện

Trang 3

LỜI NHẬN XÉT CỦA GIÁO VIÊN

TP.HCM,ngày tháng 6 năm 2016 Giảng viên hưóng dẫn Ký tên: LỜI NHẬN XÉT CỦA GIÁO VIÊN

Trang 4

TP.HCM,ngày tháng 6 năm 2016 Giảng viên hưóng dẫn Ký tên: MỤC LỤC CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI 7

I Đặt vấn đề 7

II Mục đích đề tài 7

III Đối tượng nghiên cứu 7

IV Lập kế hoạch ghiên cứu 8

V Giới hạn đề tài 8

CHƯƠNG II: GIỚI THIỆU LINH KIỆN 9

Trang 5

PHẦN I- PIC 9

I Tổng quang về PIC 9

II Cấu trúc tổng quang về PIC AT89S52 11

III Các ứng dụng của PIC AT89S52 24

Phần 2- LCD 16x02 24.

I Hình dáng và kích thước 24

II Chức năng các chân 25

III Sơ đồ khối của HD44780 26

IV Tập lệnh của LCD 33

V Giao tiếp giữa LCD và MPU 38

VI Khởi tạo LCD 40

II Sơ đồ và chức năng chân của linh kiện điện tử DHT11 47

III Kích thước của DHT11 48

IV Nguyên lý hoạt động của linh kiện điên tử DHT11 48

CHƯƠNG III: THIẾT KẾ VÀ THI CÔNG 51

I SƠ ĐỒ KHỐI 51

II KHỐI NGUỒN 51

III KHỐI NGÕ VÀO 52

Trang 6

IV KHỐI VI XỬ LÝ 52

V KHỐI HIỂN THỊ 53

CHƯƠNG IV: SƠ ĐỒ NGUYÊN LÝ VÀ MẠCH IN 54

I NGUYÊN LÝ HOẠT ĐỘNG 56

II Lưu đồ giải thuật 56

III CODE CHƯƠNG TRÌNH 57

CHƯƠNG V: KẾT LUẬN VÀ PHÁT TRIỂN ĐỀ TÀI 59

DANH MỤC CÁC TỪ VIẾT TẮT 60

Trang 7

CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI

I ĐẶT VẤN ĐỀ

Ngày nay, khi mà cả thế giới như đang nóng lên vì sự vận động, phát triển vềmọi mặt như kinh tế, chính trị, khoa học kỹ thuật….v…v Trong đó, những ứngdụng của khoa học kỹ thuật tiên tiến đã và đang làm cho thế giới ngày càng thayđổi, văn minh hơn và hiện đại hơn Sự phát triển của Kỹ thuật điện tử đã tạo rahàng loạt những thiết bị với các đặc điểm nổi bật như sự chính xác cao, tốc độnhanh, gọn nhẹ, an toàn là những yếu tố rất cần thiết góp phần cho họat động củacon người đạt hiệu quả cao Trong đó vấn đề an toàn được quan tâm nhiều nhất.Được sự đồng ý của khoa Cơ Điện-Điện Tử trường Đại Học Công Nghệ TP Hồ ChíMinh em tiến hành thực hiện đề tài “MẠCH ĐO ĐỘ ẨM HIỂN THỊ LÊN LCD”

để làm đồ án cơ sở II cho mình

Đề tài là sự kết hợp giữa kiến thức học được trong nhà trường với quá trình tìm tòinghiên cứu và sự hướng dẫn tận tình của giáo viên hướng dẫn, song chắc chắn khôngtránh khỏi những hạn chế và thiếu sót Em rất mong nhận được những ý kiến đóng gópquý báu cùng những phê bình, chỉ dẫn của Thầy Cô và các bạn

II MỤC ĐÍCH ĐỀ TÀI:

- Mục đích của người thực hiện đề tài đã tiến hành nghiên cứu là: Trước tiên là để hoàn

thành môn học

- Với bản thân người thực hiện đề tài, đây chính là một cơ hội tốt để có thể tự kiểm tra lại

kiến thức của mình, đồng thời có cơ hội để nỗ lực vận động tìm hiểu, tiếp cận nghiêncứu được với những vấn đề mình chưa biết, chưa hiểu rõ nhằm trang bị cho bản thânnhiều kiến thức bổ ích sau này có thể ứng dụng vào thực tế cuộc sống

- Tập tính làm việc độc lập, khả năng tự suy nghĩ tìm tòi, học hỏi, phát huy năng lực của

bản thân

- Ngoài ra còn tạo được 1 sản phẩm có tính ứng dụng trong thực tế.

III ĐỐI TƯỢNG NGHIÊN CỨU:

- Các phương án điều khiển và xử lý dữ liệu ra lcd

- Tìm hiểu vi điều khiển PIC AT89S52

- Tìm hiểu phương pháp lập trình CCS cho PIC

- Giao tiếp giữa cảm biến đo dộ ẩm và PIC

Trang 8

IV LẬP KẾ HOẠCH NGHIÊN CỨU:

Để thực hiện đề tài này em đã kết hợp sử dụng nhiều phương pháp và phương tiện

Với thời gian gần năm tuần thực hiện đề tài cũng như trình độ chuyên môn có hạn, dù

em đã cố gắng hết sức để hoàn thành đồ án này nhưng chỉ giải quyết được những vấn đềsau:

- Dùng cảm biến độ ẩm DHT11 để đo độ ẩm

- Hiễn thị nhiệt độ ra LCD

- Dùng ngôn ngữ CCS lập trình cho PIC AT89S52

Trang 9

CHƯƠNG II: GIỚI THIỆU LINH KIỆN

General_Instrument PIC bắt nguồn từ chữ viết tắt của “Programmable Intelligent

Computer” (Máy tính khả trình thông minh) là một sản phẩm của hãng General

Instruments đặt cho dòng sản phẩm đầu tiên của họ là PIC1650 Lúc này, PIC 1650được dùng để giao tiếp với các thiết bị ngoại vi cho máy chủ 16 bit CP1600, vì vậy,

người ta cũng gọi PIC với tên “Peripheral Interface Controller” (Bộ điều khiển giao

tiếp ngoại vi) CP1600 là một CPU tốt, nhưng lại kém về các hoạt động xuất nhập, và vìvậy PIC 8-bit được phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập choCP1600 PIC sử dụng microcode đơn giản đặt trong ROM, và mặc dù, cụm từ RISCchưa được sử dụng thời bấy giờ, nhưng PIC thực sự là một vi điều khiển với kiến trúcRISC, chạy một lệnh một chu kỳ máy (4 chu kỳ của bộ dao động) Năm 1985 GeneralInstruments bán bộ phận vi điện tử của họ, và chủ sở hữu mới hủy bỏ hầu hết các dự án– lúc đó quá lỗi thời Tuy nhiên, PIC được bổ sung EPROM để tạo thành 1 bộ điềukhiển vào ra khả trình Ngày nay rất nhiều dòng PIC được xuất xưởng với hàng loạt cácmodule ngoại vi tích hợp sẵn (như USART, PWM, ADC…), với bộ nhớ chương trình từ

512 Word đến 32K Word

2 Tại sao dùng Pic?

Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam Giá thànhkhông quá đắt Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập Làmột sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiển mangtính truyền thống: họ vi điều khiển 8051 Số lượng người sử dụng họ vi điều khiển PIChiện nay tại Việt Nam cũng như trên thế giới, họ vi điều khiển này được sử dụng khárộng rãi Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triển các ứngdụng như: số lượng tài liệu, số lượng các ứng dụng mở đã được phát triển thành công,

dễ dàng trao đổi, học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khó khăn,… Sự hỗ trợcủa nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương trình từ đơn giảnđến phức tạp,… Các tính năng đa dạng của vi điều khiển PIC, và các tính năng nàykhông ngừng được phát triển

Trang 10

3 Các dòng Pic và cách lựa chọn Vi điều khiển PIC

Các sản phẩm vi điều khiển PIC của Microchip có gần 100 loại sản phẩm từ họ10Fxxx đến các họ 12Cxxx, 12Fxxx, 16Cxx, 17Cxx, 16Fxx, 16Fxxx, 16FxxxA,16LFxxxA, 18Fxxx, 18LFxxx, 18Fxxxx, 18LFxxxx,…

Cách phân loại PIC theo chữ cái

Các họ PIC xxCxxx được đưa vào một nhóm, gọi là OTP (One TimeProgrammable): chúng ta chỉ có thể lập trình và nạp chương trình cho nó được một lầnduy nhất

Nhóm thứ hai có chữ cái F hoặc LF: chúng ta gọi nhóm này là nhóm Flash, nhómnày cho phép ghi xóa nhiều lần bằng các mạch điện thông thường

Cách phân loại theo hai con số đầu tiên của sản phẩm

Loại thứ nhất là dòng PIC cơ bản( Base – line ), gồm các PIC 12Cxxx, có độ dài12bit

Loại thứ hai là các dòng PIC 10F, 12F va 16F, gọi là dòng phổ thông ( Mid –Range ), có dộ dài 14 bit

Loại thứ ba là dòng PIC 18( High – End ), có độ dài 16 bit

Ở Việt Nam phổ biến nhất là các họ vi điều khiển PIC do hãng Microchip sản xuất.Cách lựa chọn một vi điều khiển PIC phù hợp: Trước hết cần chú ý đến số chân của viđiều khiển cần thiết cho ứng dụng Có nhiều vi điều khiển PIC với số lượng chân khácnhau, thậm chí có vi điều khiển chỉ có 8 chân,ngoài ra còn có các vi điều khiển 18, 28,

40, 44, … chân Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chươngtrình được nhiều lần hơn Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵntrong vi điều khiển, các chuẩn giao tiếp bên trong Sau cùng cần chú ý đến bộ nhớchương trình mà vi điều khiển cho phép

4 Ngôn ngữ lập trình cho Pic

Ngôn ngữ lập trình cho PIC rất đa dạng Ngôn ngữ lập trình cấp thấp có MPLAB(được cung cấp miễn phí bởi nhà sản xuất Microchip), các ngôn ngữ lập trình cấp caohơn bao gồm C, Basic, Pascal, … Ngoài ra còn có một số ngôn ngữ lập trình được pháttriển dành riêng cho PIC như PICBasic, MikroBasic,…

Trang 11

5 Mạch nạp Pic:

Đây cũng là một dòng sản phẩm rất đa dạng dành cho vi điều khiển PIC Có thể

sử dụng các mạch nạp được cung cấp bởi nhà sản xuất là hãng Microchip như:PICSTART plus, MPLAB ICD 2, MPLAB PM 3, PRO MATE II Có thể dùng các sảnphẩm này để nạp cho vi điều khiển khác thông qua chương trình MPLAB Dòng sảnphẩm chính thống này có ưu thế là nạp được cho tất cả các vi điều khiển PIC, tuy nhiêngiá thành rất cao và thường gặp rất nhiều khó khăn trong quá trình mua sản phẩm

II CẤU TRÚC TỔNG QUÁT PIC AT89S52

1 Một vài thông số về Pic AT89S52

Tổng quan về vi điều khiển AT89S52:

Hình 1.1 Hình ảnh PIC AT89S52.

AT89S52 là họ IC vi điều khiển do hãng Atmel sản xuất

Các sản phẩm AT89S52 thích hợp cho những ứng dụng điều khiển Việc xử lý trênbyte và các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế

độ truy xuất dữ liệu nhanh trên RAM nội Tập lệnh cung cấp một bảng tiệndụng của nhữnglệnh số học 8 bit gồm cả lệnh nhân và lệnh chia Nó cungcấp những hổ trợ mở r ộ n g t r ê n c h i p d ù n g ch o n h ữ n g b i ế n m ộ t b i t n h ư

l à k iể u d ữ l i ệ u r i ê n g b iệ t c h o phép quản lý và kiểm tra bit trực tiếp trong hệthống điều khiển

AT89S52cung cấp những đặc tính chuẩn như: 8 KByte bộ nhớ chỉ đọc có thể xóa vàlập trình nhanh 128 Byte RAM, 32 đường I/0, 3 TIMER/COUNTER 16bit, 5 vectongắt có cấu trúc 2 mức ngắt, một Port nối tiếp bán song công, 1 mạch giao động xungclock và bộ giao động ON-CHIP

Các đặc điểm của AT89S52 được tóm tắt như sau:

Trang 12

 8 Kbyte bộ nhớ có thể lặp trình nhanh, có khả năng ghi tới 1000 chu kỳ xóa.

 Tần số hoạt động từ 0Hz đến 24Mhz

 3 mức khóa bộ nhớ lập trình

 3 bộ Timer/couter 16 bit

 128 byte RAM nội

 4 Port xuất/ nhập I/0 8 bit

 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

 4us cho hoạt động nhân hoặc chia

Cấu trúc bên trong AT89S52.

Phần chính của vi điều khiển AT89S52 là bộ xử lí trung tâm (CPU) bao gồm:

 Thanh tích lũy A

 Thanh ghi tích lũy phụ B dùng cho phép nhân hoặc chia

 Đơn vị logic học (ALU)

 Từ trạng thái chương trình (PSW: proram status word)

 Bốn băng thanh ghi

 Con trỏ ngăn xếp

 Ngoài ra còn bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian vàlogic

Phần cứng của AT89S52:

Trang 13

Hình 1.2 Các chân của PIC AT89S52

AT89S52 có tất cả 40 chân có chức năng như các đường xuát nhập Trong đó có 24chân có tác dụng kép (một chân có 2 chức năng), mỗi đường có thể hoạt động nhưđường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệuhoặc bus địa chỉ

Nhóm chân nguồn:

 VCC: Chân 40, điện áp cung cấp 5 VDC

 GND: Chân 20

Nhóm chân giao động: gồm chân 18 và chân 19 (chân XTAL1 và XTAL2), cho phép

ghép nối thạch anh và mạch giao động bên trong vi điều khiển

 XTAL1: Ngõ vào đến mạch khuếch đại giao động đảo và đến mạch tạo xungclock bên trong

 XTAL2: Ngõ vào mạch khuếch đại giao động đảo

Chân chọn bộ nhớ chương trình: Chân 31 (EA/VPP): xác định chương trình thựchiện

 Chân 31 nối mass: sử dụng bộ nhớ bên ngoài vi điều khiển

 Chân 31 nối nguồn: sử dụng bộ nhớ bên trong vi điều khiển

Chân RESET (chân 9): có tác dụng reset cho chip, mức tích cực của chân này là mức

1, để reset phải đưa ra mức 1(5v) đến chân này với thời gian tối thiểu 2 chu kì

Chân cho phép bộ nhớ chương trình PSEN: tín hiệu được xuất ra ở chân 29 dùng

để truy xuất bộ nhớ ngoài

Chân ALE: Cho phép chốt địa chỉ chân 30.

Nhóm chân điều khiển vào ra:

Trang 14

 Port 0: Chân 32-39 có hai chức năng

 Chức năng xuất nhập: nhận tín hiệu bên ngoài vào để xử lí hoặc dữ liệu truyxuất tới chương trình ngoài, chẳng hạn để điều khiển tín hiệu để led đơnsáng tắt

 Chức năng bus dữ liệu và bus địa chỉ (AD7-AD0): 8 chân này còn làmnhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớngoài), đồng thời port0 còn dùng để chỉ định bộ nhớ ngoài

 Port 1: gồm 8 chân (từ chân 1 đến chân 8) chức năng làm các đường xuất/nhập, không có chức năng khác

 Port 2: gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng:

 Chức năng xuất/ nhập

 Chức năng bus địa chỉ cao (A8-A15): khi kết nối bộ nhớ ngoài có dunglượng lớn, cần 2 byte để định địa chỉ bộ nhớ, byte do P0 đảm nhận, byte doP2 đảm nhận

 Port 3: gồm 8 chân (từ chân 10 đến chân 17): Chức năng xuất nhập và với mỗichân có một chức năng riêng:

 P3.0 RxD: Ngõ vào nhận dữ liệu nối tiếp

 P3.1 TxD: Ngõ xuất dữ liệu nối tiếp

 P3.2 INT0: Ngõ vào ngắt ngoài 0

 P3.3 INT1: Ngõ vào ngắt ngoài 1

 P3.4 T0: Ngõ vào định thời đếm0

 P3.5 T1: Ngõ vào định thời đếm 1

 P3.6 WR: Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài

 P3.7 RD: Ngõ điều khiển đọc dữ liệu từ bộ nhớ ngoài

 P1.0 T2: Ngõ vào timer/couter thứ 2

 P1.1 T2X: Ngõ nạp lại/ thu nhận của timer/couter thứ 2

Sơ đồ khối:

Trang 15

Hình 1.3 Sơ đồ khối của AT89S52

2 Tổ chức bộ nhớ bên trong AT89S52.

Bộ nhớ trong 89S52 bao gồm ROM và RAM RAM trong AT89S52 bao gồmnhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bankthanh ghi và các thanh ghi chức năng đặc biệt

AT89S52 có bộ nhớ được tổ chức theo cấu trúc Harvard: có những vùng bộnhớ riêng biệt cho chương trình và dữ liệu Chương trình và dữ liệu có thể chứa bêntrong 89S52 nhưng 89S52 vẫn có thể kết nối với 64K byte bộ nhớ chương trình và64K byte dữ liệu bên ngoài

Bản đồ bộ nhớ Data bên trong Chip 89S52 được tổ chức như sau:

Địa chỉ

Địa chỉ byte

Trang 16

Hình 1.4 Bản đồ bộ nhớ trong chip AT89S52

RAM bên trong AT89S52 được phân chia như sau:

Trang 17

 Các bank thanh ghi có địa chỉ từ 00H đến 1FH.

 RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH

2.2 RAM có thể định địa chỉ bit.

Vùng địa chỉ từ 20h -2Fh gồm 16 byte có thể thực hiện như vùng RAM đa dụng(truy xuât mỗi lần 8 bit) hay thực hiện truy xuất mỗi lần 1 bit bằng các lệnh xử lý bit

2.3 Các bank thanh ghi.

Vùng địa chỉ 00h – 1Fh được chia thành 4 bank thanh ghi: bank 0 từ 00h – 07h,bank 1 từ 08h – 0Fh, bank 2 từ 10h – 17h và bank 3 từ 18h – 1Fh Các bank thanh ghinày được đại diện bằng các thanh ghi từ R0 đến R7 Sau khi khởi động thì hệ thốngbank 0 được chọn sử dụng

Do có 4 bank thanh ghi nên tại một thời điểm chỉ có một bank thanh ghi đượctruy xuất bởi các thanh ghi R0 đến R7 Viêc thay đổi bank thanh ghi được thực hiệnthông qua thanh ghi từ trạng thái chương trình (PSW)

2.4 Các thanh ghi có chức năng đặc biệt.

Các thanh ghi trong 89S52 được định dạng như một phần của RAM trên chip vìvậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếm chương trình vàthanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp) Cũng như R0 đếnR7, 89S52 có 21 thanh ghi có chức năng đặc biệt (SFR: Special Function Register) ởvùng trên của RAM nội từ địa chỉ 80H đến 0FFH

Trang 18

Sau đây là một vài thanh ghi đặc biệt thường được sử dụng:

2.4.1 Thanh ghi trạng thái chương trình (PSW: Program Status Word)

00=Bank 0; address 00H07H01=Bank 1; address 08H0FH10=Bank 2; address 10H17H11=Bank 3; address 18H1FH

Bảng 2.1: Thanh ghi trạng thái chương trình (PSW: Program Status Word).

Chức năng từng bit trạng thái chương trình:

Cờ Carry CY (Carry Flag): Cờ nhớ thường nó được dùng cho các lệnh toán

học: C =1 nếu phép toán cộng có sự tràn hoặc phép trừ có mượn và ngược lại C =

0 nếu phép toán cộng không tràn và phép trừ không có mượn

Trang 19

Cờ Carry phụ AC (Auxiliary Carry Flag): Khi cộng những giá trị BCD

(Binary Code Decimal), cờ nhớ phụ AC được set nếu kết quả 4 bit thấp nằm trongphạm vi điều khiển 0AH - 0FH Ngược lại AC = 0

Cờ 0 (Flag 0):

Cờ 0 (F0) là 1 bit cờ đa dụng dùng cho các ứng dụng của người dùng

Những bit chọn bank thanh ghi truy xuất:

- RS1 và RS0 quyết định dãy thanh ghi tích cực Chúng được xóa sau khi reset hệthống và được thay đổi bởi phần mềm khi cần thiết

- Tùy theo RS1, RS0 = 00, 01, 10, 11 sẽ được chọn Bank tích cực tương ứng làBank 0, Bank1, Bank2 và Bank3

Bảng 2.2 Những bit chọn trong thanh ghi truy suất.

Trang 20

Bit tự động được set hay Clear ở mỗi chu kỳ máy để lập Parity chẵn với thanhghi A Sự đếm các bit 1 trong thanh ghi A cộng với bit Parity luôn luôn chẵn Ví

dụ A chứa 10101101B thì bit P set lên một để tổng số bit 1 trong A và P tạo thành

số chẵn

Bit Parity thường được dùng trong sự kết hợp với những thủ tục của Port nối

tiếp để tạo ra bit Parity trước khi phát đi hoặc kiểm tra bit Parity sau khi thu.

2.4.2 Thanh ghi TIMER.

Vi Điều Khiển 89S52 có 3 timer 16 bit, mỗi timer có bốn cách làm việc Người

ta sử dụng các timer để:

 Định khoảng thời gian

Đếm sự kiện.

 Tạo tốc độ baud cho port nối tiếp trong 89S52

Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở nhữngkhoảng đều đặn và đặt cờ tràn timer Cờ được dùng để đồng bộ hóa chương trình đểthực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện racác ngõ ra Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn của timer để

đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung)

2.4.3 Thanh ghi ngắt (INTERRUPT).

Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thời thờichương trình chính trong khi điều kiện đó được phục vụ bởi một chương trình khác

Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng viđiều khiển Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện và giảiquyết sự kiện đó trong khi một chương trình khác đang thực thi

Tổ chức ngắt của 89S52:

Có 5 nguồn ngắt ở 89S52: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp.Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và được cho phéptừng cái một bằng phần mềm Mức độ ưu tiên của các ngắt được lưu trong thanh ghi

Trang 21

IP (Interrupt Priority) hay nói cách khác thanh ghi IP cho phép chọn mức ưu tiên chocác ngắt (giá trị thanh ghi IP khi reset là 00h)

Trang 22

 Nếu chương trình của một ngắt có mức ưu tiên thấp đang chạy mà có một ngắtxảy ra với mức ưu tiên cao hơn thì chương trình này tạm dừng để chạy mộtchương trình khác có mức ưu tiên cao hơn.

Cho phép và cấm ngắt:

Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức năng đặtbiệt có định địa chỉ bit IE (Interrupt Enable: cho phép ngắt) ở địa chỉ A8H

Bảng 2.3 Tóm tắt thanh ghi IP

Các cờ ngắt:

Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặt lênmức cao để xác nhận ngắt

Trang 23

Timer 0 TF0 TCON.5

 Khả năng chống nhiễu của các cổng nối tiếp cao

 Thiết bị ngoại vi có thể lắp ráp ngay khi máy tính đang cấp điện

 Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổngnối tiếp

PHẦN 2- LCD 16x02

Tổng quát về HD44780

Trang 24

I Hình dáng và kích thước:

Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên hình 1

là loại LCD thông dụng

Hình 2.1: Hình dáng của loại LCD thông dụng

Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bêntrong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết Các chân này được đánh số thứ

tự và đặt tên như hình 2.2:

Hình 2.2 : Sơ đồ chân của LCD

Trang 25

II Chức năng các chân :

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với

VCC=5V của mạch điều khiển

3 VEE Điều chỉnh độ tương phản của LCD

4 RS Chân chọn thanh ghi (Register select) Nối chân RS với logic “0”

(GND) hoặc logic “1” (VCC) để chọn thanh ghi

+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ởchế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ

“đọc” - read)+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trongLCD

5 R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để

LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độđọc

6 E Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus

DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E.+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận)thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition)của tín hiệu chân E

+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiệncạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đếnkhi nào chân E xuống mức thấp

Trang 26

Bảng 2.1 : Chức năng các chân của LCD

* Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân DBx

Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các chân DBx

III Sơ đồ khối của HD44780:

Để hiểu rõ hơn chức năng các chân và hoạt động của chúng, ta tìm hiểu sơ qua chíp HD44780 thông qua các khối cơ bản của nó

Trang 27

Hình 2.3 : Sơ đồ khối của HD44780

Trang 28

VD : Lệnh “hiển thị màn hình” có địa chỉ lệnh là 00001100 (DB7…DB0)

Lệnh “hiển thị màn hình và con trỏ” có mã lệnh là 00001110

- Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùng RAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2 vùng RAM này gởi ra cho MPU (ở chế độ đọc) Nghĩa là, khi MPU ghi thông tin vào DR, mạch nội bên trong chíp sẽ tự động ghi thông tin này vào DDRAM hoặc CGRAM Hoặc khithông tin về địa chỉ được ghi vào IR, dữ liệu ở địa chỉ này trong vùng RAM nội

của HD44780 sẽ được chuyển ra DR để truyền cho MPU

=> Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữ 2 thanh ghi này khi giao tiếp với MPU Bảng sau đây tóm tắt lại các thiết lập đối với hai chân

RS và R/W theo mục đích giao tiếp

0 1 Đọc cờ bận ở DB7 và giá trị của bộ đếm địa chỉ ở DB0-DB6

Bảng 2.2 : Chức năng chân RS và R/W theo mục đích sử dụng.

b Cờ báo bận BF: (Busy Flag)

Khi thực hiện các hoạt động bên trong chíp, mạch nội bên trong cần một khoảngthời gian để hoàn tất Khi đang thực thi các hoạt động bên trong chip như thế, LCD bỏqua mọi giao tiếp với bên ngoài và bật cờ BF (thông qua chân DB7 khi có thiết lậpRS=0, R/W=1) lên để báo cho MPU biết nó đang “bận” Dĩ nhiên, khi xong việc, nó

sẽ đặt cờ BF lại mức 0

c Bộ đếm địa chỉ AC : (Address Counter)

Trang 29

Như trong sơ đồ khối, thanh ghi IR không trực tiếp kết nối với vùng RAM(DDRAM và CGRAM) mà thông qua bộ đếm địa chỉ AC Bộ đếm này lại nối với 2vùng RAM theo kiểu rẽ nhánh Khi một địa chỉ lệnh được nạp vào thanh ghi IR, thôngtin được nối trực tiếp cho 2 vùng RAM nhưng việc chọn lựa vùng RAM tương tác đãđược bao hàm trong mã lệnh

Sau khi ghi vào (đọc từ) RAM, bộ đếm AC tự động tăng lên (giảm đi) 1 đơn vị vànội dung của AC được xuất ra cho MPU thông qua DB0-DB6 khi có thiết lập RS=0

và R/W=1 (xem bảng tóm tắt RS - R/W)

Lưu ý: Thời gian cập nhật AC không được tính vào thời gian thực thi lệnh mà được

cập nhật sau khi cờ BF lên mức cao (not busy), cho nên khi lập trình hiển thị, bạn phảidelay một khoảng tADD khoảng 4uS-5uS (ngay sau khi BF=1) trước khi nạp dữ liệumới Xem thêm hình bên dưới

Hình 2.4 : Giản đồ xung cập nhật AC

d Vùng RAM hiển thị DDRAM : (Display Data RAM)

Đây là vùng RAM dùng để hiển thị, nghĩa là ứng với một địa chỉ của RAM là một

ô kí tự trên màn hình và khi bạn ghi vào vùng RAM này một mã 8 bit, LCD sẽ hiển thịtại vị trí tương ứng trên màn hình một kí tự có mã 8 bit mà bạn đã cung cấp Hình sauđây sẽ trình bày rõ hơn mối liên hệ này :

Trang 30

Hình 2.5 : Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD

Vùng RAM này có 80x8 bit nhớ, nghĩa là chứa được 80 kí tự mã 8 bit Những vùngRAM còn lại không dùng cho hiển thị có thể dùng như vùng RAM đa mục đích Lưu ý: là để truy cập vào DDRAM, ta phải cung cấp địa chỉ cho AC theo mã HEX

e Vùng ROM chứa kí tự CGROM: Character Generator ROM.

Vùng ROM này dùng để chứa các mẫu kí tự loại 5x8 hoặc 5x10 điểm ảnh/kí tự, vàđịnh địa chỉ bằng 8 bit Tuy nhiên, nó chỉ có 208 mẫu kí tự 5x8 và 32 mẫu kí tự kiểu5x10 (tổng cộng là 240 thay vì 2^8 = 256 mẫu kí tự) Người dùng không thể thay đổivùng ROM này

Trang 31

Hình 2.6 : Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự

Như vậy, để có thể ghi vào vị trí thứ x trên màn hình một kí tự y nào đó, ngườidùng phải ghi vào vùng DDRAM tại địa chỉ x (xem bảng mối liên hệ giữa DDRAM

và vị trí hiển thị) một chuỗi mã kí tự 8 bit trên CGROM Chú ý là trong bảng mã kí tựtrong CGROM ở hình bên dưới có mã ROM A00

Ví dụ : Ghi vào DDRAM tại địa chỉ “01” một chuỗi 8 bit “01100010” thì trên LCD

tại ô thứ 2 từ trái sang (dòng trên) sẽ hiển thị kí tự “b”

Ngày đăng: 25/07/2016, 12:45

HÌNH ẢNH LIÊN QUAN

Hình 1.2 Các chân của PIC AT89S52 - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 1.2 Các chân của PIC AT89S52 (Trang 13)
Hình 1.3 Sơ đồ khối của AT89S52 - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 1.3 Sơ đồ khối của AT89S52 (Trang 15)
Bảng 2.1 : Chức năng các chân của LCD - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Bảng 2.1 Chức năng các chân của LCD (Trang 27)
Hình 2.3 : Sơ đồ khối của HD44780 - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 2.3 Sơ đồ khối của HD44780 (Trang 28)
Hình 2.5 : Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 2.5 Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD (Trang 31)
Hình 2.6 : Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự. - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 2.6 Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự (Trang 32)
Bảng 2.3 : Bảng mã kí tự (ROM code A00) - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Bảng 2.3 Bảng mã kí tự (ROM code A00) (Trang 33)
Bảng 2.5 : Maximun Rating - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Bảng 2.5 Maximun Rating (Trang 39)
Hình 5.2: Sơ đồ chân DHT11. - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 5.2 Sơ đồ chân DHT11 (Trang 48)
Sơ đồ kết nối với vi xử lý: - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Sơ đồ k ết nối với vi xử lý: (Trang 49)
Hình 5.4: Gửi tín hiệu muốn đo. - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 5.4 Gửi tín hiệu muốn đo (Trang 50)
Hình 6.1 Khối nguồn 5V - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 6.1 Khối nguồn 5V (Trang 53)
Hình 6.2 Khối ngõ vào. - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 6.2 Khối ngõ vào (Trang 54)
Hình 6.3 Khối vi xử lý. - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 6.3 Khối vi xử lý (Trang 54)
Hình 6.4 Khối hiển thị. - Đồ án Thiết kế mạch đo độ ẩm hiển thị lên LCD
Hình 6.4 Khối hiển thị (Trang 55)

TỪ KHÓA LIÊN QUAN

w