Thông báo

Collapse
No announcement yet.

Hợp ngữ 8951 ace giúp đỡ em chút...

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

  • Hợp ngữ 8951 ace giúp đỡ em chút...

    Em đang lập trinh hợp ngữ cho 8951 với bàn phím ma trận 4x4 nhưng đến đoạn này thì em bí. Ace giúp em xíu ạh.
    Code:
    close_1:
    	acall get_key
    	cjne keyval,#11,close_1
    	clr alarm			
    close_2:
    	acall get_key
    	cjne keyval,#11,close_2
    	setb alarm			
    close_4:
    	acall get_key
    	cjne keyval,#15,close_4
    	setb lock
    		
    close_3:	
    	mov a,#LCD_CLR		
    	acall lcd_cmd		
    	mov dptr,#str_locked		
    	acall lcd_str
    	acall delay_1sec
    	ajmp main
    Đoạn code này nghĩa là khi em nhấn phím 11 thì đèn alarm bật sáng, ấn tiếp phím 11 thì đèn alarm tắt, ấn tiếp phím 15 thì đèn lock tắt. Nhưng trường hợp của em lại cần lại là:
    ấn phím 11 thì đèn alarm bật ấn tiếp lần nữa đèn alarm tắt, ấn phím 15 đèn lock tắt. Và 2 phím 11, 15 không ràng buộc gì nhau.
    Trong đoạn code trên của em thì bắt buộc phải mở đèn alarm, tắt đèn arlarm mới tắt được đèn lock.
    Và nếu em ấn và giữ nút 13 thì đèn sáng nhả ra thì đèn tắt thì viết sao ạ.

  • #2
    Nguyên văn bởi luanptit Xem bài viết
    Em đang lập trinh hợp ngữ cho 8951 với bàn phím ma trận 4x4 nhưng đến đoạn này thì em bí. Ace giúp em xíu ạh.
    Code:
    close_1:
    	acall get_key
    	cjne keyval,#11,close_1
    	clr alarm			
    close_2:
    	acall get_key
    	cjne keyval,#11,close_2
    	setb alarm			
    close_4:
    	acall get_key
    	cjne keyval,#15,close_4
    	setb lock
    		
    close_3:	
    	mov a,#LCD_CLR		
    	acall lcd_cmd		
    	mov dptr,#str_locked		
    	acall lcd_str
    	acall delay_1sec
    	ajmp main
    Đoạn code này nghĩa là khi em nhấn phím 11 thì đèn alarm bật sáng, ấn tiếp phím 11 thì đèn alarm tắt, ấn tiếp phím 15 thì đèn lock tắt. Nhưng trường hợp của em lại cần lại là:
    ấn phím 11 thì đèn alarm bật ấn tiếp lần nữa đèn alarm tắt, ấn phím 15 đèn lock tắt. Và 2 phím 11, 15 không ràng buộc gì nhau.
    Trong đoạn code trên của em thì bắt buộc phải mở đèn alarm, tắt đèn arlarm mới tắt được đèn lock.
    Và nếu em ấn và giữ nút 13 thì đèn sáng nhả ra thì đèn tắt thì viết sao ạ.
    Viết vầy chắc được:
    close_1:
    acall get_key
    cjne keyval,#11,close_2
    clr alarm
    close_2:
    acall get_key
    cjne keyval,#11,close_4
    setb alarm
    close_4:
    acall get_key
    cjne keyval,#15,close_1
    setb lock

    close_3:
    mov a,#LCD_CLR
    acall lcd_cmd
    mov dptr,#str_locked
    acall lcd_str
    acall delay_1sec
    ajmp main

    Do bạn không post cả chương trình chính lên nên tui chỉ có thể trả lời vậy thôi, hy vọng giúp được bạn.
    Chúc vui

    Comment


    • #3
      Nguyên văn bởi doanhatphong Xem bài viết
      Viết vầy chắc được:
      close_1:
      acall get_key
      cjne keyval,#11,close_2
      clr alarm
      close_2:
      acall get_key
      cjne keyval,#11,close_4
      setb alarm
      close_4:
      acall get_key
      cjne keyval,#15,close_1
      setb lock

      close_3:
      mov a,#LCD_CLR
      acall lcd_cmd
      mov dptr,#str_locked
      acall lcd_str
      acall delay_1sec
      ajmp main

      Do bạn không post cả chương trình chính lên nên tui chỉ có thể trả lời vậy thôi, hy vọng giúp được bạn.
      Chúc vui
      Điều mình băn khoăn là khi mô phỏng bằng protues lúc bắt đầu nó set là không có nút nào nhấn vì thế nó lặp lại lặp lại cho đến khi không có phím nào được nhấn. Yêu cầu mình cũng đơn giản thôi.
      Ví dụ ấn nút 11 mở led A ấn thêm một lần nữa tắt led A.
      ấn nút 12 mở led B
      Em thử hoài vẫn không được!

      Comment


      • #4
        Nguyên văn bởi luanptit Xem bài viết
        Điều mình băn khoăn là khi mô phỏng bằng protues lúc bắt đầu nó set là không có nút nào nhấn vì thế nó lặp lại lặp lại cho đến khi không có phím nào được nhấn. Yêu cầu mình cũng đơn giản thôi.
        Ví dụ ấn nút 11 mở led A ấn thêm một lần nữa tắt led A.
        ấn nút 12 mở led B
        Em thử hoài vẫn không được!
        Bạn post toàn bộ chương trình bạn đang viết lên, có vậy mình mới góp ý được. Ở đoạn chương trình bạn có viết lệnh gọi ct con get_key, chương trình con này có liên quan trực tiếp đến cách đấu nối các phím nhấn vào port VĐK, nếu chương trình bạn đúng thì có thể cách đấu nối của bạn chưa đúng. Còn vấn đến nữa là cách bạn quét phím và chống dội nó như thế nào trong chương trình... Vì vậy để các bạn phải post toàn bộ code cũng như mạch mô phỏng trong proteus để mọi người dễ dàng giúp bạn hơn.
        Chúc vui.

        Comment


        • #5
          Nguyên văn bởi doanhatphong Xem bài viết
          Bạn post toàn bộ chương trình bạn đang viết lên, có vậy mình mới góp ý được. Ở đoạn chương trình bạn có viết lệnh gọi ct con get_key, chương trình con này có liên quan trực tiếp đến cách đấu nối các phím nhấn vào port VĐK, nếu chương trình bạn đúng thì có thể cách đấu nối của bạn chưa đúng. Còn vấn đến nữa là cách bạn quét phím và chống dội nó như thế nào trong chương trình... Vì vậy để các bạn phải post toàn bộ code cũng như mạch mô phỏng trong proteus để mọi người dễ dàng giúp bạn hơn.
          Chúc vui.
          cảm ơn bác nhiều. mai em sẽ post toàn bộ chương trình, chút bác buổi tối ngủ ngon.

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...
          X