Hiện nay, cùng với sự tăng trưởng mạnh mẽ của nền kinh tế quốc gia kéo theo nhu cầu về đô thị hóa tăng cao, các dự án đầu tư lớn về cơ sở hạ tầng, khu đô thị mới, chung cư cao cấp, trung tâm thương mại được xây dựng ngày càng nhiều. Do vậy, nhu cầu tiêu thụ thang máy sẽ tăng lên rất nhanh trong những năm tới.
Để đáp ứng nhu cầu thị trường, vấn đề đặt ra là cần phải tăng cường năng lực thiết kế lắp đặt các hệ thống thang máy.
Theo dự báo nhu cầu sử dụng thang máy sẽ tăng lên khi các tòa nhà cao tầng mọc lên ngày càng nhiều theo sự phát triển của nền kinh tế nước ta.
Nhìn chung các hãng trên thế giới sản xuất thang máy đều có các chỉ tiêu kỹ thuật về cơ khí như: Kết cấu cơ khí thang máy phải đảm bảo vững chắc; Hệ thống cơ khí phải đảm bảo thang máy chuyển động êm, an toàn; Thang máy được lựa chọn là loại có hệ thống tời kéo phía trên hố thang; Hệ thống chân đế phải được thiết kế an toàn nhất; Kết cấu ca bin, khung cửa phải được làm bằng vật liệu có chất lượng cao; Số điểm dừng lấy theo số tầng cần phục vụ; Loại thang thường dùng là loại có cửa lùa mở từ giữa về hai phía; Hệ thống ray dẫn hướng cho ca bin và đối trọng phải là loại ray đặc chủng; Hệ thống đối trọng dùng gang đúc có tỉ trọng cao; Hệ thống cáp kéo phải đảm bảo hệ số an toàn; Có hệ thống giảm chấn phù hợp với ca bin và đối trọng đặt ở dưới đáy giếng thang. Trên cơ sở đó, thang máy được vận hành theo nguyên lý vào/ra và di chuyển: Tại mỗi cửa tầng đều bố trí các nút gọi thang máy. Khi nhận lệnh gọi của hành khách, thang máy sẽ di chuyển đến từng tầng có lệnh gọi theo một thứ tự nhất định và mở cửa buồng thang máy để hành khách bước vào. Thang máy sẽ tự động di chuyển tới tầng đã chọn đồng thời hiển thị vị trí hiện thời của buồng thang. Trong quá trình di chuyển nếu nhận được tín hiệu gọi của tầng tiếp theo thì thang máy sẽ tự động dừng lại ở tầng đó đón hành khách mới rồi mới tiếp tục di chuyển tiếp. Trong quá trình đi lên, thang máy sẽ không nhận lệnh gọi của các tầng thấp hơn vị trí hiện thời và ngược lại.
Khi di chuyển đến tầng hành khách đã chọn thì thang máy sẽ tự động giảm tốc độ từ từ và dừng hẳn khi đến đúng cửa tầng. Lúc này cửa thang máy sẽ mở ra cho hành khách bước ra đồng thời đón những hành khách mới. Như vậy, hệ thống điều khiển thang máy hiện nay là được thiết kế theo phương thức điều khiển có tín hiệu phản hồi. Các cảm biến được sử dụng trong thang máy chủ yếu là:
Cảm biến trọng lượng để chống quá tải thang máy;
Cảm biến vị trí để xác định vị trí buồng thang trong quá trình chuyển động;
Cảm biến gia tốc để hạn chế tốc độ và gia tốc di chuyển của buồng thang; và công tắc giới hạn hành trình để hạn chế hành trình di chuyển của buồng thang.
Trong hệ thống truyền động tự động của thang máy, chất lượng truyền động thể hiện qua việc thang chuyển động nhanh, dừng êm và chính xác không gây cảm giác đột ngột cho người trong thang.
26 trang |
Chia sẻ: ngtr9097 | Lượt xem: 2607 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế phần cứng và phần mềm (sử dụng ngôn ngữ Assembly) cho hệ thống vi điều khiển 8051 để điều khiển thang máy 4 tầng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
TIỂU LUẬN MÔN HỌC
HỆ THỐNG
VI ĐIỀU KHIỂN
GVHD: TS. NGUYỄN QUỐC ĐỊNH
HV: NGUYỄN NAM PHƯƠNG
LỚP: CH - TỰ ĐỘNG HOÁ
KHOÁ: 2007 - 2010
Đà Nẵng, tháng 11/2009
ĐỀ BÀI
Thiết kế phần cứng và phần mềm (sử dụng ngôn ngữ Assembly) cho hệ thống vi điều khiển 8051 để điều khiển thang máy 4 tầng có các đặc điểm sau:
Thang máy tốc độ trung bình,
Thang máy có hai buồng thang,
Có quá giang,
Có nhớ theo yêu cầu của khách.
(Lưu đồ thuật toán, phân công vào ra, thiết kế phần cứng và sơ đồ qui trình in trên giấy A1)
BÀI LÀM
Đặc điểm công nghệ thang máy 2 buồng:
Hiện nay, cùng với sự tăng trưởng mạnh mẽ của nền kinh tế quốc gia kéo theo nhu cầu về đô thị hóa tăng cao, các dự án đầu tư lớn về cơ sở hạ tầng, khu đô thị mới, chung cư cao cấp, trung tâm thương mại được xây dựng ngày càng nhiều. Do vậy, nhu cầu tiêu thụ thang máy sẽ tăng lên rất nhanh trong những năm tới. Để đáp ứng nhu cầu thị trường, vấn đề đặt ra là cần phải tăng cường năng lực thiết kế lắp đặt các hệ thống thang máy.
Theo dự báo nhu cầu sử dụng thang máy sẽ tăng lên khi các tòa nhà cao tầng mọc lên ngày càng nhiều theo sự phát triển của nền kinh tế nước ta. Nhìn chung các hãng trên thế giới sản xuất thang máy đều có các chỉ tiêu kỹ thuật về cơ khí như: Kết cấu cơ khí thang máy phải đảm bảo vững chắc; Hệ thống cơ khí phải đảm bảo thang máy chuyển động êm, an toàn; Thang máy được lựa chọn là loại có hệ thống tời kéo phía trên hố thang; Hệ thống chân đế phải được thiết kế an toàn nhất; Kết cấu ca bin, khung cửa phải được làm bằng vật liệu có chất lượng cao; Số điểm dừng lấy theo số tầng cần phục vụ; Loại thang thường dùng là loại có cửa lùa mở từ giữa về hai phía; Hệ thống ray dẫn hướng cho ca bin và đối trọng phải là loại ray đặc chủng; Hệ thống đối trọng dùng gang đúc có tỉ trọng cao; Hệ thống cáp kéo phải đảm bảo hệ số an toàn; Có hệ thống giảm chấn phù hợp với ca bin và đối trọng đặt ở dưới đáy giếng thang. Trên cơ sở đó, thang máy được vận hành theo nguyên lý vào/ra và di chuyển: Tại mỗi cửa tầng đều bố trí các nút gọi thang máy. Khi nhận lệnh gọi của hành khách, thang máy sẽ di chuyển đến từng tầng có lệnh gọi theo một thứ tự nhất định và mở cửa buồng thang máy để hành khách bước vào. Thang máy sẽ tự động di chuyển tới tầng đã chọn đồng thời hiển thị vị trí hiện thời của buồng thang. Trong quá trình di chuyển nếu nhận được tín hiệu gọi của tầng tiếp theo thì thang máy sẽ tự động dừng lại ở tầng đó đón hành khách mới rồi mới tiếp tục di chuyển tiếp. Trong quá trình đi lên, thang máy sẽ không nhận lệnh gọi của các tầng thấp hơn vị trí hiện thời và ngược lại.
Khi di chuyển đến tầng hành khách đã chọn thì thang máy sẽ tự động giảm tốc độ từ từ và dừng hẳn khi đến đúng cửa tầng. Lúc này cửa thang máy sẽ mở ra cho hành khách bước ra đồng thời đón những hành khách mới. Như vậy, hệ thống điều khiển thang máy hiện nay là được thiết kế theo phương thức điều khiển có tín hiệu phản hồi. Các cảm biến được sử dụng trong thang máy chủ yếu là:
Cảm biến trọng lượng để chống quá tải thang máy;
Cảm biến vị trí để xác định vị trí buồng thang trong quá trình chuyển động;
Cảm biến gia tốc để hạn chế tốc độ và gia tốc di chuyển của buồng thang; và công tắc giới hạn hành trình để hạn chế hành trình di chuyển của buồng thang.
Trong hệ thống truyền động tự động của thang máy, chất lượng truyền động thể hiện qua việc thang chuyển động nhanh, dừng êm và chính xác không gây cảm giác đột ngột cho người trong thang.
Vấn đề đảm bảo an toàn cho người sử dụng luôn là mục tiêu hàng đầu của các nhà sản xuất thang máy. Hệ thống các tín hiệu an toàn giúp việc lường trước được những tình huống có thể xảy ra khi vận hành, đồng thời có thể khắc phục sự cố một cách nhanh nhất. Trong quá trình hãm của hệ thống khi vận hành thang thì quá trình hãm dừng buồng thang là rất quan trọng, nó không những ảnh hưởng tới năng suất mà còn liên quan tới mức độ an toàn của hệ thống. Do vậy, để đảm bảo quá trình phanh có mức độ êm dịu và độ dừng chính xác trong các thang máy chở người, trước khi phần cơ khí làm việc, người ta thường hạ tốc độ của động cơ xuống tốc độ quay nhỏ. Hệ thống an toàn và thiết bị bảo vệ sự cố đóng vai trò quan trọng cho chất lượng của thang máy hiện đại. Các thiết bị an toàn phải được tính toán chọn một cách hợp lý chính xác. Hệ thống an toàn cơ khí phải được kết hợp với hệ thống an toàn điện, điện tử để tạo nên độ tin cậy cao tránh xảy ra các sự cố đáng tiếc. Với thang máy hiện đại ngày nay các thiết bị an toàn phải được trang bị đầy đủ, hiện đại, có độ tin cậy cao. Hệ truyền động cửa tầng thang được thực hiện chủ yếu là hệ biến tần động cơ và hệ truyền lực đai cuốn. Hệ thống này có nhiều ưu điểm trong điều khiển truyền động đóng mở cửa êm, chính xác và tác động nhanh. Việc bảo vệ các trường hợp sự cố được kiểm soát chặt chẽ và có các đầu ra điều khiển các thiết bị chấp hành khác. Kết quả nghiên cứu đã đưa ra một hệ truyền động hiện đại, có đầy đủ cả chế độ thực hiện khi mất điện và việc đóng cắt chuyển nguồn cho an toàn thiết bị. Nhờ có hệ thống chống mất nguồn đột ngột, hệ điều khiển không bị ảnh hưởng do được nuôi bằng một hệ chống mất nguồn công suất nhỏ, các cảm biến vị trí và các hệ đo lường cảnh báo khác vẫn làm việc bình thường. Tuy nhiên, do nguồn bị mất, động cơ truyền động bị dừng lại trong thời gian tức thời. Lúc này, thiết bị điều khiển động cơ phải xả nguồn do các hệ lưu tích điện đang chứa và chuẩn bị đóng nguồn mới, cắt hệ nguồn cũ tránh có điện trở lại gây xung đột nguồn. Sau khi nguồn mới được cấp, chương trình điều khiển sẽ làm việc theo một chương trình mới dành cho sự cố mất điện, chương trình này sẽ điều khiển thang về tầng gần nhất sau đó mở cửa tầng để cho người đi ra, đồng thời từ chối tất cả các lệnh gọi khác, cảnh báo hệ thống bị mất điện. Lúc này hệ thống cho phép việc mở cửa cabin, các hệ thống chuông báo và liên lạc thực hiện. Sau đó truyền động công suất lớn khác sẽ không được thực hiện nhằm tiết kiệm điện năng có hạn của bộ lưu điện dự phòng. Khi hệ thống có điện trở lại, các rơle cảm nhận trạng thái mất điện sẽ có phản hồi cho biết nguồn điện đã có, hệ thống sẽ tự động thực hiện tuần tự các thao tác xả điện dư, đóng nguồn mới và thực hiện theo chu trình điều khiển bình thường. Hệ thống lưu điện được phục hồi dần công suất bằng hệ thống nạp tự động.
Như vậy, toàn bộ các hoạt động của thang máy được thực hiện theo sự điều khiển của phần mềm trung tâm như: phần mềm điều khiển cho modul thiết bị trung tâm; phần mềm cho vi xử lý thực hiện và truyền thông; phần mềm bảo vệ, cảnh báo và xử lý khi gặp sự cố; phần mềm điều khiển nâng hạ êm, chính xác buồng thang; phần mềm mô phỏng toàn bộ hoạt động của thang máy; … Các phần mềm đó một mặt giúp chúng ta hiểu sâu hơn về nguyên lý hoạt động của thang máy, cách vận hành và điều khiển động cơ, buồng thang, nguyên lý điều khiển kết hợp của thang máy… Mặt khác còn xử lý vấn đề quá tải đảm bảo tính an toàn và bảo vệ thiết bị cho thang cũng như người sử dụng thang máy.
Hình 1- Cấu trúc hệ thống điều khiển thang máy.
Thang máy được thiết kế để di chuyển với một tốc độ nhất định. Tuy nhiên với mỗi loại thang máy có tốc độ khác nhau thì khi tiến hành thiết kế phần mềm điều khiển thang đều phải tính toán để cho hoạt động của thang máy được tối ưu nhất dựa trên hai chỉ tiêu: Thời gian chờ đợi của khách hàng là ngắn nhất, và quãng đường di chuyển của thang máy là ngắn nhất.
Trong thực tế, hệ thống điều khiển thang máy rất phức tạp, nhất là đối với kỹ thuật tương tự. Tuy nhiên, với sự ra đời của kỹ thuật số đã giúp hệ thống điều khiển thang máy được đơn giản hơn. Một trong những ứng dụng điều khiển thang máy là sử dụng Vi điều khiển nói chung và Vi điều khiển họ 8051 nói riêng.
Hệ thống thang máy thực tế gồm:
Hệ thống cửa,
Hệ thống yêu cầu,
Hệ thống chỉ thị,
Báo hiệu quá tải,
Bộ điều khiển trung tâm,
Hệ thống cung cấp thông tin và năng lượng, …
Hệ thống thang máy hoạt động theo nguyên lý chung như sau:
Khi cabin đang trong chế độ không tải thì cabin luôn chờ chỉ thị (yêu cầu) người sử dụng. Khi có lệnh (yêu cầu) của người sử dụng, hệ thống xử lý sẽ kiểm tra và quyết định hoạt động cho cabin, hệ thống cửa, hệ thống thông báo, hệ thống báo động, …
Khi cabin đang hoạt động, nếu người sử dụng ra chỉ thị, bộ điều khiển trung tâm sẽ nhận tín hiệu và kiểm tra hoạt động hiện thời và hoạt động yêu cầu để ra quyết định tiếp tục hay ngừng hoạt động của cabin.
Hoạt động theo chế độ taxi: cabin có thể lên, xuống theo yêu cầu nhưng không chấp nhận ngắt hoạt động hiện hành. Hệ thống chỉ nhận lệnh khi có thông báo cabin không làm việc và bỏ qua tất cả yêu cầu khi cabin đang hoạt động. Thông tin về tầng, buồng đang hiện hành và thống tin tầng, buồng yêu cầu được lưu lại và so sánh.
Loại kết nối trực tiếp:
Loại này chủ yếu áp dụng cho 2 thang (Duplex) dùng cùng 1 hệ điều khiển (PLC or CC Card) kết nối trực tiếp với nhau và dùng chung nút gọi tầng.
Kết nối tối đa cho kiểu này là 04 thang (Quadruplex) với 1 hộp gọi chung và một hộp gọi riêng mỗi tầng.
Loại kết nối gián tiếp:
Khác với kết nối trực tiếp, tín hiệu điều khiển được chia đều cho các thang không phân biệt Master, Slave. Kết nối gián tiếp dùng riêng một tổ hợp điều khiển nhận và điều phối lệnh gọi cho các thang (GROUP-4,5,6,...N), thậm chí có thể điều khiển cho nhiều hơn 1 loại card trong nhóm.
Đầu vào GROUP nhận các tín hiệu trạng thái, chiều di chuyển,vị trí, lệnh gọi tầng của mỗi thang.
Đầu ra GROUP trả tín hiệu gọi cho thang phù hợp nhất với lệnh được gọi.
Điều khiển nhóm là sau một thời gian vận hành, thang máy có thể “nhận biết” được các yêu cầu chủ yếu về giao thông trong tòa nhà; hệ thống quản lý nhóm sẽ lựa chọn loại hình giao thông phù hợp với tòa nhà và lưu lại. Ngoài ra, các loại hình giao thông đã được đăng ký vẫn có thể thay đổi và lưu lại căn cứ theo tình hình mới. Tùy theo sự khác biệt của các kiểu và dữ liệu lưu lượng giao thông trong tòa nhà , “nhận biết” phương hướng và nhu cầu giao thông đặc biệt trong tòa nhà, đồng thời cung cấp các dữ liệu này cho hệ thống thông minh.
Đó là mong muốn của mọi nhà cung cấp nhưng thực tế mỗi hình thức, mỗi loại điều khiển Group đều có ưu và nhược điểm riêng. Và lỗi phát sinh trong quá trình vận hành nhóm là khó tránh khỏi.
Ví dụ: Có lúc bạn đang đứng ở tầng 4 có một thang đang A ở trạng thái nhàn rỗi (tầng 4). Một thang B đang di chuyển theo chiều lên đến tầng 2 (mà chắc là nó đang thực hiện lệnh gọi lên tầng > 4) bạn bấm nút gọi chiều lên. Thang A không mở cửa, Group System đang tính rằng chỉ mất tới 1,5s nữa thang B sẽ dừng ở tầng 4 và cho bạn đi lên (đủ đk tải trọng) đỡ mất công khởi động thang A. Nhưng... khi lệnh gọi của bạn trôi qua 1s thì ở tầng 3 có 2 lệnh gọi cả lên lẫn xuống. Lập tức thang A được phân công nhận tín hiệu gọi chiều xuống còn thang B dừng lại ở tầng 3, mất ít nhất 5s để mở rồi đóng cửa và mất thêm gần 3s nữa để thang lên đến tầng 4 đón bạn. Tổng cộng bạn mất ít nhất 9s nữa mới gọi được thang, mà lẽ ra bạn đã không phải đợi.
Giới thiệu linh kiện và trang thiết bị sử dụng:
Vi điều khiển họ 8051: AT89C51
Hình 2- Vi điều khiển AT89C51.
IC giải mã: 74LS47
Hình 3- IC giải mã 74LS47
Đèn LED:
Hình 4- LED bảy đoạn
Các rơ-le hoạt động điện áp 5V: dùng đóng/ngắt mạch.
Sơ đồ khối hệ thống điều khiển thang máy:
Hình 5- Hệ thống điều khiển thang máy
Mạch hiển thị:
Hình 6- Mạch hiển thị
Khối điều khiển hoạt động của động cơ:
Hình 7- Sơ đồ khối điều khiển động cơ
Sơ đồ thiết kế phần cứng:
Lưu đồ thuật toán:
Chương trình điều khiển:
;***************************************************************;
; CHUONG TRINH DIEU KHIEN H.HONG THANG MAY HAI BUONG BON TANG;
; NGUYEN NAM PHƯƠNG - LOP CAO HOC 07-10, NGANH TU DONG HOA ;
;***************************************************************************;
ORG 0
LJMP START
ORG 0BH
AJMP T0ISR
START:
;XOA NOI DUNG RAM
MOV R0,#7FH
CLR A
LOOP91:
MOV @R0,A
DJNZ R0,LOOP91
MOV SP,#1CH
;THIET LAP CAC GIA TRI BAN DAU
MOV TMOD,#11H
MOV TH0,#0FFH
MOV TL0,#0FH
SETB ET0
SETB EA
SETB TR0
CLR A
MOV VAR6,A
MOV VAR12,A
MOV VAR7,#1
MOV VAR13,#1
MOV VAR18,A
LOOP1:
MOV A,#0CH
ADD A,VAR18
MOV R0,A
CLR A
MOV @R0,A
MOV A,#12H
ADD A,VAR18
MOV R0,A
CLR A
MOV @R0,A
INC VAR18
MOV A,VAR18
CJNE A,#4,LOOP1
MOV A,VAR12
SWAP A
ANL A,#0F0H
ADD A,VAR6
ADD A,#11H
MOV P1,A
MOV P0,#0FFH
MOV P2,#0FFH
MOV P3,#0FFH
CLR P2.1
CLR P2.0
CLR P0.7
CLR P0.6
CLR P0.5
CLR P0.4
CLR P0.3
CLR P0.2
LOOP2:
CLR A
MOV VAR18,A
LOOP3:
MOV A,VAR18
MOV B,#6
MUL AB
ADD A,#0BH
MOV R0,A
MOV A,@R0
XRL A,#1
JNZ LOOP8
MOV A,VAR18
MOV B,#6
MUL AB
ADD A,#0AH
MOV R0,A
MOV A,@R0
MOV VAR19,A
INC VAR19
LOOP4:
MOV A,VAR19
CLR C
SUBB A,#4
JNC LOOP7
MOV A,VAR18
MOV B,#6
MUL AB
ADD A,#0CH
ADD A,VAR19
MOV R0,A
MOV A,@R0
XRL A,#1
JNZ LOOP6
MOV @R0,A
MOV R5,VAR19
MOV R7,VAR18
ACALL LOOP61
MOV A,VAR19
CJNE A,#3,LOOP5
MOV A,VAR18
MOV B,#6
MUL AB
ADD A,#0BH
MOV R0,A
CLR A
MOV @R0,A
LOOP5:
MOV R7,VAR18
ACALL LOOP80
MOV R7,VAR18
ACALL LOOP85
SJMP LOOP7
;
LOOP6:
INC VAR19
SJMP LOOP4
;
LOOP7:
MOV A,VAR19
XRL A,#4
JNZ LOOP12
MOV A,VAR18
MOV B,#6
MUL AB
ADD A,#0BH
MOV R0,A
CLR A
MOV @R0,A
SJMP LOOP12
;
LOOP8:
MOV A,VAR18
MOV B,#6
MUL AB
ADD A,#0BH
MOV R0,A
MOV A,@R0
XRL A,#2
JNZ LOOP12
MOV A,VAR18
MOV B,#6
MUL AB
ADD A,#0AH
MOV R0,A
MOV A,@R0
MOV VAR19,A
MOV R5,#2
MOV R7,A
ACALL LOOP70
DEC VAR19
LOOP9:
MOV A,VAR18
MOV B,#6
MUL AB
ADD A,#0CH
ADD A,VAR19
MOV R0,A
MOV A,@R0
XRL A,#1
JNZ LOOP11
MOV @R0,A
MOV R5,VAR19
MOV R7,VAR18
ACALL LOOP52
MOV A,VAR19
JNZ LOOP10
MOV A,VAR18
MOV B,#6
MUL AB
ADD A,#0BH
MOV R0,A
CLR A
MOV @R0,A
LOOP10:
MOV R7,VAR18
ACALL LOOP80
MOV R7,VAR18
ACALL LOOP85
SJMP LOOP12
;
LOOP11:
DEC VAR19
MOV A,VAR19
SETB C
SUBB A,#0
JC LOOP12
MOV A,VAR19
SUBB A,#4
JC LOOP9
LOOP12:
INC VAR18
MOV A,VAR18
CLR C
SUBB A,#2
JNC LOOP13
AJMP LOOP3
;
LOOP13:
AJMP LOOP2
;CHUONG TRINH NGAT: QUET BAN PHIM
T0ISR:
PUSH ACC
PUSH PSW
MOV PSW,#0
PUSH VAR1
PUSH VAR2
PUSH VAR3
CLR TR0
CLR TF0
SETB RD
SETB WR
SETB T1
SETB T0
SETB INT1
SETB INT0
JB RD,LOOP14
MOV R5,#2
MOV R7,#3
ACALL LOOP32
LOOP14:
JB WR,LOOP15
MOV R5,#2
MOV R7,#2
ACALL LOOP32
LOOP15:
JB T1,LOOP16
MOV R5,#1
MOV R7,#2
ACALL LOOP32
LOOP16:
JB T0,LOOP17
MOV R5,#2
MOV R7,#1
ACALL LOOP32
LOOP17:
JB INT1,LOOP18
MOV R5,#1
MOV R7,#1
ACALL LOOP32
LOOP18:
JB INT0,LOOP19
MOV R5,#1
CLR A
MOV R7,A
ACALL LOOP32
LOOP19:
JB P2.6,LOOP20
MOV VAR8,#1
MOV A,VAR7
JNZ LOOP20
MOV VAR7,#2
LOOP20:
JB P2.7,LOOP22
MOV VAR9,#1
MOV A,VAR7
JNZ LOOP22
MOV A,VAR6
SETB C
SUBB A,#1
JC LOOP21
MOV VAR7,#2
SJMP LOOP22
;
LOOP21:
MOV VAR7,#1
LOOP22:
JB RXD,LOOP24
MOV VAR10,#1
MOV A,VAR7
JNZ LOOP24
MOV A,VAR6
SETB C
SUBB A,#2
JC LOOP23
MOV VAR7,#2
SJMP LOOP24
;
LOOP23:
MOV VAR7,#1
LOOP24:
JB TXD,LOOP25
MOV VAR11,#1
MOV A,VAR7
JNZ LOOP25
MOV VAR7,#1
LOOP25:
JB P2.2,LOOP26
MOV VAR14,#1
MOV A,VAR13
JNZ LOOP26
MOV VAR13,#2
LOOP26:
JB P2.3,LOOP28
MOV VAR15,#1
MOV A,VAR13
JNZ LOOP28
MOV A,VAR12
SETB C
SUBB A,#1
JC LOOP27
MOV VAR13,#2
SJMP LOOP28
;
LOOP27:
MOV VAR13,#1
LOOP28:
JB P2.4,LOOP30
MOV VAR16,#1
MOV A,VAR13
JNZ LOOP30
MOV A,VAR12
SETB C
SUBB A,#2
JC LOOP29
MOV VAR13,#2
SJMP LOOP30
;
LOOP29:
MOV VAR13,#1
LOOP30:
JB P2.5,LOOP31
MOV VAR17,#1
MOV A,VAR13
JNZ LOOP31
MOV VAR13,#1
LOOP31:
MOV TH0,#0FFH
MOV TL0,#0FH
SETB TR0
POP VAR3
POP VAR2
POP VAR1
POP PSW
POP ACC
RETI
;
LOOP32:
MOV A,R5
XRL A,#1
JNZ LOOP38
MOV A,VAR7
CJNE A,VAR2,LOOP33
MOV A,VAR6
SETB C
SUBB A,R7
JNC LOOP33
SJMP LOOP39
;
LOOP33:
MOV A,VAR13
CJNE A,VAR2,LOOP34
MOV A,VAR12
CLR C
SUBB A,R7
JNC LOOP34
SJMP LOOP41
;
LOOP34:
MOV A,VAR7
JNZ LOOP36
MOV A,#0CH
ADD A,R7
MOV R0,A
MOV @R0,#1
MOV A,VAR6
CLR C
SUBB A,R7
JNC LOOP35
SJMP LOOP44
;
LOOP35:
MOV A,VAR6
SETB C
SUBB A,R7
JC LOOP51
SJMP LOOP46
;
LOOP36:
MOV A,VAR13
JNZ LOOP51
MOV A,#12H
ADD A,R7
MOV R0,A
MOV @R0,#1
MOV A,VAR12
CLR C
SUBB A,R7
JNC LOOP37
SJMP LOOP48
;
LOOP37:
MOV A,VAR12
SETB C
SUBB A,R7
JC LOOP51
SJMP LOOP50
;
LOOP38:
MOV A,R5
XRL A,#2
JNZ LOOP51
MOV A,VAR7
CJNE A,VAR2,LOOP40
MOV A,VAR6
SETB C
SUBB A,R7
JC LOOP40
LOOP39:
MOV A,#0CH
SJMP LOOP42
;
LOOP40:
MOV A,VAR13
CJNE A,VAR2,LOOP43
MOV A,VAR12
SETB C
SUBB A,R7
JC LOOP43
LOOP41:
MOV A,#12H
LOOP42:
ADD A,R7
MOV R0,A
MOV @R0,#1
RET
;
LOOP43:
MOV A,VAR7
JNZ LOOP47
MOV A,#0CH
ADD A,R7
MOV R0,A
MOV @R0,#1
MOV A,VAR6
CLR C
SUBB A,R7
JNC LOOP45
LOOP44:
MOV VAR7,#1
RET
;
LOOP45:
MOV A,VAR6
SETB C
SUBB A,R7
JC LOOP51
LOOP46:
MOV VAR7,#2
RET
;
LOOP47:
MOV A,VAR13
JNZ LOOP51
MOV A,#12H
ADD A,R7
MOV R0,A
MOV @R0,#1
MOV A,VAR12
CLR C
SUBB A,R7
JNC LOOP49
LOOP48:
MOV VAR13,#1
RET
;
LOOP49:
MOV A,VAR12
SETB C
SUBB A,R7
JC LOOP51
LOOP50:
MOV VAR13,#2
LOOP51:
RET
;
LOOP52:
MOV VAR20,R7
MOV VAR21,R5
MOV A,VAR20
DEC A
JZ LOOP53
INC A
JNZ LOOP54
SETB P2.0
SJMP LOOP54
;
LOOP53:
SETB P0.4
LOOP54:
MOV A,VAR20
MOV B,#6
MUL AB
ADD A,#0AH
MOV R0,A
MOV A,@R0
MOV VAR24,A
CLR C
SUBB A,VAR21
MOV VAR23,A
CLR A
MOV VAR22,A
LOOP55:
MOV A,VAR22
CLR C
SUBB A,VAR23
JNC LOOP58
ACALL LOOP77
MOV A,VAR24
INC A
CLR C
SUBB A,VAR22
MOV P1,A
MOV A,VAR22
ADD A,VAR24
INC A
MOV P1,A
MOV A,VAR20
JNZ LOOP56
MOV A,VAR12
INC A
SWAP A
ANL A,#0F0H
ADD A,VAR24
CLR C
SUBB A,VAR22
MOV P1,A
SJMP LOOP57
;
LOOP56:
CLR C
MOV A,VAR24
SUBB A,VAR22
SWAP A
ANL A,#0F0H
ADD A,VAR6
ADD A,#11H
MOV P1,A
LOOP57:
INC VAR22
SJMP LOOP55
;
LOOP58:
MOV A,VAR20
MOV B,#6
MUL AB
ADD A,#0AH
MOV R0,A
MOV @R0,VAR21
MOV A,VAR20
DEC A
JZ LOOP59
INC A
JNZ LOOP60
CLR P2.0
RET
;
LOOP59:
CLR P0.4
LOOP60:
RET
;
LOOP61:
MOV VAR20,R7
MOV VAR21,R5
MOV A,VAR20
DEC A
JZ LOOP62
INC A
JNZ LOOP63
SETB P2.1
SJMP LOOP63
;
LOOP62:
SETB P0.5
LOOP63:
MOV A,VAR20
MOV B,#6
MUL AB
ADD A,#0AH
MOV R0,A
MOV A,@R0
MOV VAR24,A
CLR C
MOV A,VAR21
SUBB A,VAR24
MOV VAR23,A
CLR A
MOV VAR22,A
LOOP64:
MOV A,VAR22
SETB C
SUBB A,VAR23
JNC LOOP67
ACALL LOOP77
MOV A,VAR22
ADD A,VAR24
MOV R7,A
INC A
MOV P1,A
MOV A,VAR20
JNZ LOOP65
MOV A,VAR12
SWAP A
ANL A,#0F0H
ADD A,VAR22
ADD A,VAR24
SJMP LOOP66
;
LOOP65:
MOV A,R7
SWAP A
ANL A,#0F0H
ADD A,VAR6
LOOP66:
ADD A,#11H
MOV P1,A
INC VAR22
SJMP LOOP64
;
LOOP67:
MOV A,VAR20
MOV B,#6
MUL AB
ADD A,#0AH
MOV R0,A
MOV @R0,VAR21
MOV A,VAR20
DEC A
JZ LOOP68
INC A
JNZ LOOP69
CLR P2.1
RET
;
LOOP68:
CLR P0.5
LOOP69:
RET
;
LOOP70:
MOV A,R7
DEC A
JZ LOOP71
DEC A
JZ LOOP73
DEC A
JZ LOOP75
ADD A,#3