Thông báo

Collapse
No announcement yet.

Một câu hỏi nhỏ về lập trình VĐK 8051

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

  • Một câu hỏi nhỏ về lập trình VĐK 8051

    Đây là lần đầu post câu hỏi, nếu không đúng mục thì mong Mod chuyển giúp em nhé!
    Em có câu hỏi nhỏ này cần đến sự giúp đỡ của các bác:
    Em có chương trình bật tắt Led đơn (Led được nối tớ chân P1.0 của VĐK 8051) như sau:

    Code:
    ORG 0000H
             SETB P1.0
             CLR P1.0
    END
    Giả sử với mức tích cực tại chân P1.0 là 1 thì Led sáng.
    Các bác cho em hỏi khi chạy chương trình trên thì ta sẽ nhìn thấy
    Led sáng hay không sáng?
    Last edited by Ck33spkt; 23-03-2012, 23:51.

  • #2
    Nguyên văn bởi Ck33spkt Xem bài viết
    Đây là lần đầu post câu hỏi, nếu không đúng mục thì mong Mod chuyển giúp em nhé!
    Em có câu hỏi nhỏ này cần đến sự giúp đỡ của các bác:
    Em có chương trình bật tắt Led đơn (Led được nối tớ chân P1.0 của VĐK 8051) như sau:

    Code:
    ORG 0000H
             SETB P1.0
             CLR P1.0
    END
    Giả sử với mức tích cực tại chân P1.0 là 1 thì Led sáng.
    Các bác cho em hỏi khi chạy chương trình trên thì ta sẽ nhìn thấy
    Led sáng liên tục hay không sáng?
    Chỉ có như thế thôi thì led sẻ không sáng đâu cho dù lệnh ( setb p1.0 :Led sáng và clr p1.0 :led tắt ) vì: Chương trình trên sau lệnh setb p1.0 không có thời gian trì hoản delay để cho led sáng.
    Nếu muốn led sáng tắt liên tục thì phải dùng lệnh quay lại nhản và thời gian trì hoản delay trong chương trình như sau:
    CODE
    Code:
    	ORG 	0000H
    MAIN:
    	SETB	P1.0
    	CALL 	DELAY	
    	CLR	P1.0
    	CALL	DELAY
    	JMP	MAIN
    DELAY:
    	MOV	R0,#0FFH
    DEL:	MOV	R1,#0FFH
    	DJNZ	R1,$
    	DJNZ	R0,DEL
    	RET
    	END
    ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

    Comment


    • #3
      Cũng với các giả thiết như trên các bác phân tích giúp em code này với:
      ORG 0000h
      Main:
      Setb p1.0
      Clr p1.0
      jmp Main
      END

      Led sáng liên tục hay không sáng ạ?

      Comment


      • #4
        mình k học asm nhưng có thể hiểu đc mấy cái code đơn giản, bạn chú ý là để led sáng và k chập chọe thì lên ghim nguồn led trong 1 khoảng thời gian nào đó, tùy theo việc lập trình, bạn nhìn như vi dụ của bạn trên sửa, giữa các lần sáng và tắt đều có 1 hàm delay trước khi chuyển chế độ
        còn làm như bạn thì mình nghĩ nó lập lòe chả ra cái hiện tượng gì, và theo mình là k sáng
        và có 1 cách đơn giản để kiểm chứng thay vì bạn cứ post hỏi nhưng câu vặt này là cài protues, nét cái code đó của bạn vào là có thểm kiểm tra đc led nó sáng hay tắt, nguy hiểm hơn thì chơi hẳn mạch thật, cái này cắm mỗi con led vào chân vdk là xong
        Website chính thức đổi địa chỉ website thành
        Mời các bạn ghé thăm !!!

        Comment


        • #5
          Nguyên văn bởi Ck33spkt Xem bài viết
          Cũng với các giả thiết như trên các bác phân tích giúp em code này với:
          ORG 0000h
          Main:
          Setb p1.0
          Clr p1.0
          jmp Main
          END

          Led sáng liên tục hay không sáng ạ?
          Bạn này có cách học hay quá . Nhưng tránh dùng chữ đỏ nhé

          2 giả sử của bạn đều sai!
          Chính xác là LED sẽ chớp tắt liên tục, với 1 nhịp sáng và 3 nhịp tắt (nếu có đồng hồ đo độ đầy xung, duty cycle, thì bạn sẽ thấy nó =25%).
          Còn hiện tượng bạn nhìn thấy sẽ phụ thuộc vào tần số clock của chip. Nếu tần số clock của chip cao (dùng thạch anh 12MHz chẳng hạn), bạn sẽ thấy LED sáng yếu (bằng 1/4 độ sáng bình thường). Nếu tần số clock của chip thấp (50Hz chẳng hạn) bạn sẽ thấy LED chớp tắt khoảng 1 giây 1 lần, thời gian tắt dài gấp 3 thời gian sáng.

          Comment


          • #6
            Nguyên văn bởi KnowMore
            Bạn này có cách học hay quá . Nhưng tránh dùng chữ đỏ nhé
            2 giả sử của bạn đều sai!
            Chính xác là LED sẽ chớp tắt liên tục, với 1 nhịp sáng và 3 nhịp tắt (nếu có đồng hồ đo độ đầy xung, duty cycle, thì bạn sẽ thấy nó =25%).
            Còn hiện tượng bạn nhìn thấy sẽ phụ thuộc vào tần số clock của chip. Nếu tần số clock của chip cao (dùng thạch anh 12MHz chẳng hạn), bạn sẽ thấy LED sáng yếu (bằng 1/4 độ sáng bình thường). Nếu tần số clock của chip thấp (50Hz chẳng hạn) bạn sẽ thấy LED chớp tắt khoảng 1 giây 1 lần, thời gian tắt dài gấp 3 thời gian sáng.
            Thank bác phát. Đây mới chính là câu trả lời em cần .

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X