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

  • Nguyên văn bởi haohoa_and Xem bài viết
    em muon biet cach lam mot mach dien don gian ,moi nguoi giup em voi!
    Bạn phải nói rõ ràng hơn, chẳng hạn như mạch điện đó được dùng để làm gì... thì mọi người mới giúp bạn được.

    Comment


    • bác gì ơi . Bác ở hà nội hả?
      bác học trường nào thế
      có thể cho em tên và địa chỉ ko để khi nào emgặp bác mong bác chỉ bảo cho .nếu có thể bác liên lạc với em qua hòm thư dainguyen10@gmail.com nhé. cảm ơn bác trước. em muốn biết nhiều về 8051

      Comment


      • anh trong123 gì đó ơi!dùng con 74ls247 làm sao để hiển thị cùng lúc 3 con led vậy?
        Có phải mình phải gán các giá trị điện trở với các mã BCD rồi cho qua IC 74ls247 ko, chứ em ko biết làm sao để đưa giá trị điện trở vô chân con IC cả.
        Còn sử dụng VXL thì em chịu thôi.đang học hợp ngữ chứ chưa biết gì về 8051 cả.
        hic!!!

        Comment


        • Nguyên văn bởi duysonghinh Xem bài viết
          anh trong123 gì đó ơi!dùng con 74ls247 làm sao để hiển thị cùng lúc 3 con led vậy?
          Có phải mình phải gán các giá trị điện trở với các mã BCD rồi cho qua IC 74ls247 ko, chứ em ko biết làm sao để đưa giá trị điện trở vô chân con IC cả.
          Còn sử dụng VXL thì em chịu thôi.đang học hợp ngữ chứ chưa biết gì về 8051 cả.
          hic!!!
          74LS247 chỉ là IC giải mã (không có tác dụng làm sáng 3 led), chỉ giúp cho việc viết CT đơn giản, dễ hiểu hơn. Nếu sau này bạn rành hơn, bạn có thể không dùng những IC giải mã như thế này.

          Vd: Bạn đưa dữ liệu vào các chân D,C,B,A các giá trị tương ứng:
          0000 -> (kích led) led sẽ hiển thị số 0
          0001 -> ---------------- 1
          0010 -> ---------------- 2
          0011 -> ---------------- 3
          ....
          1001 -> ---------------- 9

          Đó là chỉ dành cho 1 led, bạn có thể test bằng phần cứng, không cần phải viết CT gì cả. Lưu ý: Các chân còn lại phải mắc đúng theo yêu cầu của datasheet (có gởi File kèm theo)

          Muốn hiển thị 3 led bạn phải làm như sau:
          (7 chân dữ liệu 3 led mắc song với nhau)
          Muốn 3 led hiển thị: 123
          Tạo vòng lặp
          DCBA=0001
          Tắt led 1
          Kích led 1
          Thời gian hiển thị cho led 1
          DCBA=0010
          Tắt led 1
          Kích led 2
          Thời gian hiển thị cho led 2
          DCBA=0011
          Tắt led 2
          Kích led 3
          Thời gian hiển thị cho led 3


          Bạn đã học VDK thì trước sau gì cũng phải viết chương trình để nạp cho con 8951 (hoặc những IC khác cùng họ).
          Có thể bây giờ bạn chưa rành, bạn có thể làm từng bước bằng phần cứng.
          Vd: cho DCBA=0000, kích led 1, bạn sẽ thấy led 1 hiển thị số 0, nếu kích cả 3 led thì 3 led đều hiển thị số 0 (do 7 chân dữ liệu mắc song song).

          Nếu bạn không muốn dùng giải mã thì để led hiển thị số 1, bạn phải nạp dữ liệu cho các chân của led a,b,c,d,e,f,g = 0,0,1,1,1,1,1 rồi kích led muốn hiển thị (1, 2 hoặc 3).

          Cố gắng tìm hiểu thêm bạn ạ!
          Attached Files
          Không TÔI là kẻ phàm phu
          Cái TÔI quá lớn làm ngu muội mình!
          - 0983.886.113

          Comment


          • help.......8051

            các pro ơi!cứu em với, em mới học về VXL mà thầy đã giao cho 1 đống bài tập lớn.cụ thể các đề như sau:
            1-thiết kế hệ thống hiển thị sử dụng màn hình LCD character 40*4 hiển thị dòng chữ"hell world"với họ no-chíp 8051.
            2-thiết kế đồng hồ thời gian sử dụng on-chíp 8051
            3-thiết kế hệ thống điều khiển motor bước sử dụng họ on-chíp 8051
            4-thiết kế mấy đo chiều cao sử dụng on chíp 8051
            5-thiết kế hệ thống điều khiển nhiệt độ sử dụng họ on-chíp 8051

            bác nào có mạch và code thì cho em với.
            chân thành cảm ơn các bac!!!!!!

            Comment


            • hiển thị số thập phân bằng led 7 thanh thế nào hả các pác. Vd: Nếu em dùng 4 con led 7 thanh rùi hiển thị số 27,72?

              Comment


              • dấu phẩy chính là cái đèn led nhỏ nằm ở góc dưới bên phải của led 7 thanh ấy.Khi bạn muốn hiển thị 27,72 thì sẽ hiển thị thành 27.72
                Attached Files

                Comment


                • cái đó tớ hiểu nhưng vấn đề là thuật toán trong keil C để hiển thị dc nó thì tớ chưa nghĩ ra! Nếu là số nguyên thì mình hiển thị từ hàng đơn vị , hàng chục ,hàng tram..Còn với số thực thì ko biết thuật toán thế nào?

                  Comment


                  • Nguyên văn bởi Mr_Vung Xem bài viết
                    Còn với số thực thì ko biết thuật toán thế nào?
                    Ý bạn muốn là:
                    2772 : 1 = 2772 (hiển thị)
                    2772 : 10 = 277.2
                    2772 : 100 = 27.72
                    2772 : 1000 = 2.772
                    Vd: 2772 Enter 100 Enter -> hiển thị: 27.72
                    Hay bạn muốn nhập: (số 2) - (số 7) - (dấu ,) - (số 7) - (số 2) -> 27.72
                    Bạn muốn làm theo cách 1 hay cách 2 để mình tìm cách giúp bạn. (Hiện giờ chưa có câu trả lời)
                    Không TÔI là kẻ phàm phu
                    Cái TÔI quá lớn làm ngu muội mình!
                    - 0983.886.113

                    Comment


                    • Nguyên văn bởi Mr_Vung Xem bài viết
                      hiển thị số thập phân bằng led 7 thanh thế nào hả các pác. Vd: Nếu em dùng 4 con led 7 thanh rùi hiển thị số 27,72?
                      Đơn giản chỉ là cấp điện cho cái led dấu phẩy đó , thích phẩy ở đâu thì phẩy
                      Cung cấp Oscilocope , Inverter , Switching , DC power supply , AC millivolt meter ....

                      Comment


                      • giả sử tớ có hàm: display(float x) để hiển thị ra led. Nếu tớ chuyền 1 số thực bất kì vào hàm trên thì đều hiển thị dc! Vấn đề là ở đó, thuật toán để hiển thị ra ?

                        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
                          chào bác ,em mới học về vi điều khiển thôi chưa biết nhiều nên rất cần tài liệu để tham khảo,thấy bác có quyển sách hay em muốn xin bác về đọc ấy mà , thanks bác nhiều
                          email : baby_dragon_164@yahoo.com.vn

                          Comment


                          • chào các bác,em vừa bước chân vào nghề .sản phảm đầu tay của em là viết 1 chương trình đếm số lần bấm switch ấy mà(đếm từ 1=>100), chương trình như thế này nhưng không hiểu sao khôg chạy ,à chạy nhưng không đếm gì ,không hiện tượng gì cả các bác xem rồi giải quyết hộ em nhá

                            #include<regx51.h>
                            #include<stdio.h>

                            sbit led1 = P2^0; //
                            sbit led2 = P2^1; //
                            sbit button = P2^3; //

                            unigneed int code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9 0};//code bcd

                            int i,d;
                            void delay(d)
                            {
                            for (i=0;i<d;i++);
                            }

                            void main()
                            {
                            int a,ch,dv;
                            while(a!=100)
                            {
                            if(button==0)
                            a++;
                            else
                            {
                            ch=a/10;
                            tr=a%10;
                            led1=0;led2=1;
                            P0=code[ch];
                            delay(10);

                            led2=0;led1=1;
                            P0=code[dv];
                            delay(10);
                            }
                            }

                            Comment


                            • Nguyên văn bởi alasca Xem bài viết
                              Các bạn vào Gmail là các bạn có thể download. Mong các bạn có thể giữ gìn cho anh em sài chung

                              user :nguyendungvidieukhien@gmail.com

                              Pass: vidieukhien
                              sao em không thể vào được Gmail thế bác ?
                              có phải của thằng google không ?em vào ko nổi
                              https://www.google.com/accounts/Serv...h?service=mail

                              user :nguyendungvidieukhien

                              Pass: vidieukhien

                              Comment


                              • Mình mới sửa một số lỗi, bạn test lại thử xem.
                                Thử so sánh 2 code, tìm ra chỗ sai (If)
                                Code:
                                #include<regx51.h>
                                #include<stdio.h>
                                sbit led1 = P2^0; //
                                sbit led2 = P2^1; //
                                sbit button = P2^3; // 
                                unsigned int code1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//code bcd
                                int i,d;
                                void delay(d)
                                	{
                                	for (i=0;i<d;i++);
                                	}
                                void main()
                                	{
                                	button=1;
                                	int a=0,ch,dv;
                                	while(a!=100)
                                		{
                                		if(button==0)
                                			{
                                			a++;
                                			ch=a/10;
                                			dv=a%10;
                                			}
                                		led1=0;led2=1;
                                		P0=code1[ch];
                                		delay(10); //Nhỏ quá
                                		led2=0;led1=1;
                                		P0=code1[dv];
                                		delay(10);
                                		}
                                	}
                                Chương trình bạn Post lên nhiều lỗi cú pháp thế mà bạn bảo chạy rồi (nhưng không đếm được)???
                                Không TÔI là kẻ phàm phu
                                Cái TÔI quá lớn làm ngu muội mình!
                                - 0983.886.113

                                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