Thông báo

Collapse
No announcement yet.

[Hỏi] Lập trình 89C51 giao tiếp với máy tính

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

  • [Hỏi] Lập trình 89C51 giao tiếp với máy tính

    Chào các anh. hiện tại em đang làm 1 board nhỏ dùng để thực hành tập giao tiếp với máy tính cũng như thực hành lập trình chó 1307. Hiện tại mạch đã hoàn thành và giờ là công việc viết 1 soft nhỏ trên C# để giao tiếp.Mong các anh giúp đỡ

    Yêu cầu :
    - 3 ô để nhập ngày tháng năm
    - 1 ô để nhận dữ liệu từ vi điều khiển
    - 2 nút nhấn 1 nút send (thiết lập ngày giờ cho 1307) , 1 nút Nhận : nhận dữ liệu hex từ vi điều khiển gữ về

    Các anh có thể hướng dẫn cho em cách viết chương trình này được không ạ
    Em vừa mới tiếp xúc C# nên chưa biết gì hết.Mong các anh giúp đỡ

  • #2
    Thứ nhất bạn phải nói rõ "trình độ" của bạn về giao tiếp máy tính tới đâu thì anh em mới hướng dẫn được.
    Nếu đây là lần đầu tiên thì bạn hỏi như vậy là quá cao rồi.
    Khởi đầu giao tiếp máy tính bạn phải làm những bài toán đơn giản trước :
    bài 1: máy tính truyền dữ liệu xuống vđk (thiết kế giao diện chỉ 02 nút ấn dùng để điều khiển 01 cái đèn led dưới vđk sáng tắt là được)
    bài 2: vi điều khiển truyền dữ liệu lên máy tinh (thiết kế 1 nút ấn dưới vđk, khi ấn thì truyền lên máy tính 1 chữ gì đó, trên máy tính chỉ thiết kế 1 ô nhận và hiển thị dữ liệu nhận được)
    Nếu bạn đã rành 2 cái này rồi thì sẽ kết hợp lại làm một bài toán khó hơn, lúc đó sẽ có thêm phần xử lý dữ liệu nữa (có nghĩa là: ví dụ bạn nhập dữ liệu ngày tháng... để truyền xuống vđk, để ghi vào thanh ghi tương ứng trong 1307, thì làm sao vđk phân biệt được đâu là dữ liệu ngày, đâu là dữ liệu tháng,... cái này bạn phải xử lý dữ liệu...)

    Trên đây là đôi lời góp ý, trước đây mình cũng làm nhưng hỏi không ai trả lời cả, mình tự mày mò và cũng thành công, đây là phương pháp mình học, Nếu bạn cảm tháy phù hợp thì làm thử.
    (Có gì sai sót mong anh em bỏ qua)
    Không có gì quý hơn độc lập tự do!

    Comment


    • #3
      bác nvd.dkt co thể hướng dẫn cụ thể hơn để có thể học giao tiếp vdk với máy tính được không.e đang muốn học nhưng không biết nên đi theo cách nào.

      Comment


      • #4
        Trước tiên bác phải đọc về lý thuyết từng phần: phần vđk và phần máy tính (có thể dùng VB6 Hoặc C# hoặc C++..... cái này là tùy vào sở thích của bác, nhưng bắt đầu thì nên dùng VB6, "hơi cổ lổ sỉ" nhưng dễ nhất)
        +Phần vđk: bác đọc cuốn sách của Phan Quang Cường-Quốc thắng gì đó, đọc phần giao tiếp máy tính rs232 đó, cơ chế truyền nhận dữ liệu, ngắt truyền thông,...(về phần lý thuyết tập lệnh của vđk thì bắt buộc phải thuộc)
        +Phần trên máy tính: bác đọc cuốn "lập trình ghép nối máy tính trong windows" của Ngô Diên Tập, và một số lệnh truyền nhận dữ liệu của VB6 (cái này thì rất nhiều trên mạng)
        Về phần cứng: làm một board mạch vđk, có vài nút ấn, nối khoảng 8 cái đèn led (khoảng 80k nếu tự làm mạch in), mạch nạp (cái này thi mua khoảng 200k), mạch RS232-COM, dây cáp USB to COM (loại Trung Quốc 85k có kèm theo đĩa driver),
        Về máy tinh: máy laptop cần cài phần mềm VB6, phần mềm lập trình 89xx, phần mềm nạp chip,
        (còn máy bàn thì có sẵn cổng com rồi nên ko cần mua cáp USB to COM)
        Phần còn lại là do bạn, làm lần đầu thì nên làm bài toán 1 chiều như mình đã nói ở trên.
        Chúc các bạn may mắn.
        Không có gì quý hơn độc lập tự do!

        Comment


        • #5
          Bạn có thể tham khảo luồng này, của anh Ngo Hai Bac viết, về lập trình giao tiếp máy tính:
          Serial Port - lập trình giao tiếp nối tiếp
          - Mạch nạp vdk 8051, AVR, PIC, EEPROM
          - Linh kiện điện tử cho sinh viên


          Comment


          • #6
            Nguyên văn bởi nvd.dkt Xem bài viết
            Thứ nhất bạn phải nói rõ "trình độ" của bạn về giao tiếp máy tính tới đâu thì anh em mới hướng dẫn được.
            Nếu đây là lần đầu tiên thì bạn hỏi như vậy là quá cao rồi.
            Khởi đầu giao tiếp máy tính bạn phải làm những bài toán đơn giản trước :
            bài 1: máy tính truyền dữ liệu xuống vđk (thiết kế giao diện chỉ 02 nút ấn dùng để điều khiển 01 cái đèn led dưới vđk sáng tắt là được)
            bài 2: vi điều khiển truyền dữ liệu lên máy tinh (thiết kế 1 nút ấn dưới vđk, khi ấn thì truyền lên máy tính 1 chữ gì đó, trên máy tính chỉ thiết kế 1 ô nhận và hiển thị dữ liệu nhận được)
            Nếu bạn đã rành 2 cái này rồi thì sẽ kết hợp lại làm một bài toán khó hơn, lúc đó sẽ có thêm phần xử lý dữ liệu nữa (có nghĩa là: ví dụ bạn nhập dữ liệu ngày tháng... để truyền xuống vđk, để ghi vào thanh ghi tương ứng trong 1307, thì làm sao vđk phân biệt được đâu là dữ liệu ngày, đâu là dữ liệu tháng,... cái này bạn phải xử lý dữ liệu...)

            Trên đây là đôi lời góp ý, trước đây mình cũng làm nhưng hỏi không ai trả lời cả, mình tự mày mò và cũng thành công, đây là phương pháp mình học, Nếu bạn cảm tháy phù hợp thì làm thử.
            (Có gì sai sót mong anh em bỏ qua)
            cả 2 bài của bạn đưa mình đều làm được.
            giờ có thể chỉnh thế này :
            2 textbox 1 button
            tbSend : dữ liệu truyền xuống vdk (mã hex )
            bttSend : send dữ liệu ra cổng com
            tbReveive : dữ liệu nhận được từ cổng com (mã hex)

            giao diện nó như thế này
            Click image for larger version

Name:	3f5f1d14313a610bce4c1e2f6868c0e7_48373523.capture.png
Views:	1
Size:	8.1 KB
ID:	1366177

            giả sữ soft chạy nó sẽ nhưu thế này : nhập mã hex hoặc bin vào ô data sau đó nhấn nút send.vdk sẽ nhận rồi xữ lý
            nhận thì tự động nhận

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X