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

  • Cảm ơn bác zemen rất nhiều. Hy vọng được các bác thỉnh giáo nhiều. Mình chạy được rồi
    Last edited by toanyt; 25-03-2009, 08:29.
    Nguyễn Văn Toàn

    Comment


    • ồ cái này em mới nghe đấy em sẽ thử ngay lập tức cảm ơn pác zemen
      8051 là con em viết thành thạo. em sẵn sàng giúp đỡ các pác nếu em có thể
      liên lạc với em qua địa chi email: Mob: 01882.076.989

      Comment


      • ahhhhhhhhhhhhhhhhhhhhhhhh !
        đc rồi các pác ơi mừng quá ah
        8051 là con em viết thành thạo. em sẵn sàng giúp đỡ các pác nếu em có thể
        liên lạc với em qua địa chi email: Mob: 01882.076.989

        Comment


        • Lại cần sự giúp đỡ...

          Thế này các bác ạ.
          Code:
          ORG 0000H
          PORT2: LCALL DELAY
                 MOV P2,# 00000000B
                 LCALL DELAY
                 MOV P2,# 00000001B
                 LCALL DELAY
                 MOV P2,# 00000011B
                 LCALL DELAY
                 MOV P2,# 00000111B
                 LCALL DELAY
                 MOV P2,# 00001111B
                 LCALL DELAY
                 MOV P2,# 00011111B
                 LCALL DELAY
                 MOV P2,# 00111111B
                 LCALL DELAY
                 MOV P2,# 01111111B
                 LCALL DELAY;
                 MOV P2,# 11111111B
                 LCALL DELAY
                 MOV P2,# 00000000B
          	   LCALL DELAY2S
          	   MOV P2,# 11111111B
          	   LCALL DELAY
          	   MOV P2,# 01111111B
          	   LCALL DELAY
          	   MOV P2,# 00111111B
          	   LCALL DELAY
          	   MOV P2,# 00011111B
          	   LCALL DELAY
          	   MOV P2,# 00001111B
          	   LCALL DELAY
          	   MOV P2,# 00000111B
          	   LCALL DELAY
          	   MOV P2,# 00000011B
          	   LCALL DELAY
          	   MOV P2,# 00000001B
          	   LCALL DELAY
          	   MOV P2,# 00000000B
                 LCALL DELAY05S
          	   MOV P2,# 11111111B
          	   MOV P2,# 01111111B
          	   MOV P2,# 00111111B
          	   MOV P2,# 00011111B
          	   MOV P2,# 00001111B
          	   MOV P2,# 00000111B
          	   MOV P2,# 00000011B
          	   MOV P2,# 00000001B
          	   LCALL DELAY
          	   SJMP PORT2
          ;------CHUONG TRINH CON DELAY 1S---------
          DELAY1S: CLR TF1
          		 MOV TMOD,# 10H
          		 MOV R3,# 25
          		 AGAIN1: MOV TL1, #0FEH
          		 MOV TH1,# 6FH
          		 SETB TR1
          		 BACK1: JNB TF1, BACK1
          		 CLR TR1
          		 CLR TF1
          		 DJNZ R3, AGAIN1
          		 RET
          ;------CHUONG TRINH CON DELAY 0.5S--------
          DELAY05S: CLR TF1
          		 MOV TMOD,# 10H
          		 MOV R3,# 13
          		 AGAIN2: MOV TL1, #0FEH
          		 MOV TH1,# 6FH
          		 SETB TR1
          		 BACK2: JNB TF1, BACK2
          		 CLR TR1
          		 CLR TF1
          		 DJNZ R3, AGAIN2
          		 RET
          ;------CHUONG TRINH CON DELAY 2S------
          DELAY2S: CLR TF1
          		 MOV TMOD,# 10H
          		 MOV R3,# 50
          		 AGAIN3: MOV TL1, #0FEH
          		 MOV TH1,# 6FH
          		 SETB TR1
          		 BACK3: JNB TF1, BACK3
          		 CLR TR1
          		 CLR TF1
          		 DJNZ R3, AGAIN3
          		 RET
          ;------CHUONG TRINH CON DELAY------
          DELAY: MOV R6,#0FFH
          HERE2: MOV R7,#0FFH
          HERE1: DJNZ R7,HERE1
                 DJNZ R6,HERE2
                 RET
          	   END
          Đó. Tôi viết đoạn CODE như vậy nhưng khi dịch thì nó báo lỗi là:
          Code:
          Build target 'Simulator'
          Build target 'Simulator'
          D:\BaiTapLapTrinhVDK\Led3.asm(50): error A51: TARGET OUT OF RANGE
          Target not created
          Theo như tôi hiểu được là do nó vượt quá độ rộng. Nhưng độ rộng ở đây là gì. Xin chỉ giáo và cách sửa như thế nào?
          Nguyễn Văn Toàn

          Comment


          • tôi dùng prog-studio thì thấy báo lỗi ở dòng sjmp port2.nếu đổi thành LJMP PORT2 thì không sao. do tầm nhảy của lệnh sjmp chỉ trong tầm +127/-128 byte thôi!
            SỰ HỌC LÀ MÃI MÃI......!!!!

            Comment


            • em cocai1 code như thế này
              ;************************************************* ************************************************
              ;**************/////--- 8 LED SANG LAN LUOT- CACH DON GIAN ---\\\\\\**************
              ;**----------------------------------------------------------------------------------------------------------------------
              ;**////////////////___ led sang lan luot tu led 1 den led 8___________\\\\\\\\\\\\\\\\\\\\\\\\\\\
              ;**///////////////___ sang o muc 1 va tat o muc 0__________________\\\\\\\\\\\\\\\\\\\\\\\\\
              ;**//////////////____ lap di lap lai khong gioi han____________________\\\\\\\\\\\\\\\\\\\\\
              ;**<<<<<<<<<<<<<<<<<<<----------------------------------------------------->>>>>>>>>>>>>>
              ;** \\\\\\\\\\\\------- nap gia tr? cho tung trang thai ------------------------------////////////////
              ;************************************************* ************************************************** **
              ;************************************************* ************************************************** **
              ORG 000H ; khai bao dia chi de bat dau chuong trinh tren Rom

              Mov P0,#0 ;===>>>> |||
              Mov P1,#0 ;===>>>> ||| cac led deu tat
              Mov P2,#0 ;===>>>> |||
              Mov P3,#0 ;===>>>> |||
              LCall Delay ;===>>>>goi chuong trinh con Delay
              Xuat: ;**>>>>>>>>>>>>>>>>>>> lam led P0 sang <<<<<<<<<<<<<<<<<<<<<<<<<<
              Mov P0,#00000001B ;===>>>> lam led 1 sang
              LCall Delay ;===>>>>goi chuong trinh con Delay
              Mov P0,#00000010B ;===>>>> lam led 2 sang
              LCall Delay
              Mov P0,#00000100B ;===>>>> lam led 3 sang
              LCall Delay
              Mov P0,#00001000B ;===>>>> lam led 4 sang
              LCall Delay
              Mov P0,#00010000B ;===>>>> lam led 5 sang
              LCall Delay
              Mov P0,#00100000B ;===>>>> lam led 6 sang
              LCall Delay
              Mov P0,#01000000B ;===>>>> lam led 7 sang
              LCall Delay
              Mov P0,#10000000B ;===>>>> lam led 8 sang
              LCall Delay
              ;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>lam led P0 sang <<<<<<<<<<<<<<<<<<<
              Mov P0,#00000000B ;===>>>> lam P0 tat
              Mov P0,#00000001B ;===>>>> lam led 1 sang
              LCall Delay
              Mov P0,#00000011B ;===>>>> lam led 2 sang
              LCall Delay
              Mov P0,#00000111B ;===>>>> lam led 3 sang
              LCall Delay
              Mov P0,#00001111B ;===>>>> lam led 4 sang
              LCall Delay
              Mov P0,#00011111B ;===>>>> lam led 5 sang
              LCall Delay
              Mov P0,#00111111B ;===>>>> lam led 6 sang
              LCall Delay
              Mov P0,#01111111B ;===>>>> lam led 7 sang
              LCall Delay
              Mov P0,#11111111B ;===>>>> lam led 8 sang
              LCall Delay
              Mov P0,#01111111B ;===>>>> lam led 8 tat
              LCall Delay
              Mov P0,#00111111B ;===>>>> lam led 7 tat
              LCall Delay
              Mov P0,#00011111B ;===>>>> lam led 6 tat
              LCall Delay
              Mov P0,#00001111B ;===>>>> lam led 5 tat
              LCall Delay
              Mov P0,#00000111B ;===>>>> lam led 4 tat
              LCall Delay
              Mov P0,#00000011B ;===>>>> lam led 3 tat
              LCall Delay
              Mov P0,#00000001B ;===>>>> lam led 2 tat
              LCall Delay
              ;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> lam led P2 sang <<<<<<<<<<<<<<<<<<
              Mov P0,#00000000B ;===>>>> lam P0 tat
              Mov P2,#00000001B ;===>>>> lam led 1 sang
              LCall Delay
              Mov P2,#00000010B ;===>>>> lam led 2 sang
              LCall Delay
              Mov P2,#00000100B ;===>>>> lam led 3 sang
              LCall Delay
              Mov P2,#00001000B ;===>>>> lam led 4 sang
              LCall Delay
              Mov P2,#00010000B ;===>>>> lam led 5 sang
              LCall Delay
              Mov P2,#00100000B ;===>>>> lam led 6 sang
              LCall Delay
              Mov P2,#01000000B ;===>>>> lam led 7 sang
              LCall Delay
              Mov P2,#10000000B ;===>>>> lam led 8 sang
              LCall Delay
              Mov P2,#01000000B ;===>>>> lam led 8 tat
              LCall Delay
              Mov P2,#00100000B ;===>>>> lam led 7 tat
              LCall Delay
              Mov P2,#00010000B ;===>>>> lam led 6 tat
              LCall Delay
              Mov P2,#00001000B ;===>>>> lam led 5 tat
              LCall Delay
              Mov P2,#00000100B ;===>>>> lam led 4 tat
              LCall Delay
              Mov P2,#00000010B ;===>>>> lam led 3 tat
              LCall Delay
              Mov P2,#00000001B ;===>>>> lam led 2 tat
              LCall Delay
              ;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>lam led P2 sang <<<<<<<<<<<<<<<<<<<
              Mov P2,#00000000B ;===>>>> lam P2 tat
              Mov P2,#01010101B ;===>>>> lam led nhay qua
              LCall Delay
              Mov P2,#10101010B ;===>>>> lam led nhay lai
              LCall Delay
              Mov P2,#01010101B ;===>>>> lam led nhay qua
              LCall Delay
              Mov P2,#00000001B ;===>>>> lam led 1 sang
              LCall Delay
              Mov P2,#00000010B ;===>>>> lam led 2 sang
              LCall Delay
              Mov P2,#00000100B ;===>>>> lam led 3 sang
              LCall Delay
              Mov P2,#00001000B ;===>>>> lam led 4 sang
              LCall Delay
              Mov P2,#00010000B ;===>>>> lam led 5 sang
              LCall Delay
              Mov P2,#00100000B ;===>>>> lam led 6 sang
              LCall Delay
              Mov P2,#01000000B ;===>>>> lam led 7 sang
              LCall Delay
              Mov P2,#10000000B ;===>>>> lam led 8 sang
              LCall Delay
              Mov P2,#10000001B ;===>>>> lam led 8 va 1 sang
              LCall Delay
              Mov P2,#10000010B ;===>>>> lam led 8 va 2 sang
              LCall Delay
              Mov P2,#10000100B ;===>>>> lam led 8 va 3 sang
              LCall Delay
              Mov P2,#10001000B ;===>>>> lam led 8 va 4 sang
              LCall Delay
              Mov P2,#10010000B ;===>>>> lam led 5 sang
              LCall Delay
              Mov P2,#10100000B ;===>>>> lam led 5 sang
              LCall Delay
              Mov P2,#110000000B ;===>>>> lam led 5 sang
              LCall Delay
              Mov P2,#00000000B ;===>>>> lam led P2 tat
              ;***----------------------------------------
              Ljmp Xuat ; ===>>>> nhay ve thuc hien tu dau


              ;**>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> delay <<<<<<<<<<<<<<<<<<<<<<<<<<<<

              Delay:
              Mov R7,#0FFH ;===>>>> gan R7=#0FFH, 1 chu ki may
              Kt2: Mov R6,#0FFH ;===>>>> gan R6=#0FFH, 1 chu ki may
              Kt1: Djnz R6,Kt1 ;===>>>> giam R6 xuong 1, R6 khac 0-> giam tiep
              Djnz R7,Kt2 ;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2
              Ret ;===>>>> ket thuc chuong trinh con
              ;_________________________________________________ ________________________________
              End ;===>>>> ket thuc chuong trinh
              ko hỉu sao nạp vào chip 1 mà nó nháy nhanh đến nỗi thấy giật giật
              có ai bit thi chỉ em cách làm cho nó chạy chậm lại dc ko
              8051 là con em viết thành thạo. em sẵn sàng giúp đỡ các pác nếu em có thể
              liên lạc với em qua địa chi email: Mob: 01882.076.989

              Comment


              • Nguyên văn bởi daominhchien Xem bài viết
                Tôi vào xem thử mà lằng nhằng ko mở xem đc, bạn hướng dẫn kỹ hơn chút
                không vào được rồi bạn ơi.
                bạn up lại lên được không ạ?
                cảm ơn nhé!

                Comment


                • ko hỉu sao nạp vào chip 1 mà nó nháy nhanh đến nỗi thấy giật giật
                  có ai bit thi chỉ em cách làm cho nó chạy chậm lại dc ko
                  Bạn thử tăng thời gian trễ trong hàm Delay nhiều hơn nữa, thay đổi giá trị R5 -> ở đây thời gian nháy sẽ giảm đi 5 lần so với ban đầu.

                  Delay:
                  Mov R5,#005H
                  Kt3: Mov R7,#0FFH ;===>>>> gan R7=#0FFH, 1 chu ki may
                  Kt2: Mov R6,#0FFH ;===>>>> gan R6=#0FFH, 1 chu ki may
                  Kt1: Djnz R6,Kt1 ;===>>>> giam R6 xuong 1, R6 khac 0-> giam tiep
                  Djnz R7,Kt2 ;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2
                  Djnz R5,Kt3
                  ----------------------
                  Bể học là mênh mông!

                  Comment


                  • giúp mình với (viết bằng chương trình keil)
                    Vẽ sơ đồ phần cứng và viết chương trình đồng hồ điện tử trên LCD16x2 có chức năng chính như sau:
                    - Về phần cứng: một LCD 16x2
                    - Chương trình:
                    o Line 1 của LCD hiển thị : “Digital clock”
                    o Line 2 của LCD hiển thị : HH:MM:SS
                    Last edited by peterhuynhha; 26-03-2009, 13:06.

                    Comment


                    • Vẽ sơ đồ phần cứng và viết chương trình đồng hồ điện tử trên LCD16x2 có chức năng chính như sau:
                      - Về phần cứng: một LCD 16x2
                      - Chương trình:
                      o Line 1 của LCD hiển thị : “Digital clock”
                      o Line 2 của LCD hiển thị : HH:MM:SS
                      Bác sử dụng tính năng tìm kiếm của diễn đàn để tìm, những bài về yêu cầu của bác đều có hết đấy!
                      ----------------------
                      Bể học là mênh mông!

                      Comment


                      • Nguyên văn bởi hoangphat Xem bài viết
                        em cocai1 code như thế này

                        ko hỉu sao nạp vào chip 1 mà nó nháy nhanh đến nỗi thấy giật giật
                        có ai bit thi chỉ em cách làm cho nó chạy chậm lại dc ko
                        chương trình delay của bạn thực chất không có sai gì hết. Nếu mình nhớ ko lầm thì nó delay hơn 1s cho nên bạn nói nó nháy nháy liên tục thì có lẽ bạn nên coi lại phần cứng.kiểm tra thạch anh bạn dùng bao nhiêu Mhz.chúc bạn thành công.

                        Comment


                        • vâng cảm ơn các pác trch đã chỉ giáo em làm dc rồi thanks
                          Bạn thử tăng thời gian trễ trong hàm Delay nhiều hơn nữa, thay đổi giá trị R5 -> ở đây thời gian nháy sẽ giảm đi 5 lần so với ban đầu.

                          Delay:
                          Mov R5,#005H
                          Kt3: Mov R7,#0FFH ;===>>>> gan R7=#0FFH, 1 chu ki may
                          Kt2: Mov R6,#0FFH ;===>>>> gan R6=#0FFH, 1 chu ki may
                          Kt1: Djnz R6,Kt1 ;===>>>> giam R6 xuong 1, R6 khac 0-> giam tiep
                          Djnz R7,Kt2 ;===>>>> giam R7 xuong 1, R6 khac 0-> ve Kt2
                          Djnz R5,Kt3
                          cảm ơn pác đã chỉ giáo em se thử .hi vong sẽ nhận dc nhìu sư chỉ giáo của pác hai_abc
                          8051 là con em viết thành thạo. em sẵn sàng giúp đỡ các pác nếu em có thể
                          liên lạc với em qua địa chi email: Mob: 01882.076.989

                          Comment


                          • em mới tập tọe với Vdk bằng ngôn ngữ C! em đang làm cái mạch chạy chữ trên led matran 8x8! viết xong lập trình tưởng chạy ngon ai dè nó báo lỗi! nó báo lệnh ">>" sai! Hình như là do thư viện reg51.h ko hỗ trợ! anh nào có thể cho em biết muốn dùng lệnh đó cần khai báo thêm thư viện nào không ạ?
                            Web:
                            ->Nhận thiết kế, hoàn thiện dự án, sản phẩm điện tử<-
                            -->Giải pháp GSM/GPRS/GPS - Công nghệ RFID<--

                            Comment


                            • thư viện reg51.h chỉ chứa định nghĩa các thanh ghi cho 8051 thôi, không liên quan đến tập lệnh.

                              Tập lệnh do trình dịch quy định. Bạn dùng trình dịch gì, có thể đưa code chi tiết lên để mọi người xem sai ở đâu.

                              Lệnh >> đều có ở các trình dịch, nên chắc bạn sai ở chỗ khác thôi!
                              ----------------------
                              Bể học là mênh mông!

                              Comment


                              • các xsu huynh em bi lỗi như này thi là tại sao?
                                Build target 'Target 1'
                                compiling 456.c...
                                456.C(9): error C141: syntax error near ')'
                                Target not created
                                ------------------------------------------------------------------------------------
                                #include<regx51.h>
                                #define led P1_0
                                void delay(unsigned int ms)
                                {
                                unsigned int i;
                                unsigned char j;
                                for(i=0;i<ms;i++)
                                for(j=0;j<120;j++)
                                ()
                                }

                                main()
                                {
                                While(1)
                                {
                                led=0;
                                delay(1000);
                                led=1;
                                delay(1000);
                                }
                                }

                                ---================================================== ===========
                                cảm ơn các bác nhé các bac giúp em nhanh nhé!!!!!!!!!!111
                                Last edited by hero8x; 02-04-2009, 16:19.

                                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 Công thức điện tử
                                  bởi mèomướp
                                  Dạ thời thế giờ thay đổi theo hướng tích cực hơn rồi chú trung sĩ ạ. Kiến thức được chia sẻ ngày càng nhìu nên làm ăn gian dối ko còn dễ dàng như trước đâu ạ. Những thợ nhỏ rồi sẽ thành công nhân sản xuất đồ mới hết thay vì sửa chữa lặt vặt...
                                  Hôm qua, 21:21
                                • mèomướp
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi mèomướp
                                  Dạ cùng chuẩn tín hiệu thì chắc chắn là nhận ạ. Vì bản chất oled hay lcd thì đều phải có mạch chuyển đổi trên thanh gỗ rồi chuyển sang những chip xử lý hàng nghìn chân gắn trên những tab mỏng dính rồi mới ra các điểm ảnh theo hàng...
                                  Hôm qua, 20:31
                                • yname11
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi yname11
                                  Ok , thanks bác đã chỉ...
                                  Hôm qua, 15:06
                                • nguyendinhvan
                                  Công thức điện tử
                                  bởi nguyendinhvan
                                  Sau bao năm nghiên cứu cái dtvn. Tôi phát hiện công thức này. Các anh em xem đúng bao nhiêu phần trăm nhé !

                                  Chập thì thay. Cháy thì tháo
                                  Làm thì láo. Báo thì hay
                                  May thì khoe. Rủi thì bỏ
                                  Thành tích nhỏ. Báo thành to
                                  Làm cho có. Báo chi li
                                  Sai cả li. Báo
                                  ...
                                  Hôm qua, 00:35
                                • yname11
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi yname11
                                  có chắc ko b, màn lcd phải có cao áp mới sáng, màn led thì ko có, ko có cáp chuyển đổi thì lắp thế nào đc ??...
                                  25-11-2024, 22:31
                                • mèomướp
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi mèomướp
                                  Dạ ý chú là màn oled ấy ạ. Cùng chuẩn lvds cùng độ phân giải thì cắm được ạ. Còn nó mà khác thì hơi khó vì oled các điểm ảnh nó tự phát sáng chứ ko dùng đèn nền như lcd. Cháu chỉ biết đến vậy thôi ạ. Chú muốn nghịch phải tự tìm hiểu kỹ trước khi mua thôi, khó mà ông thợ nào tư vấn vụ này...
                                  25-11-2024, 22:14
                                • bactho
                                  Trả lời cho Tự làm máy đo Cuộn cảm
                                  bởi bactho
                                  Hay đấy bạn ạ. Đây có thể hiểu là máy đo cuộn dây. Tiện đây xin cho hỏi bạn có hiểu rõ về máy nạp rôm pcb 45 của hãng thiên minh không giúp mình cách cài fw của nó với vì mình vừa được anh bạn cho nhưng lại không biết cài fw nên chưa dùng được. Nếu có thể thì bạn giúp mình với...
                                  25-11-2024, 21:48
                                • yname11
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi yname11
                                  màn của mình là LCD , giờ m muốn mua màn LED để thay thế (ko muốn dùng màn LCD nữa) , lên muốn hỏi xem có cáp chuyển đổi nào có thể cắm đc màn LED vào ko , tất nhiên phải có cùng số chân pin với màn cũ rồi . VD: màn cũ là lcd mỏng , 40 pin...
                                  25-11-2024, 21:43
                                • bactho
                                  Trả lời cho các bạn giúp mình về file HEX với!!!
                                  bởi bactho
                                  Bạn vào trang phuclanshop.com ,tìm đến góc kỹ thuật. Tác giả vương khánh hưng nói rất rõ về điều bạn tìm...
                                  25-11-2024, 21:21
                                • mèomướp
                                  Trả lời cho Xin hỏi về màn hình laptop
                                  bởi mèomướp
                                  Dạ màn hình lcd đều có thể lai cấy cho nhau được hết ạ. Các loại cáp, bo mạch chuyển đổi lvds rất nhìu, với dòng sony còn phải nhổ cả chip nhớ của main cũ đưa lên gỗ thì mới lắp sang máy khác đc, chưa kể các bệnh về màu... ngay cả...
                                  25-11-2024, 20:43
                                Đang tải...
                                X