Thông báo

Collapse
No announcement yet.

indicator light

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

  • indicator light

    Mình vừa mới nhận đồ án 1: dùng vi xư lý để viết chương trình đố vui để học:
    Yêu cầu là viết chương trình cho 4 người chơi:
    + nhập thời gian cho câu hỏi (thời gian hiển thị qua LED7 đoạn), đồng hồ sẽ đếm ngược, khi gần hết giờ thì có tiếng kêu bíp bíp
    +khi có một người bấm chuông thì 3 người còn lại ko được bấm, lúc đó thì đồng hồ dừng đếm ngược
    +khi hết giờ thì không ai được bấm chuông.
    Mình thực sự bối rối với đề tài này.
    Mong các bạn giúp đỡ

  • #2
    Nguyên văn bởi xuanvinh Xem bài viết
    Mình vừa mới nhận đồ án 1: dùng vi xư lý để viết chương trình đố vui để học:
    Yêu cầu là viết chương trình cho 4 người chơi:
    + nhập thời gian cho câu hỏi (thời gian hiển thị qua LED7 đoạn), đồng hồ sẽ đếm ngược, khi gần hết giờ thì có tiếng kêu bíp bíp
    +khi có một người bấm chuông thì 3 người còn lại ko được bấm, lúc đó thì đồng hồ dừng đếm ngược
    +khi hết giờ thì không ai được bấm chuông.
    Mình thực sự bối rối với đề tài này.
    Mong các bạn giúp đỡ
    Một vấn đề bạn cần làm rõ là:
    nhập thời gian cho câu hỏi bằng máy tính hay nút nhấn(chắt chắn là máy tính rùi nhỉ "thế mà cũng hỏi" )
    Như vậy việc đầu tiên là truyền thời gian bắt đầu đếm ngược cho vđK cách thông thường thì dùng RS232, còn nếu có thể thì USB
    Sau khi truyền thì vi điều khiển sẽ hiển thị ra led và bắt đầu đếm ngược từ giá trị nhận được.
    Các nút nhấn ở đây được sử dụng để xác nhận là bạn đã nhận được tín hiệu trả lời.
    Bạn có thể đọc các nút nhấn bằng quét phím.
    khi bạn biết được ai nhấn thì bạn làm gì?
    Không có gì không làm được, chỉ chưa làm được thôi.

    Comment


    • #3
      nhập thơi gian bằng nút bấm.
      Mình thấy nói thì đơn giản, khi làm thì thấy phức tạp

      Comment


      • #4
        Nguyên văn bởi xuanvinh Xem bài viết
        nhập thơi gian bằng nút bấm.
        Mình thấy nói thì đơn giản, khi làm thì thấy phức tạp
        Bạn dùng quét phím cũng được.
        Tôi chưa làm nên không biết nó phức tạp đến đâu!
        Nếu vậy thì tôi khuyên bạn nên bắt tay vào làm mạch nguyên lý.
        Việc sử lý nó thế nào thì chỉ là chương trình phầm mền thôi sẽ không có gì phức tạp.
        giả sử bạn có 10 phím nhập số, và vài cái nút kiểu on/off hay xác nhận.
        Nói chung sẽ có tối đa là 12 (4X3). kiểu của cái máy tính calculator.
        khi nhập xong thì bấm dấu = mới ra kết quả..
        như vậy bạn sẽ dùng 7 chân của vdk. lúc bạn lập trình bạn sẽ thấy đều tiếp theo phải làm là gì.
        Không có gì không làm được, chỉ chưa làm được thôi.

        Comment


        • #5
          việc quét bàn phím cũng không khó lắm đâu. bạn cứ thiết kế mạch nguyên lý đi. còn phần mềm bạn có thể dùng timer để quét phím( ví dụ: cứ sau 1ms quét phím 1 lần). theo mình nghĩ bạn nên viết theo kiểu trạng thái( ví dụ: bạn có 2 trang thái. 1 là đợi: ở trạng thái này bạn chỉ quan tâm đến quét phím và thời gian. khi có phím bấm thì bạn chuyển sang trạng thái đã bấm và sử lý công việc của mình).
          Trường Giang cuồn cuộn chảy về Đông
          Bạc đầu ngọn sóng cuốn anh hùng
          Thi phi thành bại theo dòng nước
          Sừng sững cơ đồ bỗng tay không

          Comment


          • #6
            Theo tôi nghĩ. Bạn có thể set giờ như kiểu set giờ ở đồng hồ điện tử ấy, có nghĩa là chỉ cần up - down (cộng dồn giá trị giây với công sai là 1, 2 hay 5 tùy theo giá trị nhỏ nhất yêu cầu). Như vậy bạn cần 4 nút cho người chơi + 3 nút điều khiển (up - down - start) + 1(để làm gì đó) = 8 vừa hết 1 port, chân còn lại nối mass cho đơn giản về phần cứng. Còn phần mềm thì bạn có thể kiểm soát nút bấm bằng trạng thái đầu vào hoặc quét (cách này hay hơn).
            Vấn đề về hiển thị thì dùng 4 con led 7 seg thì chắc thoải mái (2m:2s). Mất 1 port + 4 chân nữa.
            Tặng bạn cái sơ đồ ý tưởng
            Attached Files

            Comment


            • #7
              Bạn cứ thiết kế phần cứng cho tốt trước đi.
              Về lập trình cũng đơn giản thôi.
              Nhớ po sơ đồ lên để mọi người góp ý cho thật tốt rồi hãy vẽ mạch nhé.
              Nếu sau này viết code vất vả quá thì mọi người sẽ giúp.

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...
              X