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

  • nhưng mà em đang hỏi đặt thời gian cố định như thế nào .anh có thể viết giúp em chương trình trên đươc ko.để em tham khảo một bài mẫu.giải thích cẩn thận một chút nhé.

    Comment


    • nhưng mà em đang hỏi đặt thời gian cố định như thế nào
      Đơn giản là bạn sử dụng hàm trễ ms dưới đây: VDK 8051, TA 11.0592Mhz

      //Ham tre
      void Delay_ms(unsigned int Delay)
      {
      unsigned int i,j;

      for(i=0;i<Delay;i++)
      for(j=0;j<120;j++)
      ;
      }

      VD: bạn gọi
      Delay(1000); //Khi gọi bạn sẽ chờ 1s mới thưc hiện tiếp chương trình
      ----------------------
      Bể học là mênh mông!

      Comment


      • hao cac bác !

        y/c cua GVHD DAMH2 cua minh la : viet 1 phan mem tren PC co 2 ô va nut enter va ô hien thi va chuong trinh nap vao 8951xuat ra port 0 va port 1, nhap du lieu tu dip-sw o port 2
        khi ta nhap vao 2 so bat ky (00-->99) roi enter thi truyen qua USB qua COM ao den 8951 roi xuat ra 2 led 7 doan co so tuong ung o port 0 va port 1.
        nguoc lai la set dip-sw 8 chan roi truyen nguoc lai tren phan mem cua PC voi so tuong ung khi set dip-sw 8

        rat mong duoc ban giup do
        cam on ban nhieu truoc nhe !

        mail cua e la : duongdienthu@yahoo.com
        nick yahoo la : duongdienthu

        chuc cac bac luon vui khoe va thanh cong ...............

        Comment


        • Nguyên văn bởi wish_blue07 Xem bài viết
          chào bạn daominhchien
          Mình đang làm mạch đèn trái tim , phần cứng thì mình mô phỏng protues xong oy, cũng chạy chương trinh nhìn cũng đẹp lắm. Mình lấy P1,P2,P3 làm led viền xung quanh , còn port 0 làm chữ hiển thị I Love You . mình cũng đang tập viết chương trinh cho nó , cũng chạy được 3 cách rồi ,nhưng it we', khổ nỗi hỏi ai cũng bảo dùng ngắt mà chưa rành cho lắm. Mình chưa biết cách post tai liệu lên , nếu không mình sẽ đưa lên cho bạn tham khảo. Nếu bạn làm được chương trinh của bạn rồi thì cho mình với nha
          Uh! để mình thử xem nhưng thấy mrcuongcon nói đúng đấy ''cái khó ở đây, chính là việc nghĩ ra các kiểu nháy thôi". và lại mình thử với ngắt khá nhiều nhưng ko thành công, mình viết CT chưa biêt cách lắm nên rất dài có khi ko nạp đc vì qua dung lượng...
          mà hinh như mình thấy trong ngắt ko thực hiện đc 1 cụm CT thì fải.. thử cho sử lý 1 bit thì đc. vì thế để thực hiện 1 cụm CT nhỏ chạy liên tục mình dùng nó thay cho delay,dùng for lặp nhiều lần cụm CT nhỏ nếu muốn delay dài...nếu bạn ở Hà Noi gửi add cho mình: email minhchien_tv@yahoo.com.vn
          minhchien71@yahoo.com
          Tôi thích cái cầu kỳ của kỹ thuật
          Nhưng ghét mọi phức tạp trong tính cách con người

          Comment


          • Nguyên văn bởi wish_blue07 Xem bài viết
            Nói như bác vậy chắc là không cần dùng BJT nữa đúng không vậy, nhưng mình đang dùng theo hướng là dùng BJT dễ dùng hơn , vì nó chỉ phụ thuộc vào dòng của BJT mà thôi , nên dễ thay thế BJT nếu nó không làm led sáng mạnh. Nên bạn thử cho ý kiến về vấn đề sử dụng BJT nha. Dù sao cũng cám ơn bạn nhiều
            bạn có vẻ ko tin lắm nhỉ. bạn đã thử thế chưa giá thành rẻ hiệu quả cao đây! chỉ 2803 tớ cho chạy tới nghìn LED cơ...cho mình add đi anh em mình gặp nhau chắc vui hơn.
            Tôi thích cái cầu kỳ của kỹ thuật
            Nhưng ghét mọi phức tạp trong tính cách con người

            Comment


            • BJT hay mos-n-fet tôi cũng dùng nhưng chỉ "tải" quá nặng tới 1k led/1 ký tự...mà ai làm theo tôi thấy đc thì nhớ bấm nút cảm ơn nhé!
              Last edited by daominhchien; 11-03-2009, 02:06. Lý do: sửa
              Tôi thích cái cầu kỳ của kỹ thuật
              Nhưng ghét mọi phức tạp trong tính cách con người

              Comment


              • có bác nào viết được chương trình tạo khoảng thời gian trễ đúng 1ms cho 89s52 không ? và sau muốn thay đổi thời gian trễ chỉ cần đưa vào đối số để được TG trễ như mong muốn.giả thiết thạch anh đang sử dụng là 12MHz ấy
                em đã thử nhiều mà vẫn chưa thành công.mong mọi người giúp.
                cách em thử là dùng timer định khoảng thời gian 1ms rồi cho lặp n lần để được n(ms) nhưng không ăn thua.
                cảm ơn mọi người trước .

                Comment


                • bạn cần độ chính xác là bao nhiêu , micro giây à ?
                  Dùng timer và tính với thời gian của từng câu lệnh của hàm tạo trễ là chính xác lắm rồi !!
                  0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
                  ||
                  PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

                  Comment


                  • để tính thời gian trễ chính xác. Ngoài việc nhân chia cho đúng, bạn còn phải cộng trừ thời gian của các hàm trong vòng lặp nữa.
                    ví dụ: Nếu 1 vòng lặp for choáng mất 2 chu kỳ máy, thì khi lặp n lần, sẽ tốn thêm 2n chu kỳ máy ...Nên để bù trừ khoảng thời gian này, bạn phải giảm số vòng lặp thích hợp.
                    Tuy nhiên, dù tính kỹ đến thế nào thì vẫn có sai số, nhưng ko đáng kể.

                    Chúc thành công
                    Pavolusa
                    :-)

                    Comment


                    • Hàm này trì hoãn ms khá chính xác (sai số không quá 2%), ta có thể dùng thạch anh từ 1MHz đến 33MHz. Các bạn có thể kiểm tra lại!

                      #define hFXTAL 12000000

                      #define hFXTAL_DELAY0 (hFXTAL/12000 - 9)
                      #define hFXTAL_DELAY2 (unsigned char)((hFXTAL_DELAY0/256) + 1)
                      #define hFXTAL_DELAY1 (unsigned char)((hFXTAL_DELAY0/(2*hFXTAL_DELAY2+3)) + 1)

                      void Hdelay_ms(unsigned int ms)
                      {
                      unsigned char delay1, delay2;
                      delay_lap:
                      delay1=hFXTAL_DELAY1;
                      delay_lap1:
                      delay2=hFXTAL_DELAY2;
                      delay_lap2:
                      if(--delay2!=0) goto delay_lap2;
                      if(--delay1!=0) goto delay_lap1;
                      if(--ms!=0) goto delay_lap;
                      }

                      Tan so (gitri nap) 1ms 10ms 100ms 1000ms
                      -------------------------------------------------------------------
                      - 1MHz: (1-15): 1,08(8%); 10,15(1,5%); 100,87(0,9%); 1008,12(0,8%)
                      - 3MHz: (1-49): 1,04(4%); 10,19(1,9%); 101,62(1,6%); 1016,04(1,6%)
                      - 8MHz: (3-74): 1,02(2%); 10,14(1,4%); 101,26(1,3%); 1012,51(1,3%)
                      - 11059200: (4-83): 1,00(0%); 10,01(0,1%); 100,05(0,1%); 1000,25(0,0%)
                      - 12MHz: (4-91): 1,02(2%); 10,11(1,1%); 101,00(1,0%); 1010,00(1,0%)
                      - 24MHz: (8-105): 1,00(0%); 10,03(0,3%); 100,20(0,2%); 1002,00(0,2%)
                      - 33MHz: (11-110): 1,01(1%); 10,04(0,4%); 100,33(0,3%); 1003,27(0,3%)
                      !e

                      Comment


                      • tui thấy các bạn học tập cộng đồng như vậy là rất tốt tuy tui không rành về vxl lắm nhưng tài liệu này tui tin chắc các bạn dùng được!

                        Comment


                        • học tập cộng đồng

                          chào các bạn mình gửi file này cho các bạn tham khảo nha
                          Attached Files

                          Comment


                          • Anh oi em copy chuong trinh cua anh vao keil c nhung lam nao de cho no chay ha anh
                            Bạn hãy đọc kỹ luồng này!

                            http://dientuvietnam.net/forums/showthread.php?t=1163
                            ----------------------
                            Bể học là mênh mông!

                            Comment


                            • Nguyên văn bởi hunglinhcau
                              ban oi cho minh hoi:minh dang xai con 89v51.khi lap trinh ngan thi khong sao,nhung cu ho lap trinh 1 doan dai thi khi nap vao thi chay dc 1 doan thi tu dong reset ve ban dau,nhung lenh tien theo khong thuc hien dc nua.ai biet vi sao chi giup minh cai
                              Bạn kiểm tra xem có rơi vào 1 trong những trường hợp sau ko nhé :
                              1. Chương trình bạn viết có dung lượng dài quá giới hạn cho phép của VĐK
                              2. Trình duyệt hoặc phần mềm nạp của bạn là bản có bản quyền nên giới hạn dung lượng.
                              3. Đường truyền giữa máy tính và VĐK ko tốt. Bạn kiểm tra các khớp kết nối. Ko nên dùng dây kết nối quá dài. Dây kết nối nên là dây có quấn lớp bạc chống nhiễu .
                              4. Nếu ko rơi vào 1 trong các trường hợp trên, thì có thể chương trình bạn viết có vấn đề. Bạn kiểm tra lại hoặc post lên để mọi người cùng trao đổi.
                              Chúc thành công!
                              :-)

                              Comment


                              • các anh ơi.em muốn tạo tần số 28000Hz trong 1s vậyem nên dùng con thạch anh có tần số là bao nhiêu thì được .giúp em với em đang cần lắm.cảm ơn các anh nhiều nhé.

                                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