Tài liệu Ứng dụng KIT 8051 dùng để chuyển đổi A/D-D/A, chương 14 pptx

12 368 0
Tài liệu Ứng dụng KIT 8051 dùng để chuyển đổi A/D-D/A, chương 14 pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 14 THIẾT KẾ PHẦN MỀM I – LƯU ĐỒ GIẢI THUẬT 1 – Lưu đồ chương trình chính: START Khởi động 8255-1 MODE0 Nạp đòa chỉ cho kênh đầu tiên vào r7 Chương trình xóa 8LED Chương trình hiển thò thứ tự kênh chọn tại LED 8 Chương trình chuyển đổi data Chương trình xuất data ra D/A Chương trình đổi HEX-BCD Chương trình giải mã LED 7 đoạn Chương trình hiển thò Chương trình delay Khởi động Port B Ghi A vào 0809 Chọn kênh Khởi động 0809 Lưu kết quả Khởi động Port C Kiểm tra nhấn phím N PC4 = 0 Y Tăng R7 để dò kênh kế N R7= 08 Y 2 – Lưu đồ chương trình con chuyển đổi: START Nhập kênh cần quét r7  a Chuyeån ñoåi N keát thuùc Y END II- CHƯƠNG TRÌNH: Chương trình chính chuyển đổi A/D – D/A: ORG 4000H MOV A, #91H ; Khởi tạo 8255-1 port A MOV DPTR, #8003H MOV @DPTR, A X1 : MOV R7, #00H ; Nạp đòa chỉ để chọn kênh quét X2: LCALL CLEAR ; Gọi chương trình xóa LCALL DISPLAY – 1 ; Hiển thò số kênh chọn ở LED LCALL CHUYENDOI ; Gọi chương trình chuyển đổi LCALL OUT ; Gọi chương trình xuất ra D/A LCALL HEX – BCD ; Gọi chương trình chuyển số hex sang BCD LCALL DECODE ; Gọi chương trình giải mã 7 đoạn LCALL DISPLAY – 2 ; Gọi chương trình hiển thò dữ liệu vừa chuyển đổi LCALL DELAY ; Gọi chương trình delay MOV DPTR, #8002 ; Kiểm tra nhấn phím MOV A, @DPTR ANL A, 02H JNZ X2 INC R7 ; Tăng lên để dò kênh kế CJMP 08, X2 ; Kiểm tra đã dò hết kênh chưa LJMP X1 ; quay trở lại ************************************************ *********** Các chương trình con phục vụ cho chương trình chính ************************************************ *********** Chương trình con xóa vùng data hiển thò cho 8 kênh từ 5000h – 507Fh ORG4880H MOV DPTR, #5000H ; Dùng ram ngoài để lưu trữ MOV A, #00H MOV R0, #80H ; Xóa từ 5000h đến 507Fh CLE1: MOVX @DPTR, A INC DPTR DJNZ R0, CLE1 RET ************************************************ *********** Chương trình con thực hiện quá trình chuyển đổi kênh thứ n trong R7 ************************************************ *********** ORG4500H MOV A, R7 ;Chọn kênh thứ n, ALE =0 MOV DPTR, A ; Điều khiển quá trình chuyển đổi cho kênh thứ n ORL A, #10H ; Cho ALE =1 MOVX @DPTR, A ORL A, #20H ; Cho ALE =1, ST =1 MOVX @DPTR, A NOP NOP NOP CLR A ; Cho ALE =0, ST =0 MOVX @DPTR, A ; Kiểm tra quá trình chuyển đổi kết thúc hay chưa CTC1: MOV DPTR, #PORTC MOVX A, @DPTR ANL A, #01H JZ CTC1 ; Nếu chưa xong thì quay lại ; Xong quá trình biến đổi bắt đầu nhận dữ liệu MOV DPTR, #PORTA MOVX A,@DPTR RET ************************************************ *********** Chương trình hiển thò thứ tự số kênh chọn ************************************************ *********** ORG4100H MOV A, #80H ; Chọn vò trí led để hiển thò MOV DPTR, C001 MOVX @DPTR, A MOV A, R7 MOV 83, 43 ; Nạp byte cao đòa chỉ chứa mã hiển thò MOV 82, A ; Nạp byte thấp đòa chỉ chứa mã hiển thò MOV A, @DPTR ; Hiển thò ra Led MOV DPTR, C000 MOVX @DPTR, A LCALL DELAY RET ************************************************ *********** Chương trình xuất ra D/A ************************************************ *********** ORG4200H MOV R0, A ; Cất dữ liệu vào thanh ghi R0 MOV A, #80 ; Khởi tạo 8255 – 2 Mode 0 MOV DPTR, A003 MOV @DPTR, A MOV A, R0 ; Nạp trở lại dữ liệu vào thanh ghi A MOV DPTR, A000 ; Xuất dữ liệu ra Port A MOV @DPTR, A RET ************************************************ *********** Chương trình chuyển số HEX sang số BCD ************************************************ *********** ORG4600H MOV DPTR, #5008H MOV B, #10 ; Nạp 10 vào thanh ghi B DIV AB MOV R0, A ; Cất tạm A sang R0 MOV A, B MOVX @DPTR, A ; Cất data đơn vò vào 5008H INC DPTR ; Tăng lên để lưu hàng chục MOV A, R0 ; Lấy lại data hàng chục, hàng trăm MOV B, #10 ; Nạp 10 vào thanh ghi B DIV AB MOV R0, A ; Cất tạm A sang R0 MOV A, B MOVX @DPTR, A ;Cất data hàng chục vào 5009H INC DPTR ;Tăng lên để lưu hàng trăm MOV A, R0 ;Lấy lại data hàng trăm MOVX @DPTR, A ;Cất data hàng trăm vào 500AH RET ************************************************ *********** Chương trình giải mã 7 đoạn ************************************************ *********** ORG4700H MOV R0, #08H ;Quản lý byte đòa chỉ thấp MOV DPTR, #5000H DECO1:PUSH 82 ; Cất DPTR PUSH 83 ;Cất DPTR MOV DPTR, #5000H MOV A, R0 MOVC A, @A+DPTR MOV DPTR, #0200H MOVC A, @A+DPTR POP 83H POP 82H MOVX @DPTR, A INC DPTR INC R0 CJNE R0, #0BH, DECO1 RET ************************************************ ******** Chương trình hiển thò ************************************************ ******** ORG4800H MOV R0, #87H ; Từ điều khiển 8279 MOV R1, #00 ; Đòa chỉ tương đối vùng data DISP: MOV DPTR, #CW79 ; Đòa chỉ điều khiển 8279 MOV A, R0 MOV @DPTR, A MOV DPTR, #5000H MOV A, R1 ;Chuyển đòa chỉ tương đối từ R1 sang A MOVC A, @A+DPTR ;Lấy byte dữ liệu MOV DPTR, #DT79 ;Đòa chỉ hiển thò 8279 MOVX @DPTR, A DEC R0 INC R1 CJNE R1, #08, DISP RET ************************************************ *********** Vùng chứa mã hiển thò kênh chọn tại LED 8 ************************************************ *********** [...]... ************************************************ *********** Chương trình con delay ************************************************ *********** ORG 488CH MOV 7DH, #05H DEL3: MOV 7FH, #0A0H DEL2: MOV 7EH, #0FFH DEL1: DJNZ 7EH, DEL1 DJNZ 7FH, DEL2 DJNZ 7DH, DEL3 RET KẾT LUẬN Sau 6 tuần thực hiện đề tài dưới sự hướng dẫn của thầy Lê Thanh Đạo em nhận thấy kiến thức của mình đã được củng cố và mở rộng hơn Tuy vậy đề tài vẫn còn rất nhiều thiếu... dẫn của thầy Lê Thanh Đạo em nhận thấy kiến thức của mình đã được củng cố và mở rộng hơn Tuy vậy đề tài vẫn còn rất nhiều thiếu sót, vì thế em rất mong được sự đóng góp chân thành của quý thầy cô để đề tài ngày càng trở nên phong phú và hoàn thiện . xóa 8LED Chương trình hiển thò thứ tự kênh chọn tại LED 8 Chương trình chuyển đổi data Chương trình xuất data ra D/A Chương trình đổi HEX-BCD Chương trình. Chương 14 THIẾT KẾ PHẦN MỀM I – LƯU ĐỒ GIẢI THUẬT 1 – Lưu đồ chương trình chính: START Khởi động 8255-1 MODE0 Nạp đòa chỉ cho kênh đầu tiên vào r7 Chương

Ngày đăng: 24/12/2013, 14:15

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan