Thông báo

Collapse
No announcement yet.

Ngắt trong VDK 89C51

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

  • Ngắt trong VDK 89C51

    Bạn nào co giáo trinh VDK ( phần NGẮT ) post cho minh xin! NGẮT là sao? dùng để làm gì? bạn nào giải thích dùm minh với,mình học tới đây không hiểu gì hết đó

  • #2
    ngắt trong 8051

    đây là chương nói về ngắt trong giáo trình của thầy Nguyễn tăng Cường(HVKTQS).bạn xem thử coi.hjhj
    Attached Files
    Last edited by fly_1304; 16-05-2010, 18:29.
    ĐẠI HỌC SƯ PHẠM KỸ THUẬT I

    Nợ cha một sự nghiệp - Nợ mẹ một nàng dâu

    Comment


    • #3
      thanks, cám ơn bạn nhiều

      Comment


      • #4
        Cảm ơn bác em cũng đã hiểu cơ bản về ngắt rồi nhưng nếu có các VD trong bài giảng bằng C thì hay quá. ASM em ko biết

        Comment


        • #5
          thank thì bấn vô cái nút vàng nhé.hjhj.ngôn ngữ c thì bạn lên mạng seach có khá nhiều ví dụ đó.chúc bạn thành công!
          ĐẠI HỌC SƯ PHẠM KỸ THUẬT I

          Nợ cha một sự nghiệp - Nợ mẹ một nàng dâu

          Comment


          • #6
            Bạn có giáo trình này đầy đủ không? post lên cho mình với

            Comment


            • #7
              Cái này mình cũng từng đau đầu rồi, gởi các bạn code này
              Last edited by kass; 14-01-2011, 22:44.

              Comment


              • #8
                Nguyên văn bởi maluong Xem bài viết
                Cảm ơn bác em cũng đã hiểu cơ bản về ngắt rồi nhưng nếu có các VD trong bài giảng bằng C thì hay quá. ASM em ko biết
                Gởi bạn code của ai đó ...mình quên rồi
                PHP Code:
                 <REGX52.H>
                //=======a....d la cac bit dau vao cua 74HC47
                #define a P2_0
                #define b P2_1
                #define c P2_2
                #define d P2_3
                //========thu tu led tinh tu phai qua trai
                #define led1 P2_4 
                #define led2 P2_5
                #define led3 P2_6
                #define led4 P2_7
                //********Khai báo các bi?n******************
                unsigned char t1,t2,t3,t4,thu_tu_led;
                //*********Ham tao do tre*******************
                void delay(unsigned int ms)
                  { 
                    
                unsigned int i,j;
                    for (
                i=0i<msi++)
                      { for (
                j=0j<120j++) ;
                //----------------led 7 thanh-------------------------
                void display(unsigned char number)
                //hi?n th? 1 s? trên led 7 thanh.
                //d?i s? number thành mã BCD
                 
                char x,y;
                x=number/8;y=number-x*8;d=x;
                x=y/4;y=y-x*4;c=x;
                x=y/2;y=y-x*2;b=x;
                a=y;


                }
                void display_led(unsigned int number,led)
                {
                 if(
                led==1)
                    {
                P2=0xff;led1=0;}
                 else if (
                led==2)
                     {
                P2=0xff;led2=0;}
                 else if (
                led==3)
                     {
                P2=0xff;led3=0;}
                 else if (
                led==4)
                     {
                P2=0xff;led4=0;}
                 else 
                     {
                P2=0xff;}
                 
                display(number);
                }
                void timer0_init()//dung cho ngat timer 0
                 
                {
                   
                TMOD&=0xF0;//0xFO=1111.0000
                   
                TMOD|=0x01;//timer0 in mode 1(16bit)
                   
                ET0=1;
                   
                EA=1;   //tham khao "ho vi dieu khien 8051"
                   
                TH0=0x00;       //Phai chu y
                   
                TL0=0x00;     //Phai chu y
                   
                TR0=1;
                  }
                void chuongtrinh_timer0 (voidinterrupt 1//chuong trinh phuc vu ngat timer0
                {    unsigned char hh;
                    if      (
                thu_tu_led==1){hh=t1;}
                    else if (
                thu_tu_led==2){hh=t2;}
                    else if (
                thu_tu_led==3){hh=t3;}
                    else                   {
                hh=t4;}
                    
                display_led(hh,thu_tu_led);
                    
                thu_tu_ledthu_tu_led+1;
                    if (
                thu_tu_led>4){thu_tu_led=1;}
                //giu nguyen    
                    
                TH0=0xf0;
                    
                TL0=0xf0;
                    
                TF0=0;
                    
                TR0=1;
                }
                        
                      }
                  }
                main()
                {
                //làm gì thì làm
                //luu ý:t1,t2,t3,t4 là các giá tr? hi?n th? trên led 7 thanh
                //còn vi?c b?n l?y giá tr? c?a nó ? dâu thì tùy b?n


                Bạn chú ý ở chương trình con
                void time0_init() đây là phần khai báo chế độ ngắt của vđk
                void chuongtrinh_timer0 (void) interrupt 1 phần này là cái mà chương trình ngắt thực hiện khi có yêu cầu ngắt

                Comment


                • #9
                  anh fly_1304 ơi gửi cho em trọn bộ sách của thầy Nguyễn Tăng Cường vào mail này có được không anh
                  em cảm ơn anh
                  mail cua em là: phamtrungtdh@gmail.com

                  Comment


                  • #10
                    Tôi có ví dụ 89C51 với ngắt ngoài và ngắt timer, với code asm và C. tham khảo tại Phan Information Technology trong mục "Học tập"
                    0912666017

                    Comment

                    Về tác giả

                    Collapse

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

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

                    Collapse

                    • bqviet
                      Trả lời cho Đấu tắt điện cho máy tính bảng
                      bởi bqviet
                      Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
                      06-12-2025, 17:17
                    • nguyendinhvan
                      Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
                      bởi nguyendinhvan
                      Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
                      05-12-2025, 19:59
                    • afrendly
                      Trả lời cho Đấu tắt điện cho máy tính bảng
                      bởi afrendly
                      Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
                      04-12-2025, 01:27
                    • nick22
                      Trả lời cho Máy điện châm ?
                      bởi nick22
                      Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
                      01-12-2025, 13:23
                    Đang tải...
                    X