Chợ thông tin Thiết bị điện Việt Nam

Chợ thông tin Thiết bị điện Việt Nam (http://thietbidien.sangnhuong.com/index.php)
-   Thiết bị điện tử và điều khiển (http://thietbidien.sangnhuong.com/forumdisplay.php?f=11)
-   -   Lập trình cho 16 đơn sáng (http://thietbidien.sangnhuong.com/showthread.php?t=3968)

gmsg 16-04-2013 10:25 AM

Lập trình cho 16 đơn sáng
 
Lập trình cho 16 đơn sáng

Sau đây là mô phỏng và chương trình chạy của 16 led đơn,sử dụng 2 port của 89c51, các bạn có thể làm với 8,16,32 led đơn tuỳ vào lập trình cho 4 port của vi xử lý.


Chương trình và mô phỏng:
Mã:

;=======BAI TONG HOP 16 LED DON -LEVUONGDT==================
$MOD51
ORG 00H
MAIN:
    LCALL CHOPTAT
    LCALL SANGDAN
    LCALL SANGDUOI
    LCALL SANGDON
    SJMP MAIN
;*******************
CHOPTAT:
    MOV R7,#5
LOOP1:
    MOV P0,#00H
    LCALL DELAY
    MOV P0,#0FFH
    LCALL DELAY
    MOV P1,#00H
    LCALL DELAY
    MOV P1,#0FFH
    LCALL DELAY
    MOV P0,#00H
    mov P1,#00H
    LCALL DELAY
    MOV P0,#0FFH
    MOV P1,#0FFH
    LCALL DELAY
    DJNZ R7,LOOP1
    RET
;*****************
SANGDAN:
    MOV R7,#2
SOLAN1:
    MOV A,#00H
    MOV P1,#00H
LOOP2:
    SETB C
    MOV P0,A
    ACALL DELAY
    RLC A
    JNC LOOP2
    MOV A,#00H
LOOP3:
    SETB C
    MOV P1,A
    ACALL DELAY
    RRC A
    JNC LOOP3
    DJNZ R7,SOLAN1
    MOV R7,#2
SOLAN1A:
    MOV A,#00H
    MOV P1,#00H
LOOP2A:
    SETB C
    MOV P0,A
    ACALL DELAY
    RRC A
    JNC LOOP2A
    MOV A,#00H
LOOP3A:
    SETB C
    MOV P1,A
    ACALL DELAY
    RLC A
    JNC LOOP3A
    DJNZ R7,SOLAN1A
    RET
;******************
SANGDUOI:
    MOV R7,#3
SOLAN2:
    MOV A,#00H
    SETB C
    MOV P1,#00H
LOOP4:
    MOV P0,A
    ACALL DELAY
    RLC A
    JNC LOOP4
    MOV A,#00H
    SETB C
    MOV P0,#00H
LOOP5:
    MOV P1,A
    ACALL DELAY   
    RRC A   
    JNC LOOP5
    DJNZ R7,SOLAN2
    RET
;*******************
SANGDON:
    MOV R7,#3
SOLAN3:
    MOV R1,#00H
    MOV DPTR,#DATADISP
    MOV P1,#00H
LOOP6:
    MOV A,R1
    MOVC A,@A+DPTR
    MOV P0,A
    ACALL DELAY
    INC R1
    CJNE R1,#36,LOOP6
    MOV R1,#00H
    MOV DPTR,#DATADISP
    MOV R1,#00H
    MOV DPTR,#DATADISP
LOOP7:
    MOV A,R1
    MOVC A,@A+DPTR
    MOV P1,A
    ACALL DELAY
    INC R1
    CJNE R1,#36,LOOP7
    MOV R1,#00H
    MOV DPTR,#DATADISP
    MOV R1,#00H
    MOV DPTR,#DATADISP
   
LOOP8:
    MOV A,R1
    MOVC A,@A+DPTR
    MOV P0,A
    MOV P1,A
    ACALL DELAY
    INC R1
    CJNE R1,#36,LOOP8
    MOV R1,#00H
    DJNZ R7,SOLAN3
    RET

;*****************
DELAY:
    MOV R0,#10
    MOV TMOD,#01H
LOOP:
    MOV TH0,#HIGH(-50000)
    MOV TL0,#LOW(-50000)
    SETB TR0
    JNB TF0,$
    CLR TR0
    CLR TF0
    DJNZ R0,LOOP
    RET
DATADISP:
    db 01h,02h,04h,08h,10h,20h,40h,80h
    db 81h,82h,84h,88h,90h,0a0h,0c0h
    db 0c1h,0c2h,0c4h,0c8h,0d0h,0e0h
    db 0e1h,0e2h,0e4h,0e8h,0f0h
    db 0f1h,0f2h,0f4h,0f8h
    db 0f9h,0fah,0fch,
    db 0fdh,0feh,
    db 0ffh
END



Múi giờ GMT +7. Hiện tại là 07:44 PM

© 2008 - 2026 Nhóm phát triển website và thành viên SANGNHUONG.COM.
BQT không chịu bất cứ trách nhiệm nào từ nội dung bài viết của thành viên.