Chương trình Blank: xóa số 0 không có nghĩa Chương trình này có ý nghĩa như sau: khi số sản phẩm hay số hộp chỉ tới hàng đơn vị, chục, trăm thì những số 0 đứng trước nó không có nghĩa bị
Trang 18 Chương trình Blank: xóa số 0 không có nghĩa
Chương trình này có ý nghĩa như sau: khi số sản phẩm hay số hộp chỉ tới hàng đơn
vị, chục, trăm thì những số 0 đứng trước nó không có nghĩa bị loại bỏ (không sáng ) và các ô nhớ có nghĩa được lưu (lần lượt từ hàng đơn vị hàng ngàn) vào các ô nhớ từ 70H 77H Loại bỏ bằng cách so sánh giá trị lớn nhất hàng ngàn với số 0 nếu đúng là
0 thì xóa led hiển thị hàng ngàn, tiếp tục so sánh xem ô nhớ hàng trăm với số 0 nếu đúng là 0 thì xóa led hiển thị hàng trăm, tương tự cho hàng chục, còn ô nhớ hàng đơn vị giá trị bằng bao nhiêu thì led hàng đơn vị cũng hiển thị
Baté đầu
A DEMHOP H LED 70 NGAN LED 71 TRAM
A DEMHOP L LED 72 CHUC LED 73 DONVI
A DEM_ SPL LED 76 CHUC LED 77 DONVI
A DEM_SP H LED 75 TRAM
A LED 70
( 1 )
Trang 2( 1)
Xóa LED 72
A LED 75
Đ
Xóa LED 70
A LED 71
Xóa LED 71
A LED 72
A =
Đ
Xóa LED 75
A LED 76
A =
Đ
S
Xóa LED 76
RET
A
Đ
Chương trình blank
Trang 39 Chương trình nhập hộp:
Chương trình cho phép nhập các số từ 1 đến 9999 Nếu số được nhấn từ A đến F thì yêu cầu nhập lại Khi số được nhấn lưu vào thanh ghi A từ 1 đến 9: nếu chấp nhận số thì các bit 7D, 7E = 0 và khi bit 7D = 1 thì yêu cầu nhập lại hộp, bit 7E = 1, thì thoát khỏi chương trình Các giá trị được nhập này được lưu vào các ô nhớ từ (74H) đến (77H) và 7C (LƯUHOPL:lưu hộp byte thấp), 7D (LƯUHOPH: lưu hộp byte cao) Nếu đồng ý với số đã nhập thì nhấn A ngược lại là B (xóa số đã nhập)
S (2)
Bắt đầu
A = 0
BIT 7D = 1
HIỂN THỊ “nhập 0”
LƯU HOP L # 00H LƯU HOP H # 00H Gọi nhấn số thứ nhất
A ĐƠN VỊ ĐƠN VỊ LƯU HOP L Gọi nhấn số thứ 2
BIT 7E = 1
BIT 7D = 1
Đ RET
(1)
Trang 4ĐƠN VỊ CHỤC
A ĐƠN VỊ CHỤC + ĐƠN VỊ LƯU HOP L
Gọi nhấn số thứ 3 (2)
BIT 7E = 1
Đ
S
Đ
BIT 7E = 1
S
TRĂM NGÀN CHỤC TRĂM ĐƠN VỊ CHỤC
A ĐƠN VỊ CHỤC, ĐƠN VỊ LƯU HOP L NGÀN,TRĂM LƯU HOPH
RET
A = # 0AH
S
S
A = # 0BH Đ
Gọi chương trình
BIT 7D = 1
S CHỤC TRĂM ĐƠN VỊ CHỤC
A ĐƠN VỊ CHỤC + ĐƠN VỊ LƯU HOP L LƯU HOPH TRĂM Gọi nhấn số thứ 4
BIT 7D = 1
Đ (1)
S
Trang 510 Chương trình nhập sản phẩm:
Chương trình cho phép nhập các số từ 1 đến 999 Số chỉ được nhập khi các bit 7D, 7E = 0 và khi bit 7D = 1 thì yêu cầu nhập lại Các giá trị được nhập này được lưu vào các ô nhớ từ (74H) đến (77H) và 7C (LƯUSPL: lưu sản phẩm byte thấp), 7D (LƯUSPH: lưu sản hpẩm byte cao) Nếu đồng ý với số đã nhập thì nhấn A ngược lại là
B (xóa số đã nhập)
S
S
Hiển thị “Nhập O 0”
LƯU – SPL # 00H LƯU – SPH # 00H Gọi nhấn số thứ nhất
BIT 7D = 1 Đ
ĐƠN VỊ A LƯU – SPL ĐƠNVỊ Gọi nhấn số thứ 2
Đ
BIT 7E = 1
Đ
S
BIT 7D = 1
CHỤC ĐƠN VỊ ĐƠN VỊ A LƯU – SPL CHỤC,ĐƠNVỊ Gọi nhấn số thứ 3 (2)
(3)
S
Trang 6(2)
Đ
S
BIT 7E = 1
BIT 7D = 1
TRĂM CHỤC CHỤC ĐƠN VỊ ĐƠN VỊ A LƯU – SPL CHỤC,ĐƠNVỊ LƯU – SPH TRĂM
Gọi chương trình dò phím
Đ
S
RET
Đ
S
(1)
(3)
Chương trình con nhập sản phẩm
Trang 711 Chương trình delay:
Để khống chế thời gian delay nạp giá trị ban đầu cho timer Set cho timer chạy Khi timer đếm bằng thời gian nạp thì cờ báo tràn được set lên [1] Muốn thời gian delay lớn nạp giá trị cho R4, giảm R4 sau mỗi lần tràn timer Như thế thời gian delay sẽ là:
t = (R4) x count0 Khi R4 = 0 là hết thời gian delay
Bắt đầu
TH0 # HIGHT COUNT0 TL0 # LOW COUNT0
TR0 = 1
COUNT 0
Xóa cờ tràn R4 - 1
Chạy timer
S
Đ
R4 = 0
Đ
S
Ret
(FFFF 0000)
Trang 812 Chương trình con lưu số sản phẩm số hộp trong mỗi ca sản xuất:
Chương trình này lưu kết quả của mỗi ca sản xuất Số hộp, số sản phẩm được lưu vào các ô nhớ từ 30H 53H Xét nội dung ô nhớ 2EH, nếu nội dung ô nhớ 2EH = 1 và sau khi đếm xong và băng chuyền báo hiệu ngưng đếm thì nội dung ô nhớ 2EH trao cho thanh ghi A và lưu kết quả vào ca 1 Nếu ca sau cho phép hoạt động thì nội dung ô nhớ 2EH tăng lên 1 và tương tự đươc lưu vào ca tương ứng ( ca = ca trước + 1)
13 Chương trình con cho phép xem số liệu của ca sản xuất:
Chương trình này xem kết quả của mỗi ca sản xuất, cụ thể là xem nội dung số hộp số sản phẩm trong mỗi ca sản xuất Ở đề tài này chúng em chỉ viết chương trình xem tối
đa là 9 ca Tức là khi muốn kiểm tra ca nào thì nhập cụ thể ca đó là ca thứ mấy thông qua bàn phím bằng cách nhấn một số Trước đó số hộp, số sản phẩm được lưu vào các
ô nhớ từ 30H 53H Khi ro-le băng chuyền đã ngưng hoạt động sau một ca nào đó nếu tiếp tục muốn nhập số liệu vào để đếm cho ca tiếp theo thì nhấn một phím bất kỳ khác phím E Còn nếu nhấn phím E tức là cho phép xem số liệu của các ca, chỉ cần nhấn phím có loại trừ phím chức năng thì mã phím nhấn đó được lưu vào thanh ghi A Nếu A bằng mấy thì sẽ đưa nội dung ô nhớ lưu số liệu ca đó ra bộ phận hiển thị Và nếu muốn xem tiếp ca nào nữa thì cứ nhấn phím cho phép xem E rồi nhập số liệu vào Còn khi muốn lưu số ca nhiều hơn nữa như tối đa là từ 0 99 hay từ 0 999 hay từ 0
999 thì tương tự như trên chỉ khác là khi nhập số liệu vào thì gọi nhấn tối đa 2 số , 3số, hay 4 số thì chương trình nhập số lại giống như trong chương trình con nhập số sản phẩm và số hộp, và nhiều ca được lưu thì số ô nhớ cũng phải được tăng theo
Số sản phẩm, hộp của các
ca được lưu vào ô nhớ
Đưa số liệu của các ca trong ô nhớ ra hiển thị
Trang 9
A 2EH
A =#01H
A =#02H
A =#03H
A =#04H
A =#05H
30H LUUHOPL 31H LUUHOPH 32H LUU_SPL 33H LUU_SPH
34H LUUHOPL 35H LUUHOPH 36H LUU_SPL 37H LUU_SPH
38H LUUHOPL 39H LUUHOPH 3AH LUU_SPL 3BH LUU_SPH
3CH LUUHOPL 3DH LUUHOPH 3EH LUU_SPL 3FH LUU_SPH
40H LUUHOPL 41H LUUHOPH 42H LUU_SPL 43H LUU_SPH
( 1 )
Ñ
( 2 )
S
Ñ
S
Ñ
S
S
Ñ
S
Ñ
LÖU: