Thông báo

Collapse
No announcement yet.

Dành cho người mới tìm hiểu 8051

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

  • Hình như bác ko hiểu ý mình rồi.
    Ý mình hỏi là đem cái mạch nạp lại gần con VDK rồi đưa 3 sợi dây để kết nối với nó rồi nạp.
    Có nghĩa là lúc này con VDK đã nằm sẵn trên bo mạch chạy rồi(Ko phải nằm trên mạch nạp)
    Hình như nạp như thế là nạp theo kiểu nối tiếp thì phải
    Mong các bác góp ý

    Comment


    • Nguyên văn bởi digital83 Xem bài viết
      Các bác cho mình hỏi.
      Để nạp trực tiếp cho VDK họ 89xxx thì phải cần đủ những điều kiện cụ thể như thế nào?
      -VD: VDK mã nào nạp trực tiếp được,phần mềm gì..............
      Thanks các bác trước!
      Để nạp trực tiếp cho 89Sxx ta có thể:
      - Trên mạch chạy VDK chừa sẵn jump 6 chân: MOSI-MISO-SCK-RST-VCC-GND
      - Trên máy tính dùng phần mềm SPI Flash Programmer
      - Mạch nạp đơn giản chỉ là bộ đệm cho mấy dg tín hiệu này, với 1 đầu tới cổng LPT của máy tính, một đầu tới jump 6 chân mạch VDK

      Nếu muốn nạp cho tất cả 89xxx thì có thể dùng mạch nạp USB. Chi tiết bạn hỏi thêm bác mèo mod ấy!
      !e

      Comment


      • các bác cho em hỏi tí.

        giả sử khi ta set ưu tiên ngắt ngoài 0 > 1.khi cả 2 ngắt cùng xảy ra -> ngắt ngoài 0 thực hiện trước,thế sau khi thực hiện xong chương trình con phuc vụ ngắt ngoài o nó có thực hiện tiếp chương trình con phục vụ ngắt ngoài 1 không?

        vẫn giả thiết trên.khi chương trình con phục vụ ngắt ngoài 0 chưa được thóat ra,tức là vẫn đang trong trạng thái ngắt. ta lại tiếp tục tạo ra ngắt ngoài 0 nữa,liệu nó có thực hiện ngắt không?
        ví dụ như:
        char i;
        void ngat_ngoai_0(void) interrupt 0 //ngắt ngoài 0
        {
        i++;
        if (i== 10 )
        {} //khong lam gi ca va thoat
        else while(1);
        }


        voi chương trình tren liêu rằng ta ấn nút ngắt ngoài 10 lần có thoát được chương trình không?

        cảm ơn mọi người trước

        Comment


        • Nguyên văn bởi rongconn2t Xem bài viết
          các bác cho em hỏi tí.

          giả sử khi ta set ưu tiên ngắt ngoài 0 > 1.khi cả 2 ngắt cùng xảy ra -> ngắt ngoài 0 thực hiện trước,thế sau khi thực hiện xong chương trình con phuc vụ ngắt ngoài o nó có thực hiện tiếp chương trình con phục vụ ngắt ngoài 1 không?

          vẫn giả thiết trên.khi chương trình con phục vụ ngắt ngoài 0 chưa được thóat ra,tức là vẫn đang trong trạng thái ngắt. ta lại tiếp tục tạo ra ngắt ngoài 0 nữa,liệu nó có thực hiện ngắt không?
          ví dụ như:
          char i;
          void ngat_ngoai_0(void) interrupt 0 //ngắt ngoài 0
          {
          i++;
          if (i== 10 )
          {} //khong lam gi ca va thoat
          else while(1);
          }

          voi chương trình tren liêu rằng ta ấn nút ngắt ngoài 10 lần có thoát được chương trình không?
          - Ý 1: Sau khi làm xong ngắt ngoài 0, nó sẽ làm tiếp ngắt ngoài 1
          - Ý 2: Chừng nào thoát ra khỏi ngắt ngoài 0 (đang xử lí) thì mới có thể quay trở lại chính nó. Bạn ấn nút 10 lần cũng không thể thoát ra khỏi ngắt ngoài 0 đang xử lí (với vòng lặp while(1)
          !e

          Comment


          • Ngắt ngoài của 8051

            Nguyên văn bởi zemen Xem bài viết
            - Ý 1: Sau khi làm xong ngắt ngoài 0, nó sẽ làm tiếp ngắt ngoài 1
            - Ý 2: Chừng nào thoát ra khỏi ngắt ngoài 0 (đang xử lí) thì mới có thể quay trở lại chính nó. Bạn ấn nút 10 lần cũng không thể thoát ra khỏi ngắt ngoài 0 đang xử lí (với vòng lặp while(1)
            Xin bổ sung ý 1 của đại hiệp dế mèn:
            Như chúng ta đã biết, ngắt ngoài của 8051 có thể cấu hình theo kiểu ngắt do sườn xuống hoặc do mức thấp. Vì vậy:
            - Nếu ngắt ngoài 1 được cấu hình theo kiểu ngắt do sườn xuống thì trình tự xử lý xảy ra đúng theo dế mèn nói (bất kể tại thời điểm xử lý xong ngắt ngoài 0, tín hiệu tại chân ngắt ngoài 1 còn là mức thấp hay đã lên mức cao).
            - Nếu ngắt ngoài 1 được cấu hình theo kiểu ngắt do mức thấp thì trình tự xử lý sẽ có 2 hướng sau:
            + nếu sau khi xử lý xong ngắt ngoài 0 mà tín hiệu ngắt ngoài 1 còn ở mức thấp thì chương trình xử lý ngắt ngoài 1 sẽ được thực hiện.
            + nếu sau khi xử lý xong ngắt ngoài 0 mà tín hiệu ngắt ngoài 1 không còn ở mức thấp (đã dâng lên cao) thì chương trình xử lý ngắt ngoài 1 sẽ KHÔNG được thực hiện.

            Bản chất ta nhận thấy ở đây là: ngắt do sườn sẽ được lưu trữ trạng thái một khi nó xảy ra (dù là xuống cái rồi lên luôn!), còn ngắt theo mức sẽ chỉ được xử lý khi nó còn là mức thấp mà thôi. Thậm chí sau khi xử lý xong 1 ngắt ngoài do mức thấp, nếu tín hiệu còn kéo dài ở mức thấp thì sẽ gây ra ngắt đó liên tục, cho đến chừng nào tín hiệu trở về mức cao.

            Ý trả lời số 2 của đại hiệp dế mèn thì chuẩn không cần chỉnh rồi, tôi không có ý kiến thêm gì nữa.

            Thân mến,
            blackmoon.

            Comment


            • chao cac bác !

              mình cũng mới dang bập bẹ về vdk vậy mà DAMH2 thầyy bảo làm về vdk về vấn đề nhận 8 bit ngõ vào xuất ra 2 led 7 đoạn

              mong bạn share tài liệu cho mình với

              cám ơn bạn nhe !

              chúc bạn luôn vui khỏe và thành công..........

              Comment


              • Tôi có Giáo trình AVR tiếng Việt ở đây:
                Trong đó có các phần:
                - Điều khiển vào ra.
                - Điều khiển Led 7 đoạn
                và những phần khác ...
                Hy vọng bạn sẽ tìm thấy thông tin cần thiết.
                bạn cần thì mail cho tôi : quangha.ngo@gmail.com
                Chúc thành công!
                Last edited by pavo_lusa; 02-03-2009, 20:19.
                :-)

                Comment


                • Cảm ơn các anh!

                  Comment


                  • Nguyên văn bởi vohieu Xem bài viết
                    Sao không có ai thảo luận nữa vậy? Mình đang cần 1 bài tập mẫu về quét Led 7 đoạn đếm từ số 00 đến 99.bạn nào biết hướng dẫn co mình cụ thể nha. Cám ơn
                    mấy trang đầu bạn quỳnh co nói về vấn đề này rồi mà, bạn nên xem lại
                    chúc bạn thành công

                    Comment


                    • Mình quen dùng Assembler rùi nhưng cũng xin tham gia.
                      Mình thấy bước đầu học VĐK nên dùng Assembler vì nó rất nhanh và tiết kiệm bộ nhớ.
                      Quan trọng là dùng ngôn ngữ này anh em có thể hiểu rõ thêm về phần cứng

                      ;ghep noi 8 led don tren cong P1
                      ; Chuoi sang dan tu trai sang phai
                      INCLUDE 89c51.mc
                      org 000
                      init:
                      MOV A,#00000001
                      SETB P0.0
                      Main:
                      MOV P1,A
                      ACALL DelayA
                      RL A
                      JMP Main
                      Delay:
                      MOV R1,#55 ;Ton 2 byte va mat 2 chu ki may
                      Delay1:
                      MOV R2,#150 ;Ton 2 byte va mat 2 chu ki may
                      DJNZ R2,$ ;3 byte va 2 chu ki may
                      DJNZ R1,Delay1 ;2 byte va 2 chu ki may
                      RET
                      ;Chuong trinh tre
                      DelayA:
                      MOV R3,#20 ;2 byte va 2 chu ki may
                      DelayA_1:
                      ACALL Delay ;2byte va 2 chu ki may
                      DJNZ R3,DelayA_1 ;2 byte va 2 chu ki may
                      RET

                      Comment


                      • chao cac bac.
                        Em moi bat dau hoc vdk, muon tu lam mot mach nap cho con 8051 thi phai chuan bi nhung gi? va bat dau tu dau? em xin cam on!
                        pác nào có phần mềm assembler cho em với. gửi vào mail cho em: khoai_hut@yahoo.com

                        Comment


                        • Cho em hỏi trong câu lệnh for(j=0;j<120;j++)
                          thì giá trị j<120 đó mình chọn như thế nòa với ạ?
                          Có phải chọn ngẫu nhiên ko?

                          Comment


                          • lam ơn send cho mình quyển lập trinh c cho 8051 với được ko?
                            Mình đang học cái môn này , tim mỏi mắt mà chẳng thấy quyển nào. Thanks!

                            Comment


                            • Nguyên văn bởi khoai_hut Xem bài viết
                              chao cac bac.
                              Em moi bat dau hoc vdk, muon tu lam mot mach nap cho con 8051 thi phai chuan bi nhung gi? va bat dau tu dau? em xin cam on!
                              pác nào có phần mềm assembler cho em với. gửi vào mail cho em: khoai_hut@yahoo.com
                              theo mình thì mới bắt đầu học 8051 thì truoc tiên bạn phải có phần cứng để test. cái này rất quan trọng.thứ 2 nữa lần đầu tiên tiếp xúc nên học ASM trước
                              để biết rõ phần cứng và cấu trúc của VDK.khi đã thành thạo thì chuyển sang ngôn ngữ C. về ASM bạn có thể dùng "PINACLE" hay 1 số chương trình khác. lập trình C thì dùng "KEILC".

                              Comment


                              • Nguyên văn bởi xeko_89 Xem bài viết
                                Cho em hỏi trong câu lệnh for(j=0;j<120;j++)
                                thì giá trị j<120 đó mình chọn như thế nòa với ạ?
                                Có phải chọn ngẫu nhiên ko?
                                theo mình bạn nên đọc cuốn lập trình C căn bản trước cái đã.
                                đây nè.
                                http://ifile.it/xzk5t6w
                                http://ifile.it/jzaqh4o

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X