Thông báo

Collapse
No announcement yet.

Hoi ve time trong 8051

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

  • Hoi ve time trong 8051

    VD: tao xung 10kHz tren P1.1, biet thach anh 12MHz
    trương trình:
    #include<reg52.h>
    sbit F=P1^1;
    void main (void)
    {
    TMOD = 0x02; // time 0 mode 2
    TH0 = -50; //He so chia la 100
    TR0=1;
    while(1)
    {
    while(!TF0); // cho co tran
    TF0=0; // xoa co tran
    F=~F; //dao muc
    }
    }
    bài trên đây em lấy từ sách VĐK cấu trúc- lap trình - ứng dụng của kiều xuân thực chủ biên.
    Các anh giải thick hộ em thắc mắc sau:
    Em hiểu vì sao lại là chia 100 nhưng không hiểu tại sao lại nạp giá trị là -50 cho TH0. Trong khi sách giáo trình nói là TL0 chứa giá trị đếm TH0 giá trị nạp lại và nó đếm đến 255 thì tràn. Nhưng khi nhìn code này thì e ko hiểu. E nghĩ nó phải nạp TH0 từ 205 để đếm đến 255 để xảy ra tràn nhưng ở đây có vẻ như là đếm từ -50 về 0;

  • #2
    bạn có 8 bit -> max 255, thì -50 với 205 là 1 đấy bạn, bạn thử chuyển qua hệ nhị phân 8bit là biết ngay mà ^_^

    Comment


    • #3
      Thank ban rat nhiu. Tu hoc nen kho hieu. Tai no day 1 kieu viet code 1 kieu ma o giai thick gi ca.

      Comment


      • #4
        Mình chưa hiểu tại sao chia là 50 ma hệ số chia la 100?

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X