Giao tiếp 8051 với LCD
Trang 1GIAO TIẾP 8051 VỚI LCD
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ
MINH KHOA CÔNG NGHỆ ĐIỆN TỬ
Tiểu luận môn vi sử lý:
GIAO TIẾP 8051 VỚI LCD
Sinh viên thực hiện : ĐẶNG HỒNG HÒA
MSSV : 0503300
Bài toán
1. Yêu cầu:
Dùng vi điều khiển 8051 để thưc hiện việc quảng cáo cho các công ty, siêu thị… giống như bảng điện tử chạy ở cầu thang
bộ nhà X.7 thông qua LCD Trên LCD sẽ hiện hai dòng :
• Dòng một: “ TIEU LUAN VI XU LY 8051 GIAO TIEP LCD-LOP DHDT1 ” chạy lien tục từ phải qua trái.
• Dòng hai: “ BY:DANG HONG HOA ” đứng yên.
Ta có thể thay đổi dòng hiển thị trên màn hình LCD theo mục đích của chúng ta dể dàng.
2. Phân tích:
Các công việc cần làm:
Về phần cứng ( mô phỏng PROTEUS): Lấy linh
Trang 2kiện:8051, LCD, nối dây cho đúng với đoạn lệnh, cấp nguồn.
Đoạn lệnh ( mô phỏng TOPVIEW và nạp vào 8051 ):
Kết nối các chân của LCD với 8051,thiết lập chế
độ hoạt động của LCD.
Khởi động LCD.
Hiển thị dòng 2 chạy, xuất ra LCD qua port 1 bằng cách nạp giá trị hiển thị lên DPTR, hiển thị trên dòng thứ 2 trên LCD Có thể thay đổi số lượng ký tự theo ý
muốn( Lưu ý chỉ xuất ra được tối đa 20 ký tự như bài lập trình này )
Hiển thị dòng 1 chạy, xuất ra LCD qua port 1 bằng cách nạp giá trị hiển thị lên DPTR,gọi thời gian de lay,hiển thị dòng 1 trên LCD, lần lượt tăng giá trị DPTR(*), nạp các byte cao và byte thấp của DPTR vào thanh ghi A sau đó so sánh lần lượt byte cao và thấp với (byte cao + 40) và ( byte thấp +40) nếu bằng thì quay lại từ lúc hiển thị dòng
1,không bằng thì cứ tiếp tục tăng DPTR và làm tiếp như (*) Giá trị 40 có thể thay đổi tuỳ ý trong chương trình.
3. Lưu đồ giải thuật:
Chuong trinh con:
Trang 44 Kết quả:
- Sau khi chay mô phỏng bằng TOVIEW ta có kết quả sau:
- Sau khi chay mô phỏng bằng PROTUS ta có kết quả
Trang 55 ÄÂoạn mã lệnh:
$MOD51
E BIT P3.2
RS BIT P3.1
RW BIT P3.0
ORG 00
MAIN:
LCALL SETUP
DONG2:
MOV DPTR,#DIS2
SETB E
CLR RS
CLR RW
MOV P1,#0C0H
CLR E
LCALL WAIT
Trang 6LCALL XUAT_CHU
DONG1:
MOV DPTR,#DIS1
DICH:
LCALL DISPLAY1
LCALL DELEY
LCALL DELEY
INC DPTR
MOV A,DPL
CJNE A,#LOW(DIS1+40),DICH MOV A,DPH
CJNE A,#HIGH(DIS1+40),DICH SJMP DONG1
SETUP:
SETB E
CLR RS
CLR RW
MOV P1,#38H ;cai dat ban dau CLR E
LCALL WAIT
SETB E
CLR RS
CLR RW
MOV P1,#0CH
CLR E
LCALL WAIT
SETB E
CLR RS
CLR RW
MOV P1,#06H
CLR E
LCALL WAIT
Trang 7DISPLAY1:
SETB E
CLR RS
CLR RW
MOV P1,#80H
CLR E
LCALL WAIT
XUAT_CHU:
MOV R1,#0
LOOP:
MOV A,R1
MOVC A,@A+DPTR
SETB E
SETB RS
CLR RW
MOV P1,A
CLR E
LCALL WAIT
INC R1
CJNE R1,#20,LOOP
RET
WAIT: ;thoi gian doi 1ms MOV TMOD,#10H
MOV TH1,#HIGH(-1000)
MOV TL1,#LOW(-1000)
CLR TF1
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
RET
DELEY: ;thoi gian de lay 1s MOV R0,#100
Trang 8MOV TMOD,#10H
MOV TH1,#HIGH(-10000)
MOV TL1,#LOW(-10000)
CLR TF1
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
DJNZ R0,CONT
RET
ORG 100H
DIS1:
DB 'TIEU LUAN VI XU LY 8051 GIAO TIEP LCD-LOP
DHDT1 '
ORG 200H
DIS2:
DB 'BY:DANG HONG HOA '
END
Mạch kiểm tra cửa ra vào
Họ Tên: Nguyễn Hữu Vinh
MSSV:0502167
Đề Bài:Đối với 1 nhà có nhiều cửa ra vào đôi khi ta sẽ không giám sát được hết tất
cả các cửa do vậy với mục đích an toàn cần tạo một mạch giám sát cửa ra vào Yêu cầu:kiểm tra tất cả các cửa
khi cửa mở led hiển thị của cửa tương ứng sẽ sáng
và chuông báo động sẽ reo trong 2s rồi tắt,Led 7 đoạn sẽ báo có mấy cưa được mở
Linh kiện sử dụng:IC 89c51.IC giải mã 4511.LEd báo số phòng,led 7 đoạn.loa
Trang 9báo động
Sơ đồ mạch:
trong mạch này sử dụng led nối với P3 thay cho kèn báo động(led sẽ sáng trong 2s khi có cửa mở)
các nút nhấn tương ứng với cửa các phòng từ 1 đến 8
Lưu Đồ: