Mình có 2 đoạn code dùng để chạy viền mà mình đang nhức đầu về vụ này.Ai rành chĩ mình cái.
đoan1:
Theo như doạn code1 thì mạch chạy SANGVIEN 16 lần rùi chạy VIENCHAY mà mình mô phỏng thì chạy dc 16 lần SANGVIEN rồi đến lúc VIENCHAY thì nó chớp tắt 1 còn led o P1.1 rùi sáng hết lun.
Đoạn 2:
Theo code doan 2 thì mạch chay on định mà mình không hieu cho lắm. Cái cau lệnh JC SANGVIEN khi mình bỏ đi thì nó không chạy sáng viền nữa. Mà mình nghĩ câu JC là nhảy khi cờ CY =1 đâu liên quan tới gì đâu.Mình chắc chắn rằng code mình không có lệnh MOV,DIV,ADD,SUB gì hết.
Cái code này mình dùng trong chuong trình ngắt.
Bạn nào biết chỉ mình với.Đang nhức đầu wá.Code đúng thì chạy sai còn code sai thì chay đúng.
đoan1:
Code:
MOV R5,#0 INC R5 CJNE R5,#16,SANGVIEN CJNE R5,#80,VIENCHAY MOV R5,#0 LJMP SANGVIEN ;------------------------------------------------------ SANGVIEN: SETB P1.1 SETB P1.0 LJMP EXITISR ;--- VIENCHAY: INC R4 CJNE R4,#1,LOOPVIENCHAY CLR P1.1 SETB P1.0 LJMP EXITISR LOOPVIENCHAY: CJNE R4,#2,EXITISR SETB P1.1 CLR P1.0 MOV R4,#0 LJMP EXITISR EXITISR: RETI
Đoạn 2:
Code:
MOV R4,#0 INC R4 CJNE R4,#16,KTVIENX LJMP SANGVIEN KTVIENX: JC SANGVIEN CJNE R4,#40,VIENCHAY MOV R4,#0 LJMP SANGVIEN ;------------------------------------------------------ SANGVIEN: SETB P1.1 SETB P1.0 LJMP EXITISR ;--- VIENCHAY: INC R2 CJNE R2,#1,LOOPVIENCHAY CLR P1.1 SETB P1.0 LJMP EXITISR LOOPVIENCHAY: CJNE R2,#2,EXITISR SETB P1.1 CLR P1.0 MOV R2,#0 LJMP EXITISR EXITISR: RETI
Cái code này mình dùng trong chuong trình ngắt.
Bạn nào biết chỉ mình với.Đang nhức đầu wá.Code đúng thì chạy sai còn code sai thì chay đúng.
Comment