Mình thử mô phỏng chương trình này (trích một chương trình con đơn giản) với con 8951, clock là 12MHz. Nhưng khi nạp fiel hex vào rồi chạy thì báo lỗi: Real Time Simulation failed to start. Lý do là gì vậy?
STORE EQU 41H
ORG 000H
;************************************************* ***********************************************
;CHUONG TRINH CON DIEU KHIEN THIET BI
CONTROL:
L2: MOV STORE,P2 ;doc ma phim an tu P2 (giai ma boi DTMF) luu vao ACC
MOV A,STORE ;chuyen ma phim an tu ACC vao A
ANL A,#0FH ;ma phim an chi nam tu P2.0->P2.3 ->chi lay 4 bit thap cua A
CJNE A,#09H,L2 ;neu ko an dung phim 9 thi lap lai L2 de ktra phim an
;neu an dung phim 9 thi tiep tuc CONTINUE de dkhien tbi
CONTINUE: MOV STORE,P2
MOV A,STORE
ANL A,#0FH
CJNE A,#01H,TEST3 ;neu an ko dung phim 1 thi den TEST3 ktra tiep phim 3
CLR P0.0 ;neu an dung phim 1 thi xoa P0.0=0 de bat LED1
TEST3: CJNE A,#03H,TEST5
CLR P0.1 ;neu an dung phim 3 thi xoa P0.1=0 de bat LED2
TEST5: CJNE A,#05H,TEST2
CLR P0.2 ;neu an dung phim 5 thi xoa P0.2=0 de bat LED3
TEST7: CJNE A,#07H,TEST2
CLR P0.3 ;neu an dung phim 7 thi lap P0.3=1 de bat LED4
TEST2: CJNE A,#02H,TEST4
SETB P0.0 ;neu an dung phim 2 thi lap P0.1=1 de tat LED2
TEST4: CJNE A,#04H,TEST6
SETB P0.1 ;neu an dung phim 4 thi lap P0.1=1 de tat LED2
TEST6: CJNE A,#06H,TEST8
SETB P0.2 ;neu an dung phim 6 thi lap P0.2=1 de tat LED3
TEST8: CJNE A,#08H,TEST0
SETB P0.3 ;neu an dung phim 8 thi lap P0.3=1 de tat LED4
TEST0: CJNE A,#00H,AGAIN ;neu phim an ko fai la 0 thi nhay toi AGAIN de tra lai
SETB P3.5 ;neu an dung phim 0 thi lap P3.5=1 de mo tai gia
SJMP SKIP ;nhay den SKIP de thoat khoi chtrinh dkh
AGAIN: ACALL DELAY_1 ;goi chtrinh con DELAY 1 thoi gian roi ktra lai
SJMP CONTINUE
SKIP: RET ;thoat khoi chtrinh con dieu khien tbi
;************************************************* ***********************************************
;CHUONG TRINH CON TAO TRE
DELAY_1: MOV R2,#100
LOOP: MOV R3,#100
DJNZ R3,$
DJNZ R2,LOOP
RET
END
thay đổi nội dung bởi: hoangngoc, 09-05-2006 lúc 09:55 PM.
|