Thông báo

Collapse
No announcement yet.

giúp em giải thích đoạn code này với!!!!

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

  • giúp em giải thích đoạn code này với!!!!

    Private Sub Timer1_Timer() 'gio phut
    Text1.Text = Format(Now, "hh:nn:ss") 'hien thi gio phut giay hien tai trong text1
    Text2.Text = Format(Now, "dd/mm/yyyy") 'hien thi ngay thang nam hien tai trong text2
    Text5.Text = Format(Now, "hh:nn") 'dinh dang hien thi gio phut
    send ("g") ' gui ky tu g xuong VDK
    a = Hour(Now) ' gan gio hien tai cho bien a
    send (Chr(a Mod 256)) ' gui byte thap cua gio xuong VDK
    send (Chr(a \ 256)) ' gui byte cao cua gio xuong VDK
    b = Minute(Now) ' gan phut hien tai cho bien b
    send (Chr(b Mod 256)) ' gui byte thap cua phut xuong VDK
    send (Chr(b \ 256)) ' gui byte cao cua phut xuong VDK
    c = Second(Now) ' gan giay hien tai cho bien c
    send (Chr(c Mod 256)) ' gui byte cao cua giay xuong VDK
    send (Chr(c \ 256)) ' gui byte cao cua giay xuong VDK
    d = Day(Now) ' gan ngay hien tai cho bien d
    send (Chr(d Mod 256)) ' gui byte thap cua ngay xuong VDK
    send (Chr(d \ 256)) ' gui byte cao cua ngay xuong VDK
    e = Month(Now) ' gan thang hien tai cho bien e
    send (Chr(e Mod 256)) ' gui byte thap cua thang xuong VDK
    send (Chr(e \ 256)) ' gui byte cao cua thang xuong VDK
    f = Year(Now) ' gan nam hien tai cho bien f
    send (Chr(((f Mod 1000) Mod 100) Mod 256)) ' gui byte thap cua nam xuong VDK
    send (Chr(((f Mod 1000) Mod 100) / 256)) ' gui byte cao cua nam xuong VDK

    End Sub

    Ai có thể giải thích cho em các hảm gửi byte cao với byte thấp với. tại sao lại là chia cho 256. và giải thích rõ ràng hộ em 2 câu lệnh này với
    send (Chr(((f Mod 1000) Mod 100) Mod 256)) ' gui byte thap cua nam xuong VDK
    send (Chr(((f Mod 1000) Mod 100) / 256)) ' gui byte cao cua nam xuong VDK

  • #2
    Mở calculator của Window ra chọn chế độ programmer chọn số Hex.

    Ví dụ chọn số F3 D4 chia cho 0x100 (=256) sẽ ra F3.
    Còn lấy số dư (Mod) cho 0x100 thì sẽ là D4.

    Hiểu chưa nhỉ?
    Vẫn biết mỗi lần xa là một lần về lại...

    Comment


    • #3
      Nguyên văn bởi qmk Xem bài viết
      Mở calculator của Window ra chọn chế độ programmer chọn số Hex.

      Ví dụ chọn số F3 D4 chia cho 0x100 (=256) sẽ ra F3.
      Còn lấy số dư (Mod) cho 0x100 thì sẽ là D4.

      Hiểu chưa nhỉ?
      giải thích rõ hơn giúp mình đc k? vẫn k hiểu lắm

      Comment


      • #4
        Nguyên văn bởi 2tay2em Xem bài viết
        giải thích rõ hơn giúp mình đc k? vẫn k hiểu lắm
        hic !

        1 byte là 8 bit ... mà mỗi bit được biểu diễn hoặc là 0 hoặc là 1 ... giá trị lớn nhất của 1 byte là : 11111111 ( 8 con 1 ) .... tức là 255 .

        ... từ 0 đến 255 có 256 lần đếm .

        Muốn đổi từ 1 số N sang byte thì lấy số đó chia cho 256 . ( vì 1 byte chỉ chứa max như vậy )

        chẳng hạn muốn đổi số 1234 ( Hex là : 0x4D2) sang byte ta sẽ được : 1234 / 256 = 4 ( gọi là byte cao ) ... viết dạng Hex là 0x04

        1234 - ( 256*4 ) = 1234 - 1024 = 210 ( gọi là byte thấp ) ... viết kiểu Hex là 0xD2

        --- như vậy ta đã tách 1 số lớn 1234 thành 2 byte nhỏ ( byte cao , byte thấp ) ( để nó chứa vừa mà gửi đi )

        mấy cái byte bit mà không hiểu thì lập trình kiểu gì nhỉ ???
        Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

        Comment

        Về tác giả

        Collapse

        2tay2em Tìm hiểu thêm về 2tay2em

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

        Collapse

        Đang tải...
        X