Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
466,44 KB
Nội dung
ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG LÝ TỰ TRỌNG THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ LẬP TRÌNH ỨNG DỤNG DÙNG VI ĐIỀU KHIỂN 89C51 SVTH: NGUYỄNVŨ THỊNH - MSSV: 19002016 Ngành học: ĐIỆN ĐIỆN TỬ Lớp học: 19C1 – ĐĐT2 TIỂU LUẬN MÔN VI XỬ LÝ GVHD: Th.S TRẦN GIANG NAM Thành phố Hồ Chí Minh – 2021 ỦY BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG CAO ĐẲNG LÝ TỰ TRỌNG THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ LẬP TRÌNH ỨNG DỤNG DÙNG VI ĐIỀU KHIỂN 89C51 SVTH: NGUYỄN VŨ THỊNH - MSSV: 19002016 Ngành học: ĐIỆN-ĐIỆN TỬ Lớp học: 19C1 – ĐĐT2 TIỂU LUẬN MÔN VI XỬ LÝ GV CHẤM GV CHẤM (Ký ghi rõ họ tên) (Ký ghi rõ họ tên) Th.S TRẦN GIANG NAM Th.S TRẦN NGUYÊN BẢO TRÂN Thành phố Hồ Chí Minh – 2021 MỤC LỤC Trang Chương 1: GIỚI THIỆU đề tài………….…………………………………1 1.1 Yêu cầu đề tài …………………………………………………… 1.2 Mô tả nguyên lý hoạt động đề tài ………………………………… Chương 2: LÝ THUYẾT LIÊN QUAN ………………………………………3 2.1 Vi điều khiển sử dụng đề tài……………………………………… 2.1.1 Cấu trúc 2.1.2 Đặc điểm 2.2 Thiết bị chấp hành ………………………………………………………6 2.2.1 Led đoạn 2.2.2 Động Chương 3: NỘI DUNG THỰC HIỆN ……………………………………….11 3.1 Bài 3.1.1 Sơ đồ mạch nguyên lý …………………………………………………11 3.1.2 Mô tả hoạt động mạch ………………………………………… 11 3.1.3 Lưu đồ giải thuật …………………………………………………… 12 3.1.4 Chương trình giải thích chương trình…………………………… .13 3.2 Bài 3.2.1 Sơ đồ mạch nguyên lý ……………………………………………… 17 3.2.2 Mô tả hoạt động mạch ………………………………………….18 3.2.3 Lưu đồ giải thuật …………………………………………………….19 3.2.4 Chương trình giải thích chương trình…………………………… 20 Chương 4: KẾT QUẢ THỰC HIỆN………………………………… 21 4.1 Tự đánh giá đề tài: 4.1.1 Ưu điểm: 4.1.2 Khuyết điểm: 4.2 Kết luận đề nghị: CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI AT89C51 hệ vi tính bit đơn chíp CMOS có hiệu cao, cơng suất nguồn tiêu thụ thấp có Kbyte nhớ ROM FLASH xóa lập trình Chip sản xuất dựa vào công nghệ nhớ khơng nội dung có độ tích hợp cao Atmel Chíp AT89C51 tường thích với tập lệnh chân cuẩ chuẩn công nghiệp MCS-51 Flash chíp cho phép nhớ chương trình lập trình lại hệ thống lâp trình nhớ khơng nội dung Chính AT89C51 thích hợp để làm đề tài học tập, nghiên cứu, ứng dụng thực tế Trong làm đề tài điều khiển led, motor, led đoạn với AT89C51 1.1 Yêu cầu đề tài Bài 1: Thiết kế mạch lập trình điều khiển đèn LED Motor DC dùng nút nhấn công tắc theo yêu cầu sau: Nhấn Nút 1→ Led đảo trạng thái Nhấn Nút → Led sáng 500 ms tắt Công tắc ON → Motor chạy 120 x (2 số cuối MSSV) ms (mili giây) tắt Công tắc OFF → Motor dừng Bài 2: Thiết kế lập trình hiển thị LED đoạn đếm lên từ số cuối MSSV đến 99 1.2 Mô tả nguyên lý hoạt động đề tài 1.2.1 Bài Cấp nguồn điện 5v cho led 1, led motor dc Nhấn nút làm cho led đổi trạng thái ON → OFF ngược lại Nhấn nút làm cho led sáng 500 mili giây Nhấn công tắc chuyển sang trạng thái ON motor chạy 1920 mili giây ( 120 x MSSV = 1920) Nhấn nút reset mạch khởi động lại 1.2.2 Bài Sau lập trình port port chuyền tín hiệu theo tới cho hai led đoạn sáng từ số 16 tới số 99 lại quay chạy từ số 16 Port hiển thị số hàng chục port hiển thị số hàng đơn vị Khi nhấn nút reset mạch khởi động lại chạy từ số 16 CHƯƠNG 2: LÝ THUYẾT LIÊN QUAN 2.1 Vi điều khiển sử dụng đề tài AT9C51 hệ vi tính bit đơn chíp CMOS có hiệu suất cao,cơng suất nguồn tiêu thụ thấp có 4Kbyte nhớ ROM Flash xố lập trình Chip sản xuất dựa vào công nghệ nhớ không nội dung có độ tích hợp cao Atmel AT89C51 có đặc trưng sau: 4Kbyte Flash, 128 byte Ram, 32 đường xuất nhập, hai định thời / đếm 16 bit, cấu trúc ngắt mức ưu tiên nguyên nhân ngắt, mạch dao động tạo xung clock chip Ngoài AT8951 thiết kế với logic tĩnh cho hoạt đơng có tần số giảm xuống hỗ trợ hai chế độ tiết kiệm lượng lựa chọn phần mềm 2.1.1 Cấu trúc - Sơ đồ chân AT89C51 - Sơ đồ khối 89C51 2.1.2 Đặc điểm Chip 89C51 có số đặc điểm sau : - KB nhớ lập trình lại nhanh, có khả tới 1000 chu kỳ ghi xoá - Tần số hoạt động từ: 0Hz đến 24 MHz - mức khóa nhớ lập trình - Timer/counter 16 Bit - 128 Byte RAM nội - Port xuất /nhập I/O bit Nói chung loại CA phổ biến loại Loại CA không thay cho loại CC mạch điện, ngược lại cách nối đèn led bị đảo ngược Tùy vào chữ số thập phân hiển thị mà đèn led cụ thể phân cực thuận Ví dụ để hiển thị chữ số 0, cần phải chiếu sáng đoạn tương ứng a, b, c, d, e f Như số từ đến hiển thị led đoạn hình bên 2.2.2 Động DC ⁕ Động chiều gì? Động chiều DC (DC từ viết tắt Direct Current Motors) động điều khiển dòng có hướng xác định hay nói cách khác loại động chạy nguồn điện áp DC - điện áp chiều ⁕ Cấu tạo phân loại động điện chiều Cấu tạo động điện chiều thường gồm phận sau: Stator: hay nhiều cặp nam châm vĩnh cửu nam châm điện Rotor: phần lõi quấn cuộn dây để tạo thành nam châm điện Chổi than (brushes): giữ nhiệm vụ tiếp xúc tiếp điện cho cổ góp Cổ góp (commutator): làm nhiệm vụ tiếp xúc chia nhỏ nguồn điện cho cuộn dây rotor Số lượng điểm tiếp xúc tương ứng với số cuộn dây rotor Cấu tạo động điện chiều Căn vào phương pháp kích từ, chia động điện chiều thành dòng sau: Động điện chiều kích từ nam châm vĩnh cửu Động điện chiều kích từ độc lập Động điện chiều kích từ nối tiếp Động điện chiều kích từ song song Động điện chiều kích từ hỗn hợp bao gồm cuộn dây kích từ, cuộn mắc nối tiếp với phần ứng, cuộn mắc song song với phần ứng ⁕ Nguyên tắc hoạt động động điện chiều Stato động điện chiều thường nhiều cặp nam châm vĩnh cửu hay nam châm điện, rotor gồm có cuộn dây quấn kết nối với nguồn điện chiều Một phần quan trọng khác động điện chiều phận chỉnh lưu, phận làm nhiệm vụ đổi chiều dòng điện chuyển động quay rotor liên tục Thông thường, phận có thành phần: cổ góp chổi than tiếp xúc với cổ góp. Nguyên tắc hoạt động động điện chiều Nếu trục động điện chiều kéo lực ngồi động hoạt động máy phát điện chiều, tạo xuất điện động cảm ứng Electromotive force Khi vận hành chế độ bình thường, rotor quay phát điện áp gọi sức phản điện động counter-EMF sức điện động đối kháng, 10 đối kháng lại với điện áp bên ngồi đặt vào động Sức điện động tương tự sức điện động phát động sử dụng máy phát điện Như điện áp đặt động bao gồm thành phần: sức phản điện động điện áp giáng tạo điện trở nội cuộn dây phản ứng Dòng điện chạy qua động tính theo cơng thức sau: I=(Vnguon-Vphandiendong)/Rphanung Cơng suất mà động đưa tính bằng: P=I*Vphandiendong CHƯƠNG 3: NỘI DUNG THỰC HIỆN 3.1 Bài 3.1.1 Sơ đồ nguyên lý 11 3.1.2 Mô tả nguyên lý hoạt động mạch Cấp nguồn điện 5v cho led 1, led motor dc Nhấn nút làm cho led đổi trạng thái ON → OFF ngược lại Nhấn nút làm cho led sáng 500 mili giây Nhấn công tắc chuyển sang trạng thái ON motor chạy 1920 mili giây ( 120 x MSSV = 1920) Nhấn nút reset mạch khởi động lại 3.1.3 Lưu đồ giải thuật 12 Khai báo gán tên địa cần sử dụng Nút nhấn Nút nhấn Bật công tắc motor lên ON Chờ buông nút Chờ buông nút Gọi chương trình delay 1920 mili giay Đổi trạng thái led Đổi trạng thái led Tắt motor Gọi chương trình delay 500 mili giây Chờ cơng tắc tắt 13 3.1.4 Chương trình giải thích chương trình ; Khai báo gán tên với địa cần dùng p1.2 NUT1 EQU P1.0 ; Nút tương ứng với địa p1.0 NUT2 EQU P1.1 ; Nút tương ứng với địa p1.1 LED1 EQU P3.0 ; Led tương ứng với địa p3.0 LED2 EQU P3.3 ; Led tương ứng với địa p3.3 CONGTAC EQU P1.2 ; Công tắc tương ứng với địa MOTOR EQU P3.7 ; Motor tương ứng với địa p3.7 org 0000h JMP Start org 0100h Start: NUTNHAN1: ; nhãn dán nút JB NUT1 , NUTNHAN2 NUTNHAN2 ;Nếu NUT1 nhảy JNB NUT1 , $ ; NUT1 nhảy chỗ CPL LED1 ; Đổi trạng thái led NUTNHAN2 : tới nhãn ; Nhãn dán nút JB NUT2, CONGTACMOTOR CONGTACMOTOR ; Nếu NUT1 nhảy tới nhãn 14 JNB NUT2, $ ; NUT2 nhảy chỗ CPL LED2 ; Đổi trạng thái led LCALL DELAY500MS ; Gọi chương trình delay500ms CPL LED2 ; Đổi trạng thái đèn trước CONGTACMOTOR : JB CONGTAC, NUTNHAN1 nhãn NUTNHAN1 ; Nếu CONGTAC nhảy tới CPL MOTOR ; Đổi trạng thái motor CALL DELAY1920MS ; Gọi chương trình delay1920ms CPL MOTOR ; Đổi trạng thái motor trước JNB CONGTAC,$ ; Công tắc nhảy chỗ JMP Start ; nhảy đầu chương trình DELAY500MS: PUSH 00H ;500ms = 500.000 us = x 25 x 100 x 100 us ; Cất ghi R0 vào ram nội PUSH 01H ; Cất ghi R1 vào ram nội PUSH 02H ;Cất ghi R2 vào ram nội MOV R0,#25 ; Nạp giá trị 25 vào ghi R0 QUAYVE1: MOV R1,#100 ; Nạp giá trị 100 vào ghi R1 QUAYVE2: MOV R2, #100 DJNZ R2, $ ;Nạp giá trị 100 vào ghi R2 ; Giảm đơn vị ghi R2 nhảy chỗ 15 DJNZ R1,QUAYVE2 QUAYVE2 ;Giảm đơn vị ghi R1 nhảy tới nhãn DJNZ R0,QUAYVE1 QUAYVE1 ; Giảm đơn vị ghi R0 nhảy tới nhãn POP 02H ; Lấy ghi R2 từ ram nội POP 01H ; Lấy ghi R1 từ ram nội POP 00H ;Lấy ghi R0 từ ram nội RET DELAY1920MS: PUSH 00H ;1920ms = 1.920.000 us = x 96 x 100 x 100 us ; Cất ghi R0 vào ram nội PUSH 01H ; Cất ghi R1 vào ram nội PUSH 02H ;Cất ghi R2 vào ram nội MOV R0,#96 ; Nạp giá trị 96 vào ghi R0 LAPLAI1: MOV R1,#100 ; Nạp giá trị 100 vào tahnh ghi R1 LAPLAI2: MOV R2, #100 ;Nạp giá trị 100 vào ghi R2 DJNZ R2, $ ; Giảm đơn vị ghi R2 nhảy chỗ DJNZ R1,LAPLAI2 LAPLAI2 ;Giảm đơn vị ghi R1 nhảy tới nhãn DJNZ R0,LAPLAI1 LAPLAI1 ; Giảm đơn vị ghi R0 nhảy tới nhãn POP 02H ; Lấy ghi R2 từ ram nội POP 01H ; Lấy ghi R1 từ ram nội POP 00H ;Lấy ghi R0 từ ram nội 16 RET DOBIT3: JNB CONGTAC, LAPLAI1 motor dừng CPL MOTOR ;Dò bit công tắc nêu công tắc ; Motor dừng JMP Start DOBIT2: motor dừng JNB CONGTAC, LAPLAI2 CPL MOTOR Dị bit cơng tắc nêu cơng tắc ; Motor dừng JMP Start DOBIT: motor dừng JNB CONGTAC, S CPL MOTOR Dị bit cơng tắc nêu cơng tắc ; Motor dừng JMP Start END 3.2 Bài 3.2.1 Sơ đồ nguyên lý 17 3.2.2 Mô tả nguyên lý mạch Sau lập trình port port chuyền tín hiệu theo tới cho hai led đoạn sáng từ số 16 tới số 99 lại quay chạy từ số 16 Port hiển thị số hàng chục port hiển thị số hàng đơn vị Khi nhấn nút reset mạch khởi động lại chạy từ số 16 3.2.3 Lưu đồ giải thuật 18 Nạp mã nhị phân từ 0-9 Chia ghi A với B => A chứa hàng chục, B chứa hàng đơn vị Lấy hàng chục từ bảng mã xuất port2 Lấy hàng đơn vị từ bảng mã xuất port Thanh ghi R0 tăng đơn vị 100 xóa 16 Quay đầu chương trình lặp lại 19 3.2.4 Chương trính giải thích chương trình org 0000h JMP Start org 0100h Start: MOV DPTR, #BANGMA0_9 ; Nạp liệu vào ghi trỏ MOV R0, #16 ;Nạp giá trị 16 vào ghi R0 QUAY : MOV A , R0 ; Nạp ghi R0 vào ghi A MOV B , #10 ; Nạp giá trị 10 vào ghi B DIV AB chứa số hàng đơn vị ;Chia hai ghi, A chứa số hàng chục B MOVC A ,@A+ DPTR ; Lấy mã đoạn số chục từ bảng mã 0-9 MOV P2 , A ; Gửi mã led hàng chục port MOV A , B ; Lấy chữ số hàng đơn vị từ B vào A MOVC A , @A + DPTR ; Lấy mã đoạn số đơn vị từ bảng mã 0-9 MOV P1, A ; Gửi mã led đoạn hàng đơn vị port CALL DELAY lili giay ; Cho hai led sáng cố định 100 INC R0 ; Tăng giá trị đếm lên đơn vị CJNE R0, #100, QUAY ; Nếu 100 xóa MOV R0, #16 ; Nạp giá trị chạy lại từ đầu JMP QUAY ; Quay đếm lại 20 DELAY: LAPLAI: MOV R1, #5 ; Nạp giá trị vào R1 MOV R2, #80 ; Nạp giá trị 80 vào R2 QUAYVE: MOV R3, #250 ; Nạp giá trị 250 vào R3 DJNZ R3, $ chỗ R3 ; Giảm đơn vị R3 nhảy DJNZ R2, QUAYVE nhãn QUAYVE R3 ;Giảm đơn vị R2 nhảy tới DJNZ R1, LAPLAI nhãn QUAYVE R1 RET ; Giảm đơn vị R2 nhảy tới ; Quay chương trình BANGMA0_9: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH , 6FH ; BẢNG MÃ TƯ TỚI END 21 CHƯƠNG 4: KẾT QUẢ THỰC HIỆN 4.1 Tự đánh giá đề tài Sau hoàn thành đề tài em nhận thấy đề tài hay bạn sinh viên người tìm hiểu dịng vi điều khiển 89C51 4.1.1 Ưu điểm - Đề tài giúp tăng kĩ tư lập trình - Đề tài khơng q khó giúp cho người tiếp cận cách dễ dàng 4.1.2 Khuyết điểm - Chưa áp dụng nhiều vào dự án nâng cao 4.2 Kết luận đề nghị Sau thời gian làm đề tài với hướng dẫn tận tình thầy Trần Giang Nam Em hồn thành đề tài Thơng qua đề tài lần thực giúp em hiểu biết rõ em học mơn Vi Xử Lý suốt thời gian qua Đối với em tiểu luận lần thực phù hợp với nhũng kiến thức học thời gian học mơn Vi Xử Lý Do trình độ kiến thức kinh nghiệm làm việc thực tế hạn chế, cộng thêm viêc thu thập tài liệu tham khảo thời gian tìm hiểu đề tài hạn chế nên dù cố gắng để hồn thành tiểu luận cịn chỗ sai xót Em mong thầy /cơ châm chước nhận dạy tận tình thầy để hiểu rõ đề tài lần tiếp cận gần với xưởng làm việc thực tế 22