Thông báo

Collapse
No announcement yet.

HƯỚNG DẪN LẬP TRÌNH KEIL C CHO 8051-[Chỉ dành post bài hướng dẫn]

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

  • Nguyên văn bởi hiodong Xem bài viết
    Bác nào biết cách reset bằng phần mềm ko? thay cho việc ấn nút reset
    có phải lệch này ko ạ?
    RS0=0;
    RS1=0;
    Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

    Comment


    • Nguyên văn bởi BangHien Xem bài viết
      Chào anh em .Mình đang làm đồ án .Khi dịch ra file Hex không được vì mình dùng bản giới hạn limti giới hạn 2k nên không dịch được .Nếuai có chia sẻ cho anh em với mình cảm ơn nhiều .
      Hình như có topic bản KEIL full ở ngoài rồi mà
      Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

      Comment


      • GUI hiodong

        Thật hả ban co thể gưi cho minh bản đo được không mình rất cần .Mấy hôm nưa nộp đồ án mà gửi cho mình nhé theo Mail BangHienBKHN@yahoo.com.Mình cám ơn nhé

        Comment


        • Nguyên văn bởi BangHien Xem bài viết
          Thật hả ban co thể gưi cho minh bản đo được không mình rất cần .Mấy hôm nưa nộp đồ án mà gửi cho mình nhé theo Mail BangHienBKHN@yahoo.com.Mình cám ơn nhé
          Bạn tự dowload nhé ! nhớ đọc kỹ hướng dẫn sử dụng !
          http://rapidshare.com/files/48328688/Keil_809A.rar
          Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

          Comment


          • có Pro nào chỉ cho em cách tạo 1dải tần số từ 10 Hz đến 5KHz ko
            cám ơn trước nha

            Comment


            • Gửi Ngô Hải Bắc

              Chào ban có thể giúp mình được không không hiểu tại sao mình viết chương trình như thế này mà bao không dịch được sang File hex hình như là nó bảo mã code > 2k nên không dịch được có phải không nếu ai biết giúp mình nhé .Mình cám ơn nhiều .Nó báo lỗi như sau:

              SCLKBuild target 'Target 1'
              compiling testdungluong.c...
              linking...
              BL51 BANKED LINKER/LOCATER V6.05 - SN: Eval Version
              COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2007
              "STARTUP.obj",
              "testdungluong.obj"
              TO "testdungluong"
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?_SHOWPARAMETER?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?_READBITMETERIC?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?_DELAY?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?_CONVERT?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?WAIT?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              ************************************************** ****************************
              * RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0801H BYTE (100%) *
              ************************************************** ****************************
              Program Size: data=104.0 xdata=0 code=3414
              LINK/LOCATE RUN COMPLETE. 5 WARNING(S), 0 ERROR(S)
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?_SHOWPARAMETER?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?_READBITMETERIC?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?_DELAY?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?_CONVERT?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              *** WARNING L15: MULTIPLE CALL TO SEGMENT
              SEGMENT: ?PR?WAIT?TESTDUNGLUONG
              CALLER1: ?C_C51STARTUP
              CALLER2: ?PR?INTADE?TESTDUNGLUONG
              *** FATAL ERROR L250: CODE SIZE LIMIT IN RESTRICTED VERSION EXCEEDED
              MODULE: C:\KEIL\C51\LIB\C51S.LIB (-----)
              LIMIT: 0800H BYTES
              Target not created

              Comment


              • Bản dùng thử chỉ được 2k chứ sao nữa

                Comment


                • Có ai biết nhúng hợp ngữ vô chương trình C ko? làm ơn giúp mình với, mình cảm ơn nhiều

                  Comment


                  • Nguyên văn bởi hiodong Xem bài viết
                    Bác nào biết cách reset bằng phần mềm ko? thay cho việc ấn nút reset
                    Tôi có chiêu này hy vọng bạn thi triển được. Chiêu này dựa trên nguyên tắc là cứ mỗi khi nhảy vào chương trình con thì PC = PC + 2, địa chỉ hiện hành được lưu vào stack. Sau khi thự hiện xong chương trình con thì VDK sẽ lấy địa chỉ này trả cho PC để thực hiện tiếp chương trình chính.
                    Dựa vào đó, tôi viết chương trình con, ở cuối chương trình con này, tôi push giá trị 00H vào stack 2 lần (tức là địa chỉ mà con trỏ PC sẽ nhảy về sau khi thực hiện xong chương trình con). Như vậy có nghĩa là sau khi thực hiện xong chương trình con thì chương trình của tôi sẽ thực hiện lại bắt đầu từ địa chỉ 00H, điều này rất giống với việc ta nhấn nút reset, chỉ ngoại trừ việc trạng thái các thanh ghi và nội dung trong RAM không được trả về giá trị ban đầu, nếu cần ta phải có một đoạn chương trình để khởi tạo lại các giá trị này.
                    Nói thì dài vậy nhưng viêt thì chỉ có nhiêu đây thôi:
                    Code:
                    sub:
                    ...
                    Your code here
                    ...
                    clr A
                    push ACC
                    push ACC
                    ret

                    Comment


                    • Nguyên văn bởi plain Xem bài viết
                      Có ai biết nhúng hợp ngữ vô chương trình C ko? làm ơn giúp mình với, mình cảm ơn nhiều
                      bạn nhúng như sau:
                      #pragma asm
                      ;các lệnh ASM ở đây
                      JMP $ ; 1 ví dụ
                      #pragma endasm

                      email:mahaco@fpt.vn

                      Comment


                      • Nguyên văn bởi hoctro89xxx Xem bài viết
                        bạn nhúng như sau:
                        #pragma asm
                        ;các lệnh ASM ở đây
                        JMP $ ; 1 ví dụ
                        #pragma endasm
                        Bạn làm ơn chỉ giúp tôi cách truy cập vào các biến C bằng các câu lệnh hợp ngữ đã được nhúng vào chương trình C, cả cách gọi các hàm của C từ trong câu lệnh hợp ngữ, gọi hàm hợp ngữ từ trong C. Cám ơn bạn nhiều

                        Comment


                        • Nguyên văn bởi plain Xem bài viết
                          Bạn làm ơn chỉ giúp tôi cách truy cập vào các biến C bằng các câu lệnh hợp ngữ đã được nhúng vào chương trình C, cả cách gọi các hàm của C từ trong câu lệnh hợp ngữ, gọi hàm hợp ngữ từ trong C. Cám ơn bạn nhiều

                          cách truy cập vào các biến C bằng các câu lệnh hợp ngữ đã được nhúng vào chương trình C

                          Bạn khai báo biến count bên C phía sau thêm _at_ địa chỉ trong ram
                          ...
                          trong đoạn mã asm nhúng ở phần đầu khai báo biến tại địa chỉ trong ram trên
                          ví dụ: equ dem địa chỉ trong ram

                          nếu bên C bạn viết: count=2;
                          vào trong đoạn asm bạn viết
                          mov dem,#30 ; nếu địa chỉ khai báo > 7fh bạn phải thông qua r0và r1
                          sau lệnh asm trên thì count bên C sẽ = 30


                          gọi hàm hợp ngữ từ trong C:
                          để đơn giản thay vì tạo hàm hợp ngữ bạn tạo hàm C và đặt các mã asm trong đó - mỗi cấu trúc hàm là của C thôi
                          lúc này ở C cứ gọi hàm thoải mái nó sẽ thực hiện đoạn asm trong hàm bạn đã làm.
                          cách gọi các hàm của C từ trong câu lệnh hợp ngữ
                          còn cái này thì tôi lại phải làm: dùng các cờ để khi nhảy vào đoạn asm thì kiểm tra cờ để nhảy đến chỗ cần thiết, khi ra khỏi đoạn này lại đặt cờ cần thiết- ở dưới đoạn asm có lệnh của C kiểm tra các cờ này để gọi hàm C cho đúng, thực hiện xong lại quay về đầu phần asm để đặt lại cờ và vào trong đó.
                          muốn ra khỏi asm mà không thực hiện gọi hàm thì bạn quy định cờ thôi.
                          tóm lại phần này là do tư duy của mỗi người làm -tôi thì chưa nghĩ cách nào hay hơn, nhưng cách trên tôi đã làm và chạy ngon rồi.

                          email:mahaco@fpt.vn

                          Comment


                          • Cám ơn bạn hoctro89xxx đã giải đáp thắc mắc của tôi. Nhưng ở đây tôi lại nảy sinh thêm một thắc mắc nữa mong bạn giải đáp: Các biến được khai báo trong C ta đều ko biết địa chỉ (trừ khi thêm _at_) và trong ASM ta có thể thao tác nhầm vào những ô nhớ của các biến C. Vậy là mỗi khi muốn nhúng ASM vào C ta phải thêm _at_ vào phần khai báo cho tất cả các biến C hay sao?
                            Nhân tiện, bạn có biết cách nào để nhập trực tiếp số nhị phân trong C không? tôi đã thử thêm Y vàp rồi nhưng không được. Còn dùng cái macro do bạn nào đó cung cấp thì lại sợ tốn tài nguyên.

                            Comment


                            • Nguyên văn bởi tienloc
                              SERIAL:
                              MOV A,#'A'
                              JNB TI,$ ;co TI duoc set ngay sau khi phat xong 1 ky tu
                              MOV SBUF,A
                              LJMP SERIAL
                              END
                              Đoạn code của bạn gặp trục trặc ở chương trình con phát dự liệu. Sửa lại như sau:
                              Code:
                              SERIAL:
                                       MOV A,#'A'
                                       JNB TI, $                ;kiểm tra xem bộ đệm phát đã trống chưa
                                       CLR TI                   ;xóa cờ TI
                                       MOV SBUF, A          ; truyền dữ liệu trong thanh ghi A ra
                              END.
                              Do chương trình của bạn không xóa cờ TI nên nó chỉ phát được một ký tự A duy nhất, sau đó là hắn bị kẹt lại ở câu lệnh JNB TI, $

                              Comment


                              • Nguyên văn bởi diode1447 Xem bài viết
                                Có khi viết chương trình trong Keil C, có đoạn Warning như sau:
                                multiple call to segment "hàm gì đó"
                                caller1 : ...
                                caller2: ...
                                thông báo này không thấy có ảnh hưởng gì nhưng mỗi lần thấy nó là thấy ghét, vậy vì sao có nó vậy, và khi nào xóa được nó ?
                                gặp lỗi này là chương trình chạy lung tung cả lên , các bác cho hỏi đây là lỗi gì ạ ?
                                Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                • mèomướp
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi mèomướp
                                  Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
                                  Hôm qua, 13:11
                                • tuyennhan
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi tuyennhan
                                  Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
                                  Hôm qua, 09:25
                                • tuyennhan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi tuyennhan
                                  Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
                                  Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
                                  Hôm qua, 09:10
                                • Ng.Phuong.5
                                  Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
                                  bởi Ng.Phuong.5
                                  Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
                                  Mấy con...
                                  09-01-2025, 19:44
                                • viettinh
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi viettinh
                                  Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
                                  Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
                                  09-01-2025, 18:12
                                • nguyendinhvan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi nguyendinhvan
                                  Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
                                  Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
                                  Cách đơn giản...
                                  09-01-2025, 00:04
                                • mèomướp
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi mèomướp
                                  Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
                                  08-01-2025, 19:02
                                • tuyennhan
                                  Trả lời cho Sửa bộ nguồn DC 60V 45A
                                  bởi tuyennhan
                                  Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
                                  08-01-2025, 15:43
                                • tuyennhan
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi tuyennhan
                                  Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
                                  08-01-2025, 15:28
                                • mèomướp
                                  Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
                                  bởi mèomướp
                                  Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
                                  08-01-2025, 11:44
                                Đang tải...
                                X