Thông báo

Collapse
No announcement yet.

Dành cho người mới tìm hiểu 8051

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

  • theit61 kế aptomat số dùng ic 8051 hiển thị được dòng điện tải và đặt được dòng cắt của aptomat,dòng cắt có thể chảy từ 0-10A mỗi bước cắt là 1A.ai biết nói sơ sơ cho em với

    Comment


    • const unsigned char Font[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x9 0};
      unsigned char a[3]={0x01,0x02};


      ai giải thích hộ e với e mới học lên chưa hiểu

      Comment


      • Mấy sư huynh đệ giúp em bài này với,em làm cả tuần vẫn không chạy được
        thiết kế đồng hồ số với 8 led 7 đoạn phương pháp quét và 1 nút nhấn đơn,yêu cầu:
        *Hiển thị dc đồng hồ khi nhấn nút ko bị tắt led
        *Khi nhấn nút giữ quá 2s thì sẽ tăng biến Mode.Mode=0:không chỉnh;Mode=1:chỉnh giờ:Mode=2 chỉnh phút.Khi nhấn giữ ko quá 2s thì tăng giá trị.
        *Khi nhấn Mode đang chỉnh ở vị trí nào thì 2 led đó nhấp nháy.
        Em cảm ơn mọi người nhiều

        Comment


        • Các anh ơi giúp em cái này với ạ
          So sánh 2 phương pháp lập trình tạo trễ trong 8051 là
          1. Dùng Timer.
          2. Dùng vòng lặp.
          Em cảm ơn các anh trước ạ.

          Comment


          • HIx có ai không ạ giúp em với huhu

            Comment


            • sử dụng vòng lặp thì chỉ cho thời gian một cách tương đối, còn sử dụng timer thì chính xác hơn nhìu

              Comment


              • bạn ơi? bạn có thể giải thích cho mình ý ngĩa của đoạn này không?
                usigned char i,j;//khai báo kiểu "char"mỗi biến chỉ chiếm 1 byte
                for(i=0;i<ms;i++)
                for(j=0;j<120;j++)
                mình mới tìm hiểu về lập trình nên k rõ lắm về đoạn này? mong bạn chỉ giúp?
                cảm ơn bạn nhiều!!!!

                Comment


                • Nguyên văn bởi Rock_Man Xem bài viết
                  bạn ơi? bạn có thể giải thích cho mình ý ngĩa của đoạn này không?
                  usigned char i,j;//khai báo kiểu "char"mỗi biến chỉ chiếm 1 byte
                  for(i=0;i<ms;i++)
                  for(j=0;j<120;j++)
                  mình mới tìm hiểu về lập trình nên k rõ lắm về đoạn này? mong bạn chỉ giúp?
                  cảm ơn bạn nhiều!!!!
                  Hàm trên có chức năng tạo một vòng lặp có điều kiện kết thúc, có thể viết một đoạn code điều khiển 1 port VĐK để dễ hiểu hơn:
                  for(unsigned char i=0;i<8;i++);
                  {portB=0x00<<i};
                  Hàm này có ý nghĩa port B có 8 bit, thì từ vòng lặp ban đầu i=0 --> port B =0x00
                  i=1 --> port B =0x00000001
                  i=2 --> port B =0x00000010
                  i=3 --> port B =0x00000100
                  i=4 --> port B =0x00001000
                  i=5 --> port B =0x00010000
                  i=6 --> port B =0x00100000
                  i=7 --> port B =0x01000000
                  i=8 --> port B =0x10000000
                  khi hàm for gặp điều kiện i=8 thì hàm for sẽ thực hiện xong và chuyển đến hàm kế tiếp. Mong giúp ích cho bạn!
                  Tran Thanh Tuan

                  Comment


                  • mình là sinh viên.bây giờ đang muốn tìm hiểu và học vi điều khiển& vi xử lý!
                    mình có vài thắc mắc muốn hỏi những người có kinh nghiệm.Rất mong mọi người chỉ bảo!thanks
                    c1:trong các họ vi điều khiển và vi xử lý (8051,PIC,AVR) thì cái nào thường được dùng nhiều cho đi làm sau này?và là sinh viên nên học cái nào trước?
                    c2:để học vi điều khiển và vi xử lý thì phải học tốt điện tử tương tự và điện tử số có phải không?
                    c3:trong các phần mềm viết code cho vi điều khiển thì phần mềm nào hay dùng nhất và có tính ưu việt nhất?
                    và ngôn ngữ lập trình phổ biến thường dùng cho VDK&VXL là gì?
                    Mình rất muốn những anh chị có kinh nghiệm giải đáp3 câu hỏi trên!

                    Comment


                    • Nguyên văn bởi hackerone Xem bài viết
                      mình là sinh viên.bây giờ đang muốn tìm hiểu và học vi điều khiển& vi xử lý!
                      mình có vài thắc mắc muốn hỏi những người có kinh nghiệm.Rất mong mọi người chỉ bảo!thanks
                      c1:trong các họ vi điều khiển và vi xử lý (8051,PIC,AVR) thì cái nào thường được dùng nhiều cho đi làm sau này?và là sinh viên nên học cái nào trước?
                      c2:để học vi điều khiển và vi xử lý thì phải học tốt điện tử tương tự và điện tử số có phải không?
                      c3:trong các phần mềm viết code cho vi điều khiển thì phần mềm nào hay dùng nhất và có tính ưu việt nhất?
                      và ngôn ngữ lập trình phổ biến thường dùng cho VDK&VXL là gì?
                      Mình rất muốn những anh chị có kinh nghiệm giải đáp3 câu hỏi trên!
                      Thông thường thì người ta dùng những dòng VXL của MicroChip, Texas Instruments, Toshiba, Sony, Intel, STMicroelectronics... Những loại VXL thường gặp trong thiết bị công nghiệp hay gia dụng cũng lanh quanh những hãng có tiếng, nhưng hiếm gặp trên thị trường vì tính độc quyền. Cho nên tôi khuyên bạn không cần quá quan tâm vào dòng VXL nào mà chỉ nên tìm hiểu VDK là gì và cách tiếp cận, lập trình một VDK mới.

                      _ Để lập trình tốt VDK thì bạn phải có kiến thức căn bản về kỹ thuật số, Analog, lý thuyết điều khiển tự động, phuơng pháp tính, toán, Matlab, Protues, OrCAD... bạn đi theo cái này phải có đam mê vì khi đi làm khó kiếm việc lắm, mà có thì làm việc rất căng thẳng. Khi làm một mạch ứng dụng vi điều khiển bạn phải tính toán rất nhiều mới ra thị trường chứ ko như trường lớp có sẵng.

                      _ Ngôn ngữ lập trình thường là dùng C, còn trình dịch chỉ là công cụ hổ trợ dịch chuơng trình C ra mã thập lục phân. Nhưng thường một lập trình viên chuyên nghiệp sẽ dịch qua mã ASM rồi tinh chỉnh và chuyển tiếp sang mã hex. Vì làm như thế sẽ tiết kiệm bộ nhớ VXL. Cái này đòi hỏi phải biết ngôn ngữ C & ASM. Ngoài ra còn có các ngôn ngữ hổ trợ lạp trình giao tiếp máy tính với VDK, C# là một ngôn ngữ thường dùng.

                      _ Nếu bạn đam mê và dùng nó làm cơm gạo thì nên đầu tư ngay từ bây giờ các môn toán lý để sau này đọc những tài liệu công thức thì dễ hiểu hơn.
                      Tran Thanh Tuan

                      Comment


                      • bạn quỳnh viết bằng ngôn ngữ gì vậy? trước mình học assembly nhưng gà lắm.hihi

                        Comment


                        • bạn gửi qua địa chỉ email của mình lun nhé. Thanks rất nhiều
                          email của mình là: malphite1993@yahoo.com

                          Comment


                          • mình đang điều khiển robot 3 động cơ muốn thêm 3 nút : chậm - vừa - nhanh nữa (khi ấn là nó set duty là 50-75-100)
                            nhưng ko biết làm thế nào để set duty sau đó điều khiển các nút tiến-lùi-rẽ trái-phải-leo lên-leo xuống.
                            ai pro thêm hộ 3 nút cài tốc độ với
                            mô phỏng protues:mo phong 01101220

                            Code:
                                         #include <REGX51.H>
                              sbit   data0 = P1^0;		// 4 cong data (0-3) tu PT2272 vao`
                              sbit  data1 = P1^1;
                              sbit   data2 = P1^2;
                              sbit   data3 = P1^3;
                              sbit  ch_trai = P0^1; //chieu dong co trai
                              sbit  ch_phai = P0^3; //chieu dong co phai
                              sbit  dc_trai = P0^2; //xung dong co trai
                              sbit  dc_phai = P0^4; //xung dong co phai
                              sbit    ch_xich = P0^5; //chieu dong co xich
                              sbit   dc_xich = P0^6; //xung dong co xich
                              unsigned char dem = 0, duty = 0, count = 0, dem2 = 0, duty2 = 0, dem1 = 0, duty1 = 0;
                              /////////////
                              //tao tre
                              void delay_ms(unsigned int t)
                              {
                                  unsigned int i,j;
                                for(i=0;i<120;i++)
                                for(j=0;j<t;j++);
                              }
                              //khoi tao timer 100us
                              void khoitao()
                              {
                                  TMOD = 0x02; //timer che do 2 tu nap
                                IE = 0x82;
                                TH0 = TL0 = -50000; //tao tan 100us    TA 12MHZ => 100us x 100% = 10000us = 10ms
                                TR0 = 1;
                              }
                              //ngat tao pwm
                              void timer0(void) interrupt 1
                              {
                                   TR0=0;
                                   TF0=0;
                                   dem++;
                                dem1++;
                                dem2++;
                                   if(dem>=100)
                                 dem=0;
                                if(dem1>=100)
                                dem1=0;
                                if(dem2>=100)
                                dem2=0;
                                 if(duty<=dem)
                                 {
                                    dc_trai = 1;
                                    //dc_phai = 1;
                                   }
                                 if(duty>dem)
                                 {
                                    dc_trai = 0;
                                   //dc_phai = 0;
                                 }  
                                if(duty1<=dem1)
                                {
                                   dc_phai = 1;
                                }
                                if(duty1>dem1)
                                {
                                   dc_phai = 0;
                                }
                                if(duty2<=dem2)
                                {
                                   dc_xich = 1;
                                }
                                if(duty2>dem2)
                                {
                                   dc_xich = 0;
                                }
                                 TR0=1;
                              }
                              //cac ham tien-lui-trai-phai
                             
                              	  void ctien()
                              {
                                  ch_trai = 0;
                                ch_phai = 0;
                                delay_ms(70);
                                duty = 80;
                                duty1 = 80;
                              }
                              void clui()
                              {
                                  ch_trai = 1;
                                ch_phai = 1;
                                delay_ms(70);
                                duty = 80;
                                duty1 = 80;
                              }
                              void ctrai()
                              {
                                  ch_trai = 1;
                                ch_phai = 0;
                                delay_ms(70);
                                duty = 70;
                                duty1 = 80;
                              }
                              void cphai()
                              {
                                  ch_trai = 0;
                                ch_phai = 1;
                                delay_ms(70);
                                duty = 80;
                                duty1 = 70;
                              }
                              void stop()
                              {
                                  ch_trai = 1;
                                ch_phai = 1;
                                ch_xich = 1;
                                delay_ms(70);
                                duty = 0;
                                duty1 = 0;
                                duty2 = 0;
                              }
                              void leo_len()
                              {
                                 ch_xich = 1;
                               delay_ms(70);
                               duty2 = 50;
                              }
                              void leo_xuong()
                              {
                                 ch_xich = 0;
                               delay_ms(70);
                               duty2 = 50;
                              }
                              //chuong trinh quet nut chay
                              void chay()
                              {
                                  stop();
                            	  //chay tien
                                while(data0==1&&data1==0&&data2==0&&data3==0)
                                {
                                   ctien();
                                }
                            	//chay lui
                                while(data0==0&&data1==1&&data2==0&&data3==0)
                                {
                                  clui();
                                }
                            	//re trai
                                while(data0==0&&data1==0&&data2==1&&data3==0)
                                {
                                   ctrai();
                                }
                            	//re phai
                                while(data0==0&&data1==0&&data2==0&&data3==1)
                                {
                                   cphai();
                                }
                            	//leo le^n
                                while(data0==1&&data1==1&&data2==0&&data3==0)
                                {
                                   leo_len();  	
                                }
                            	//leo xuong
                                while(data0==0&&data1==0&&data2==1&&data3==1)
                                {
                                   leo_xuong();
                                }
                            
                              }
                            /////////CT CHINH////////
                             void main(void)
                             {
                                 khoitao();
                                P1=0x00 ,P0 = P2 = P3 = 0xff;
                                while(1)
                                {chay();}
                             }

                            Comment


                            • Các bác cho e hỏi nối led 16 thanh trong proteus ntn ạ..và cho e xin cái code của nó vs ạ...?

                              Comment


                              • Nguyên văn bởi quynh Xem bài viết
                                Đây là quyển sách khá hay về lạp trinh C cho 8051.
                                Tui up mãi lên đây ko được.Bạn nào cần thì liên hệ với mình nhé.Quyển này viết bằng tiếng anh, khá cơ bản.Dung lượng gần 5MB
                                gửi dùm lun nha!!!! cảm ơn rất nhiều......nguyenngocnhut1996@yahoo.com

                                Comment

                                Về tác giả

                                Collapse

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

                                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 nay, 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 nay, 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 nay, 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...
                                  Hôm qua, 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 ...
                                  Hôm qua, 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...
                                  Hôm qua, 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