Thông báo

Collapse
No announcement yet.

Xin code chỉnh tốc độ nháy của mạch LED dùng 8051

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

  • #16
    ví dụ bạn đưa vào chân ngắt ngoài số 0 đi
    bạn dùng 1 biến nào đó làm biến đếm
    trong hàm ngắt bạn đếm tăng 1 cho biến đếm
    kiểm tra khi biến đếm đạt 1 giá trị nào đó thì thay đổi trạng thái led
    sau đó nhớ reset cho biến đếm về 0

    Comment


    • #17
      thiệt là mệt các chú, cần gì biến với ngắt, điều khiển led chạy thì ko cần sài ngắt, chủ yếu là delay

      Code:
      	ORG	0000H
      MAIN:
      	MOV	A,#0EFH
      LOOP:	MOV	P2,A
      	CALL	DELAY
      	RR	A
      	JMP	LOOP
      DELAY:
      	JNB	P1.0,$
      	JB	P1.0,$
      RET	
      END

      Comment


      • #18
        thì cũng thế mà
        nói chung có cái gì đó bên ngoài thay đổi và đưa vào 1 chân MCU là xong

        Comment


        • #19
          của chú chung thời gian delay là 1 chu kỳ còn nếu làm kiểu đếm kia thì muốn đếm bao nhiêu chu kỳ là tùy mình mà

          Comment


          • #20
            thế vậy code c thì viết thế nào ạ

            Comment


            • #21
              void delay()
              {while(!p1_0);while(p1_0);}

              Comment


              • #22
                ngắn vậy a a giải thích vòng lập này dum e với

                Comment


                • #23
                  Nguyên văn bởi lenhoc91 Xem bài viết
                  ngắn vậy a a giải thích vòng lập này dum e với
                  chú bảo ngắn mà cũng cần giải thích à, sao ko động não vậy, chỉ có 2 dòng thôi mà.
                  1 lệnh chờ tín hiệu lên, 1 lệnh chờ tín hiệu xuống, 1 lần gọi delay, thời gian tương ứng 1 chu kì của clock 555

                  Comment


                  • #24
                    e động não mà có ra đâu. vậy xung 555 đua vào P1.0

                    Comment


                    • #25
                      thì đúng rồi đó
                      trời
                      tất nhiên thế rồi chứ gì nữa
                      hê hê

                      Comment


                      • #26
                        hê! hê! mò mấy cái này đầu e nó quay quay

                        Comment


                        • #27
                          mà a ơi làm thế thì nếu mất xung 555 thì led ko chạy.có cách nào tiện đôi đường ko a. vừa delay bằng 555 vừa delay trong 89

                          Comment


                          • #28
                            thì chú làm cái nút
                            mỗi lần ấn thì thay đổi chọn xung
                            có thể dùng delay trong và delay ngoài
                            sbit bXung;
                            if(ấn nút) bXung=!bXung;
                            if(bXung) {hàm delay trong}
                            else {hàm delay ngoài}

                            Comment


                            • #29
                              Nguyên văn bởi kidteam Xem bài viết
                              thì chú làm cái nút
                              mỗi lần ấn thì thay đổi chọn xung
                              có thể dùng delay trong và delay ngoài
                              sbit bXung;
                              if(ấn nút) bXung=!bXung;
                              if(bXung) {hàm delay trong}
                              else {hàm delay ngoài}
                              có code thì đưa lên luôn đi, vòng vo miết
                              0979.316.957
                              0905.028.957

                              Comment


                              • #30
                                Code:
                                #include <regx51.h>
                                void delay555(void);
                                void delay_mcu(void);
                                void delay(void);
                                unsigned char bSelect;
                                void main(void)
                                {
                                	//kiem tra xem phim co duoc nhan hay khong
                                	NgoHungCuong:
                                	if(!P1_0)
                                	{
                                		if(bSelect)
                                			bSelect=0;
                                		else
                                			bSelect=1;
                                	}
                                	P3_0=!P3_0;
                                	delay();
                                	goto NgoHungCuong;
                                }
                                void delay555(void)
                                {
                                	//lam gi do
                                }
                                void delay_mcu(void)
                                {
                                	//lam gi do
                                }
                                void delay(void)
                                {
                                	if(bSelect)	
                                		delay555();
                                	else
                                		delay_mcu();
                                }
                                hiểu chưa chú
                                đại ý là thế

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X