Giao Trinh Thuc Hanh Vi Dieu Khien 8051
February 15, 2017 | Author: Khoảnh Khắc Bình Yên | Category: N/A
Short Description
Download Giao Trinh Thuc Hanh Vi Dieu Khien 8051...
Description
TRƢỜNG CAO ĐẲNG NGHỀ CÔNG NGHỆ CAO HÀ NỘI
MÔ ĐUN: VI ĐIỀU KHIỂN 8051 Mã số: MĐ 36
NGHỀ: ĐIỆN TỬ CÔNG NGHIỆP Trình độ Trung cấp nghề và Cao đẳng nghề
HÀ NỘI - 2011
1
Tuyên bố bản quyền :
Tài liệu này thuộc loại sách giáo trình. Cho nên các nguồn thông tin có thể đƣợc phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo . Mọi mục đích khác có ý đồ lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. Trƣờng Cao đẳng nghề Công nghệ cao Hà Nội sẽ làm mọi cách để bảo vệ bản quyền của mình. Trƣờng Cao đẳng nghề Công nghệ cao Hà Nội cám ơn và hoan nghênh các thông tin giúp cho việc tu sửa và hoàn thiện tốt hơn tài liệu này. chỉ liên hệ: Mã Địa tài liệu:………. Trƣờng Cao đẳng nghề Công nghệ cao Hà Nội Mã quốc tế ISBN :…….. Tây Mỗ - Từ Liêm – Hà Nội www.hht.edu.vn
Mã tài liệu:………. Mã quốc tế ISBN :……..
2
LỜI NÓI ĐẦU Vi điều khiển là một trong những môn chuyên ngành và mang tính đặc thù của nghành Điện Tử Công Nghiệp. Hiện nay trên thế giới ngày càng có rất nhiều loại vi điều khiển của các hãng khác nhau ra đời chẳng hạn: vi điều khiển 8051 của hãng Atmel, AVR của Atmel, PIC của Microchip, H8 của hãng Hitachi, ARM của Texas Intrusment vv… Trong nhiều năm tâm huyết với dạy nghề, chúng tôi đã cập nhật các loại mô hình vi điều khiển tiện ích hiện đại của các nƣớc, các công ty thiết bị dạy nghề ở Việt Nam. Một trong những mô hình vi điều khiển cơ bản hiện nay sử dụng lõi vi sử lý 8086 đang đƣợc sử dụng để dạy học rất phổ biến ở rất nhiều trƣờng Đại Học và Cao Đẳng trong cả nƣớc là vi điều khiển AT89S52. Và cũng đã đƣợc ứng dụng vào việc dạy học ở trƣờng CĐN Công nghệ cao Hà Nội. Đi đôi với các thiết bị này thì cần phải có các cuốn tài liệu hƣớng dẫn thực hành, thao tác và các bài tập cơ bản trên các mô hình. Vì vậy chúng tôi đã biên soạn ra cuốn giáo trình Mô đun môn học Vi Điều Khiển 8051 phù hợp với mọi trình độ đào tạo của trƣờng Cao đẳng nghề, trung cấp nghề, sơ cấp nghề. Trong giáo trình cung cấp tất cả các kiến thức liên quan đến hƣớng dẫn sử dụng, các thao tác đấu nối, các bài thực hành từ cơ bản đến nâng cao, các thuật toán lập trình từ dễ đến khó với các ngoại vi hỗ trợ của AT89S52. Với cuốn sách này ngƣời học có thể tự thao tác và dễ dàng thực hiện bài học của mình. Ngoài ra trong cuốn sách còn có các bài tập tham khảo mà ngƣời học có thể tìm hiểu và dựa theo vào đó để thực hiện bài học của mình Mục đích của cuốn giáo trình là nhằm nâng cao kiến thức và nội dung học tập, khả năng tự học cho ngƣời học, giảm bớt các lần thao tác hƣớng dẫn thực hành của ngƣời dạy. Từ đó sẽ làm tăng tính hiệu quả và chất lƣợng của mô đun học tập.
Hà Nội, ngày …. tháng…. năm…. CÁC TÁC GIẢ Hoàng Đức Long Đàm Hồng Duân
3
MỤC LỤC GIỚI THIỆU VỀ MÔ ĐUN VI ĐIỀU KHIỂN 8051 ...........................................10 Mã mô đun: MĐ 36 ...........................................................................................10 Thời lƣợng: 120h (60h lý thuyết và 60h thực hành) .........................................10 Vị trí, ý nghĩa, vai trò mô đun: ..........................................................................10 Mục tiêu của mô đun: ........................................................................................10 Mục tiêu thực hiện của mô đun: ........................................................................10 Nội dung chính của mô đun: .............................................................................10 SƠ ĐỒ QUAN HỆ TRÌNH TỰ HỌC NGHỀ ĐIỆN TỬ CÔNG NGHIỆP .........11 CÁC HÌNH THỨC HỌC TẬP CHÍNH ............................................................... 12 TRONG MÔ ĐUN/MÔN HỌC............................................................................12 1. Làm việc độc lập. .........................................................................................12 2. Hoạt động theo nhóm. ...................................................................................12 3. Nghiên cứu phát triển ứng dụng ....................................................................12 YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH ......................................................13 MÔ ĐUN/MÔN HỌC ..........................................................................................13 BÀI 1.....................................................................................................................14 Giới thiệu: ..........................................................................................................14 Mục tiêu thực hiện: ............................................................................................14 Nội dung chính: .................................................................................................14 1. Các linh kiện dùng trong sơ đồ mạch. .......................................................14 Hình 1.1 Sơ đồ mạch khối MCU sử dụng AT89S52. .......................................15 BÀI 2.....................................................................................................................18 Giới thiệu: ..........................................................................................................18 Mục tiêu thực hiện: ............................................................................................18 Nội dung chính: .................................................................................................18 1. Sơ đồ mạch và lý thuyết điều khiển led đơn. .............................................18 Hình 2.1 Sơ đồ nguyên lý mạch led đơn ...........................................................18 Bảng 2.1 Bảng mã điều khiển led đơn .............................................................. 19 4
2. Bài tập thực hành: Lập trình điều khiển led đơn với cổng vào ra của AT89S52. ................................................................................................................20 Hình 2.2 Lƣu đồ thuật toán lập trình điều khiển Led đơn. ................................ 20 BÀI 3.....................................................................................................................23 Giới thiệu: ..........................................................................................................23 Mục tiêu thực hiện: ............................................................................................23 Nội dung chính: .................................................................................................23 1. Sơ đồ mạch và cách kiểm tra nút nhấn. .....................................................23 Hình 3.1 Sơ đồ nguyên lý mạch nút nhấn. ........................................................23 Bảng 3.1 Bảng mã số liệu của nút nhấn ............................................................24 2. Bài tập thực hành: Lập trình đọc dữ liệu từ nút nhấn điều khiển led đơn .24 Hình 3.2 Lƣu đồ thuật toán lập trình kiểm tra nút nhấn điều khiển led đơn. ....25 BÀI 4.....................................................................................................................31 Giới thiệu: ..........................................................................................................31 Mục tiêu thực hiện: ............................................................................................31 Nội dung chính: .................................................................................................31 1. Sơ đồ mạch và cách quét bàn phím HEXA. ..............................................31 Hình 4.1 Sơ đồ nguyên lý mạch bàn phím Hexa...............................................31 Bảng 4.1 Bảng mã điều khiển và mã dữ liệu đầu ra bàn phím Hexa ................32 2 Bài tập thực hành: Lập trình đọc dữ liệu từ bàn phím điều khiển led đơn .33 Hình 4.2 Lƣu đồ thuật toán lập trình đọc bàn phím hexa điều khiển led đơn ...34 BÀI 5.....................................................................................................................43 Giới thiệu: ..........................................................................................................43 Mục tiêu thực hiện: ............................................................................................43 Nội dung chính: .................................................................................................43 1. Sơ đồ mạch và lý thuyết điều khiển màn hình led 7 thanh. .......................43 Hình 5.1 Sơ đồ nguyên lý màn hình LED 7 thanh. ...........................................44 Bảng 5.1 Bảng mã hiển thị số lên led 7 thanh ...................................................45 Bảng 5.2 Bảng mã điều khiển led 7 thanh .........................................................45 5
2. Bài tập thực hành: Lập trình đọc dữ liệu từ bàn phím hiển thị lên màn hình led 7 thanh. ..............................................................................................................46 Hình 5.2 Lƣu đồ thuật toán lập trình điều khiển màn hình led 7 thanh. ...........47 BÀI 6.....................................................................................................................52 Giới thiệu: ..........................................................................................................52 Mục tiêu thực hiện: ............................................................................................52 Nội dung chính: .................................................................................................53 1. Sơ đồ mạch và lý thuyết điều khiển màn hình led ma trận. .......................53 Hình 6.1 Sơ đồ nguyên lý màn hình LED ma trận. ...........................................53 Bảng 6.1 Bảng mã điều khiển quét hàng của led ma trận .................................54 Bảng 6.2 Bảng mã phông chữ hiển thị trên led ma trận ....................................55 2. Bài tập thực hành: Lập trình hiển thị các ký tự lên trên màn hình led ma trận ..........................................................................................................................56 Hình 6.2 Lƣu đồ thuật toán đọc bàn phím hexa hiển thị lên led ma trận ..........57 BÀI 7.....................................................................................................................64 Giới thiệu: ..........................................................................................................64 Mục tiêu thực hiện: ............................................................................................65 Nội dung chính: .................................................................................................65 1. Sơ đồ mạch và lý thuyết điều khiển màn hình LCD16x2. .........................65 Hình 7.1 Sơ đồ nguyên lý màn hình LCD16x2 .................................................66 Bảng 7.1 Bảng chức năng các chân của LCD16x2 ...........................................67 Bảng 7.2 Bảng mã lệnh điều khiển LCD16x2 ..................................................68 Bảng 7.3 Bảng mã ký tự hiển thị lên trên LCD16x2.........................................69 3. Bài tập thực hành: Lập trình hiển thị các ký tự lên trên màn hình LCD16x2. ...............................................................................................................70 Hình 7.2 Lƣu đồ thuật toán lập trình một máy tính điện tử .............................. 70 BÀI 8.....................................................................................................................80 Giới thiệu: ..........................................................................................................80 Mục tiêu thực hiện: ............................................................................................80 Nội dung chính: .................................................................................................80 6
1. Sơ đồ mạch và cách đọc dữ liệu từ bộ ADC0804. .....................................80 Hình 8.1 Sơ đồ nguyên lý mạch chuyển đổi tƣơng tự số ADC0804 .................80 2. Bài tập thực hành: Lập trình giao tiếp với bộ biến đổi ADC0804. ............81 Hình 8.2 Lƣu đồ thuật toán lập trình bộ đo nhiệt độ hiển lên LCD16x2. .........83 BÀI 9.....................................................................................................................89 Giới thiệu: ..........................................................................................................89 Mục tiêu thực hiện: ............................................................................................89 Nội dung chính: .................................................................................................89 1. Sơ đồ mạch và lý thuyết điều khiển bộ DAC0808. ...................................89 Hình 9.1 Sơ đồ nguyên lý mạch chuyển đổi số tƣơng tự DAC0808.................90 2. Bài tập thực hành: Lập trình giao tiếp với bộ biến đổi DAC0808. ............90 Hình 9.2 Lƣu đồ thuật toán điều khiển bộ biến đổi DAC0808 .........................91 BÀI 10.................................................................................................................102 Giới thiệu: ........................................................................................................102 Mục tiêu thực hiện: ..........................................................................................102 Nội dung chính: ...............................................................................................102 1. Sơ đồ mạch và lý thuyết điều khiển động cơ bƣớc. .................................102 Hình 10.1 Sơ đồ nguyên lý mạch điều khiển động cơ bƣớc. ..........................103 Hình 10.2 Hình ảnh thực tế động cơ bƣớc ......................................................103 Hình 10.3 Giản đồ xung điều khiển động cơ bƣớc .........................................104 2. Bài tập thực hành: Lập trình điều khiển động cơ bƣớc............................106 Hình 10.4 Lƣu đồ thuật toán điều khiển động cơ bƣớc...................................106 BÀI 11.................................................................................................................113 Giới thiệu: ........................................................................................................113 Mục tiêu thực hiện: ..........................................................................................113 Nội dung chính: ...............................................................................................114 1. Sơ đồ mạch và cách thức truyền thông UART ........................................114 Hình 11.1 Sơ đồ nguyên lý mạch giao tiếp máy tính RS232. .........................115 Hình 11.2 Sơ đồ lựa chọn nguồn xung tốc độ BAUD từ Timer .....................117 7
Bảng 11.1 Bảng lựa chọn nguồn xung tốc độ BAUD .....................................117 Bảng 11.2 Bảng giá trị tính toán tốc độ BAUD từ Timer1 .............................118 Hình 11.3 Sơ đồ khối nguồn xung cung cấp tốc độ BAUD từ Timer2 ...........119 Bảng 11.3 Bảng giá trị tính toán tốc độ BAUD từ Timer2 .............................120 2. Bài tập thực hành: Lập trình giao tiếp với máy tính. ...............................120 Hình 11.4 Lƣu đồ thuật toán đọc nhiệt độ và hiển thị lên máy tính. ...............121 BÀI 12.................................................................................................................127 Giới thiệu: ........................................................................................................127 Mục tiêu thực hiện: ..........................................................................................127 Nội dung chính: ...............................................................................................128 1. Sơ đồ mạch và cách thức khởi tạo chế độ ngắt ........................................128 Hình 12.1 Sơ đồ mạch các chân vào ra của AT89S51 ....................................128 2. Bài tập thực hành: Lập trình đếm sản phẩm trong một khoảng thời gian nhất định sử dụng ngắt ngoài. ...............................................................................134 Hình 12.2 Lƣu đồ thuật toán lập trình bộ đếm sản phẩm ................................134 BÀI 13.................................................................................................................139 Giới thiệu: ........................................................................................................139 Mục tiêu thực hiện: ..........................................................................................139 Nội dung chính: ...............................................................................................139 1. Bài tập thực hành: Lập trình một bộ đo và khống chế nhiệt độ. ..............139 Hình 13.1 Lƣu đồ thuật toán bộ đo và khống chế nhiệt độ .............................140 BÀI 14.................................................................................................................141 Giới thiệu: ........................................................................................................141 Mục tiêu thực hiện: ..........................................................................................141 Nội dung chính: ...............................................................................................141 1. Bài tập thực hành: Lập trình một bộ điều khiển động cơ bƣớc ...............141 Hình 14.1 Lƣu đồ thuật toán lập trình bộ điều khiển động cơ bƣớc. ..............142 PHỤC LỤC .........................................................................................................144 Phụ lục 1: Hƣớng dẫn sử dụng phần mềm viết chƣơng trình Keil C. .............144 8
Phụ lục 2: Hƣớng dẫn sử dụng phần mền nạp chíp:........................................148 TÀI LIỆU THAM KHẢO ..................................................................................150
9
GIỚI THIỆU VỀ MÔ ĐUN VI ĐIỀU KHIỂN 8051 Mã mô đun: MĐ 36 Thời lượng: 120h (60h lý thuyết và 60h thực hành)
Vị trí, ý nghĩa, vai trò mô đun: - Vị trí của mô đun: Mô đun đƣợc bố trí dạy sau khi học song môn vi xử lý và học trƣớc môn vi mạch số lập trình - Ý nghĩa của mô đun: Cung cấp cho sinh viên các kiến thức liên quan đến vi điều khiển, các cấu trúc lập trình và làm việc với các thanh ghi của vi điều khiển. - Vài trò của mô đun: Đây là mô đun học bắt buộc và là môn tiền đề để có thể học và nghiên cứu sang các dòng vi điều khiển khác cao cấp hơn.
Mục tiêu của mô đun: - Vận hành đƣợc các thiết bị và dây chuyền sản xuất dùng vi điều khiển - Xác định đƣợc các nguyên nhân gây ra hƣ hỏng sảy ra trong thực tế. - Kiểm tra và viết đƣợc các chƣơng trình điều kiển.
Mục tiêu thực hiện của mô đun: - Giảm thiểu thao tác hƣớng dẫn và phân tích bài học của giáo viên - Tăng cƣờng tính tự học và tƣ duy phân tích bài toán của sinh viên.
Nội dung chính của mô đun: Bài 1: Tổng quan về khối MCU Bài 2: Điều khiển LED đơn Bài 3: Đọc và kiểm tra nút nhấn Bài 4: Đọc dữ liệu từ bàn phím Hexa Bài 5: Điều khiển màn hình led 7 thanh Bài 6: Điều khiển màn hình led ma trận Bài 7: Điều khiển màn hình LCD16x2 Bài 8: Đọc dữ liệu từ bộ biến đổi ADC0804 Bài 9: Điều khiển bộ chuyển đổi DAC0808 Bài 10: Điều khiển động cơ bƣớc Bài 11: Giao tiếp nối tiếp UART Bài 12: Điều khiển ngắt Bài 13: Lập trình đo và khống chế nhiệt độ Bài 14: Lập trình bộ điều khiển động cơ bƣớc 10
SƠ ĐỒ QUAN HỆ TRÌNH TỰ HỌC NGHỀ ĐIỆN TỬ CÔNG NGHIỆP
Giáo dục QP
Tin học ĐC
Vi mạch TT
Tin học VP
PLC
Ghép nối MT
PLC nâng cao
Vẽ kỹ thuật Kỹ thuật XS Kỹ thuật CB Chính trị
Điện kỹ thuật Linh kiện ĐT
Pháp luật
Đo lƣờng ĐT Kỹ thuật điện tử
Thể dục
ĐT nâng cao Máy điện Điện tử CS
VĐK 8051
Trang bị điện
Điện cơ bản
Ra trƣờng
số Lập trình C VĐK PIC
Vi xử lý
Tiếng anh
Thức tập TN
Thực tập xung
An toàn LĐ Vẽ điện
Profibus
Thiết kế mạch
Điện tử CB
Thực tế
Thực tập SX
FPGA
Đồ án
Ghi chú: Chƣơng trình môn học đƣợc sắp xếp tuần tự từ cơ bản đến nâng cao và có tính kế thừa, các môn học ở kỳ trƣớc sẽ bổ xung và hỗ trợ cho các môn học ở kỳ sau. Vì vậy sinh viên phải lắm chắc đƣợc kiến thức của các môn học kỳ trƣớc để tiếp thu và phát triển môn học mới một cách dễ dàng hơn, tƣ duy sáng tạo hơn.
11
CÁC HÌNH THỨC HỌC TẬP CHÍNH TRONG MÔ ĐUN/MÔN HỌC 1. Làm việc độc lập. - Sinh viên phải có tinh thần tự giác cao. - Đảm bảo hiệu quả công việc và bài tập đƣợc giao. - Trung thực trong quá trình học tập và thi.
2. Hoạt động theo nhóm. - Tự tổ chức hoạt động theo nhóm từ 3 đến 5 ngƣời. - Các thanh viên trong nhóm phải có ý thức kỷ luật và đoàn kết - Có trách nhiệm trong công việc của nhóm và biết chia sẻ tài liệu, kiến thức.
3. Nghiên cứu phát triển ứng dụng - Sinh viên có thể tổ chức nghiên cứu tập thể hoặc cá nhân để phát triển một ứng dụng thực tiễn liên quan đến các nội dung đã học. -Trong quá trình nghiên cứu đòi hỏi sự nhạy bén, trao đổi thẳng thắn về vấn đề đang vƣớng mắc hoặc hƣớng đi nhƣ thế nào để đạt đến đích.
12
YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH MÔ ĐUN/MÔN HỌC Sau khi học xong mô đun môn học này ngƣời học cần phải đạt đƣợc các yêu cầu sau đây: 1. Lập trình và điều khiển thành thạo các chân vào ra của AT89S52. 2. Lập trình và điều khiển đƣợc bộ Timer và counter. 3. Lập trình và điều khiển đƣợc ngắt ngoài, ngắt timer. 4. Lập trình và điều khiển đƣợc bộ biến đổi ADC0804. 5. Lập trình và điều khiển đƣợc bộ biến đổi DAC0808. 6. Lập trình truyền dữ liệu lên máy tính qua cổng UART. 7. Lập trình điều khiển đƣợc động cơ bƣớc quay. 8. Thiết kế và lập trình một mạch ứng dụng trong thực tế sử dụng vi điều khiển AT89S52.
13
BÀI 1 Tên bài: TÌM HIỀU KHỐI MCU
Mã bài: AT89-01
Giới thiệu: - Khối MCU sử dụng vi điều khiển 8bit AT89S52 thuộc họ 8051. Đƣợc dùng trong các mạch điều khiển có thể lập trình đƣợc nhằm giúp tối ƣu hóa thiết kế, tăng độ chính xác của mạch điều khiển. Từ đó có thể làm tăng chất lƣợng và tính năng của sản phẩm tốt hơn.
Mục tiêu thực hiện: - Giúp ngƣời học có thể hiểu rõ hơn về vi điều khiển AT89S52 - Biết đƣợc sơ đồ thiết kế của khối MCU. - Định hƣớng đƣợc các thao tác cho ngƣời học khi kết nối MCU với các ngoại vi bên ngoài.
Nội dung chính: 1. Các linh kiện dùng trong sơ đồ mạch. - U7: Vi điều khiển AT89S52 thuộc họ 8051 dùng làm MCU để lập trình đọc dữ liệu từ ngoại vi và điều khiển các ngoại vi trên kit thực hành theo lƣu đồ thuật toán và chƣơng trình của ngƣời lập trình. Thông số kỹ thuật của AT89S52: + Bộ nhớ EEPROM nội 4Kbytes + Bộ nhớ RAM 128 bytes + Có 3 bộ Timer/Counter 8bit và 16bit + Có 32 chân vào ra I/O. + Có 2 đầu vào ngắt ngoài INT0 và INT1. + Tần số xung làm việc tối đa 30MHz. + Có 1 giao tiếp nối tiếp UART + Có hệ thống đƣờng bus dữ liệu và địa chỉ chuẩn Intel cho phep truy cập bộ nhớ ngoài. + Nguồn cấp 5VDC
14
Hình 1.1 Sơ đồ mạch khối MCU sử dụng AT89S52.
- J6: Cổng nạp chƣơng trình cho MCU. Khi muốn nạp chƣơng trình từ trên máy tính xuống ta phải kết nối cổng USB với mạch nạp và đồng thời kết nối đầu ra của mạch nạp tới cổng nạp J6. - SW0: Nút nhấn dùng để Reset MCU. Khi MCU đang chạy chƣơng trình nếu ta muốn MCU chạy lại chƣơng từ đầu thì ta nhấn vào phím SW0. Lúc này chân RST của MCU sẽ thay đổi mức tín hiệu từ 0 lên 1 (0 V lên 5 V- Sƣờn dƣơng). Trong quá trình 15
thay đổi mức giá trị điện áp MCU sẽ thực hiện quá trình Reset và cho chƣơng trình chạy lại từ đầu. - Y1: Thạch anh dùng để tạo tần số xung CLOCK cho MCU hoạt động. Giá trị của xung CLOCK = 11,0592 MHz. Với giá trị xung CLOCK này sẽ làm quá trình tính giá trị đƣa vào các bộ Timer để tạo tần số và định thời đƣợc dễ dàng. - PORT0: Khe cắm dùng để kết nối ngoại vi với PORT điều khiển số 0 của MCU. Khi kết nối ta sẽ dùng cáp để cắm vào khe cắm PORT0 với khe cắm của ngoại vi tƣơng ứng. Do PORT0 của MCU bên trong không có trở kéo lên nguồn VCC = 5V lên trong quá trình thiết kế mạch ta phải thiết kế thêm điện trở băng RN1 để nối các chân điều khiển này lên nguồn VCC. - PORT1: Khe cắm dùng để kết nối ngoại vi với PORT điều khiển số 1 của MCU. Khi kết nối ta sẽ dùng cáp để cắm vào khe cắm PORT1 với khe cắm của ngoại vi tƣơng ứng. - PORT2: Khe cắm dùng để kết nối ngoại vi với PORT điều khiển số 2 của MCU. Khi kết nối ta sẽ dùng cáp để cắm vào khe cắm PORT2 với khe cắm của ngoại vi tƣơng ứng. - PORT3: Khe cắm dùng để kết nối ngoại vi với PORT điều khiển số 3 của MCU. Khi kết nối ta sẽ dùng cáp để cắm vào khe cắm PORT3 với khe cắm của ngoại vi tƣơng ứng. Các thanh ghi điều khiển vào ra: - Trong vi điều khiển AT89S52 không có thanh ghi điều khiển hƣớng dữ liệu mà chỉ có các thanh ghi điều khiển dữ liệu vào ra là Px (với x là tên các thanh của các Port tương ứng: 0, 1, 2, 3). Để điều khiển dữ liệu vào ra trên các PORT điều khiển ta chỉ gán dữ liệu vào các thanh ghi điều khiển tƣơng ứng. VD: Điều khiển các chân PORT0 là đầu ra ở mức logic 1. P0 = 0xFF; Điều khiển các chân PORT1 là đẩu ra ở mức logic 0. P1 = 0x00; Điều khiển chân P2.1 là đầu ra ở mức logic 1. P2^1 = 1; Điều khiển chân P3.7 là đầu ra ở mức logic 0: P3^7 = 0;
16
Đọc dữ liệu từ PORT0. unsigned char du_lieu; du_lieu = P0; Đọc dữ liệu từ chân P1.0 unsigned char du_lieu; du_lieu = P1^0; P0: Thanh ghi điều khiển dữ liệu vào ra của PORT0 P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
Bit 7
P0.0 Bit 0
P1: Thanh ghi điều khiển dữ liệu vào ra của PORT1 P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
Bit 7
P1.0 Bit 0
P2: Thanh ghi điều khiển dữ liệu vào ra của PORT2 P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
Bit 7
P2.0 Bit 0
P3: Thanh ghi điều khiển dữ liệu vào ra của PORT3 P3.7 Bit 7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0 Bit 0
17
BÀI 2 Tên bài: ĐIỀU KHIỂN LED ĐƠN
Mã bài: AT89-02
Giới thiệu: - LED đƣợc dùng rất phổ biến và rộng dãi trong tất cả các thiết bị nhƣ: Đèn báo nguồn, đèn nhấp nháy vv…Trong bài tập này led đơn có thể dùng để hiển thị các mã nhị phân 8 bit hoặc dùng để đƣa ra cảnh báo, báo hiệu tùy thuộc vào ứng dụng của ngƣời lập trình.
Mục tiêu thực hiện: - Sinh viên biết lập trình điều khiển các PORT của MCU theo bit và theo byte - Biết viết các chƣơng trình con tạo trễ - Biết sử dụng các lệnh gán, lệnh khai báo biến, khai báo địa chỉ, các câu lệnh dịch bit, đảo bit. - Biết sử dụng các toán tử vòng lặp vô tận, vòng lặp có điều kiện.
Nội dung chính: 1. Sơ đồ mạch và lý thuyết điều khiển led đơn. Các linh kiện dùng trong sơ đồ mạch.
Hình 2.1 Sơ đồ nguyên lý mạch led đơn
18
- LD0 – LD7: Các LED đơn đƣợc thiết kế ở chế độ A chung còn chân K dùng để điều khiển. Khi ta lập trình tín hiệu điều khiển LED tích cực ở mức 0. Ta chỉ cần xuất tín hiệu điều khiển mức 0 vào vị trí LED tƣơng ứng thì LED sẽ sáng và ngƣợc lại nếu ta xuất tín hiệu mức 1 thì LED sẽ tắt. - LED đơn trong thiết kế này có thể dùng để hiển thị các mã nhị phân 8 bit hoặc dùng để đƣa ra cảnh báo, báo hiệu tùy thuộc vào ứng dụng của ngƣời lập trình. - J22: Khe cắm dùng để nối toàn bộ ngoại vi LED đơn với MCU. Khi kết nối ngoại vi này với MCU ta chỉ cần dùng cáp 8 sợi để cắm vào khe cắm J22 và một trong các PORT điều khiển của MCU. Chú ý: Khi kết nối phải nhớ chiều của cáp kết nối sao cho các chân của PORT điều khiển từ chân số Px.0 đến chân Px.7 phải nối tƣơng ứng với các LED từ LD0 đến LD7. (x là tên của PORT tương ứng với 0, 1, 2, 3). Mục đích kết nối này để thuận tiện cho việc lập trình. Bảng 2.1 Bảng mã điều khiển led đơn
TRẠNG THÁI ĐIỀU KHIỂN 8 BIT STT
SÁNG = 0 : TẮT = 1
LED
MÃ ĐIỀU KHIỂN
BIT7
6
5
4
3
2
1
BIT0
HEXA
NHỊ PHÂN
1
LD0
1
1
1
1
1
1
1
0
0xFE
0b11111110
2
LD1
1
1
1
1
1
1
0
1
0xFD
0b11111101
3
LD2
1
1
1
1
1
0
1
1
0xFB
0b11111011
4
LD3
1
1
1
1
0
1
1
1
0xF7
0b11110111
5
LD4
1
1
1
0
1
1
1
1
0xEF
0b11101111
6
LD5
1
1
0
1
1
1
1
1
0xDF
0b11011111
7
LD6
1
0
1
1
1
1
1
1
0xBF
0b10111111
8
LD7
0
1
1
1
1
1
1
1
0x7F
0b01111111
19
2. Bài tập thực hành: Lập trình điều khiển led đơn với cổng vào ra của AT89S52. Dụng cụ chuẩn bị: + Đồng hồ số + Kit thực hành vi điều khiển 8051 + Ocillocope + Mạch nạp AT89S52 + Các loại cáp kết nối 8 sợi, 4 sợi và 2 sợi. Đề bài: Học sinh tự thiết kế và lập trình theo các yêu cầu sau: Yêu cầu: - Thiết kế lƣu đồ thuật toán của chƣơng trình điều khiển led đơn theo các trƣờng hợp sau: + Sáng lan từ phải qua trái. + Sáng lan từ trái qua phải. + Sáng lan tắt dần từ trái qua phải + Sáng lan tắt dần từ phải qua trái. + Sáng lan từ hai bên vào giữa + Sáng lan từ giữa ra hai bên. - Sử dụng cáp 8 sợi kết nối lần lƣợt các PORT điều khiển P0, P1, P2, P3 đến ngoại vi LED đơn. Phần trả lời: ( Học sinh vẽ lƣu đồ thuật toán và lập trình trên máy tính )
Hình 2.2 Lưu đồ thuật toán lập trình điều khiển Led đơn.
20
Chƣơng trình : - Học sinh tự viết chƣơng trình trên máy tính và chạy thử trên Kit thực hành. Nhận xét: - Nhận xét của giáo viên hƣớng dẫn về bài thực hành của học sinh ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… ………………………………………………………………………………… Chƣơng trình tham khảo Đề bài 1: Viết chƣơng trình điều khiển 8 led đơn sáng lan lần lƣợt chạy từ trái qua phải. PORT điều khiển là P0. - Chƣơng trình: #include #include #include unsigned char du_lieu; void delay_us (unsigned int time) { unsigned int i; for (i=0;i
View more...
Comments