Thông báo

Collapse
No announcement yet.

giải thích dùm mình ý nghĩa chưong trình này với...!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • giải thích dùm mình ý nghĩa chưong trình này với...!

    đây là chương trình mẫu điều khiển đèn giao thông ,mình ko hiểu được ý nghĩa cụ thể của nó.có ai chỉ mình với, thanks...
    Attached Files

  • #2
    ;DIEUKHIENGIAOTHONG
    ORG 0000H ;chuong trinh bat dau tai dia chi 0000h
    MOV R5,#243 ;nap gia tri ban dau cho r5=243
    MOV R0,#20 ;r0=20 la thoi gian den xanh
    MOV R1,#3 ;r1=3 la thoi gian den vang
    MOV R2,#23 ;r2=23 la thoi gian den do
    MAIN: MOV P2,#10000001B ;xuat led don xanh 1 và do 2
    LCALL XANH ;chay chuong trinh con hien thi thoi gian dem nguoc
    MOV P2,#01000001B ;xuat led don vang 1 va do 2
    LCALL VANG ;chay chuong trinh con hien thi thoi gian dem nguoc
    MOV P2,#00100100B ;xuat led don do 1 va xanh 2
    LCALL DO ;chay chuong trinh con hien thi thoi gian dem nguoc
    LJMP MAIN ;quay lai chu ky moi
    END
    Còn các chương trình con thi tùy theo phần cứng mà viết thôi.
    Bạn tự dịch ra nhé!

    Comment


    • #3
      nhưng bạn ơi !vậy còn thời gian hiển thị led đơn đỏ 1 và vàng 2 đâu...? bạn xem dùm mình là chương trình đã hoàn chỉnh chưa ,bạn có thêm bớt gì giúp mình ko?

      Comment


      • #4
        Bạn hãy tham khảo CT mình viết nhé.
        Mình đã lược bớt 1 số đoạn code, do CT trước đây của mình có thể thay đổi thời gian cho các đèn từ bàn phím.
        Code:
        ORG 0000H
        	MOV R0,#30H
        X_R:	
        	MOV @R0,#00H
        	INC R0
        	CJNE R0,#60H,X_R
        	MOV R0,#00H
        	
        	D1 BIT P2.1
        	V1 BIT P2.2
        	X1 BIT P2.3
        	D2 BIT P2.4
        	V2 BIT P2.5
        	X2 BIT P2.6
        
        	C_V1 EQU 31H
        	C_X1 EQU 32H
        	C_D1 EQU 33H
        	C_V2 EQU 34H
        	C_X2 EQU 35H
        	C_D2 EQU 36H
        
        	T_V1 EQU 41H
        	T_X1 EQU 42H
        	T_D1 EQU 43H
        	T_V2 EQU 44H
        	T_X2 EQU 45H
        	T_D2 EQU 46H
        
        	MOV P1,#00H
        	MOV P2,#00H
        
        	MOV C_D1,#30
        	MOV C_X2,#27
        	MOV C_V2,#02
        	
        	MOV C_D2,#30
        	MOV C_X1,#27
        	MOV C_V1,#02
        ;====================
        MAIN:
        	MOV T_D1,C_D1
        	MOV T_X2,C_X2
        	MOV T_V2,C_V2
        
        	SETB D1
        	SETB X2
        D1X2:
        	LCALL DOXANH1
        	
        	MOV A,T_D1
        	CJNE A,T_V2,D1X2
        	
        	CLR X2
        	SETB V2
        D1V2:
        	LCALL DOVANG1
        	
        	MOV A,T_V2
        	CJNE A,#00,D1V2
        	
        	LCALL HIENTHI0
        	
        	CLR D1
        	CLR V2
        
        	MOV T_D2,C_D2
        	MOV T_X1,C_X1
        	MOV T_V1,C_V1
        
        	SETB X1
        	SETB D2
        D2X1:
        	LCALL DOXANH2
        	
        	MOV A,T_D2
        	CJNE A,T_V1,D2X1
        
        	CLR X1
        	SETB V1
        D2V1:
        	LCALL DOVANG2
        	
        	MOV A,T_V1
        	CJNE A,#00,D2V1
        	
        	LCALL HIENTHI0
        
        	CLR V1
        	CLR D2	
        LJMP MAIN
        ;====================
        DOXANH1:
        	MOV A,T_D1
        	MOV B,#10
        	DIV AB
        	MOV R3,B
        	MOV R4,A
        	DEC T_D1
        
        	MOV A,T_X2
        	MOV B,#10
        	DIV AB
        	MOV R1,B
        	MOV R2,A
        	DEC T_X2
        
        	LCALL QUETLED
        RET
        ;====================
        DOVANG1:
        	MOV A,T_V2
        	MOV B,#10
        	DIV AB
        	MOV R1,B
        	MOV R2,A
        	MOV R3,B
        	MOV R4,A
        	DEC T_V2
        
        	LCALL QUETLED
        RET
        ;====================
        DOXANH2:
        	MOV A,T_D2
        	MOV B,#10
        	DIV AB
        	MOV R1,B
        	MOV R2,A
        	DEC T_D2
        
        	MOV A,T_X1
        	MOV B,#10
        	DIV AB
        	MOV R3,B
        	MOV R4,A
        	DEC T_X1
        
        	LCALL QUETLED
        RET
        ;====================
        DOVANG2:
        	MOV A,T_V1
        	MOV B,#10
        	DIV AB
        	MOV R4,A
        	MOV R3,B
        	MOV R2,A
        	MOV R1,B
        	DEC T_V1
        
        	LCALL QUETLED
        RET
        ;====================
        HIENTHI0:
        	MOV R1,#00H
        	MOV R2,#00H
        	MOV R3,#00H
        	MOV R4,#00H
        	LCALL QUETLED	
        RET
        ;====================
        QUETLED:
        	MOV A,R1
        	LCALL GIAIMA
        	SETB P1.3
        	LCALL DELAY
        	CLR P1.3
        
        	MOV A,R2
        	LCALL GIAIMA
        	SETB P1.4
        	LCALL DELAY
        	CLR P1.4
        
        	MOV A,R3
        	LCALL GIAIMA
        	SETB P1.1
        	LCALL DELAY
        	CLR P1.1
        
        	MOV A,R4
        	LCALL GIAIMA
        	SETB P1.2
        	LCALL DELAY
        	CLR P1.2
        	
        	MOV A,30H
        	INC A
        	MOV 30H,A
        	CJNE A,#45,QUETLED
        	MOV 30H,#00H
        RET
        ;====================
        DELAY:
        	MOV TMOD,#01H
        	MOV TH0,#HIGH(-6000)
        	MOV TL0,#LOW(-6000)
        	SETB TR0
        	JNB TF0,$
        	CLR TF0
        	CLR TR0
        RET
        ;====================
        GIAIMA:
        	MOV DPTR,#TABLE
        	MOVC  A,@A+DPTR
        	MOV P0,A
        RET
        ;====================
        TABLE: 
        	DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
        END
        Note: Xin xem kỹ trước khi hỏi lại!
        Không TÔI là kẻ phàm phu
        Cái TÔI quá lớn làm ngu muội mình!
        - 0983.886.113

        Comment


        • #5
          as mình không hiểu, bạn có thể cho mình xin code đèn giao thông bằng c được không, cảm ơn !
          _______________________________!

          Comment

          Về tác giả

          Collapse

          svdientu Tìm hiểu thêm về svdientu

          Bài viết mới nhất

          Collapse

          Đang tải...
          X