Thông báo

Collapse
No announcement yet.

Tổng hợp các đề tài cho 8051-ASM-Keil(Học tập)

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

  • #76
    các bác ơi, ai có code cho 89s52, nháy led matrix 8x8 hay 5x7 ko, cho e với.

    Comment


    • #77
      pro ơi a giúp e lập trình ghép nối con 89c51 với con 8259A để mở rộng ngắt cho con VĐK với. e cố tìm đọc mãi nhưng giờ vẫn chưa bít thiết đặt trạng thái khởi đọng ban đầu cho con 8259A như thía nào. A bớt chút thời gian giúp e nha! tks a trước!

      Comment


      • #78
        Bạn linhnc308 và các bạn ơi!
        Mình đang làm đồng hồ số với 8051 hiển thị trên led 7 đoạn
        Bạn có code và mạch giao tiếp với DS1307 để nhớ thời gian không cho mình xin để tham khảo với.
        Tết đến rồi mình định làm một cái treo cho dzui bạn giúp mình với nhá cảm ơn bạn nhiều lắm.

        Comment


        • #79
          linh ơi,cho minh hỏi là những cái ASM mà bạn gửi có đúng ko thế, sao mih thấy mấy ct bị sai
          vd như là
          ORG 0000H
          HUND EQU 100 ;100 x 1000 = 1 giay
          COUNT EQU 1000
          SETB P2.0 ;P3.0: input
          LOOP: JNB P2.0,LOOP ;Cho logic 0 o P3.0
          LOOP1: JB P2.0,LOOP1 ;cho logic 1 o P3.0
          CLR P1.0
          ACALL DELAY
          SETB P1.0
          SJMP LOOP

          DELAY: MOV R7,#HUND
          AGAIN: MOV TH0,#HIGH(COUNT)
          MOV TL0,#LOW(COUNT)
          SETB TR0
          WAIT: JNB TF0,WAIT
          CLR TF0
          CLR TR0
          DJNZ R7,AGAIN
          RET
          end
          bạn ko khởi động TMOD thì lam j có thời gian trễ,với lại đk p2.0 chứ đâu phải p3.0,mấy cái ct đó bạn test chưa?

          Comment


          • #80
            em là lính mới có bác nào thông thạo về ám cho em xin cái chuong trình IC thời gian thực(DS1307 hoặc DS1302) viết bàng ASM nữa
            gmail:quatktmtk7@gmail.com
            em cảm ơn trước nhé

            Comment


            • #81
              mấy bác nào xài c chỉ e dùng 555 chỉnh nhịp giup e vơi
              code e đây ạ
              #include <regx51.h>
              #define led P0
              void delay(unsigned int ms)
              {
              unsigned int i;
              unsigned char j;
              for(i=0;i<ms;i++)
              {
              for(j=0;j<125;j++)
              {
              }
              }
              }
              main()
              {
              while(1)
              {
              P0=0x00;delay(1000);
              P0=0x00;delay(1000);
              P0=0x04;delay(1000);
              P0=0x08;delay(1000);
              P0=0x10;delay(1000);
              P0=0x20;delay(1000);
              P0=0x40;delay(1000);
              P0=0x80;delay(1000);
              }
              }

              Comment


              • #82
                nhưng mà cần phải nắm vững từ cơ bản đến nâng cao mới đc

                Comment


                • #83
                  Nguyên văn bởi linhnc308 Xem bài viết
                  Bên PIC cũng có một mục như vầy và thấy có nhiều bạn hỏi nên tôi mở thêm cho bên 8051, code cho 8051 tôi có khá nhiều và sẽ cố share dần cho a e mới học, có đủ cả cho ASM và C. Sẽ chuẩn bị và up lên sớm. Mong dc sự đón nhận và ủng hộ của a e, ai có gì hay thì up lên nhé, để cho nhưng người mới đỡ khổ như tôi trước đây, cứ phải mò mẫm và đôt không biết bao nhiêu tiền net cho việc tìm tài liệu.
                  - Nháy LED dơn, nháy led nhiều chế độ
                  - LED 7 thanh
                  - Phím bấm
                  - RS232
                  - ADC0804, 0809
                  - Code cho DAC0808 tôi còn thiếu, ái có bổ xung nhé
                  - Led matrix
                  - I2C, SPI
                  - LCD
                  .....nhiều code lặt vặt khác.

                  Phát triển box 8051
                  Vẫn còn bên AVR nữa, có lẽ cung cần mở môt mục tương tự cho nó đủ bộ AT, AVR, PIC
                  bạn có thể gửi cho mình kai' code matrix đc ko
                  mail: vietdung91hp@gmail.com

                  Comment


                  • #84
                    xin cac pro giai thich gium tai sao khi toi dung ham
                    MOV P1.0,#3CH
                    thi chuong trinh bao la Undefined symbol
                    xin hoi khac phuc ntn ah
                    thank so much

                    Comment


                    • #85
                      Nguyên văn bởi ngoalong911 Xem bài viết
                      xin cac pro giai thich gium tai sao khi toi dung ham
                      MOV P1.0,#3CH
                      thi chuong trinh bao la Undefined symbol
                      xin hoi khac phuc ntn ah
                      thank so much
                      bạn sai cú pháp và nhầm P1.0 là 1 chân ở port 1 thì nó là 1bit thì không thể đặt 1 byte vào được.
                      nếu là p1.0 thì setb hoặc clr
                      còn là p1 thì mới mov p1,#...

                      Comment


                      • #86
                        Mình đang làm đề tài: Thiết kế mạch giao tiếp cảm biến hồng ngoại với LCD, "thể hiện trên lcd tương ứng với các nút nhấn các chức năng
                        ESC, Enter, Up, Down".
                        Ai co thể hướng dẫn giúp mình với,mình đang rất cần. Thank các bác!

                        Comment


                        • #87
                          Giúp mình viết code này với.

                          Mọi người giúp mình với. Mình đã lập trình được khi bấm công tắc thì mở LCD, còn giờ muốn bấm công tắc để LCD tắt thì làm sao ạ,chức năng giống như nút ON/OFF. Mọi người ai giỏi lập trình giúp mình với. thank! Đây là code mình viết:
                          #include<reg52.h>
                          #include<stdio.h>
                          #include<intrins.h>
                          #include<math.h>
                          #include<stdlib.h>
                          #define bat 1
                          #define tat 0
                          sbit ctac = P3^0;
                          unsigned char dem=1;
                          sbit RS = P1^0;
                          sbit RW = P1^1;
                          sbit EN = P1^2;
                          sbit f = P3^3;
                          sbit b = P3^1;
                          sbit c1=P0^4;
                          sbit c2=P0^5;
                          sbit c3=P0^6;
                          sbit c4=P0^7;
                          unsigned char x;
                          unsigned char message[32];
                          unsigned char i,k;

                          void delay(unsigned long int t)
                          {
                          unsigned long int i;
                          for(i = 0; i<=t; ++i);
                          }
                          /*void phimnhan(void)
                          { if(ctac==0)
                          {delay(100);
                          while(ctac==0);
                          delay(100);
                          dem++;
                          }
                          } */
                          void busy_flag (void)
                          {
                          P2 = 0xff;
                          RS = 0;
                          RW = 1;
                          do
                          {
                          EN = 1;;
                          delay (10);
                          EN = 0;
                          x = P2;
                          x = x&0x80;
                          }
                          while(x!= 0x80);
                          }
                          void write_command (unsigned char lcd_command)
                          {
                          busy_flag();
                          P2 = lcd_command;
                          RS = 0;
                          RW = 0;
                          EN = 1;
                          delay(10);
                          EN = 0;
                          delay(10);
                          }
                          void write_data(unsigned char LCD_data) // thanh ghi du lieu
                          {
                          busy_flag();
                          if(LCD_data!='\n')
                          {
                          P2=LCD_data;
                          }
                          else
                          {
                          write_command(0xC0);
                          return;
                          }
                          RS=1;
                          RW=0;
                          EN=1;
                          delay(80);
                          EN=0;
                          delay(80);
                          }
                          void write_string(char *s)
                          {
                          while(*s)
                          {
                          write_data(*s);
                          s++;
                          }
                          }
                          void init (void)
                          {
                          write_command(0x03); //
                          write_command(0x38);
                          write_command(0x06);
                          write_command(0x0e);
                          }

                          void hienthi()
                          {
                          /*if(P0==0xee){write_command(0x01);
                          write_command(0x80);
                          write_string(" phim so 1 ");
                          P3=0xf1;} */

                          /*if(P0==0xde){write_command(0x01);
                          write_command(0x80);
                          write_string(" \n phim so 2 ");P3=0xf2;} */

                          if(P0==0xbe){write_command(0x01);
                          write_command(0x80);
                          write_string(" ON ");
                          write_command(0x0c);}

                          if(P0==0x7e){write_command(0x01);
                          write_command(0x80);
                          write_string(" OFF ");
                          write_string(" 3 "); delay(500); write_command(0x01);
                          write_string(" 2 "); delay(500);write_command(0x01);
                          write_string(" 1 "); delay(500); write_command(0x01);
                          write_command(0x08);
                          return; }

                          /*if(P0==0xed){write_command(0x01);
                          write_command(0x80);
                          write_string(" phim so 5 ");}

                          if(P0==0xdd){write_command(0x01);
                          write_command(0x80);
                          write_string(" phim so 6 ");} */

                          if(P0==0xbd){write_command(0x01);
                          write_command(0x80);
                          write_string(" VOLUME+ ");}

                          if(P0==0x7d){write_command(0x01);
                          write_command(0x80);
                          write_string(" VOLUME- ");}

                          /*if(P0==0xeb){write_command(0x01);
                          write_command(0x80);
                          write_string(" phim so 9 ");}

                          if(P0==0xdb){write_command(0x01);
                          write_command(0x80);
                          write_string(" phim so 10 ");} */

                          if(P0==0xbb){write_command(0x01);
                          write_command(0x80);
                          write_string(" UP ");}

                          if(P0==0x7b){write_command(0x01);
                          write_command(0x80);
                          write_string(" DOWN ");}

                          /*if(P0==0xe7){write_command(0x01);
                          write_command(0x80);
                          write_string(" phim so 13 ");}

                          if(P0==0xd7){write_command(0x01);
                          write_command(0x80);
                          write_string(" phim so 14 ");} */

                          if(P0==0xb7){write_command(0x01);
                          write_command(0x80);
                          write_string(" ENTER ");}

                          if(P0==0x77)
                          {
                          write_command(0x01);
                          write_command(0x80);
                          sprintf(&message[0],"ESC");
                          write_string(&message[0]);P3=0x00;
                          }
                          }
                          void dieukhien(void)
                          {
                          int n[5] = {0xfe,0xfd,0xfb,0xf7};
                          for (i=0; i<=3;++i)
                          {
                          P0 = n[i];
                          hienthi();

                          }
                          }
                          /* Lenh cuon tang tuyen tinh

                          k = 0xfe;
                          for(i=0;i<=3;++i)
                          {
                          P0 = k;
                          k = _crol_(k,1);
                          }*/


                          void main (void)
                          {

                          while(1)

                          if(ctac==0)
                          {


                          delay(100);
                          init();
                          write_command(0x01);
                          write_command(0x80);
                          sprintf(&message[0]," CAM BIEN\nHONG NGOAI_LCD");
                          write_command(0x0c);
                          write_string(&message[0]);
                          /*while(ctac==1)
                          {
                          //delay(100);
                          write_command(0x08);
                          } */
                          while(1)

                          {
                          dieukhien();
                          delay(10);

                          }

                          }
                          }

                          Click image for larger version

Name:	vdk.jpg
Views:	2
Size:	147.5 KB
ID:	1369963

                          Comment


                          • #88
                            Thank bạn nhiều hi
                            |

                            Comment


                            • #89
                              bác chủ thớt ơi, bác có code của đề này ko, đo tốc độ DC rùi hiển thị lên LCD dùng 8051 và encoder

                              Comment


                              • #90
                                e đang làm bài tập thiết kế mạch đo nhiệt độ sử dụng cảm biền lm35 kết hợp adc0804 đo nhiệt độ môi trường và hiển thị ra led matrix bác nào có code cho em xin được không . chỉ bảo em sơ sơ qua thì càng tốt à . thanks

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                • nhathung1101
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi nhathung1101
                                  Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                                  Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                                  Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                                  Hôm qua, 22:18
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                                  Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                                  Hôm qua, 14:51
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                                  Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                                  Hôm qua, 14:39
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                                  Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                                  Hôm qua, 14:28
                                • bqviet
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi bqviet
                                  Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                                  21-02-2025, 20:26
                                • mèomướp
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi mèomướp
                                  Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                                  21-02-2025, 12:32
                                • vi van pham
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi vi van pham
                                  Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                                  Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                                  20-02-2025, 21:31
                                • bqviet
                                  Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                                  bởi bqviet
                                  Thiết nghĩ thi thoảng bác lên đây chia xẻ ít kinh nghiệm cũng vui rồi. Còn chuyện con người sinh lão bệnh tử là thường, sống cùng với quy luật đó thôi. Bqv nhớ trước đây bác từng kể về chuyện rang chì ô-xít bằng chảo để phục hồi bình điện, đấy cũng là thành quả đáng nể phục ở thời kỳ thiếu thốn đó.
                                  20-02-2025, 17:22
                                • dinhthuong80
                                  Trả lời cho Tiếng Anh cho người Việt
                                  bởi dinhthuong80
                                  Tiếng Anh, Đình Thường phải nói là rất tệ, khiến việc giao tiếp đời thường thôi cũng khó chứ nói gì về kĩ thuật.

                                  Nhân tiện, nhờ các bạn, các bác xem giúp thư ĐT viết thế này liệu có thể gửi tới địa chỉ nhận hay chăng,...
                                  20-02-2025, 11:52
                                • vi van pham
                                  Trả lời cho Hỏi về cách hàn linh kiện ( giúp tớ với )
                                  bởi vi van pham
                                  Uống rượu 1 mình, thấy trang này nhớ lại cách đây vài chục năm hàn thiếc với inox cực kỳ khó, phải dùng acid Hcl tác dụng lên kẻm Zn để có Zncl2 làm thuốc trợ hàn, lúc đó làm gì có acid Hcl và thuốc trợ hàn?

                                  Cái khó bó cái...
                                  19-02-2025, 23:05
                                Đang tải...
                                X