Thông báo

Collapse
No announcement yet.

giúp em với!con trỏ chương trình trong keilc!

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

  • giúp em với!con trỏ chương trình trong keilc!

    tình hình là em đang làm cái mạch đèn giao thông.em debug bằng cách nhấn ctrl-f5 ,rồi nhấn f5 thì đầu tiên nó trỏ tới chương trình con khác mà ko phải là main!đáng lẽ là nó phải trỏ tới main chứ.trong khi nhấn f11 để nó thực hiện từng bước thì nó lại thực hiện theo đứng thứ tự!nạp vào mô phỏng thì tất nhiên ko chạy.bác nào biết vì sao thì chỉ giúp em với.CÁM ƠN CÁC BÁC NHIỀU.
    code của em nè.các bác cop vào rồi debug thử:

    CLK BIT P3.2
    DAT BIT P3.3
    LAT BIT P3.4
    RESET BIT P3.5
    TIME1 EQU 35H
    TIME2 EQU 36H
    TIME3 EQU 37H
    COUNT1 EQU 38H
    COUNT2 EQU 39H
    DX1 EQU 4AH
    DD1 EQU 4BH
    DV1 EQU 4CH
    DX2 EQU 4DH
    DD2 EQU 4EH
    DV2 EQU 4FH
    FIRS BIT 5eh
    TMP1 EQU r1
    TMP2 EQU r2
    ORG 00H

    MAIN:

    setb firs
    here: call traffic_prog
    call delay
    jmp here

    TRAFFIC_PROG:
    JNB FIRS,FINALl ;NEU FIRST=0 THI QUA CHU KY CUOI
    JMP FIRST_HALT ;CON KO THI QUA CHU KY DAU
    JMP here
    finall: jmp final
    FIRST_HALT:
    CLR DV1
    CLR DD1
    CLR DV2
    CLR DX2
    MOV COUNT2,TIME1
    SETB DD2 ;BAT DEN DO 2
    MOV R7,TIME2
    CJNE R7,#-1,DENXANH1
    DENVANG1:
    MOV COUNT1,TIME3 ;so dem o cot den 1=time2
    SETB DV1 ;BAT DEN VANG 1
    CLR DX1 ;XOA DEN XANH 1
    CALL XUAT_DULIEU
    MOV A,TIME3
    CALL GIAM
    MOV TIME3,A ;giam time2
    JMP END_FIRST
    DENXANH1:
    MOV COUNT1,TIME2
    CLR DV1 ;BAT DEN XANH 1
    SETB DX1 ;XOA DEN VANG 1
    MOV A,TIME2
    CALL GIAM
    MOV TIME2,A ;giam time2
    CALL XUAT_DULIEU;XUAT RA CAC LED
    END_FIRST:
    MOV A,TIME1
    CALL GIAM
    MOV TIME1,A ;giam time1
    MOV R7,TIME1
    CJNE R7,#0,WAITING

    CLR FIRS ;KET THUC CHU KY DAU
    MOV TIME1,TMP1 ;LAY LAI CAC GIA TRI TIMEi
    MOV TIME2,TMP2
    MOV A,TIME1
    SUBB A,TIME2
    MOV TIME3,A
    WAITING:
    JMP here
    ;**************************************
    FINAL:
    CLR DV1
    CLR DD2
    CLR DV2
    CLR DX1
    MOV COUNT2,TIME1
    SETB DD2 ;BAT DEN DO 2
    MOV R7,TIME2
    CJNE R7,#-1,DENVANG2
    DENXANH2:
    MOV COUNT1,TIME2 ;so dem o cot den 1=time2
    SETB DX1 ;BAT DEN XANH 1
    CALL XUAT_DULIEU
    MOV A,TIME2
    CALL GIAM
    MOV TIME2,A ;giam time2
    JMP END_FINAL
    DENVANG2:
    MOV COUNT1,TIME3
    SETB DV1 ;XOA DEN XANH 1,BAT DEN VANG 1
    CLR DX1
    MOV A,TIME3
    CALL GIAM
    MOV TIME3,A ;giam time3
    CALL XUAT_DULIEU;XUAT RA CAC LED
    END_FINAL:
    MOV A,TIME1
    CALL GIAM
    MOV TIME1,A ;giam time1
    MOV R7,TIME1
    CJNE R7,#0,WAITING1

    CLR FIRS ;KET THUC CHU KY DAU
    MOV TIME1,TMP1 ;LAY LAI CAC GIA TRI TIMEi
    MOV TIME2,TMP2
    MOV A,TIME1
    SUBB A,TIME2
    MOV TIME3,A
    WAITING1:
    JMP HERE
    ;*************************************
    XUAT_DULIEU:
    MOV A,COUNT1
    ANL A,0FH ;LAY NUA BYTE THAP CUA COUNT1
    call trabang
    CALL XUAT_LED ;XUAT RA LED 7 DOAN
    MOV A,COUNT1
    SWAP A
    ANL A,0FH
    call trabang
    CALL XUAT_LED
    MOV A,COUNT2
    ANL A,0FH ;LAY NUA BYTE THAP CUA COUNT2
    call trabang
    CALL XUAT_LED ;XUAT RA LED 7 DOAN
    MOV A,COUNT2
    SWAP A
    ANL A,0FH
    call trabang
    CALL XUAT_LED
    MOV C,DX1
    MOV ACC.0,C
    MOV C,DV1
    MOV ACC.0,C
    MOV C,DD1
    MOV ACC.0,C
    MOV C,DX2
    MOV ACC.0,C
    MOV C,DV2
    MOV ACC.0,C
    MOV C,DD2
    MOV ACC.0,C
    CALL XUAT_LED
    setb lat
    clr lat
    RET
    XUAT_LED:
    MOV R0,#8
    CLR LAT
    LOOP:
    CLR CLK
    JB ACC.0,HDTA
    CLR DAT
    JMP XCLK
    HDTA: SETB DAT
    XCLK:
    CLR CLK
    SETB CLK
    RR A
    DJNZ R0,LOOP
    ret
    TANG: ; KIEM TRA XEM NEU SO BCD TAN CUNG LA 9
    MOV R0,A; THI CONG VAO HANG DON VI,NEU KO THI
    ANL A,#0FH; CONG VAO HANG CHUC
    CJNE A,#9,CONG_VAO_DON_VI
    CONG_VA0_HANG_CHUC:
    MOV A,R0
    SWAP A
    INC A
    SWAP A
    ANL A,#11110000B
    RET
    CONG_VAO_DON_VI:
    MOV A,R0
    INC A
    RET
    GIAM:
    MOV R0,A
    ANL A,#0FH
    CJNE A,#0,TRU_VAO_DON_VI
    TRU_VAO_HANG_CHUC:
    MOV A,R0
    SWAP A
    DEC A
    SWAP A
    ORL A,#09H
    RET
    TRU_VAO_DON_VI:
    MOV A,R0
    DEC A
    RET
    delay:
    mov r3,#10
    looop1:
    mov r4,#225
    looop2:
    mov r5,#225
    looop3: djnz r5,looop3
    djnz r4,looop2
    djnz r3,looop1
    ret
    TRABANG:
    INC A
    MOVC A,@A+PC
    RET
    BANGMA: DB 252,96,218,242,102,230,190,224,254,246
    END

  • #2
    khiếp
    mới nghe giât mình
    tưởng là con trỏ trong lập trình
    một loại dữ liệu dùng chứa địa chỉ của 1 loại dữ liệu khác
    hóa ra con trỏ là thê này đây
    góp ý bạn nên đưa code vào tag code
    viết thụt đầu dòng hợp lý
    nhìn thế này chắc không có ai giúp bạn cả
    (ít ra là tôi)

    Comment


    • #3
      Nguyên văn bởi kidteam Xem bài viết
      khiếp
      mới nghe giât mình
      tưởng là con trỏ trong lập trình
      một loại dữ liệu dùng chứa địa chỉ của 1 loại dữ liệu khác
      hóa ra con trỏ là thê này đây
      góp ý bạn nên đưa code vào tag code
      viết thụt đầu dòng hợp lý
      nhìn thế này chắc không có ai giúp bạn cả
      (ít ra là tôi)
      bác thông cảm cho.em ko biết tag code là gì.em cop code rồi edit,rồi review mà nó vẫn vậy!

      Comment


      • #4
        Nguyên văn bởi tienhihi Xem bài viết
        bác thông cảm cho.em ko biết tag code là gì.em cop code rồi edit,rồi review mà nó vẫn vậy!
        nếu thế thì đọc hướng dẫn sử dụng diễn đàn đó

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X