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 )
3
3. Chức năng, nhiệm vụ của các khối trong lưu đồ
a. Khối khai báo các biến, định nghĩa cổng sử dụng trên ic
Ở khối này, ta sẽ khai báo các cổng (chân) được sử dụng trên Onchip(AT89S52), cổng điều khiển hoạt động của LCD, cổng gửi dữ liệu,
lệnh cho LCD thực thi. Ngồi ra còn khai báo một số biến sử dụng
trong chương trình nguồn.
b. Khối khởi tạo LCD, ngắt ngoài, ngắt Timer 0, các giá trị ban đầu cho
thời gian
- Khởi tạo LCD : khởi tạo cho LCD cho LCD hoạt động
- Khởi tạo ngắt ngoài: cho phép ngắt ngoài hoạt động, sử dụng ngắt
ngoài để tăng giá trị biến DEM_S
Kích hoạt ngắt ngồi bằng cách nhấn phím SELECT
- Khởi tạo ngắt Timer 0: chọn chế độ và nạp giá trị cho TH0,TL0.
Sau 20 lần vào ngắt Timer0 tăng biến lưu giá trị giây thêm 1.
- Khởi tạo các giá trị ban đầu cho thời gian : khởi tạo các giá trị thời
gian ban đầu
c. Khối hiển thị thời gian lên LCD và khởi động Timer 0
- Hiển thị các giá tri thời gian ban đầu đã khởi tạo lên LCD [(g)]
- Khởi động ngắt Timer 0 : Timer 0 bắt đầu hoạt động
d. Khối kiểm tra DEM_S
4
Nếu DEM_S khác 0 thì chuyển đến khối thay đổi thời gian, nếu
DEM_S bằng 0 chuyển đến khối kiểm tra thời gian
e. Khối thay đổi thời gian
- Do chương trình sử dụng ngắt ngoài nên sau khi khởi tạo ngắt ngoài
và cho phép ngắt ngồi hoạt động, thì bất cứ khi nào nhấn SELECT
chương trình dừng mọi cơng việc và vào thực hiện cơng việc trong
ngắt ngồi. Sau khi thực hiện xong công việc trong ngắt sẽ tự động
trở về thực hiện tiếp công việc đang làm.
- Nếu DEM_S khác 0 ta sẽ kiểm tra xem phím BACK có được nhấn
khơng:
5
+ Nếu phím BACK được nhấn : giảm DEM_S đi 1 đơn vị,
sau đó kiểm tra phím OK
+ Nếu BACK khơng được nhấn : đi đến kiểm tra phím OK
+ Nếu phím OK được nhấn : gán DEM_S=0 sau đó thốt khỏi
chương trình thay đổi thời gian và đi đến khối kiểm tra thời
gian
+Nếu OK không được nhấn : đi đến kiểm tra DEM_S (khối
kiểm tra DEM_S )
- Khối kiểm tra DEM_S
Ứng với mỗi giá trị của DEM_S ta sẽ chọn thay đổi từng giá trị thời
gian tương ứng.
Sau khi thực hiện thay đổi, quay trở lại kiểm tra xem phím BACK
có được nhấn hay khơng( thốt khỏi kiểm tra DEM_S).
6
- Các khối thay đổi thời gian (giờ, phút, giây, thứ . . .)
7
- Sau khi chọn được giá trị thời gian cần thay đổi, ta sẽ kiểm tra phím
UP có được nhấn hay khơng:
+ Nếu UP được nhấn thì giá trị cần thay đổi tăng thêm 1 đơn
vị
+ Nếu UP không được nhấn thì chuyển qua kiểm tra phím
DOWN
+ Nếu DOWN được nhấn thì giảm giá trị cần thay đổi đi 1
đơn vị
+ Nếu DOWN khơng được nhấn thì quay lại khối kiểm phím
BACK
8
f. Khối kiểm tra thời gian
9
10
- Khối kiểm tra thứ, ngày, tháng
11
g. Khối hiển thị thời gian lên LCD
12
13
CHƯƠNG II: HIỆN THỰC HÓA ĐỀ TÀI
1. Giới thiệu chung về phần cứng
Các phần cứng sử dụng :
- VĐK AT89S52
- Màn hình LCD 16x2
- Khối tạo dao động thạch anh 12Mhz
- Các phím bấm
- Điện trở, tụ điện
a. Vi điều khiển AT89S52
AT89S52 là họ IC vi điều khiển do hãng Atmel sản xuất. Các sản
phẩm AT89S52 thích hợp cho những ứng dụng điều khiển. Việc xử lý
trên byte và các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện
bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội. Tập lệnh