Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (596.22 KB, 53 trang )
14
cung cấp một bảng tiện dụng của những lệnh số học 8 bit gồm cả lệnh
nhân và lệnh chia.
AT89S52 là một vi điều khiển CMOS 8 bit hiệu năng cao, cơng suất
thấp với :
+ 8Kbyte EPROM có thể xóa và lập trình nhanh lên đến 10000
chu kỳ ghi/xóa.
+ 256 bytes RAM
+ Tần số hoạt động 0 Hz đến 33 Mhz
+ Sử dụng nguồn DC 4.0V – 5.5V
+ 3 bộ Timer/Couter 16 bit
+ 32 cổng vào ra….
AT89S52 có tất cả 40 chân. Trong số 40 chân có 32 chân dành cho 4
cổng P0, P1, P2 và P3, mỗi cổng có 8 chân. Các chân còn lại dành cho
nguồn Vcc,đất GND, các chân dao động XTAL1, XTAL2, RST khởi
động lại, cho phép chốt địa chỉ ALE, truy cập được địa chỉ ngoài EA,
cho phép cất chương trình PSEN.
AT89S52 được nâng cấp và phát triển dựa trên nền tảng của các vi
điều khiển trước đó( 89C51,89C52,89S51…) nên mọi câu lệnh,
chương trình chạy được trên các vi điều khiển trước cũng sẽ chạy được
trên 89S52. Ngồi ra các dòng 89S của Atmel có thêm một timer 2 và
khả năng nạp chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi.
( các chân sử dụng nạp chương trình MOSI, MISO, SCK, RST)
b. Màn hình LCD 16x2
15
Mơ tả chân của LCD
Chân số
1
2
3
4
Ký hiệu
VSS
VCC
VEE
RS
I/O
I
5
R/W
I
6
7
8
9
10
11
12
13
14
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
Chức năng
Đất ( GND)
Nguồn cung cấp (+5v)
Nguồn điều khiển tương phản
RS= 0: chọn thanh ghi lệnh
RS=1: chọn thanh ghi dữ liệu
R/W =0 : ghi dữ liệu vào LCD
R/W =1đọc từ LCD module
Tín hiệu cho phép
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Bus dữ liệu 8 bit
Mã lệnh LCD
16
Mã(Hexa)
1
2
4
6
5
7
8
A
C
E
F
10
14
18
1C
80
C0
38
Lệnh đến thanh ghi của LCD
Xóa màn hình hiển thị
Trở về đầu dòng
Giả con trỏ ( dịch con trỏ sang trái)
Tăng con trỏ (dịch con trỏ sang phải)
Dịch hiển thị sang phải
Dịch hiển thị sang trái
Tắt con trỏ, tắt hiển thị
Tắt hiển thị, bật con trỏ
Bật hiển thị, tắt con trỏ
Bật hiển thị ,nhấp nháy con trỏ
Tắt con trỏ, nhấp nháy con trỏ
Dịch vị trí con trỏ sang trái
Dịch vị trí con trỏ sang phải
Dịch toàn bộ hiển thị sang trái
Dịch toàn bộ hiển thị sang phải
Đưa con trỏ về đầu dòng thứ nhất
Đưa con trỏ về đầu dòng thứ hai
Hai dòng và ma trận 5 *7
c. Mạch tạo dao động
Gồm 1 thạch anh 12Mhz, 2 tụ C1 và C2 như nhau và có giá trị điện
dung 22pF. Sơ đồ ghép nối với AT89S52 như hình vẽ
d. Mạch RESET
Gồm 1 tụ C1 có giá trị 10uF, 1 điện trở R có giá trị 10K, và một nút
bấm.
17
2. Thiết kế phần cứng
a. Sơ đồ khối
Chức năng của từng khối :
- Khối nguồn : cung cấp nguồn DC 5V cho toàn bộ hệ thống hoạt
động
- Khối xử lý trung tâm : sử dụng chip AT89S52
Xử lý mọi cơng việc của hệ thống, đọc tín hiệu từ khối Reset, bàn
phím, đưa dữ liệu ra khối hiển thị.
Lưu trữ dữ liệu của hệ thống.
- Khối tạo dao động : tạo dao động cho IC AT89S52 hoạt động
18
- Khối Reset : Reset lại hệ thống về trạng thái ban đầu
- Khối bàn phím : thay đổi dữ liệu
- Khối hiển thị: hiện thị dữ liệu
b. Xây dựng phần mềm (chương trình nguồn)
Chương trình nguồn được viết bằng ngơn ngữ Assembly, là chương
trình điều khiển hoạt động của IC AT89S52.
Chương trình chi tiết được in cuối phục lục
c. Thiết kế và hiện thực hóa phần cứng
Sử dụng phần mềm Altium Designer để thiết kế phần cứng gồm có :
+ Thiết kế sơ đồ nguyên lý
+ Thiết kế mạch in
+ Dựng mơ hình 3D mạch thực trên máy tính
Sơ đồ nguyên lý :
19
Tác dụng và nguyên lý hoạt động của các khối trong sơ đồ nguyên lý:
+ Khối nguồn (POWER DC 5V) : Cung cấp nguồn một chiều 5V
cho toàn bộ mạch hoạt động.
+ Khối tạo dao động (DAO ĐỘNG 12 MHz) : tạo dao động có tần
số 12MHz đưa đến IC
+ Khối RESET ( RESET ) : Reset lại toàn bộ mạch trở về trạng thái
ban đầu. AT89S52 được reset bằng cách giữ chân RST ở mức cao
tối thiểu là 2 chu kỳ máy, khi mạch RESET được cấp nguồn, tụ
hóa 10uF được nạp và xả qua điện trở 10k xuống đất nên chân
RST của IC vẫn giữ mức thấp, khi nhấn phím RESET chân RST
đưa lên mức cao và IC được reset về trạng thái ban đầu.
+ Khối bàn phím ( PHÍM NHẤN ): thay đổi thời gian.
Các phím được nối với các chân tương ứng của IC chân 13 đến
chân 17. Bình thường các chân này đều ở mức tích cực cao, khi
được đưa xuống mức tích cực thấp thơng qua phím bấm thì sẽ
thực hiện chức năng như trong chương trình nguồn đã lập trình.
+ Khối xử lý trung tâm(VI ĐIỀU KHIỂN) : sử dụng vi điều khiển
AT89S52 điều khiển mọi hoạt động của mạch. Khi được cấp
nguồn IC sẽ hoạt động, nhận tín hiệu điều khiển từ khối bàn
phím, điều khiển hoạt động của LCD và đưa dữ liệu lên hiển thị
trên LCD qua cổng P0.
+ Khối hiển thị( LCD 16x2 ): hiển thị dữ liệu từ AT89S52 gửi đến.
20
Sơ đồ mạch in:
21
Cách sử dụng mạch thực tế:
Sau khi cấp nguồn, mạch sẽ hoạt động, sử dụng 5 phím nhấn
SELECT/NEXT, BACK, OK, UP, DOWN để thay đổi các giá trị
thời gian theo ý mình mong muốn.
Khi mạch đang hoạt động bình thường nếu phím SELECT/NEXT
chưa được nhấn thì các phím còn lại khơng có tác dụng khi nhấn.
Để bắt đầu quá trình thay đổi thời gian ta thực hiện như sau:
- Nhấn phím SLECT/NEXT khi đó sẽ vào chương trình thay đổi thời
gian, màn hình LCD ban đầu sẽ hiển thị giờ, phút, giây và giá trị giờ
sẽ nhấp nháy, nghĩa là giá trị giờ đang được chọn để thay đổi. Nhấn
phím UP để tăng giờ và phím DOWN để giảm giờ đi một đơn vị.
Nếu nhấn giữ phím UP hoặc DOWN thì giá trị tăng giảm nhanh
hơn.
Để thay đổi phút ta nhấn phím SLECT/NEXT một lần nữa lúc này
giá trị phút trên màn hình LCD sẽ nhấp nháy và ta cũng sử dụng 2
phím UP và DOWN để tăng hoặc giảm phút…
Muốn quay lại thay đổi giá trị giờ thì ta nhấn phím BACK khi này
giá trị giờ sẽ được chọn và nhấp nháy.
Cứ như vậy khi ta nhấn phím SELECT/NEXT thì từng giá trị được
chọn để thay đổi sẽ nhấp nháy và phím BACK để quay lại giá trị
được chọn lúc trước.
Sau khi hồn thành việc thay đổi thời gian, nhấn phím OK để xác
nhận kết thúc quá trình thay đổi thời gian.
3. Kết quả trên mạch mô phỏng và mạch thực tế
a. Kết quả mơ phỏng trên máy tính
Sử dụng phần mềm Protus để mơ phỏng:
22
Q trình mơ phỏng trên Protus đều đúng với lý thuyết, đảm bảo về
mặt thời gian và chức năng của đề tài yêu cầu.
b. Kết quả trên mạch thực tế
Mạch hoạt động ổn định đảm bảo đúng về lý thuyết, thời gian và
chức năng của đề tài yêu cầu.
c. So sánh giữa mô phỏng và thực tế
Mạch mô phỏng và mạch thực tế hoạt đông tương đối chính xác.
Mạch thực tế hoạt động đúng, chuẩn với thời gian thực, còn mạch mơ
phỏng hoạt động ổn định nhưng xử lý chậm hơn thời gian thực tế.
Sử dụng máy mơ phỏng Oscilloscope trong protus để kiểm tra q
trình tạo thời gian 1s trên mạch mô phỏng, kết quả cho ra thời gian tạo
được 1s tương đối chính xác. Như vậy có thể nói mạch thực tế và mơ
phỏng hoạt động không sai, nhưng do phần mềm nên mạch mô phỏng
hoạt động chậm hơn so với thời gian thực tế.
23
d. Ưu nhược điểm của thiết kế và hướng đi của đề tài
- Ưu điểm :
Đơn giản, dễ thực hiện, dễ sử dụng cũng như sửa chữa và
thay thế linh kiện.
- Nhược điểm :
Không giữ được thời gian thực khi cắt nguồn DC 5V.
- Hướng đi của đề tài:
Phát triển lên thành những ứng dụng liên quan đến thời gian
như : đồng hồ bấm giây, đồng hồ đếm ngược, đồng hồ hẹn giờ, lịch
van niên, âm lịch . . .
CHƯƠNG III: KẾT LUẬN
Qua đồ án môn học đã giúp chúng em nâng cao được về kỹ năng lập trình,
thiết kế, trình bày báo cáo, làm, sửa chữa và kiểm tra những vấn đề cơ bản trên
24
mạch thực tế. Cơ bản sử dụng thành thạo các phần mềm liên quan đến đề tài cần
sử dụng như :
-
Phần mềm viết chương trình nguồn : Notepad++
Phần mềm biên dịch chương trình : Keil uVision4
Phần mềm mô phỏng
: Protus
Phần mềm thiết kế phần cứng
: Altium Designer
Đối với đề tài : chúng em đã xây dựng được lưu đồ thuật tốn, chương trình
nguồn, hiển thị đồng hồ số lên màn hình LCD theo đúng yêu cầu của đề tài.
Bên cạnh những việc đã làm được thì vẫn còn một vài việc chưa làm cho đề tài
được tối ưu như : Khi mạch hoạt động bình thường, nếu ngắt nguồn DC 5V ra
khỏi mạch thì mạch khơng giữ được thời gian thực đang chạy.
Hướng phát triển tiếp theo của đề tài :
- Giải quyết vấn đề đang còn tồn tại.
- Xây dựng các ứng dụng có liên quan đến thời gian, có thể ứng dụng
được trong thực tế.
Phục lục
Chương trình nguồn:
;==================== PROGRAM ===========================
;============= KHAI BAO CAC CHAN TIN HIEU ===============
RS
EQU
P2.0 ; CHAN DK LCD
RW
EQU
P2.2 ; CHAN DK LCD
EN
EQU
P2.4 ; CHAN DK LCD
DATABUS
EQU
P0
; CHAN DL LCD
SELECT
EQU
P3.3 ; KICH HOAT NGAT NGOAI