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

  • anh quynh oi !
    em moi hoc dien tu nam 1 ah . .muon hoc vi dieu khien lam , va de nam sau hoc đở vat va, , nhung khong biet hoc tu dau anh oi . .xin chi gium em voi.
    8051 ,AVR, , PIC ,MCU la cai gi vay anh? giao tiếp ,mạch nạp , ,học ngôn ngữ nào để lặp trình cho tụi nó hả anh >> các sư hunyh giúp em với.

    Comment


    • anh quỳnh ơi ! em có chương trình protues 7.., mình có thể viết chương trình rồi cho nó để mô phỏng cho 8051 trên máy tính được ko anh?
      nếu được thì làm như thế nào hả anh? em cần phải tìm hiểu những gì mới có thể làm được như vậy?
      mong các hunyh chỉ thêm.

      Comment


      • em mới vào . . .nên có những câu hỏi hỏi nào quá cơ bản và hơi dở mong các sư huynh bỏ quá cho em. . thank!

        Comment


        • cho em hỏi phần cứng của con 8501 là gì? dịch ra số hẽ để chi hả cac huynh? cảm ơn /

          Comment


          • số Hex ?
            và port ?

            Comment


            • choy ah ! u này sinh năm 87 mà mới vào điện tử ah ? chit rùi !
              - Phần cứng 8051 là mạch điện tử bao gồm các linh kiện :
              + thạch anh (11,0592M 12M ... ) , tụ gốm (33p) , tụ phân cực (10u_16v) , trở 10k . Đây là phần tối thiểu để 8051 hoạt động
              + mạch lập trình : led , LCD , led7segment , ...cách mắc thì u phải xem các bài trứoc hoặc search trên google ra cả đống
              - Phần mềm : là code mà u viết trên trình dịch Keil C v3 .
              - Số Hex (hexa) : cái này khi nào u lập trình cụ thể thì mới hỉu đc , vì có lúc thì u dùng số hexa , lúc thì dùng dec , bin , octa..
              - còn file HEX : đây là file mà khi u viết code trong Keil xong , nhấn F7 , Keil C sẽ tạo ra cho u file *.HEX . Chính file này là file mà u mới có thể nạp vào chip đc . File này đc tạo ra khi code của u ko lỗi , nếu có lỗi Keil sẽ báo cụ thể chỗ nào để u chữa , chữa xong nhấn F7 lần nữa , cứ thế đến khi nhận đc thông báo Creating HEX file ...
              - port là tập hợp 8 chân của VĐK .
              còn wa nhìu để u bit sd VĐK

              Comment


              • cam ơn zz_bi_zz
                tui sẽ chịu khó tìm tòi them

                KHÔNG CÓ VIỆC GÌ KHÓ
                CHỈ SỢ LÒNG KHÔNG BỀN
                ĐÀO NÚI VÀ LẮP BIỂN
                XẮNG MÚT ẮT LÀM NÊN

                Comment


                • các bác cho em hỏi là hình minh họa của mấy bài viết ko có ạ ? em mới học, không có sơ đồ nguyên lí ko hiểu gì cả, các bác gửi kèm theo sơ đồ được ko ?
                  |

                  Comment


                  • mình có cả proteus 7.1 sp2 và 7.2 sp6 + *****.nhưng không biết up lên kiểu nào.nếu bạn nào cần mà ở HN thì qua nhổn chơi với em,mang theo cả USB nữa nhá,nhẹ ấy mà copy cả 2 mới có > 80MB

                    Comment


                    • theo mình nghĩ bạn mới vào học thì tìm sách nào đó để đọc trước, rồi đến đâu không hiểu thì hỏi, chứ hỏi như vậy cũng khó nói được lắm. Nếu bạn chưa tìm hiểu về điện tử thì hơi khó để học VDK. Mình nghĩ cậu nên học phần kĩ thuật số rồi học VDK. Nếu bạ học VDK thì nên có mạch test. Nếu nhiều money quá thì mô phỏng trên proteus. Nhưng khi mô phỏng trên proteus thì có nhiều nhược điểm(sau này cậu sẽ biết.).
                      Ngôn ngữ bạn nên học theo mình nghĩ là C. Bây giờ trên mạng có khá nhiều giáo trình về VDK, bạn có thể serch trên google. Bạn cần thứ gì thì cứ hỏi giáo sư google đã rồi hỏi trên diễn đàn chứ mấy Cao Lão Đại khó tính lắm.

                      Comment


                      • bạn nói rõ chương trình Ride là gì? mình chưa nghe tới bao giờ cả.nhưng proteus là trùm gòy còn gì!
                        SỰ HỌC LÀ MÃI MÃI......!!!!

                        Comment


                        • không khó tính như bạn inventor nghĩ đâu! họ nhiều khi bận nhưng vẫn cố gắng giúp chúng ta đó thôi! tâm huyết lắm đó !mình cảm ơn các pác,các sư huynh nhiều!
                          SỰ HỌC LÀ MÃI MÃI......!!!!

                          Comment


                          • chào các bác.em có mấy bài muốn hỏi các bác xin các bác chỉ giáo.
                            cảng tỉ mỉ cảng tốt nhá cảm ơn các bác trước

                            /*******TAO XUNG 10khZ TREN CHAN P1.1********/
                            #include<reg52.h>
                            #define F P1_1

                            void main()
                            {
                            while(1)
                            {
                            TMOD = 0x02;//timer 0 mode 2
                            TH0 = -50; //he so chia la 100
                            TR0 = 1; //cho phep timer
                            while(!TF0); //cho co tran
                            TF0 = 0; //xoa co tran
                            F=~F; //dao muc tren chan P1.1
                            }
                            }

                            chỗ em đánh dấu màu đỏ ấy.(TMOD = 0x02)tại sao lại là timer 0 mode 2,có nguyên tắc gì để có thể xác định được tên timer và mode của timer đó không?

                            /******* TAO XUNG 200Hz TREN CHAN P1.1 ***********
                            ******** su dung thach anh 12.000MHz ************/
                            #include <REG52.H>
                            #define F P1_1

                            void main()
                            {
                            TMOD = 0x01; //timer 0 mode 1
                            while(1)
                            {
                            TH0 = -2500/256; //he so chia la 5000
                            TL0 = -2500%256;//số 256 đằng sau đó có ý nghĩa gì vậy?
                            //tại sao bài trên không thấy xuất hiện TL0
                            // vậy thực chất TH0,TL0 ở đây có chức năng gì?


                            TR0 = 1; //cho phep timer
                            while(!TF0); //cho co tran
                            TF0 = 0; //xoa co tran
                            TR0 = 0; //dung timer
                            F=~F; //dao muc tren chan P1.1
                            }
                            }


                            #include <REG52.H>
                            #define F = P1_1 //dinh nghia chan P1.1

                            void main(void)
                            {
                            T2MOD = 0x03;//DCEN = 1.trong trường hợp này thì timer=? mode=?
                            //tại sao lại biết DCEN = 1.

                            RCAP2H = TH2 = -2500/256;
                            RCAP2L = TL2 = -2500%256; //he so chia la 5000
                            TR2 = 1; //cho phep timer
                            while(1)
                            {
                            while(!TF2); //chờ cờ tràn
                            TF2 = 0; // xoá cờ tràn
                            TR2 = 0; //dung timer
                            F=~F; //dao muc tren P1.1
                            }
                            }

                            Comment


                            • Nguyên văn bởi rongconn2t Xem bài viết
                              chào các bác.em có mấy bài muốn hỏi các bác xin các bác chỉ giáo.
                              cảng tỉ mỉ cảng tốt nhá cảm ơn các bác trước

                              /*******TAO XUNG 10khZ TREN CHAN P1.1********/
                              #include<reg52.h>
                              #define F P1_1

                              void main()
                              {
                              while(1)
                              {
                              TMOD = 0x02;//timer 0 mode 2
                              TH0 = -50; //he so chia la 100
                              TR0 = 1; //cho phep timer
                              while(!TF0); //cho co tran
                              TF0 = 0; //xoa co tran
                              F=~F; //dao muc tren chan P1.1
                              }
                              }

                              chỗ em đánh dấu màu đỏ ấy.(TMOD = 0x02)tại sao lại là timer 0 mode 2,có nguyên tắc gì để có thể xác định được tên timer và mode của timer đó không?

                              /******* TAO XUNG 200Hz TREN CHAN P1.1 ***********
                              ******** su dung thach anh 12.000MHz ************/
                              #include <REG52.H>
                              #define F P1_1

                              void main()
                              {
                              TMOD = 0x01; //timer 0 mode 1
                              while(1)
                              {
                              TH0 = -2500/256; //he so chia la 5000
                              TL0 = -2500%256;//số 256 đằng sau đó có ý nghĩa gì vậy?
                              //tại sao bài trên không thấy xuất hiện TL0
                              // vậy thực chất TH0,TL0 ở đây có chức năng gì?


                              TR0 = 1; //cho phep timer
                              while(!TF0); //cho co tran
                              TF0 = 0; //xoa co tran
                              TR0 = 0; //dung timer
                              F=~F; //dao muc tren chan P1.1
                              }
                              }


                              #include <REG52.H>
                              #define F = P1_1 //dinh nghia chan P1.1

                              void main(void)
                              {
                              T2MOD = 0x03;//DCEN = 1.trong trường hợp này thì timer=? mode=?
                              //tại sao lại biết DCEN = 1.

                              RCAP2H = TH2 = -2500/256;
                              RCAP2L = TL2 = -2500%256; //he so chia la 5000
                              TR2 = 1; //cho phep timer
                              while(1)
                              {
                              while(!TF2); //chờ cờ tràn
                              TF2 = 0; // xoá cờ tràn
                              TR2 = 0; //dung timer
                              F=~F; //dao muc tren P1.1
                              }
                              }
                              u rồng bảy màu thân mến , tui nghĩ u đã học VDK mà lại đang đứng trên đỉnh của ngọn kiến thức , u nên tụt xuống càng mau càng tốt , mua ngay cuốn 8051 của Tống Văn Ôn , đọc kỹ cấu trúc các thanh ghi liên quan đến TIMER . ...thì khi đó u sẽ hỉu mình đang hỏi 1 câu chỉ ng ko có căn bản mới hỏi như thế ....

                              Comment


                              • THANH GHI TNOD GỒM CÁC BIT NHƯ SAU:
                                BIT 7GATE) BIT CỔNG CỔNG CỦA TIMER 1( =0 THÌ TIMER1 ĐƯỢC PHÉP CHẠY,=1 THÌ TIMER 1 CHẠY KHI INT*1 =1)
                                BIT6C/T*) CHỌN CHẾ ĐỘ COUNTER(=1) HAY COUNTER(=0)
                                BIT 5M1) BIT CHỌN CHẾ ĐỘ CHO TIMER1
                                BIT 4M0)BIT CHỌN CHẾ ĐỘ CHO TIMER1
                                TỪ BIT 3 ĐẾN BIT 0 THÌ TƯƠNG TỰ NHƯ TỪ BIT 7 ĐẾN BIT 4 NHƯNG NÓ LÀ CỦA TIMER0

                                M1:M0=00: CHẾ ĐỘ 0,TIMER 13 BIT
                                M1:M0=01:CHẾ ĐỘ 1,TIMER 16BIT
                                M1:M0=10:CHẾ ĐỘ 2,TIMER 8 BIT TỰ NẠP LẠI GIÁ TRỊ ĐẦU TỪ THANH GHI THx
                                M1:M0=11:CHẾ ĐỘ TÁCH TIMER

                                BẠN CÓ THỂ THAM KHẢO THÊM WA DATASHEET CỦA 89C52 về timer 2
                                CÒN SỐ CHIA 256 LÀ VÌ THANH GHI TLx VÀ THx LÀ CÁC THANH GHI 8 BIT NÊN GIÁ TRỊ LỚN NHẤT CHỈ LÀ FFh THÔI!
                                SỰ HỌC LÀ MÃI MÃI......!!!!

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X