em mới học lập trình cho 89s52 nên nhờ mọi người cho ý kiến giúp em với:
em đang làm mạch dùng led hồng ngoại làm tín hiệu. Mỗi lần 1 đèn led bị che thì 1 port làm cho một động cơ hoạt động.( led mắc từ port p0.0 đến p0.3, động cơ mắc tương ứng từ p0.4 đến p0.7). p3.0 là động cơ băng chuyền để di chuyển vật.(bt thi no k hoạt động,khi đèn led 1 bị che thì nó mới hoạt động, dùng xong thì nó tắt.)
em có viết đoạn code này nhưng khi nạp vào nó chạy không đúng.mong mọi người giúp đỡ.phần cứng thì em làm đúng rồi.
em đang làm mạch dùng led hồng ngoại làm tín hiệu. Mỗi lần 1 đèn led bị che thì 1 port làm cho một động cơ hoạt động.( led mắc từ port p0.0 đến p0.3, động cơ mắc tương ứng từ p0.4 đến p0.7). p3.0 là động cơ băng chuyền để di chuyển vật.(bt thi no k hoạt động,khi đèn led 1 bị che thì nó mới hoạt động, dùng xong thì nó tắt.)
em có viết đoạn code này nhưng khi nạp vào nó chạy không đúng.mong mọi người giúp đỡ.phần cứng thì em làm đúng rồi.
Code:
dseg at 030h delay0: ds 1 delay1: ds 1 cseg at 00h main: mov p0,#00001111b mov p1,#0c0h mov p2,#0c0h mov p3,#0ffh lap: call quet ljmp lap quet: led0: call delay jb p0.0,bat1 ljmp led1 bat1: setb p0.4 setb p3.0 jbc p0.0,clr1 ljmp led1 clr1: clr p0.4 ljmp led1 ;----------------------------------- led1: call delay jb p0.1,bat2 ljmp led2 bat2: setb p0.5 jbc p0.1,clr2 ljmp led2 clr2: clr p0.5 ljmp led2 ; -------------------------------------- led2: call delay jb p0.2,bat3 ljmp led3 bat3: setb p0.6 jbc p0.2,clr3 ljmp led3 clr3: clr p0.6 ljmp led3 ; ------------------------------------------ led3: call delay jb p0.3,bat4 ljmp ledCB bat4: setb p0.7 jbc p0.3,clr4 ljmp ledCB clr4: clr p0.7 ljmp ledCB ; -------------------------------------------- ledCB: clr p3.0 ljmp led0 delay: mov delay0,#10 delay_loop2: mov delay1,#250 delay_loop1: nop nop djnz delay1,delay_loop1 djnz delay0,delay_loop2 ret end
Comment