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 trangminhsoc Xem bài viết
    Mình cần sách hoặc tài liệu để viết thuật toán led, Quý vị nào biết chỉ giúp với, mình mới tập tành bước vô nên ko biết. Xin cam ơn
    bạn tìm trên đtvn thì đầy
    chỉ sợ bạn ko đọc và học được hết mà thôi
    cố lên

    Comment


    • các pro giúp em viết một chương trình nhỏ về hàm ngắt ngoài điều khiển 1 con led nối ở chân P1_0 được không ( em đọc mà chẳng hiểu cách thức hoạt động của hàm ngắt ) .

      Comment


      • Nguyên văn bởi thelaxong Xem bài viết
        các pro giúp em viết một chương trình nhỏ về hàm ngắt ngoài điều khiển 1 con led nối ở chân P1_0 được không ( em đọc mà chẳng hiểu cách thức hoạt động của hàm ngắt ) .
        đây rất đơn giản đọc cái hiểu ngay :
        #include<regx51.h>
        #include<stdio.h>
        #include<math.h>
        void delay(unsigned long int ms)
        {unsigned int i;
        unsigned int j;
        for(i=0;i<ms;i++);
        for(j=0;j<120;j++);}
        unsigned char input ;
        void main(void)
        {IE=0x8; //cho phep ngat ngoai 0//

        while(1) // khong lam j ca //

        }
        void ngat0(void) interrupt 0
        {

        P1=0x01;delay(1000) ;
        P1=0x00;delay(1000) ;


        }

        Comment


        • thanks , sư huynh . huynh cho em hỏi em bỏ2 dòng này có được không
          #include<stdio.h>
          #include<math.h>

          Comment


          • Nguyên văn bởi thelaxong Xem bài viết
            thanks , sư huynh . huynh cho em hỏi em bỏ2 dòng này có được không
            #include<stdio.h>
            #include<math.h>
            Trong đoạn vừa rồi thì bỏ tốt
            Vũ xuân Lợi
            YM!:

            Comment


            • chào các bác em đang lập trình asm trong keil C. em muốn nó không như thế này thì em phải làm sao ạ
              MODULE: STARTUP.obj (?C_STARTUP)
              ADDRESS: 080AH
              Program Size: data=9.0 xdata=0 code=95
              creating hex file from "khong_dung_ngat"...
              "khong_dung_ngat" - 0 Error(s), 3 Warning(s).
              cái warning ấy ạ.
              thanks!

              Comment


              • Nguyên văn bởi matranlogic Xem bài viết
                chào các bác em đang lập trình asm trong keil C. em muốn nó không như thế này thì em phải làm sao ạ
                MODULE: STARTUP.obj (?C_STARTUP)
                ADDRESS: 080AH
                Program Size: data=9.0 xdata=0 code=95
                creating hex file from "khong_dung_ngat"...
                "khong_dung_ngat" - 0 Error(s), 3 Warning(s).
                cái warning ấy ạ.
                thanks!
                coppy 3 cái warnings ấy post lên đây mới bik đc mà chữa giúp chứ

                Comment


                • gửi tới bác Zz_Bi_zZ xin lỗi hôm qua em copy chưa hết. đây ạ:
                  linking...
                  *** WARNING L5: CODE SPACE MEMORY OVERLAP
                  FROM: 0000H
                  TO: 0002H
                  *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
                  SYMBOL: ?C_START
                  MODULE: STARTUP.obj (?C_STARTUP)
                  *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
                  SYMBOL: ?C_START
                  MODULE: STARTUP.obj (?C_STARTUP)
                  ADDRESS: 080AH
                  Program Size: data=9.0 xdata=0 code=1127
                  creating hex file from "pwm_asm"...
                  "pwm_asm" - 0 Error(s), 3 Warning(s).

                  mong các bác giúp em với ạ.

                  Comment


                  • Nguyên văn bởi matranlogic Xem bài viết
                    gửi tới bác Zz_Bi_zZ xin lỗi hôm qua em copy chưa hết. đây ạ:
                    linking...
                    *** WARNING L5: CODE SPACE MEMORY OVERLAP
                    FROM: 0000H
                    TO: 0002H
                    *** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
                    SYMBOL: ?C_START
                    MODULE: STARTUP.obj (?C_STARTUP)
                    *** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
                    SYMBOL: ?C_START
                    MODULE: STARTUP.obj (?C_STARTUP)
                    ADDRESS: 080AH
                    Program Size: data=9.0 xdata=0 code=1127
                    creating hex file from "pwm_asm"...
                    "pwm_asm" - 0 Error(s), 3 Warning(s).

                    mong các bác giúp em với ạ.
                    ah , viết ASM trong keil C . ở đây đang dành cho ~ ng viết C , t pó tay , k quen viết ASM

                    Comment


                    • Cảm ơn các bạn đã chia sẻ kiến thức trên diễn đàn cho mọi người học tập. Mình cũng mới học viết code bằng Keil C. Các bạn có thể giúp mình tạo 1 đoạn code điều khiển led chạy vòng tròn liên tục mà không ảnh hưởng tới các hàm delay trong chương trình con. Thanks !

                      Comment


                      • Nguyên văn bởi mr_vanpham Xem bài viết
                        Cảm ơn các bạn đã chia sẻ kiến thức trên diễn đàn cho mọi người học tập. Mình cũng mới học viết code bằng Keil C. Các bạn có thể giúp mình tạo 1 đoạn code điều khiển led chạy vòng tròn liên tục mà không ảnh hưởng tới các hàm delay trong chương trình con. Thanks !
                        Hi,
                        Nếu không dùng delay thì bác có thể dùng ngắt Timer, cần lập trình khéo một chút để chương trình ngắt chiếm ít thời gian thực thi nhất. Nếu ứng dụng của bác chỉ là các led chạy vòng tròn thì nên dùng các IC đếm hoặc các FLIP-FLOP cho khoẻ. Ứng dụng kiểu này mà mang VĐK ra làm thì giống như mang dao mổ trâu đi chém ruồi vậy.
                        Ngắt Timer bác có thể tìm trên mạng với vô vàn ví dụ mẫu.
                        Thân ái.
                        Đường đến những ngày vinh quang không còn xa
                        Con đường chúng ta... chúng ta đã chọn.

                        Comment


                        • Các bác cho em hỏi về watchdog cái nhé. Em đang làm với con 89C55WD nhưng môi trường nhiều nhiễu quá dẫn đến hay bị treo. Khắc phục nhiễu đủ mọi cách rồi nhưng vẫn bị. Thế nên em muốn dùng watchdog để reset lại chip khi bị treo. Nhưng em lại chưa bao giờ dùng đến watchdog cả.

                          Bác nào đã từng dùng rồi thì chỉ em với. Cảm ơn các bác đã quan tâm

                          Em dùng KeilC

                          Comment


                          • các bạn cho mình hỏi với mình đang viết chương trình điều khiển led bằng KeilC nó lúc Build Target thì thông báo lỗi sau
                            ----------------------------------------------------------------------------------------------------------------------
                            Build target 'Target 1'
                            compiling DKLED.C...
                            linking...
                            *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
                            SEGMENT: ?PR?TATGIUARA?DKLED
                            *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
                            SEGMENT: ?PR?TATDANTSP?DKLED
                            *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
                            SEGMENT: ?PR?TATDANPST?DKLED
                            *** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
                            SEGMENT: ?PR?SANGDANTSP?DKLED
                            *** ERROR L107: ADDRESS SPACE OVERFLOW
                            SPACE: DATA
                            SEGMENT: _DATA_GROUP_
                            LENGTH: 001AH
                            *** ERROR L107: ADDRESS SPACE OVERFLOW
                            SPACE: DATA
                            SEGMENT: ?DT?DKLED
                            LENGTH: 0005H
                            *** ERROR L107: ADDRESS SPACE OVERFLOW
                            SPACE: DATA
                            SEGMENT: ?DT?TATGIUARA?DKLED
                            LENGTH: 0004H
                            *** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
                            SYMBOL: M
                            SEGMENT: ?DT?DKLED
                            *** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
                            SYMBOL: L
                            SEGMENT: ?DT?DKLED
                            *** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
                            SYMBOL: K
                            SEGMENT: ?DT?DKLED
                            *** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
                            SYMBOL: CH
                            SEGMENT: ?DT?DKLED
                            *** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
                            SYMBOL: ABC
                            SEGMENT: ?DT?DKLED
                            Program Size: data=162.0 xdata=0 code=1219
                            Target not created
                            --------------------------------------------------------------------------------------------
                            bạn nào biết chỉ mình với thanks

                            Comment


                            • mình mới học C, làm 1 đoạn code như sau:

                              #include <AT89X51.h>
                              unsigned int thoigian
                              // ham tre
                              void int_timer0()
                              {
                              TMOD = 0x02;
                              TH1 = 0xf6;
                              TR0 = 1;
                              }
                              // ham thiet lap ngat
                              void init_timer1()
                              {
                              EX1 =1 ;
                              TMOD = 0x10;
                              EA = 1;
                              TR1 = 1;
                              IT1 = 1;
                              }
                              // ham ngat
                              void timer1 () interrupt2
                              {
                              unsigned int i
                              i = TH1;
                              thoigian = i<<8;
                              thoigian| = TL1;
                              }
                              // chuong trinh chinh
                              void main()
                              {
                              P3^1 = 1;
                              init_timer0();
                              P3^1 = 0;
                              if P3^2 =1 init_timer1();
                              unsigned int s = thoigian/58;
                              }

                              Mục đích là tính được giá trị quãng đường s bằng ngắt ngoài timer 1 (ngắt sườn xung xuống), đã lập trình bằng keil C nhưng đến đoạn BUILT thì bị lỗi, mong các bác chỉ giùm lỗi tại sao và sửa giùm, đa tạ!!!

                              Nó báo như sau:
                              Attached Files

                              Comment


                              • thanks 4 share. ok


                                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

                                Đang tải...
                                X