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

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • hung123
    Thành viên mới
    • Mar 2008
    • 1

    #241
    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

    • baotuyet
      Thành viên mới
      • Mar 2008
      • 1

      #242
      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

      • duysonghinh
        Thành viên mới
        • Mar 2008
        • 21

        #243
        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

        • trong123
          Thành viên chính thức
          • Mar 2008
          • 79

          #244
          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

          • khiem
            Thành viên chính thức
            • Sep 2007
            • 34

            #245
            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

            • Mr_Vung
              Thành viên mới
              • Jun 2007
              • 15

              #246
              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

              • khiem
                Thành viên chính thức
                • Sep 2007
                • 34

                #247
                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

                • Mr_Vung
                  Thành viên mới
                  • Jun 2007
                  • 15

                  #248
                  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

                  • trong123
                    Thành viên chính thức
                    • Mar 2008
                    • 79

                    #249
                    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

                    • hiodong
                      Thành viên tích cực
                      • Sep 2005
                      • 433

                      #250
                      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

                      • Mr_Vung
                        Thành viên mới
                        • Jun 2007
                        • 15

                        #251
                        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

                        • rongconn2t
                          Banned
                          • Apr 2008
                          • 278

                          #252
                          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

                          • rongconn2t
                            Banned
                            • Apr 2008
                            • 278

                            #253
                            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

                            • rongconn2t
                              Banned
                              • Apr 2008
                              • 278

                              #254
                              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


                              user :nguyendungvidieukhien

                              Pass: vidieukhien

                              Comment

                              • trong123
                                Thành viên chính thức
                                • Mar 2008
                                • 79

                                #255
                                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; // 
                                [COLOR="Red"]unsigned[/COLOR] int [COLOR="red"]code1[/COLOR][]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,[COLOR="Red"]0x90[/COLOR]};//code bcd
                                int i,d;
                                void delay(d)
                                	{
                                	for (i=0;i<d;i++);
                                	}
                                void main()
                                	{
                                	[COLOR="blue"]button=1[/COLOR];
                                	int [COLOR="Blue"]a=0[/COLOR],ch,dv;
                                	while(a!=100)
                                		{
                                		if(button==0)
                                			{
                                			a++;
                                			ch=a/10;
                                			[COLOR="red"]dv[/COLOR]=a%10;
                                			}
                                		led1=0;led2=1;
                                		P0=code1[ch];
                                		delay(10); [COLOR="Blue"]//Nhỏ quá[/COLOR]
                                		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...