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

Thực tập vi điều khiển

36 446 2

Đ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 36
Dung lượng 1,58 MB

Nội dung

PHẦN I : GIỚI THIỆU PHẦN MỀM KEIL C ................................................. 1 1.1. Màn hình làm việc của Keil C............................................................... 1 1.2. Các bước tạo dự án mới ........................................................................ 2 1.3. Debug chương trình............................................................................... 5 PHẦN II : GIỚI THIỆU THIẾT BỊ ................................................................. 12 2.1. Sơ đồ nguyên lý kit thí nghiệm ........................................................... 12 2.2. Các khối chức năng trên kit thí nghiệm .............................................. 13 2.2.1. Khối nguồn .......................................................................................... 13 2.2.2. Khối nạp chương trình ........................................................................ 13 2.2.3. Khối MCU ........................................................................................... 14 2.2.4. Khối led đơn ........................................................................................ 15 2.2.5. Khối led 7 đoạn ................................................................................... 15 2.2.6. Khối hiển thị LCD ............................................................................... 17 2.2.7. Khối nút nhấn ...................................................................................... 17 2.2.8. Khối Stand_by LEDInterrupt input.................................................... 18 2.2.9. Khối thu hồng ngoại ............................................................................ 18 2.2.10. Khối Buzzer......................................................................................... 18 2.2.11. Khối Opto Triac .................................................................................. 19 2.2.12. Khối giao tiếp UART ......................................................................... 19 PHẦN III : THỰC HÀNH ................................................................................. 20 3.1. Điều khiển khối LED đơn ................................................................... 20 3.2. Điều khiển khối Buzzer ....................................................................... 22 3.3. Giao tiếp với nút nhấn đơn .................................................................. 23 3.4. Điều khiển khối hiển thị LED 7 đoạn ................................................. 25 3.5. Điều khiển khối hiển thị LCD ............................................................. 28 3.6. Truy xuất IC real time DS12887 ......................................................... 30 PHẦN IV : BÀI TẬP MỞ RỘNG ..................................................................... 34

TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA ĐIỆN – ĐIỆN TỬ TÀI LIỆU MÔN HỌC THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN BIÊN HÒA, THÁNG 11/2011 MỤC LỤC PHẦN I : GIỚI THIỆU PHẦN MỀM KEIL C 1.1 Màn hình làm việc Keil C 1.2 Các bước tạo dự án 1.3 Debug chương trình PHẦN II : GIỚI THIỆU THIẾT BỊ 12 2.1 Sơ đồ nguyên lý kit thí nghiệm 12 2.2 Các khối chức kit thí nghiệm 13 2.2.1 Khối nguồn 13 2.2.2 Khối nạp chương trình 13 2.2.3 Khối MCU 14 2.2.4 Khối led đơn 15 2.2.5 Khối led đoạn 15 2.2.6 Khối hiển thị LCD 17 2.2.7 Khối nút nhấn 17 2.2.8 Khối Stand_by LED/Interrupt input 18 2.2.9 Khối thu hồng ngoại 18 2.2.10 Khối Buzzer 18 2.2.11 Khối Opto Triac 19 2.2.12 Khối giao tiếp UART 19 PHẦN III : THỰC HÀNH 20 3.1 Điều khiển khối LED đơn 20 3.2 Điều khiển khối Buzzer 22 3.3 Giao tiếp với nút nhấn đơn 23 3.4 Điều khiển khối hiển thị LED đoạn 25 3.5 Điều khiển khối hiển thị LCD 28 3.6 Truy xuất IC real time DS12887 30 PHẦN IV : BÀI TẬP MỞ RỘNG 34 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN PHẦN I GIỚI THIỆU PHẦN MỀM KEIL C Hiện có nhiều trình biên dịch ngôn ngữ C cho 8051 Mikro C, IAR, SDCC, Reads 51 … µVision môi trường phát triển tích hợp (IDE: Integrated Development Environment) (trình soạn thảo ngôn ngữ C, trình biên dịch debug) công ty Keil Software, thường gọi Keil C Keil C môi trường phát triển mạnh sử dụng rộng rãi Nó hỗ trợ ta viết chương trình cho chip vi điều khiển lõi 8051 ARM tất hãng giới 1.1 Màn hình làm việc Keil C Màn hình làm việc Keil C bao gồm công cụ phía vùng hình 1.1 Hình 1.1 Màn hình làm việc Keil C Vùng 1: Là vị trí cửa sổ Project, cho phép ta quản lý tập tin dự án, cửa sổ Function, cho phép ta quản lý chương trình Trang THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN Vùng 2: Vùng soạn thảo Đây nơi ta soạn thảo chương trình Vùng 3: Cửa sổ Build Output Hiển thị thông tin trình biên dịch chương trình 1.2 Các bước tạo dự án Bước 1: Để thuận tiện việc quản lý dự án, ta nên tạo thư mục riêng cho dự án, với tên thư mục tên dự án kèm theo ngày lập dự án Kèm theo đó, ta nên thêm file text, có nội dung ghi lại thay đổi dự án, vào thư mục dự án Bước 2: Vào menu Project\New uVision Project để tạo project Nhập đường dẫn tên project vào hộp thoại Nhấn OK Bước 3: Chọn loại vi điều khiển cần sử dụng hộp thoại Select device … (Hình 1.2) Nhấn OK Sau đó, chọn Yes hộp thoại “Copy Standard 8051 …” xuất Bước 4: Tạo file : File\New lưu lại với định dạng *.c *.h Bước 5: Add file vừa tạo vào project: • Right click vào mục Source Group chọn Add file to Group ‘Source Group 1’ … (hình 1.3) • Chọn file vừa tạo Nhấn Add nhấn Close Lúc này, cửa sổ Project, phía trái hình, xuất thêm tập tin mà ta vừa add Bước 6: Thiết lập cho Keil C xuất file hex, ta mở hộp thoại Option for Group (Hình 1.4) Click chọn vào checkbox Create HEX file tab Output (Hình 1.5) Nhấn OK Đến đây, ta hoàn tất bước thiết lập cho dự án Các bước cần thực lần tạo dự án Trang THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN Hình 1.2 Hộp thoại Select Device Hình 1.3 Menu Add Files to Group Trang THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN (a) Mở menu Project (b) Bấm chuột phải vào Target (c) Bấm nút Target Options công cụ Hình 1.4 Các cách mở hộp thoại Options for Target Hình 1.5 Hộp thoại Options for Target Trang THÍ NGHIỆM VI ĐIỀU KHIỂN 1.3 BIÊN SOẠN: ĐỖ BÌNH NGUYÊN Debug chương trình Sau soạn thảo chương trình xong, ta biên dịch chương trình cách vào menu Project\Build target nhấn nút Build công cụ (hình 1.6) ta nhấn phím F7 Hình 1.6 Thanh công cụ Build Sau chương trình tiến hành biên dịch chương trình, lỗi xảy ra, ta nhận thông báo Error(s), Warning(s) cửa sổ Buid Output sau trình biên dịch hoàn tất (hình 1.7) Hình 1.7 Thông báo trình biên dịch hoàn tất Trong trình phát triển chương trình, có hai loại lỗi xảy ra: • Lỗi cú pháp (Syntax error): Lỗi sai sót cấu trúc câu lệnh thiếu tham số, sai từ khóa … Các lỗi trình biên dịch tự động phát trình biên dịch • Lỗi luận lý (Lỗi Logic): Lỗi sai sót giải thuật chương trình, làm cho chương trình chạy không ý đồ ban đầu lập trình viên Lỗi lập trình viên phát sửa chữa Các IDE trực tiếp phát lỗi logic, cung cấp cho người dùng công cụ hỗ trợ cho trình phát sửa chữa loại lỗi Keil C việc hỗ trợ ta soạn thảo biên dịch chương trình, hỗ trợ ta công cụ gỡ rối (Debug) chương trình hiệu Trang THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN Để chạy debug chương trình sau biên dịch thành công, ta nhấn kích hoạt chức debug cách sau: • Nhấn nút Debug công cụ (Hình 1.8) • Nhấn tổ hợp phím Ctrl + F5 • Mở menu Debug-Start/Stop Debug Session Hình 1.8 Nút Debug Muốn tắt chức Debug, ta làm lại thao tác lần Sau kích hoạt chức Debug, cửa sổ Keil C có dạng hình 1.9 Nếu có cửa sổ không xuất hiện, ta vào menu View để bật cửa sổ lên Hình 1.9 Cửa sổ Keil C sau kích hoạt chức Debug Trong cửa sổ này, có vùng chính: • 1: Cửa sổ thể ghi vi điều khiển • 2: Cửa sổ lệnh soạn thảo, chứa chương trình debug Trang THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN • 3: Cho phép ta theo dõi giá trị biến cách nhập tên biến • 4: Cửa sổ Watches cho phép ta theo dõi giá trị tất biến chứa chương trình Muốn biết giá trị biến nào, ta chọn cửa sổ nhấn phím F2, sau nhập tên biến cần theo dõi Lúc này, sổ hiển thị tên biến giá trị biến Ngoài ra, ta kích hoạt thêm số cửa sổ như: • Cửa sổ Disassembly (Hình 1.10) : Cho ta biết xác lệnh Keil C viết hợp ngữ Kích hoạt cửa sổ cách vào menu View/Disassembly • Cửa sổ Memory (Hình 1.11): Kích hoạt menu View/Memory Cho phép xem nội dung nhớ chương trình nhớ liệu: § Muốn xem nhớ chương trình địa đó, ta nhập C: Địa vào ô Address § Muốn xem nhớ RAM địa đó, ta nhập D: Địa vào ô Address • Cửa sổ Registers: Cho phép ta quan sát giá trị ghi vi điều khiển ghi R0-R7, PSW, DPTR … Hình 1.10 Cửa sổ Disassembly Trang THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN Hình 1.11 Cửa sổ Memory Ta biết đoạn chương trình thực thời gian cách quan sát mục sec cửa sổ Registers status bar (Hình 1.12) Tuy nhiên, để có thời gian tương ứng chương trình debug mạch thực tế, ta phải thực số bước hiệu chỉnh sau: • Mở hộp thoại Options for Target (Hình 1.4) • Chọn thẻ Target • Nhập tần số thạch anh mà ta muốn sử dụng mạch thực tế vào ô Xtal (MHz) (Hình 1.13) Hình 1.12 Thời gian chạy chương trình Trang THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN PHẦN III THỰC HÀNH 3.1 ĐIỀU KHIỂN KHỐI LED ĐƠN 3.1.1 Mục đích, yêu cầu: Giúp cho sinh viên làm quen với việc điều khiển LED đơn tắt, mở, dịch LED sang trái, dịch LED sang phải, sáng dồn, nhấp nháy Sinh viên phải biết sử dụng Timer để tạo Delay biết cách sử dụng toán tử liên quan toán tử thao tác bit, toán tử logic … 3.1.2 Chương trình tham khảo #include // khai bao prototype void delay (unsigned int time); void nhap_nhay (void); void dem_nhi_phan (void); void dich_trai (void); //chuong trinh chinh void main (void) { while (1) { nhap_nhay(); delay(500); dem_nhi_phan(); delay(500); dich_trai(); delay(500); } } //cac chuong trinh void nhap_nhay (void) { unsigned char i; for (i = 0; i < 10; i ++) { Trang 20 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN P1 = 0; delay (500); P1 = 0xff; delay (500); } } void dem_nhi_phan (void) { unsigned char i; for (i = 0; i < 255; i ++) { P1 = ~i; delay (300); } } void dich_trai (void) { unsigned char i, j; for (j = 0; j < 5; j ++) { for (i = 0x01; i > 0; i [...]... 18 Hình 2.4 Sơ đố khối MCU Khối này bao gồm vi điều khiển AT89S52 và các khối phụ trợ, giúp cho vi điều khiển hoạt động được: • Khối Auto Reset bao gồm R28, C3: giúp tự động reset vi điều khiển khi vừa bật nguồn • Khối Manual Reset bao gồm SW1, R27: cho phép reset vi điều khiển bằng tay Khối này không bắt buộc phải có mặt nếu không có nhu cầu reset vi điều khiển bằng tay • Khối dao động bao gồm: Y1,... tay • Khối dao động bao gồm: Y1, C4, C5: Kết hợp với các khối khác ở bên trong vi điều khiển tạo ra xung nhịp cho vi điều khiển hoạt động Trang 14 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN • Điện trở kéo lên R18: Do các chân trên port 0 của vi điều khiển là các chân có cực thu để hở nên khi muốn giao tiếp vi điều khiển với các IC số khác, ta cần có một điện trở kéo lên để xác lập mức điện áp... dinh thoi } } Trang 21 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN 3.1.3 Bài tập mở rộng 1 Vi t chương trình dịch một led qua phải 2 Vi t chương trình 8 led sáng dồn 3 Sử dụng ngắt timer để vi t chương trình điều khiển sao cho 8 LED đơn mỗi LED chớp với một tần số khác nhau 3.2 ĐIỀU KHIỂN KHỐI BUZZER 3.2.1 Mục đích, yêu cầu Giúp sinh vi n làm quen với vi c điều khiển Buzzer để tạo ra chuỗi âm... bị ngoại vi hoặc với các MCU khác thông qua port nối tiếp (TxD, RxD) hoặc kết nối thêm mạch ngoài để giao tiếp theo chuẩn RS232 Trang 19 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN PHẦN III THỰC HÀNH 3.1 ĐIỀU KHIỂN KHỐI LED ĐƠN 3.1.1 Mục đích, yêu cầu: Giúp cho sinh vi n làm quen với vi c điều khiển LED đơn như tắt, mở, dịch LED sang trái, dịch LED sang phải, sáng dồn, nhấp nháy Sinh vi n phải... UP và DOWN vẫn có tác dụng 3.5 ĐIỀU KHIỂN KHỐI HIỂN THỊ LCD 3.5.1 Mục đích, yêu cầu Giúp sinh vi n làm quen với vi c điều khiển hiển thị dữ liệu trên màn hình LCD trong các ứng dụng như đếm sản phẩm, đồng hồ báo giờ, hiển thị chuỗi thong báo… Sinh vi n phải nắm được cấu tạo và cách thức điều khiển hiển thị trên màn hình LCD 3.5.2 Chương trình tham khảo Chương trình điều khiển hiển thị hai dòng Text ra... thoi } } 3.3.3 Bài tập mở rộng Vi t chương trình điều khiển sao cho nếu nút Up nhấn 8 LED đơn sẽ dịch từ trái sang phải, nút Down nhấn dịch từ phải sang trái, nút Mode nhấn thì nhấp nháy cả 8 LED, mỗi kiểu sáng lập lại 5 lần Sau đó chương trình trở lại kiểm tra 3 nút như ban đầu 3.4 ĐIỀU KHIỂN KHỐI HIỂN THỊ LED 7 ĐOẠN 3.4.1 Mục đích, yêu cầu Giúp sinh vi n làm quen với vi c điều khiển hiển thị dữ liệu... 0; delay (1); BUZZER = 1; delay (1); Trang 22 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN } } void delay(unsigned int time) { while(time ) { TMOD = 0x01; TH0 = 0xFF; TL0 = 0xBA; TR0 = 1; while(!TF0); TF0 = 0 ; TR0 = 0; } } 3.2.3 Bài tập mở rộng 1 Vi t chương trình điều khiển Buzzer phát âm thanh cho đồng hồ báo 2 Vi t chương trình điều khiển Buzzer giả lập âm thanh của còi xe cứu hỏa thức 3.3... hour = 3; min = 9; reg_B = 0x06; // SET bit = 0 } 3.6.3 Bài tập mở rộng Vi t chương trình đồng hồ hiển thị giờ bằng màn hình LCD, cho phép người sử dụng chỉnh thời gian bằng ba nút MODE, UP, DOWN Vi t chương trình đồng hồ báo thức Trang 33 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN PHẦN IV BÀI TẬP MỞ RỘNG Bài 1: Vi t chương trình điều khiển đèn giao thông sử dụng khối LED đơn và khối LED 7 đoạn... gồm bốn led 7 đoạn được thiết kế theo phương pháp đa hợp (phương pháp điều khiển quét led) Tất cả các đoạn (kathod) của các LED được nối chung vào nhau vào một port điều khiển còn anode của tất các led được nối vào một port điều khiển khác và được cấp tín hiệu quét led một các tuần tự (tại một thời điểm Trang 15 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN chỉ có một led được cấp nguồn) Lưu đồ... buzzer được điều khiển thông qua transistor A1013 và được kết nối vào chân P3.4 Trang 18 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN 2.2.11.Khối Opto Triac AC LAMP/P3.5 VCC_5V 3 2 1 6 J14 C6 104 U12 R32 4K7 R33 330 1 D12 R31 330 2 MOC3020 LED 4 A1-G-A2 Hình 2.13 Sơ đồ khối Opto Triac Khối Opto Triac dùng để điều khiển thiết bị 220V AC bên ngoài thông qua mạch mở rộng, chân điều khiển được kết ... reset vi điều khiển tay Khối không bắt buộc phải có mặt nhu cầu reset vi điều khiển tay • Khối dao động bao gồm: Y1, C4, C5: Kết hợp với khối khác bên vi điều khiển tạo xung nhịp cho vi điều khiển. .. Sơ đố khối MCU Khối bao gồm vi điều khiển AT89S52 khối phụ trợ, giúp cho vi điều khiển hoạt động được: • Khối Auto Reset bao gồm R28, C3: giúp tự động reset vi điều khiển vừa bật nguồn • Khối... động Trang 14 THÍ NGHIỆM VI ĐIỀU KHIỂN BIÊN SOẠN: ĐỖ BÌNH NGUYÊN • Điện trở kéo lên R18: Do chân port vi điều khiển chân có cực thu để hở nên muốn giao tiếp vi điều khiển với IC số khác, ta cần

Ngày đăng: 01/12/2015, 11:46

TỪ KHÓA LIÊN QUAN

w