Lập trình điều khiển 89C51 hiển thị trên LCD

72 267 0
Lập trình điều khiển 89C51 hiển thị trên LCD

Đ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

Trường: ĐHSP Kỹ Thuật Hưng Yên Đồ Án Công Nghệ MỤC LỤC LỜI MỞ ĐẦU PHẦN I : CƠ SỞ LÝ THUYẾT LIÊN QUAN I Giới thiệu chung VĐK 89C51 Sơ đồ khối Sơ đồ chân tín hiệu 80C51/AT89C51 II.Tổ chức nhớ Bộ nhớ chương trình a Bộ nhớ chương trình nội trú b Bộ nhớ liệu nội trú 2.Bộ nhớ chương trình ngồi 13 a.Bộ nhớ chương trình ngoại trú 13 Các ghi chức đặc biệt 19 III Hoạt động port nối tiếp 28 Giới thiệu 28 Thanh ghi điều khiển port nối tiếp 29 Khởi động truy xuất 31 a Cho phép thu 31 b Bit liệu thứ 31 c Thêm bit parity 31 d Các cờ ngắt 31 Tốc độ baud nối tiếp 31 VI Hoạt động ngắt 33 Tổ chức ngắt 33 Xử lý ngắt 34 Các ngắt AT89C51 35 CHƯƠNG II: TẬP LỆNH CỦA 8051 36 Phần II: LẬP TRÌNH 65 Chương trình con: 70 Phần III: Kết Luân 74 Tài Liệu Tham Khảo 75 Trường: ĐHSP Kỹ Thuật Hưng Yên Đồ Án Công Nghệ ĐỒ ÁN MƠN HỌC : CƠNG NGHỆ ĐỀ TÀI: Lập trình điều khiển 89C51 hiển thị LCD dòng chữ “BO MON CN CO DIEN” ; “ KHOA CO KHI DONG LUC” Trường: ĐHSP Kỹ Thuật Hưng Yên Đồ Án Công Nghệ LỜI MỞ ĐẦU Ngày nay, phát triển mạnh mẽ khoa học công nghệ, sống người có thay đổi ngày tốt hơn, với trang thiết bị đại phục vụ cơng cơng nghiệp hố, đại hố đất nước Đặc biệt góp phần vào phát triển ngành kĩ thuật điện tử góp phần khơng nhỏ nghiệp xây dựng phát triển đất nước Trong mơn kỹ thuật vi điều khiển phát triển mạnh dựa tiến công nghệ tích hợp linh kiện bán dẫn hệ lập trình có nhớ kết hợp với máy tính điện tử Từ thời gian đầu phát triển cho thấy ưu việt ngày tính ưu việt ngày khẳng định thêm Những thành tựu biến tưởng chừng thành có thể, góp phần nâng cao đời sống vật chất tinh thần cho người Để góp phần làm sáng tỏ hiệu ứng dụng thực tế môn vi điều khiển Sau thời gian học tập thầy, cô giáo khoa giảng dạy kiến thức chuyên nghành, đồng thời giúp đỡ nhiệt tình thầy em hoàn thành đồ án với đề tài “ Lập trình điều khiển hiển thị LCD dịng chữ “BO MON CN CO DIEN” ; “ KHOA CO KHI DONG LUC” ” Cùng với lỗ lực thân thời gian tìm hiểu khơng nhiều kiến thức, kinh nghiệm em cịn hạn chế nên khơng thể tránh khỏi sai sót Em mong giúp đỡ, tham khảo ý kiến thầy cô bạn nhằm đóng góp phát triển thêm đề tài ngày hoàn thiện Em xin chân thành cảm ơn! Trường: ĐHSP Kỹ Thuật Hưng Yên Đồ Án Công Nghệ Phần I : CƠ SỞ LÝ THUYẾT CHƯƠNG I: CẤU TRÚC PHẦN CỨNG CỦA 8051 I, Giới thiệu chung họ AT89C51 Bộ vi điều khiển viết tắt Micro – controller, mạch tích hợp chíp lập trình được, dùng để điều khiển hệ thống Dựa vào tập lệnh chúng, lập trình viên viết chương trình điều khiển hệ thống theo ý muốn người, sau nạp chương trình cho IC vi điều khiển, vi điều khiển tiến hành đọc, lưu trữ thông tin, đo thời gian, tạo phông chữ chạy hiển thị hệ thống LCD Trong thiết bị điện, điện tử dân dụng, vi điều khiển điều khiển hoạt động tivi, máy giặt, đầu đọc laser, điện thoại… Các hệ thống thơng minh vai trò vi điều khiển quan trọng Vi điều khiển hệ vi xử lý tổ chức chip Nó bao gồm: - Bộ VXL - Bộ nhớ chương trình ( ROM / E ROM / EEPROM / FLASH) - Bộ nhớ giữ liệu ( RAM) - Các ghi chức năng, cổng I/O, chế điều khiển ngắt truyền tin nối tiếp - Các thời gian dùng lĩnh vực chia tần tạo thời gian thực - Bộ VĐK lập trình để điều khiển thiết bị thông tin, viễn thông, thiết bị đo lường, thiết bị điều chỉnh ứng dụng công nghệ thơng tin, kỹ thuật điều khiển tự động Có thể xem vi điều khiển hệ vi xử lý On- chip, họ AT89C51, có đầy đủ chức hệ vi xử lý bit, điều khiển lệnh, có số lệnh đủ mạnh, cho phép lập trình hợp ngữ (Asembly) Trường: ĐHSP Kỹ Thuật Hưng Yên Đồ Án Công Nghệ Sơ đồ khối Hinh 1.1: Sơ đồ khối họ Vi Điều Khiển AT89C51 Bộ vi điều khiển bit AT89C51 hoạt động tần số 12 MHz, với nhớ ROM 4Kbyte, nhớ RAM 128 Byte cư trú bên mở rộng nhớ ngồi Ở vi điều khiển cịn có cổng bit (P0…P3) vào/ chiều để giao tiếp với thiết bị ngoại vi Ngoài ra, cịn có: - đinh thời 16 bit (Timer vàTimer 1) - Mạch giao tiếp nối tiếp - Bộ xử lý bit (thao tác bit riêng rẽ) - Hệ thống điều khiển xử lý ngắt - Các kênh điều khiển/ liệu/ địa - CPU - Các nghi chức đặc biệt Tuy nhiên, tùy thuộc vào họ vi điều khiển hãng sản xuất khác mà tính phạm vi ứng dụng vi điều khiển khác Sơ đồ chân tín hiệu 80C51/AT89C51 Trường: ĐHSP Kỹ Thuật Hưng Yên Đồ Án Công Nghệ 40 Vcc P1.1 39 P0.0 (AD0) P1.2 38 P0.1 (AD1) P1.3 37 P0.2 (AD2) P1.4 36 P0.3 (AD3) P1.5 35 P0.4 (AD4) P1.6 34 P0.5 (AD5) P1.7 33 P0.6 (AD6) RST 32 P0.7 (AD7) 31 /EA / Vpp 30 ALE/(PROG) 29 /PSEN (RxD) P3.0 10 AT89C51 P1.0 (TxD) P3.1 11 (/INT0) P3.2 12 (/INT1) P3.3 13 28 P2.7 (A15) (T0) P3.4 14 27 P2.6 (A14) (T1) P3.5 15 26 P2.5 (A13) (/Wr) P3.6 16 25 P2.4 (A12) (/Rd) P3.7 17 24 P2.3 (A11) XTAL2 18 23 P2.2 (A10) XTAL1 19 22 P2.1 (A9) GND 20 21 P2.0 (A8) Hình 1.2: IC 80C51/AT89C51 Chức chân tín hiệu sau: - P0.0 đến P0.7 chân cổng - P1.0 đến P1.7 chân cổng - P2.0 đến P2.7 chân cổng - P3.0 đến P3.7 chân cổng - RxD: Nhận tín hiệu kiểu nối tiếp - TxD: Truyền tín hiệu kiểu nối tiếp - INT0: Ngắt - INT1: Ngắt - T0: Chân vào Timer/Counter - T1: Chân vào Timer/Counter - Wr: Ghi liệu vào nhớ - Rd: Đọc liệu từ nhớ - RST: Chân vào Reset, tích cực mức logic cao khoảng chu kỳ máy - XTAL1: Chân vào mạch khuếch đaị dao động - XTAL2: Chân từ mạch khuếch đaị dao động - PSEN : Chân cho phép đọc nhớ chương trình ngồi (ROM ngồi) Trường: ĐHSP Kỹ Thuật Hưng Yên Đồ Án Công Nghệ - ALE /(PROG): Chân tí n hiệu cho phép chốt địa để truy cập nhớ ngoài, On-chip xuất byte thấp địa Tín hiệu chốt kích hoạt mức cao, tần số xung chốt = 1/6 tần số dao động VĐK Nó dùng cho Timer cho mục đích tạo xung Clock Đây chân nhận xung vào để nạp chương trình cho Flash (hoặc EEPROM) bên On-chip mức thấp - EA/Vpp: Cho phép On-chip truy cập nhớ chương trình ngồi /EA=0, /EA=1 On-chip làm việc với nhớ chương trình nội trú Khi chân cấp nguồn điện áp 12V (Vpp) On-chip đảm nhận chức nạp chương trình cho Flash bên - Vcc: Cung cấp dương nguồn cho On-chip (+ 5V) - GND: nối mát II.Tổ chức nhớ Bộ nhớ chương trình vàbộ nhớ liệu nội trú Tất Flash Microcontrollers Atmel tổ chức vùng địa tách biệt nhớ chương trình nhớ liệu, mơ tả hình Các vùng nhớ chương trình liệu tách biệt cho phép nhớ liệu truy cập địa bit, lưu trữ với tốc độ cao vận hành CPU bit Tuy nhiên, địa nhớ liệu 16 bit tạo thông qua ghi trỏ liệu (DPTR) Bộ nhớ chương trình đọc Chúng nhớ chương trình 64 Kbyte có khả định địa trực tiếp Để đọc nội dung từ nhớ chương trình ngồi, cần xác định trạng thái phù hợp cho chân /PSEN Bộ nhớ liệu chiếm vùng địa riêng biệt so với nhớ chương trình 64 Kbyte nhớ ngồi định địa trực tiếp vùng nhớ liệu ngồi CPU tạo tín hiệu đọc ghi (/RD, /WR) để truy cập nhớ liệu ngồi Bộ nhớ chương trình ngồi nhớ liệu ngồi kết hợp tín hiệu /RD /PSEN để đưa vào cổng AND sử dụng đầu cổng để đọc nội dung từ nhớ liệu/chương trình ngồi Trường: ĐHSP Kỹ Thuật Hưng n Đồ Án Cơng Nghệ Hình 1.3: Cấu trúc nhớ Vi Điều Khiển AT89C51 a Bộ nhớ chương trình nội trú Bộ nhớ chương trình AT89C51 tổ chức thể hình Khơng gian nhớ cực đại nhớ chiếm 64 Kbyte, định địa từ 0000h đến FFFFh, có Kbyte Flash nội trú bên định địa từ 0000h đến 0FFFh Do mở rộng thêm 60 Kbyte nhớ chương trình bên ngồi, định địa từ 1000h đến FFFFh Tuy nhiên VĐK sử dung tồn bộ nhớ chương trình ngồi bao gồm 64 Kbyte định địa từ 0000h đến FFFFh Cũng từ hình ta thấy, thông qua việc chọn mức logic cho bit /EA lựa chọn để truy cập nhớ chương trình nội trú (4Kb), nhớ chương trình mở rộng ngoại trú (60Kb), toàn bộ nhớ chương trình ngoại trú bên ngồi On-chip (64Kb) Cụ thể, /EA = VĐK sử dụng nhớ chương trình nội trú ngoại trú Ngược lại, /EA = VĐK sử dụng nhớ chương trình ngoại trú Mỗi Reset, VĐK truy cập nhớ chương trình địa khởi đầu 0000h, sau chế ngắt sử dụng truy cập tới địa quy định bảng vecter ngắt Khi truy cập nhớ chương trình, VĐK sử dụng xung chọn /PSEN để điều khiển Nếu on-chip làm việc với nhớ chương trình nội trú chân phát xung chọn /PSEN không sử dụng Nếu VĐK làm việc với nhớ Trường: ĐHSP Kỹ Thuật Hưng n Đồ Án Cơng Nghệ chương trình ngoại trú chân phát xung chọn /PSEN sử dụng Khi /PSEN = cho phép VĐK đọc nhớ chương trình ngồi, ngược lại /PSEN = VĐK làm việc với nhớ chương trình nội trú b Bộ nhớ liệu nội trú FFh Có thể truy cập địa trực tiếp (SFR) 128 Byte cao 80h 7Fh 128 Byte thấp FFh 80h Có thể truy cập địa trực tiếp gián tiếp Hình 1.4: Bộ nhớ liệu AT89C51 có nhớ liệu chiếm khoảng không gian nhớ độc lập với nhớ chương trình Dung lượng RAM nội trú họ VĐK 128 Byte, định địa từ 00h đến 7Fh Phạm vi địa từ 80h đến FFh dành cho SFR Tuy nhiên VĐK làm việc với RAM ngoại trú có dung lượng cực đại 64 Kbyte định địa từ 0000h đến FFFFh + Vùng nhớ 128 Byte thấp: Vùng nhớ 128 Byte thấp định địa từ 00h đến 7Fh, chia thành vùng thể hình 2.10 - Vùng thứ có độ lớn 32 Byte định địa từ 00h đến 1Fh bao gồm băng ghi (băng băng 3), băng có ghi bit Các ghi băng có tên gọi từ R0 đến R7 Vùng RAM truy cập địa trực tiếp mức Byte, trình chọn để sử dung băng ghi tùy thuộc vào việc lựa chon giá trị cho RS1 RS0 PSW - Vùng thứ có độ lớn 16 Byte định địa từ 20h đến 2Fh, cho phép truy cập trực tiếp địa mức bit Bộ VĐK cung cấp lệnh có khả truy cập tới vùng nhớ 128 bit (nếu truy cập dạng mức bit vùng có địa định từ 00h đến 7Fh) mức bit Ở vùng nhớ này, địa truy xuất dạng Byte hay Bit tuỳ vào lệnh cụ thể Chẳng hạn, để đặt bit địa 5Fh có mức logic 1, ta thực lệnh: SETB 5Fh Sau thực lệnh này, mặc dầu 5Fh địa bit cao Byte có địa 2Bh, khơng làm ảnh hưởng tới bit khác Byte Trong Trường: ĐHSP Kỹ Thuật Hưng n Đồ Án Cơng Nghệ đó, VXL để thực chức cần dùng lệnh sau: MOV A,2Bh ORL A,#10000000b MOV 2Bh,A Đây ưu điểm rõ nét VĐK thực việc truy xuất bit riêng rẽ thơng qua phần mềm Các bit đựơc đặt, xố, hay thực chức AND, OR thơng qua lệnh Ngồi cổng xuất/nhập định địa dạng bit, điều làm đơn giản việc giao tiếp phần mềm với thiết bị xuất/nhập đơn bit - Vùng nhớ lại gồm 80 Byte có địa từ 30h đến 7Fh dành riêng cho người sử dụng để lưu trữ liệu Đây xem vùng RAM đa mục đích Có thể truy cập vùng nhớ địa trực tiếp gián tiếp thông qua ghi (R0 R1) dạng mức Byte + Vùng nhớ dành cho SFR: Vùng nhớ định địa từ 80h đến FFh, truy cập địa trực tiếp + Các lệnh truy cập nhớ liệu nội trú: - MOV A, : Chuyển liệu từ tốn hạng nguồn (các nhớ, ghi có địa trực tiếp gián tiếp on chip, giá trị trực chứa câu lệnh) vào ghi tích luỹ - MOV , : Chuyển liệu từ toán hạng nguồn vào toán hạng đích (các nhớ, ghi có địa trực tiếp gián tiếp on chip) - MOV , A : Chuyển liệu từ A vào toán hạng đích - MOV DPTR, #data16: Chuyển giá trị 16 bit vào ghi trỏ liệu - PUSH : Chuyển giá trị từ toán hạng nguồn vào ngăn xếp - POP : Chuyển giá trị từ ngăn xếp vào tốn hạng đích - XCH A, : Chuyển đổi liệu toán hạng nguồn dạng byte với A - XCHD A, @Ri: Chuyển đổi nửa thấp A với nội dung RAM địa nội dung Ri 10 Trường: ĐHSP Kỹ Thuật Hưng Yên Đồ Án Công Nghệ 2.5.3 Lệnh thiết lập bit Cú pháp câu lệnh: SETBbit Chức năng: Thiết lập bit câu lệnh lên mức logic Lệnh thao tác cờ nhớ, bit định địa trực tiếp Lệnh không làm ảnh hưởng tới trạng thái cờ Câu lệnh SETB C SETB bit Số Số chu Mã lệnh byte kỳ 1 11010011 11010010 bbbbbbbb Hoạt động (C)

Ngày đăng: 18/04/2021, 00:28

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan