Lời cảm tạ
Đến giờ phút này đã được ba năm học kể từ cái ngày chúng em là những học
sinh của các trường trung học phổ thông từ trong cả nước bước chân vào cổng
trường Đại Học Bà Rịa – Vũng Tàu này, đặc biệt là Khoa Điện - Điện Tử, là nơi
chúng em đã chọn để trao dồi một ngành nghề trong tương lai cho riêng mình đó là
chuyên ngành Tự Động Hóa.
Trong thời gian theo học tại trường Đại Học Bà Rịa – Vũng Tàu lớp
DH08TD nói chung và nhóm sinh viên chúng em nói riêng được theo học và tìm
hiểu cơ bản về các môn học trong hệ thống toàn bộ giáo trình môn học của nhà
trường bao gồm các môn đại cương và các môn liên quan đến chuyên ngành Tự
Động Hóa.
Qua sáu học kì theo học, nhờ sự giúp đỡ, hỗ trợ của các thầy cô giáo là giảng
viên của các khoa trong trường dạy cho chúng em các môn đại cương và đặc biệt là
các thầy cô giáo giảng viên khoa Điện - Điện Tử đã tận tình chỉ dạy, hướng dẫn
chung em học tập và tìm hiểu rất nhiều kiến thức liên quan đến chuyên ngành của
mình. Tuy nhiên, để cho thấy được thành quả của mình, dưới sự chỉ đạo của nhà
trường và khoa Điện - Điện Tử, các sinh viên phải làm các bài tập lớn để vận dụng
các kiến thức lý thuyết đã học vào thực tế. Để đáp ứng yêu cầu đó, em nói riêng và
các bạn trong lớp DH08TD nói chung đã tiến hành học tập, tìm hiểu và nghiên cứu
để hoàn thành đồ án môn học.
Qua đồ án này, sinh viên chúng em xin chân thành cảm ơn các thầy cô giáo
giảng viên các khoa đã chỉ dạy cho chúng em các môn đại cương, các thầy cô giáo
giảng viên khoa Điện - Điện Tử đã hướng dẫn, chỉ dạy cho chúng em các kiến thức
liên quan đến chuyên ngành Tự Động Hóa. Đặc biệt là Cô Châu Nguyễn Ngọc Lan
đã tận tình hướng dẫn cho chúng em hoàn thành tốt đồ án môn học này.
Đây là lần đầu tiên chúng em được tự nghiên cứu, tìm hiểu và làm đồ án của
mình qua kết quả nghiên cứu tìm hiểu được, nên không thể tránh khỏi những thiếu
sót nhất định. Rất mong được ý kiến đóng góp chân thành của các thầy cô giáo
giảng viên trong khoa Điện - Điện Tử và các bạn sinh viên trong lớp để chúng em
hoàn thiện hơn công việc học tập, tìm hiểu, nghiên cứu trong môn học chuyên
ngành của mình nhằm nâng cao kiến thức chuyên ngành và đáp ứng được yêu cầu
tiên của nhóm và nó dừng lại ở mức độ là đồ án môn học nên không tánh được
những thiếu sót mong thấy cô góp ý thêm.
II.
II. GIỚI THIỆU VỀ ĐỀ TÀI:
Xuân Mai & Văn Hữu – DH08TD
1. CHỨC NĂNG CỦA MẠCH:
Mạch có các chức năng sau: Hiển thị nội dung lưu trong Ram
2. CÁC THÀNH PHẦN CHÍNH CỦA MẠCH:
2.1 LCD TC1602A:
LCD (Liquid Crystal Direct) TC1602A là màn hình tinh thể lỏng gồm có:
- LCD
- Bộ Driver (mạch điều khiển).
Màn hình LCD và bộ Driver đã được kết nối sẵn với nhau bởi nhà sản xuất,
khi sử dụng chỉ cần giao tiếp với bộ Driver .
LCD TC1602 A là loại màn hình hiển thị được 16 kí tự × 2 dòng, bao gồm tất
cả các kí tự chuẩn ngoài ra còn có một số kí tự đặc biệt nhưng không có kí tự
dấu tiếng Việt.
Hình dáng và sơ đồ chân của LCD:
Hình LCD thực tế:Sơ đồ chân của LCD:
Xuân Mai & Văn Hữu – DH08TD
Sơ đồ giao tiếp LCD với vi điều khiển:
Xuân Mai & Văn Hữu – DH08TD
2.2 Vi điều khiển AT89C51:
AT89C51 là 1 hệ vi tính có 8 chip đơn tính CMOS có hiệu suất cao, công suất
nguồn tiêu thụ thấp cho phép lập trình/xóa được (Flash Programmale and Erasable
Read Only Memory – EPROM).Chip này được sản xuất dựa vào công nghệ bộ nhớ
không mất nội dung có độ tích hợp cao của hãng Atmel.
Gồm 4 cổng NAND,mỗi cổng có 2 cổng vàoA và B được định nghĩa băng bảng
sau:Xuân Mai & Văn Hữu – DH08TD
Sơ đồ chân của IC 7400:
Cấu trúc của IC7400:
3. YÊU CẦU THIẾT KẾ:
- Mạch phải hoạt động đúng theo yêu cầu đặt ra.
- Mạch hoạt động phải có độ ổn định và chính xác cao.
- Thiết kế gọn nhẹ.
-Giá thành thấp.
III. CHƯƠNG TRÌNH ĐIỀU KHIỂN VÀ KẾT
QUẢ:
1. SƠ ĐỒ NGUYÊN LÝ:
Xuân Mai & Văn Hữu – DH08TD
2. SƠ ĐỒ MẠCH IN CỦA ĐỀ TÀI:
Xuân Mai & Văn Hữu – DH08TD
3. Lưu đồ giải thuật chương trình chính:
Xuân Mai & Văn Hữu – DH08TD
4. Lưu đồ giải thuật chương trinh con:
Xuân Mai & Văn Hữu – DH08TD
5. Code chương trình:
$mod51
; Chuong trinh hien thi LCD voi Thach anh 12MHz.
;;;*********khai bao thanh ghi dia chi LCD**********
LCD_CMD_WR equ 0
LCD_DATA_WR equ 1
LCD_BUSY_RD equ 2
Xuân Mai & Văn Hữu – DH08TD
string7:db ' SVTH: '
db 0
string8: db ' _Ng Xuan Mai_ '
db 0
string9: db '*Mso Sinh Vien:* '
db 0
string10: db ' 0851020006, '
db 0
string11: db ' _Ng Van Huu_ '
db 0
string12: db '*Mso Sinh Vien:* '
db 0
string13: db ' 0851030010. '
db 0
string14a: db ' Lop: '
db 0
string14b: db ' ^^DH08TD^^ '
db 0
string15: db ' Khoa: '
db 0
string16: db '*DIEN - DIEN TU* '
db 0
string17: db ' Truong: DH '
db 0
string18: db ' BA RIA-VUNG TAU '
db 0
string19: db ' GVHD: '
db 0
string20: db ' !!Co Ngoc Lan!! '
string35: db ' $THE_END$ '
db 0
start: mov A,#038h ;Thong bao LCD la su dung che do Bus 8bit
call wrcmd ;goi chuong trinh con goi lenh
loop: mov A,#LCD_SETVISIBLE+6 ;goi lenh 0Eh (8 cong 6 bang E)
de kich hoat LCD
call wrcmd ;goi chuong trinh con goi lenh
mov DPTR,#string1 ;dua dong chu 1a vao con tro dia chi
call wrstr ;goi chuong trinh con xuat dong chu toi LCD
mov DPTR,#200 ;dua 200 vao con tro de thuc hien viec doi
200ms; chuong trinh wrstr se day lay DPTR*1ms.
call wtms ;goi chuong trinh con doi 200ms
mov A,#LCD_CLS ;Xóa màn hình LCD
mov A,#LCD_SETDDADDR+64 ; ; dua gia tri C0H vao A.; gia
tri lenh dua con tro vao dong thu 2
call wrcmd ; ghi lenh chuyen con tro ve dong thu 2
mov DPTR,#string2
call wrslow
mov DPTR,#200
call wtms
mov A,#LCD_CLS ;Clear screen
Xuân Mai & Văn Hữu – DH08TD
mov A,#LCD_SETDDADDR+64 ; ;Ðua gia tri C0H vao A; gia
tri lenh dua con tro vao dong thu 2
call wrcmd
mov A,#LCD_CLS ;Clear screen
call wrcmd
mov DPTR,#string3
call wrslow
mov A,#LCD_SETDDADDR+64 ;Ðua gia tri 0CH vao A,
mov DPTR,#string9
Xuân Mai & Văn Hữu – DH08TD
call wrslow
mov A,#LCD_SETDDADDR+64
call wrcmd
mov DPTR,#string10
call wrslow
mov A,#LCD_CLS
mov A,#LCD_SETDDADDR+64
call wrcmd
mov A,#LCD_CLS
call wrcmd
mov DPTR,#string11
call wrslow
mov A,#LCD_CLS
mov A,LCD_SETDDADDR+64
call wrcmd
mov A,#LCD_CLS
call wrcmd
mov DPTR,#string12
call wrslow
mov A,#LCD_SETDDADDR+64 ;Ðua gia tri 0CH vao A,
call wrcmd
mov DPTR,#string13
call wrslow
mov A,#LCD_CLS
mov A,LCD_SETDDADDR+64
call wrcmd
mov A,#LCD_CLS
call wrcmd
mov A,#LCD_SETDDADDR+64
call wrcmd
mov A,#LCD_CLS
call wrcmd
mov DPTR,#string19
call wrslow
mov A,#LCD_SETDDADDR+64
call wrcmd
mov DPTR,#string20
call wrslow
mov A,#LCD_CLS
mov A,#LCD_SETDDADDR+64
call wrcmd
mov A,#LCD_CLS
call wrcmd
mov DPTR,#string21
call wrslow
mov A,#LCD_SETDDADDR+64
call wrcmd
mov DPTR,#string22
call wrslow
mov A,#LCD_CLS
mov A,#LCD_SETDDADDR+64
Xuân Mai & Văn Hữu – DH08TD
call wrcmd
mov A,#LCD_CLS
call wrcmd
mov DPTR,#string23
call wrslow
mov A,#LCD_SETDDADDR+64
mov DPTR,#string29
call wrslow
mov A,#LCD_SETDDADDR+64
call wrcmd
Xuân Mai & Văn Hữu – DH08TD
mov DPTR,#string30
call wrslow
mov A,#LCD_CLS
mov A,#LCD_SETDDADDR+64
call wrcmd
mov A,#LCD_CLS
call wrcmd
mov DPTR,#string31
call wrslow
mov A,#LCD_CLS
mov A,LCD_SETDDADDR+64
call wrcmd
mov A,#LCD_CLS
call wrcmd
mov DPTR,#string32
call wrslow
mov A,#LCD_SETDDADDR+64
call wrcmd
mov DPTR,#string33
call wrslow
mov A,#LCD_CLS
mov A,LCD_SETDDADDR+64
call wrcmd
mov A,#LCD_CLS
call wrcmd
mov A,#LCD_CLS ;Clear screen
call wrcmd
jmp loop ; quay lai chuong trinh ban dau
;;;******************************************************
*******
;Chuong trình con viet chuoi ky tu trong DPTR
wrstr: mov R0,#LCD_DATA_WR
wrstr1: clr A
movc A,@A+DPTR
jz wrstr2
movx @R0,A
call wtbusy
inc DPTR
push DPL
push DPH
pop DPH
pop DPL
jmp wrstr1
wrstr2: ret
;;;******************************************************
***********
;Chuong trình con viet chuoi ky tu trong DPTR theo tung ky tu
wrslow: mov R0,#LCD_DATA_WR
Xuân Mai & Văn Hữu – DH08TD
wrslw1: clr A
movc A,@A+DPTR
jz wrslw2
movx @R0,A
call wtbusy
inc DPTR
dec A
jnz wtsec
ret
;;****************************************************
; chuong trinh con doi tong so ms co trong con tro DPTR
wtms: xrl DPL,#0FFh ;không th? s? d?ng l?nh DEC DPTR, do dó
vòng l?p s? d?ng 2 l?p l?p tang
xrl DPH,#0FFh ;and incrementing instead.
inc DPTR
wtms1: mov TL0,#low(-1200) ;100 xung = 1ms ? t?n s? th?ch anh
1.2MHz
mov TH0,#high(-1200)
mov TMOD,#1 ;Timer 0 mode 1
setb TCON.4 ;Timer 0 runs
wtms2: jnb TCON.5,wtms2
clr TCON.4 ;Timer 0 stops
clr TCON.5
inc DPTR
mov A,DPL
orl A,DPH
jnz wtms1
ret
;;;;*****************************************************
*
delaylc:
call wrslow
mov A,#LCD_SETDDADDR+64
call wrcmd
ret
;;;;******************************************************