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

                                Đang tải...
                                X