Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
366,5 KB
Nội dung
Bài thảo luận Vi xử lí – Vi điều khiển TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP KHOA: ĐIỆN TỬ-BỘ MÔN: TIN HỌC CÔNG NGHIỆP - - BÀI THẢO LUẬN VI XỬ LÍ-VI ĐIỀU KHIỂN ĐỀ TÀI: 11 Viết chương trình điều khiển dãy LED đơn nối vào cổng P2 sáng liên tục đuổi từ P3.7 đến P3.0 Mỗi lần thay đổi trì trạng thái vòng 1,5 giây LED sáng bit điều khiển GV hướng dẫn: Nguyễn Tuấn Anh Nhóm thảo luận:44R2 Nhóm sinh viên(số 10): Thái Trung Kiên Trần Văn Thành Đỗ Thị Thuỳ Ngân Nguyễn Tiến Thành Trần Tuấn Nam Nhóm 10 – 44R2 Th¸i Nguyªn 2011 Bài thảo luận Vi xử lí – Vi điều khiển BÀI THẢO LUẬN VI XỬ LÝ- VI ĐIỀU KHIỂN ĐỀ TÀI SỐ 11: Viết chương trình điều khiển dãy LED đơn nối vào cổng P2 sáng liên tục đuổi từ P3.7 đến P3.0 Mỗi lần thay đổi trì trạng thái vòng 1,5 giây.LED sáng bit điều khiển NHÓM SINH VIÊN (Nhóm 10 ): Thái Trung Kiên MSSV : DTK0851030321 Công việc : Nghiên cứu lý thuyết, cách sử dụng câu lệnh phục vụ toán Đỗ Thị Thùy Ngân MSSV : DTK0851030328 Công việc : Nghiên cứu sơ đồ khối, viết sơ đồ khối, viết chương trình Trần Tuấn Nam MSSV : DTK0851030260 Công việc : Nghiên cứu lý thuyết, cách sử dụng câu lệnh phục vụ toán Nguyễn Tiến Thành MSSV : DTK0851030343 Công việc : Nghiên cứu lý thuyết, cách sử dụng câu lệnh phục vụ toán Trần Văn Thành MSSV : DTK0851030345 Công việc : Ngiên cứu sơ đồ khối, viết chương trình, hoàn tất thảo luận Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển NHẬN XÉT CỦA GIÁO VIÊN Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển MỤC LỤC Phần cứng họ Vi Điều Khiển 8051 Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển NỘI DUNG I MỤC ĐÍCH, YÊU CẦU BÀI TẬP: - Mục đich : - Hiểu cấu trúc phần cứng, sơ đồ chân mạch phụ trợ họ điều khiển 8051 - Nắm loại ghi,các chế độ địa chỉ,các tập lệnh họ 8051 - Biết cách lập trình cho họ vi điều khiển 8051 - Có thể nhận giống khác 8086 8051 - Yêu cầu : Viết chương trình điều khiển dãy LED đơn nối vào cổng P2 sáng liên tục đuổi từ P3.7 đến P3.0 Mỗi lần thay đổi trì trạng thái vòng 1,5 giây LED sáng bit điều khiển II CÁCH TIẾP CẬN VẤN ĐỀ 1.Các kiến thức cần biết : Phần cứng họ Vi Điều Khiển 8051 Các ghi đa họ Vi Điều Khiển 8051 Các chế độ địa họ Vi Điều Khiển 8051 Các tập lệnh sử dụng họ Vi Điều Khiển 8051 Phần cứng họ Vi Điều Khiển 8051 -Tốc độ: 0-24 MHz -Bộ nhớ: Bộ nhớ ngoài: 64KB Bộ nhớ RAM: 128B Bộ nhớ FLASH ROM: 4KB, hay gọi EPROM Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển -Cổng vào I/O Pin: Tất vi điều khiển có cổng vào/ra bit thiết lập cổng vào Như có tất 32 chân I/O cho phép vi điều khiển kết nối với thiết bị ngoại vi -Truyền thông nối tiếp: Kết nối song song vi điều khiển thiết bị ngoại vi thực qua cổng vào/ra giải pháp lý tưởng với khoảng cách ngắn vài mét Tuy nhiên cần truyền thông giưa thiết bị khoảng cách xa dùng kết nối song song, truyền thông nối tiếp giải pháp tốt -Ngắt vi điều khiển 8051: 8051 hỗ trợ loại ngắt, ngắt có vector ngắt riêng, địa cố định nằm nhớ chương trình Khi xảy ngắt CPU tựđộng nhảy đếnthực lệnh thuộc địa Liên quan đến ngắt chủ yếu có hai ghi ghi IE ghi IP.Thanh ghi IE ghi đánh địa bit, dùng lệnh tác động bit để tác động riêng rẽ lên bit mà không làm ảnh hưởng đến giá trị bit khác Để cho phép ngắt, bit tương ứng với ngắt bit EA phải đặt -Bộ định thời/đếm (Timers/Counters): Hầu hết chương trình sử dụng định thời hoạt động Chúng thường ghi SFR 16 bit, sau xung dao dộng clock, giá trị chúng tăng lên Ngay ghi tràn, ngắt phát sinh Các ghi đa họ Vi Điều Khiển 8051 - Thanh ghi tích luỹ (Accumulator): kí hiệu A Thanh ghi tích luỹ truy xuất trực tiếp thông qua địa E0h (byte) - Thanh ghi B: dùng cho phép toán nhân, chia Thanh ghi B cóđịa byte F0h vàđịa bit từ F0h – F7h -Thanh ghi từ trạng thái chương trình (PSW - Program Status Word): nằm địa D0h có địa bit từ D0h – D7h Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển -Thanh ghi trỏ stack (SP – Stack Pointer): Con trỏ stack SP nằm địa 81h không cho phép định địa bit SP dùng để đến đỉnh stack - Con trỏ liệu DPTR (Data Pointer): Con trỏ liệu DPTR ghi 16 bit bao gồm ghi bit: DPH (High) nằm địa 83h DPL (Low) nằm địa 82h - Các ghi port: Các ghi P0 địa 80h, P1 địa 90h, P2, địa A0h, P3 địa B0h ghi chốt cho port xuất / nhập (Port 0, 1, 2, 3) -Thanh ghi port nối tiếp (SBUF - Serial Data Buffer): Thanh ghi port nốiBit tiếp địa 99h thực 5chất bao4 gồm 3thanh ghi: ghi nhận vàChức SMOD1 ghi truyền SMOD0 POF GF1 GF0 PD IDL - Các ghi định thời (Timer Register): Các cặp ghi (TH0, TL0), (TH1, TL1) (TH2, TL2) ghi dùng cho định thời 0, định thời có 8032/8052 - Các ghi điều khiển: Bao gồm ghi IP (Interrupt Priority), IE (Interrupt Enable), TMOD (Timer Mode), TCON (Timer Control), T2CON (Timer Control), SCON (Serial port control) PCON (Power control) - Thanh ghi IP địa B8h - Thanh ghi IE địa A8h - Thanh ghi TMOD địa 89h - Thanh ghi TCON địa 88h - Thanh ghi T2CON địa C8h - Thanh ghi SCON địa 98h - Thanh ghi điều khiển nguồn PCON: Thanh ghi PCON địa 87h không cho phép định địa bit bao gồm bit sau: Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển Các chế độ địa họ Vi Điều Khiển 8051 - Địa tức thời: Trong chế độ đánh địa toán hạng nguồn số Và tên gọi lệnh hợp dịch toán hạng tức thi sau mã lệnh Lưu ý trước liệu tức thời phải đặt dấu (#) chế độ đánh địa dùng để nạp thông tin vào ghi kể ghi trỏ liệu DPTR Ví dụ: MOV A, # 25H vào ghi A MOV R4, #62 phân vào R4 ; Nạp giá trị 25H ; Nạp giá trị62 thập - Địa theo ghi: Chế độ đánh địa theo ghi liên quan đến việc sử dụng ghi để lưu liệu cần thao tác các toán hạng ghi Ri bank chọn Ví dụ: MOV A,R1 R1 vào ghi A MOV R2,A ghi A vào ghi R2 ; Sao nội dung ghi ; Sao nội dung - Địa trực tiếp: Ví dụ: MOV R0, 40H ; Lưu nội dung ngăn nhớ 40H RAM vào R0 MOV 56H, A ;Lưu nội dung ghi A vào ngăn nhớ 56H RAM MOV A, R4 ghi R4 vào A ; Sao nội dung -Địa gián tiếp: Trong chế độ này, ghi sử dụng trỏ đến liệu Đặc điểm nhận chế độ có Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển ký tự @ đứng trước toán hạng Ví dụ: MOV A, @ R0 ; Chuyển nội dung ngăn nhớ RAM có đị a ch ỉ ;R0 vào A -Địa số: Ví dụ: MovC A, @ A + DPTR MovX A, @ A + DPTR Các tập lệnh sử dụng họ Vi Điều Khiển 8051 Tùy thuộc vào cách chức lệnh, chia thành nhóm lệnh sau: - Các lệnh toán học - Các lệnh điều khiển chương trình - Các lệnh vận chuyển liệu - Các lệnh logic - Các lệnh thao tác bit Cấu trúc chung lệnh: Mã_lệnh Toán_hạng1, Toán_hạng2, Toán_hạng3 Trong đó: - Mã_lệnh: Tên gợi nhớ cho chức lệnh (VD add cho addition) - Toán_hạng1, Toán_hạng2, Toán_hạng3: Là toán hạnh lệnh, tùy thuộc vào lệnh số toán hạng không có, có 1, Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển III TRÌNH BÀY THUẬT TOÁN Chương trình chính: Nhóm 10 – 44R2 10 Bài thảo luận Vi xử lí – Vi điều khiển Chương trình tạo trễ 1,5 giây: IV CÁC CÂU LỆNH CHÍNH LIÊN QUAN ĐẾN BÀI TẬP MOV : Chuyển liệu ghi với ghi, ghi với ô nhớ, số đến ghi, số đến ô nhớ, ngược lại Ví dụ: MOV R0, 40H ; Lưu nội dung ngăn nhớ 40H RAM vào R0 MOV A,R0 ; Sao nội dung ghi R0 vào ghi A LCALL : Dùng để gọi chương trình Cấu trúc câu lệnh: LCALL addr16 Ý nghĩa: Khi lệnh thực VĐK thực chương trình địa addr16 Lệnh gọi chương trình đâu vùng 64 kbyte Addr16 chương trình thay nhãn VD: LCALL Delay ;goi nhan Delay SJMP : Lệnh nhảy tương đối Cấu trúc câu lệnh: Nhóm 10 – 44R2 SJMP rel 11 Bài thảo luận Vi xử lí – Vi điều khiển Lệnh nhảy tầm vực 256 byte: nhảy tới 128 byte nhảy lùi 128 byte Khi tầm vực nhảy xa ta dùng lệnh AJMP hay LJMP Ý nghĩa: Vi điều khiển nhảy đến lệnh có địa tương đối (rel) để thực tiếp Có thể thay rel nhãn VD: Start SJMP Start ;nhay toi nhan RR : Lệnh xoay phải nội dung ghi A Cấu trúc câu lệnh: RR A Ý nghĩa: Nội dung ghi A xoay phải bit CLR : Lệnh xóa bit Cấu trúc câu lệnh: CLR bit Ý nghĩa: Xóa bit VD : gia tri CLR P3.0 ;xoa cong P3.0 ve SETB : Lệnh đặt bit Cấu trúc câu lệnh: SETB bit Ý nghĩa: Đặt bit lên VD : SETB P3.0 ;dat P3.0=1 JNB : Lệnh nhảy bit =0 Cấu trúc câu lệnh: JNB bit,rel Ý nghĩa: Nếu nội dung bit có địa bit xác định vi điều khiển nhảy đến thực chương trình địa rel Nhóm 10 – 44R2 12 Bài thảo luận Vi xử lí – Vi điều khiển VD : neu A=0 JNB A,Start ;nhay ve Start DJNZ : Lệnh giảm ghi nhảy Cấu trúc câu lệnh: DJNZ Rn,rel Ý nghĩa : Nội dung ghi Rn giảm kết ghi Rn sau giảm khác vi điều khiển thực chương trình địa rel, kết vi điều khiển tiếp tục thưc lệnh kế VD : DJNZ R1,Start ;giam Rn di 1,sau ;giam neu R1 khac thi nhay ve Start V TRÌNH BÀY CÁC CHƯƠNG TRÌNH CON: ;chuong trinh lam tre 1.5s Delay: CLR TF1 MOV TMOD,#10H MOV R3,#38 AGAIN: MOV TL1,#0FEH MOV TH1,#6FH SET TR1 BACK: JNB TF1,BACK CLR TR1 CLR TF1 Nhóm 10 – 44R2 13 Bài thảo luận Vi xử lí – Vi điều khiển DJNZ R3,AGAIN RET VI TRÌNH BÀY MÃ NGUỒN CỤ THỂ : ;nhóm 10-44R2 ORG 0h MOV A,#10000000b A ; gan gia tri cho Start: MOV P3,A P3 LCALL Delay RR A SJMP Start ; xuat gia tri A cong ; goi ham tre delay ; quay A sang phai ; nhay ve Start Delay: CLR TF1 MOV TMOD,#10H che MOV R3,#38 ;xoa co timer ;su dung timer ;tao tre 1.5s AGAIN: MOV TL1,#0FEH ;TL1=FEh, byte MOV TH1,#6FH ;TH1=6Fh, byte cao SET TR1 ;khoi dong timer thap BACK: Nhóm 10 – 44R2 14 Bài thảo luận Vi xử lí – Vi điều khiển JNB TF1,BACK dinh thoi ;kiem tra co bo CLR TR1 ;tat timer CLR TF1 ;xóa co timer DJNZ R3,AGAIN thi nap lai ;neu R3 khac khong RET END Nhóm 10 – 44R2 15 Bài thảo luận Vi xử lí – Vi điều khiển TÀI LIỆU THAM KHẢO: [1] Họ vi điều khiển 8051-Tống Văn On, Hoàng Đức Hải- NXB Lao động xã hội, năm 2001 [2] Bài Giảng Vi Xử Lý- Vi Điều Khiển - Nguyễn Tuấn Anh, Phát hành tháng năm 2011 [3] Website: picat.dieukhien.net [4] Cấu trúc lập trình họ vi điều khiển 8051- Nguyễn Tăng Cường, - NXB Khoa học kỹ thuật, năm 2004 [5] Giáo trình hệ vi điều khiển-Võ Quang Vinh, Nguyễn Quốc Hưng,– NXB Khoa học kỹ thuật, năm 2010 Nhóm 10 – 44R2 16 [...]... Nhóm 10 – 44R2 14 Bài thảo luận Vi xử lí – Vi điều khiển JNB TF1,BACK dinh thoi ;kiem tra co bo CLR TR1 ;tat timer 1 CLR TF1 ;xóa co timer 1 DJNZ R3,AGAIN thi nap lai ;neu R3 khac khong RET END Nhóm 10 – 44R2 15 Bài thảo luận Vi xử lí – Vi điều khiển TÀI LIỆU THAM KHẢO: [1] Họ vi điều khiển 8051-Tống Văn On, Hoàng Đức Hải- NXB Lao động xã hội, năm 2001 [2] Bài Giảng Vi Xử Lý- Vi Điều Khiển - Nguyễn Tuấn... bit được xác định bằng 0 thì vi điều khiển sẽ nhảy đến thực hiện chương trình tại địa chỉ bằng rel Nhóm 10 – 44R2 12 Bài thảo luận Vi xử lí – Vi điều khiển VD : neu A=0 JNB A,Start ;nhay ve Start 8 DJNZ : Lệnh giảm thanh ghi và nhảy Cấu trúc câu lệnh: DJNZ Rn,rel Ý nghĩa : Nội dung của thanh ghi Rn giảm đi 1 và nếu kết quả trong thanh ghi Rn sau khi giảm khác 0 thì vi điều khiển sẽ thực hiện chương trình... bằng 0 thì vi điều khiển sẽ tiếp tục thưc hiện lệnh kế VD : DJNZ R1,Start ;giam Rn di 1,sau khi ;giam neu R1 khac 0 thi nhay ve Start V TRÌNH BÀY CÁC CHƯƠNG TRÌNH CON: ;chuong trinh con lam tre 1.5s Delay: CLR TF1 MOV TMOD,#10H MOV R3,#38 AGAIN: MOV TL1,#0FEH MOV TH1,#6FH SET TR1 BACK: JNB TF1,BACK CLR TR1 CLR TF1 Nhóm 10 – 44R2 13 Bài thảo luận Vi xử lí – Vi điều khiển DJNZ R3,AGAIN RET VI TRÌNH BÀY... Delay ;goi nhan Delay 3 SJMP : Lệnh nhảy tương đối Cấu trúc câu lệnh: Nhóm 10 – 44R2 SJMP rel 11 Bài thảo luận Vi xử lí – Vi điều khiển Lệnh này chỉ nhảy trong tầm vực 256 byte: có thể nhảy tới 128 byte và có thể nhảy lùi 128 byte Khi tầm vực này nhảy xa hơn ta dùng lệnh AJMP hay LJMP Ý nghĩa: Vi điều khiển này sẽ nhảy đến lệnh có địa chỉ tương đối (rel) để thực hiện tiếp Có thể thay rel bằng nhãn.. .Bài thảo luận Vi xử lí – Vi điều khiển Chương trình con tạo trễ 1,5 giây: IV CÁC CÂU LỆNH CHÍNH LIÊN QUAN ĐẾN BÀI TẬP 1 MOV : Chuyển dữ liệu giữa thanh ghi với thanh ghi, thanh ghi với ô nhớ, một hằng số đến thanh ghi, một hằng số đến ô nhớ, và ngược lại Ví... Bài Giảng Vi Xử Lý- Vi Điều Khiển - Nguyễn Tuấn Anh, Phát hành tháng 7 năm 2011 [3] Website: picat.dieukhien.net [4] Cấu trúc và lập trình họ vi điều khiển 8051- Nguyễn Tăng Cường, - NXB Khoa học và kỹ thuật, năm 2004 [5] Giáo trình hệ vi điều khiển- Võ Quang Vinh, Nguyễn Quốc Hưng,– NXB Khoa học và kỹ thuật, năm 2010 Nhóm 10 – 44R2 16 ... 44R2 Bài thảo luận Vi xử lí – Vi điều khiển MỤC LỤC Phần cứng họ Vi Điều Khiển 8051 Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển NỘI DUNG I MỤC ĐÍCH, YÊU CẦU BÀI.. .Bài thảo luận Vi xử lí – Vi điều khiển BÀI THẢO LUẬN VI XỬ LÝ- VI ĐIỀU KHIỂN ĐỀ TÀI SỐ 11: Vi t chương trình điều khiển dãy LED đơn nối vào cổng P2 sáng... không có, có 1, Nhóm 10 – 44R2 Bài thảo luận Vi xử lí – Vi điều khiển III TRÌNH BÀY THUẬT TOÁN Chương trình chính: Nhóm 10 – 44R2 10 Bài thảo luận Vi xử lí – Vi điều khiển Chương trình tạo trễ 1,5