Tải bản đầy đủ (.pdf) (9 trang)

Tư liệu nghiên cứu mạch đếm sản phẩm trong thiết kế mạch đếm điện tử dùng vi điều khiển mạch báo p6 pot

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 (171.16 KB, 9 trang )


Luận văn tốt nghiệp Trang 16
GVHD Nguyễn Việt Hùng
CHƯƠNG II. CHƯƠNG TRÌNH ĐIỀU KHIỂN

A. THUẬT GIẢI
I. Chương trình chính:
Để các thiết bò hoạt động được đầu tiên phải khởi động các thiết bò ngoại vi, khởi
động Timer cho phép ngắt. Sau đó gọi chương trình nhập số hộp, nhập số sản phẩm.
Nếu đồng ý số đếm đã nhập vào thì cho phép băng chuyền hoạt động (đóng role BC).
Đọc dữ liệu từ cảm biến (đầu dò). Nếu có sản phẩm đi qua thì gọi chương trình đếm.
Nếu đủ sản phẩm một hộp thì gọi role đóng hộp đồng thời gọi chương trình đếm hộp
Nếu đủ số hộp thì băng chuyền ngưng hoạt động và chờ cho ca tiếp theo. Khi đã hoàn
thành 9 ca sản phẩm thì quay lại làm từ ca 1.



Luận văn tốt nghiệp Trang 17
GVHD Nguyễn Việt Hùng















































-
Nạp giá trò đầu #00H vào các ô nhớ

Ca: =Ca + 1

Ca: = 0

- Gọi chương trình con nhập hộp
- Gọi chương trình con nhập sản phẩm
- Cho phép băng truyền hoạt động
Đủ SP

Ro
-
le đóng hộp, đếm hộp (RL

ĐH)

Gọi chương trình con đầu dò (DAUDO)


Đếm sản phẩm

S

-
Gọi chương trình con dò phím (IN


HEX)

Đủ hộp

Phím E

Ca = 9

S

- Cho phép băng chuyền ngưng hoạt động
- Gọi chương trình lưu số hộp, số sản phẩm
-
Gọi chương trình xem số liệu lưu bất kì ca n
ào

S

S

Lưu đ
ồ thuật giải chương trình chính


Luận văn tốt nghiệp Trang 18
GVHD Nguyễn Việt Hùng

II. CÁC CHƯƠNG TRÌNH CON:
1. Chương trình con khởi động ngoại vi:

8255 chỉ hoạt động khi nạp cho nó từ điều khiển vì vậy để giao tiếp với các thiết
bò ngoại vi cần khởi động cho các ô nhớ của 8255
































Ret
Nạp giá trò ban đầu để mở role đóng hộp

Nạp giá trò ban đầu xóa 8 led
7 đoạn

Khởi động 8255 - 2
Nạp giá trò ban đầu cho ngõ
dự phòng

Nạp giá trò ban đầu cho role
băng truyền

Khởi động
8255
-
1

Nạp giá trò ban đầu để chọn
led sáng

Bắt đầu


Luận văn tốt nghiệp Trang 19
GVHD Nguyễn Việt Hùng
2. Chương trình ngắt hiển thò:

Trong chương trình ngắt, thời gian ngắt được xác đònh bằng cờ tràn timer. Như
vậy cứ sau 250 s các led lại được quét. Với thời gian ngắt nhỏ, dữ liệu ra khó có thể
quan sát được vì vậy delay sau mỗi lần hiển thò bằng việc giảm thanh ghi R2. Khi R2 =
0 cho phép xuất dữ liệu ra hiển thò. Các Led sẽ được quét liên tục từ Led 77đến Led 70,
với dữ liệu xuất ra hiển thò từ ô nhớ 77H đến ô nhớ 70H.
Lưu đồ thuật giải như sau:





































Cho
phép ngắt

Đ


R1 = # 69H

R2 = 0
R2
-
1

TỐC ĐỘ 1  R2
Chọn led hiển thò
Xuất dữ liệu ra led
R1 - 1



R1

# 77H

Thoát 1
Ret

S

Bắt
đầu


S


Đ


Luận văn tốt nghiệp Trang 20
GVHD Nguyễn Việt Hùng
3. Chương trình con nhấn số
Chương trình này cho phép nhập số thập phân. Nếu phím nhấn từ 0 đến 9 thì nhận
số còn phím từ A đến F thì xóa số. Số nhận thì bit 7D = [0], 7E = [0]. Sau khi nhập số
liệu xong nếu thấy qua led hiển thò đúng số liệu đã nhập vào thì nhấn phím A tức là đặt
bit YES = 1 (7E = 1) để kết thúc quá trình nhập số liệu. Còn đang nhập nếu muốn bỏ số
liệu vừa nhập vào thì nhấn phím phím B tức là đặt bit NO = 1 (7D = 1). Khi nhập xong
số sản phẩm và số hộp thông qua chương trình con nhấn số này thì nhấn phím C tức là
cho phép sản phẩm từ lúc này đi qua đầu dò và bắt đầu đếm.





































Bắt
đầu

C = 1
A = # 0AH
S

Xóa bit YES
Xoá bit NO
Gọi chương trình dò phím
Đ

Đặt bit YES
Xóa A
A = # 0BH
Đặt bit
NO

Xóa cờ C
A - # 0AH
RET

Đ

S


Đ

S


Luận văn tốt nghiệp Trang 21
GVHD Nguyễn Việt Hùng
4. Chương trình tăng 1:
Cứ có một sản phẩm đi qua đầu dò (chú ý ngõ ra chân 8 của IC567 từ nức logic 0 lên
mức 1 sau đó được đưa qua cổng đảo nên ngõ ra là mức logic 0) được đưa vào bit 0 của
port B1 sẽ làm thay đổi mức logic từ 1 xuống 0 thì ô nhớ dùng cho việc đếm sản phẩm
sẽ được tăng lên một đơn vò thông qua việc gọi chương trình con tăng 1, và khi đủ số
sản phẩm thì ô nhớ dùng cho việc đếm số hộp cũng được tăng lên một đơn vò thông qua
chương trình con tăng 1, và cứ mỗi lần như vậy sự thay đổi số liệu trong các ô nhớ
được đẩy liên tục ra led để hiển thò. Vì đếm sản phẩm đến tối đa là 999 và đếm số hộp
tối đa là 9999 nên phải sử dụng 2 byte để đếm sản phẩm từ hàng đơn vò đến hàng chục
sử dụng byte thấp, còn hàng trăm và hàng ngàn sử dụng byte cao. Nên khi so sánh số
liệu đang đếm với số liệu đã lưu ban đầu xem đã bằng chưa thì phải so sánh lần lượt
byte cao trước tức là hàng ngàn, hàng trăm sau đó tới byte thấp tức là hàng chục hàng
đơn vò.
























5. Chương trình con kiểm tra phím ấn: IN – HEX
Nếu như có phím được ấn thì bit C = 0. Vì có khoảng thời gian nhấn phím nên gọi
chương trình dò tìm mã phím ấn 50 lần bằng việc nạp 50 vào R3 và giảm R3. Khi R3 =
0 thì cất mã phím vào ngăn xếp. Trong lúc đợi phím được nhả ra gọi chương trình dò
tìm mã phím ấn 50 lần để xem phím có còn được nhấn nữa hay không. Khi R3 = 0 thì
lấy mã phím trao cho thanh ghi A.
RET

Xóa cờ tràn phụ AC
Xóa cờ tràn C

A

A +1

Hiệu chỉnh thập phân thanh ghi

A

Bắt đầu


Luận văn tốt nghiệp Trang 22
GVHD Nguyễn Việt Hùng












































Bắt đầu

RET


Không có phím ấn

#50

(R3)


#50

(R3)

#50

(R3)
Gọi CT dò mã
phím

C= 0

S

Đ

R3 - 1
Có phím ấn

Cất ACC

R3= 0

Đ

Gọi CT dò
mã phím

C = 1


S

S

R3 - 1
R3= 0

Đ
Lấy ACC

Lưu đồ
thuật giải kiểm tra phím ấn

S

Đ


Luận văn tốt nghiệp Trang 23
GVHD Nguyễn Việt Hùng

6. Chương trình dò mã phím ấn:
8051 luôn đọc dữ liệu từ Port 1 để dò tìm mã phím. Khi có một phím được ấn thì
cờ C = 1 và mã của phím ấn được lưu tạm thời vào thanh ghi R6. Sau đó tăng dần R6
lên 4 đơn vò để dò mã phím tiếp theo, (mã phím ) (A)








































Đ

R6 =0

#FE  A
# 4

R6

A  R7
#4  A
XÓA C
A –R6
A  R6
R7

A

R7  A
Xoay A
R6
-
1

Bắt đầu


A  R7
A  P1
Đọc port 1
A AND #0F0H

XOAY A

Xoay phải A qua
C


A = #
R6 + 4
R5
-
1

Đặt cờ c
R6

A

Đ
S

C
= 0

Đ (3)


S

S

(3)

Đ
(3)

R5 = 0

S

RET


Luận văn tốt nghiệp Trang 24
GVHD Nguyễn Việt Hùng
7. Chương trình đầu dò:
8051 luôn luôn đọc dữ liệu từ đầu dò (Port B4) nên nội dung thanh ghi A bằng
nội dung ô nhớ 4001H. Cứ mỗi sản phẩm đi tới cảm biến, cảm biến sẽ tạo ra mức logic
điện áp cao 5 volt, lúc đó Port B.0 = 1 = ACC.0 . Vì có khoảng thời gian sản phẩm đi
qua nên mức logic điện áp phải tồn tại ít nhất khoảng 100s do đó phải liên tục kiểm
tra dữ liệu từ đầu dò. Khi mức logic điện áp chuyển từ 1 xuống 0 (tương ứng với 1 sản
phẩm đã đi qua cảm biến). thì phải có khoảng thời gian ít nhất để chờ sản phẩm tiếp
theo đi tới nên mức logic thấp cũng phải tồn tại ít nhất 100s. Dò mức điện áp trong
khoảng thời gian 100 s bằng cách nạp 100 vào R3, giảm R3, khi R3  0 vẫn tiếp tục
dò mức. Lưu đồ thuật giải dò mức điện áp như sau:



































Bắt đầu

DPTR  # CẢM
BIẾN

A

@DPTR


S
Đ
ACC. 0 =1
R3 = 0

R3
-
1

Đ


S
R3

#100

A


@DPTR (đọc port B1)

ACC.0 = 0

Đ
S

S

R3
-
1

RET
R3 = 0

Đ

×