Đồ á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

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.

doc26 trang | Chia sẻ: ngtr9097 | Lượt xem: 2486 | Lượt tải: 1download
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