sách tham khảo lập trình Keil AT89C51

65 775 11
sách tham khảo lập trình Keil AT89C51

Đ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

Mục lục Trang Mục lục Lời nói đầu phần I : hớng dẫn cài đặt, sử dụng phần mềm keil c proload v4.2 Hớng dẫn cài đặt Keil C Tạo project Keil C Cài đặt sử dụng AT89 USB Programmer .8 phần I I : Các thực hành 11 Bài thực hành số 1: Nháy led 11 Bài thực hành số 2: Điều khiển vào .14 Bài thực hành số 3: Điều khiển động DC 17 Bài thực hành số 4: Điều khiển động bớc 21 Bài thực hành số 5: Hiển thị Led 26 Bài thực hành số 6: Giải mã bàn phím .30 Bài thực hành số 7: Hiển thị LCD 34 Bài thực hành số 8: Lập trình điều khiển mô đun ADC-DAC 39 Bài thực hành số 9: Lập trình đo nhiệt độ phòng LM35 43 Bài thực hành số 10: Lập trình với ngắt định thời .48 Bài thực hành số 11: Lập trình với ngắt 52 Bài thực hành số 12: Lập trình hiển thị matrix 8x8 58 VĐK AT89C51 với phần mềm Keil C Phần I Hớng dẫn cài đặt, sử dụng phần mền keil C ProLoad V4.2 Hớng dẫn cài đặt Keil C Sử dụng Keil.Professional.for.C51.v8.08a Mở Forder cài đặt Keil.Professional.for.C51.v8.08a, nháy đúp vào file c51v808a.exe Nhấn next để tiếp tục Nhấn next để tiếp tục Chọn nguồn ổ C Nhấn next để tiếp tục VĐK AT89C51 với phần mềm Keil C Khai báo vài thông số, nhấn next để tiếp tục Chờ cho window cài đặt xong nhấn Finish để kết thúc trình cài đặt Sau cài đặt xong copy file Keygen.exe vào C:/Program files/Keil Tạo Project Keil C Có nhiều cách để tạo Project Keil, dùng àvision Project hay đơn giản tạo file thêm vào khai báo ban đầu Dới trình bày cách tạo Project cách dùng àvision Project Ta cần ý tạo Project ta nên tạo th mục có tên liên quan đến dự án định làm, lu tất file liên quan vao th mục Khi biên dịch, VĐK AT89C51 với phần mềm Keil C Keil C tạo nhiều file liên quan khác file tự động lu th mục chung Đây quy tắc chung làm việc cho tất phần mềm lập trình 2.1 Tạo Project sử dụng vision Project Khởi động chơng trình làm việc Keil C Từ giao diện chơng trình chọn Project Newàvision Project Hình 2.1.1 Sau chọn cửa sổ yêu cầu nhập tên file cần tạo, Tạo th mục lu file vào th mục Hình 2.1.2 Sau Save cửa sổ Select device Hình 2.1.2 Trong cửa sổ bao gồm nhiều chíp hãng khác nhau, ta dùng chip hãng cọn hãng ta chọn Amelt chíp sử dụng 89C81 Hình 2.1.3 Hình 2.1.1 Hình 2.1.2 VĐK AT89C51 với phần mềm Keil C Hình 2.1.3 Nhấn OK để hoàn tất Trở lại với giao diện Keil C công cụ chọn file/new lu file dới dạng text1.c vào th mục test vừa tạo Trê cửa sổ Project Workspace nhấn phải chuột vào Source chọn Add File to Hình 2.1.4 Một cửa sổ khác ra, chọn text1.c nhấn Add Hình 2.1.5 VĐK AT89C51 với phần mềm Keil C Bây quay trở lại với giao diện Keil C mở file text1.c bắt đầu viết chơng trình Click vào để dịch chơng trình file hex Hình 2.1.5 Để chạy mô chơng trình ta click chuột vào debug Hình 2.1.6 Click vào để chạy mô Nhấn phím F10 để chạy dòng lệnh mà không chạy chơng trình Nhấn phím F11 để chạy dòng lệnh kể câu lệnh chơng trình VĐK AT89C51 với phần mềm Keil C Cài đặt sử dụng AT89 USB Programmer AT89 USB Programmer dùng để nạp chơng trình sau dịch file hex xuống 89CXX, sử dụng kết nối USB 2.0 Proload 4.2 AT89 USB Programmer nạp cho hầu hết chíp họ 89 loại 20 40 chân 3.1 Cài đặt Kết nối mạch nạp với máy tính thông qua cổng USB máy có thông báo sau: Nhấn Next Tìm đờng dẫn file cài đặt đĩa CD Nhấn Next VĐK AT89C51 với phần mềm Keil C Chờ cho Window tìm kiếm cài đặt Chọn Finish để kết thúc cài đặt Để kiểm tra lại trình cài đặt ta làm nh sau: Quay trở Desktop nhấn phải chuột vào biểu tợng My Computer chọn Magane, chọn Device Magane VĐK AT89C51 với phần mềm Keil C 3.2 Sử dụng Dùng Proload 4.2 để làm việc với AT 89Programmer VĐK AT89C51 với phần mềm Keil C Phần II Các thực hành Bài thực hành số Nháy Led I Mục đích Học xong học sinh cần nắm đợc nội dung sau: - Hiểu đợc cách tạo Project Keil C - Hiểu đợc cách khai báo biến, hiểu cấu trúc hoạt động vòng for - Hiểu đợc cách xuất liệu chân VĐK Keil C - Biên dịch, nạp chạy thử chơng trình đơn giản điều khiển LED sáng/tắt II Tóm tắt lí thuyết - Nháy Led thực hành đơn giản dễ thực thờng lựa chọn cho tất làm quen với lập trình vi điều khiển - Các bớc chơng trình nháy Led nh sau: B1: Chuyển chân P0_0 lên mức B2: Gọi hàm delay B3: Chuyển chân P0_0 xuống mức B3: Gọi hàm delay Lặp lại trình Sơ đồ kết nối: Kết nối modul led đơn với Main qua P0 Sơ đồ nguyên lý nh sau: 10 VĐK AT89C51 với phần mềm Keil C Bài thực hành số 11 Lập trình với ngắt Bài tập ứng dụng: Viết chơng trình cho đếm sử dụng ngắt làm đầu vào đếm, ngắt làm đầu vào reset Hiển thị Led I Mục đích - Hiểu đợc ý nghĩa chế làm việc ngắt INT0 INT1 8051 - Xây dựng đợc chơng trình ứng dụng sử dụng ngắt II Tóm tắt lí thuyết Bộ vi điều khiển 8051 có ngắt phần cứng bên chân INT0 INT1 Hai ngắt đợc bố trí chân P3.2 P3.3 địa bảng vector ngắt 0003H 0013H Các ngắt đợc phép bị cấm ghi IE.Khi kích hoạt chân 8051 ngừng công việc thực nhảy đến bảng vector ngắt để chạy chơng trình phục vụ ngắt Hình 10.1 Kích hoạt INT0 INT1 Có hai cách kích hoạt ngắt phần cứng ngoài, theo mức theo sờn a Ngắt kích phát mức: chế độ ngắt theo mức, chân INT0 INT1 bình thờng mức cao, giống nh tất chân cổng I/O Nếu có tín hiệu mức thấp cấp tới tín hiệu kích hoạt ngắt Khi đó, vi điều khiển dừng tất công việc thực nhảy đến bảng vector ngắt để phục vụ ngắt Ngắt kích hoạt theo phơng pháp đợc gọi kích phát mức hay kích hoạt mức, chế độ mặc định Reset 8051 Trớc thực lệnh cuối trình phục vụ ngắt RETI, mức thấp chân INT phải chuyển sang cao, không tạo ngắt khác Nói cách khác, trì mức thấp ISR kết thúc 8051 hiểu có ngắt nhảy đến bảng vector ngắt để thực ISR 51 VĐK AT89C51 với phần mềm Keil C b Ngắt kích phát sờn: Để đổi ngắt thành kích phát sờn cần phải viết chơng trình cho bit ghi TCON Thanh ghi TCON có bit cờ IT0 IT1 xác định chế độ kích phát sờn hay mức ngắt phần cứng IT0 IT1 bit D0 D2 tơng ứng ghi TCON Khi Reset IT0 IT1 mức thấp, nghĩa ngắt phần cứng chân INT0 INT1 ngắt theo mức thấp Nếu chuyển ngắt IT0 IT1 lên cao nhờ lệnh SETB IT.0 SETB IT1 ngắt phần cứng INT0 INT1 trở thành ngắt theo sờn Ví dụ, lệnh SETB IT1 làm cho INT1 trở thành ngắt kích phát sờn Khi đó, có tín hiệu chuyển từ cao xuống thấp cấp cho chân P3.3 vi điều khiển bị ngắt buộc nhảy đến bảng vector ngắt địa 0013H để thực trình phục vụ ngắt Quá trình với giả thiết bit ngắt đợc cho phép ghi IE c ý nghĩa bít ghi TCON: D7 TF1 TR1 TF1 TCON.7 TR1 TCON.6 TF0 TR0 IE1 TCON.5 TCON.4 TCON.3 IT1 TCON.2 IE0 TCON.1 TF0 TR0 IE1 IT1 IE0 D0 IT0 Cờ tràn Timer 1, đợc thiết lập phần cứng đếm / định thời tràn, đợc xoá phần cứng xử lý nhảy đến trình phục vụ ngắt Bit điều khiển hoạt động Timer 1, đợc thiết lập xoá phần mềm để bật/ tắt đếm/ định thời Tơng tự nh TF1 nhng cho Timer Tơng tự nh TR1 nhng cho Timer Cờ ngắt kích phát sờn, đợc CPU thiết lập phát có sờn xuống ngắt đợc CPU xoá ngắt đợc xử lý Lu ý: cờ không chốt ngắt kích phát mức thấp Bộ điều khiển kiểu ngắt (Interrupt Type Control Bit) đợc thiết lập xóa phần mềm xác định kiểu ngắt kích phát sờn xuống hay mức thấp Tơng tự nh IE1 nhng ngắt d Mức u tiên ngắt 8051: Khi 8051 đợc cấp nguồn mức u tiên ngắt đợc gán theo sơ đồ hình 10.2 Từ sơ đồ ta thấy, ngắt phần cứng INT0 INT1 đợc kích hoạt lúc ngắt INT0 đợc đáp ứng trớc Chỉ sau ngắt INT0 đợc phục vụ xong INT1 đợc phục vụ, INT1 có mức u tiên thấp Chúng ta thay đổi trình tự u tiên cách gán mức u tiên cao cho ngắt Điều đợc thực cách lập trình ghi gọi 52 VĐK AT89C51 với phần mềm Keil C ghi mức u tiên ngắt IP (Interrupt Priority) Khi Reset, ghi IP chứa hoàn toàn số để tạo trình tự u tiên ngắt mặc định Để ngắt có mức u tiên cao hơn, thực đa bit tơng ứng lên cao Tuy nhiên, có nhiều bit ngắt ghi IP đợc đặt lên cao chúng đợc phục vụ theo trình tự nh sơ đồ hình 10.2 Hình 10.2 Hệ thống ngắt AT89C51 Ghi chú: IE Register: Thanh ghi cho phép ngắt IP Register: Thanh ghi u tiên ngắt Hight priority interrupt: u tiên ngắt mức cao Low priority interrupt: u tiên ngắt mức thấp Interrupt polling sequence: Chuỗi vòng ngắt Interrupt enable: Cho phép ngắt Global enable: Cho phép ngắt toàn cục III Các bớc tiến hành Khởi động phần mềm lập trình Keil C - Tạo file ngatngoai.c th mục ngatngoai Soạn thảo chơng trình nguồn - Soạn thảo chơng trình theo nội dung sau: #include #define L0 P2_5 #define L1 P2_4 #define L2 P2_3 53 VĐK AT89C51 với phần mềm Keil C #define L3 P2_2 #define L4 P2_1 #define L5 P2_0 int a[]={0x12,0x7e,0x0b,0x4a,0x66,0xc2,0x82,0x7a,0x02,0x42}; int tang,temp,trieu,tnghin,nghin,tram,chuc,donvi,i,j=0; void delay_us(x){ nt time3,time4; for(time3=0;time3

Ngày đăng: 10/04/2017, 19:48

Mục lục

    Bài thực hành số 2

    điều khiển vào ra

    void delay_ms(x){

    for(i=0;i<x;i++)

    for(j=0;j<100;j++){}

    Bài thực hành số 3

    điều khiển động cơ một chiều

    Bài thực hành số 4

    Điều khiển động cơ bước

    Bài thực hành số 5

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

Tài liệu liên quan