Cần giúp đỡ code về LED 7 thanh, LCD,và ADC

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • bgvye44
    Thành viên mới
    • Oct 2007
    • 16

    #1

    Cần giúp đỡ code về LED 7 thanh, LCD,và ADC

    Mình có 1 số bài tập thế này,mò mãi mà vẫn chưa ra,ai có thể viết thì giúp mình nhé,cảm ơn trước:

    Bài 1: Viết chương trình đếm từ 0000 đến 9999 hiển thị trên LCD
    Dòng 1 hiển thị: CHƯƠNG TRÌNH ĐẾM ( Canh giữa )
    Dòng 2 hiển thị: XXXX
    Bài 2: THêm 2 nút nhấn START/STOP
    -START: Bắt đầu đếm
    -STOP: Dừng đếm (ở số đang hiển thị )
    Bài 3: Viết chuơng trình sáng dần 8 chữ COCACOLA lên 8 led 7 thanh ( Sáng từ A=>L=>O......)
    Mong hồi âm từ các bạn!
  • OoMrBayoO
    Thành viên chính thức
    • Jul 2011
    • 88

    #2
    Mình có thắc mắc là bạn đã mò mẫm bao lâu rồi, được những gì rồi. Được gì thì post lên mọi người giúp.
    Chứ có mỗi cái đề bài này không ai dám giúp đâu

    Comment

    • phanlamdien
      Thành viên tích cực
      • Sep 2009
      • 356

      #3
      VDK là con gì còn chưa nói mà.
      "Hãy nhìn người yêu mình là đẹp
      Chứ đừng nhìn người đẹp mà yêu"

      Comment

      • Ck33spkt
        Thành viên tích cực
        • Apr 2010
        • 616

        #4
        Nguyên văn bởi bgvye44 Xem bài viết
        Mình có 1 số bài tập thế này,mò mãi mà vẫn chưa ra,ai có thể viết thì giúp mình nhé,cảm ơn trước:

        Bài 1: Viết chương trình đếm từ 0000 đến 9999 hiển thị trên LCD
        Dòng 1 hiển thị: CHƯƠNG TRÌNH ĐẾM ( Canh giữa )
        Dòng 2 hiển thị: XXXX
        Bài 2: THêm 2 nút nhấn START/STOP
        -START: Bắt đầu đếm
        -STOP: Dừng đếm (ở số đang hiển thị )
        Bài 3: Viết chuơng trình sáng dần 8 chữ COCACOLA lên 8 led 7 thanh ( Sáng từ A=>L=>O......)
        Mong hồi âm từ các bạn!
        Bạn cần đưa ra sơ đồ kết nối và ý tưởng thực hiện của bạn thì mọi người mới biết hướng mà giúp đỡ.

        Nguyên văn bởi phanlamdien Xem bài viết
        VDK là con gì còn chưa nói mà.
        Người ta post bài trong mục "Vi điều khiển họ 8051" thì mình phải ngầm hiểu là họ dùng VĐK thuộc họ 8051.

        Comment

        • bgvye44
          Thành viên mới
          • Oct 2007
          • 16

          #5
          Bài 1 Click image for larger version

Name:	LCD.jpg
Views:	1
Size:	114.4 KB
ID:	1371616 thì dùng timer 0 hay timer 1 của 89S52 để đếm thôi các bác à, nhưng ở chế độ 16 bit mình vẫn chưa hiểu hết, bạn nào hiểu giúp mình với (mình chưa thể hình dung được cách viết code )
          Bài 2 thì dùng interrupt (ngắt ) tức là sử dụng nút nhấn . (Như bài 1, nhưng thêm 2 nút nhấn ở INT0 và INT1 ở P3_3, và P3_4 để điểu khiển bắt đầu đếm và ngừng đếm
          Bài 3 thì mình chỉ hiển thị được chuỗi thôi, ko biết cách làm nó sáng dần như yêu cầu trên được, có lẽ học chưa đủ, hehee
          Code bài 3 của mình thế này :
          void ghichuoi (unsigned char *chuoi)
          {
          while(*chuoi ! ='\o')
          { ghiLCD(1,*chuoi++);}
          }
          ghichuoi("COCACOLA")

          Phần khởi tạo LCD mình biết rồi. Các bạn giúp mình nhé, gần tới ngày thi rồi chưa được gì , chắc toi mạng,hehe. Mong nhận hồi âm sớm!

          Comment

          • bgvye44
            Thành viên mới
            • Oct 2007
            • 16

            #6
            Không ai giúp đỡ em à

            Comment

            • tranhungyt
              Thành viên mới
              • Mar 2012
              • 9

              #7
              yêu cầu của bài 1 là đếm từ 0 đến 9999 thì dùng timer để đếm ở chế độ 16bit, do chế độ 1 đếm được 65536 chu kỳ máy nên bạn xét số đếm nếu bằng 9999 thì xóa 2 thanh ghi TH và TL cho đếm lại. bạn viết chương trình con lấy giá trị trong thanh ghi THx và TLx để xuất ra LCD. còn về nút Start và Stop thì k nhất thiết phải dùng đến ngắt đâu. cứ xét nếu có nhấn Start thì Setb TRx, nếu Stop thì CLR TRx và giá trị vẫn còn lưu trong thanh ghi THx và TLx

              Comment

              • tranhungyt
                Thành viên mới
                • Mar 2012
                • 9

                #8
                mà mình nghĩ đề phải yêu cầu đếm 1 số trong khoảng thời gian nào đó chứ.
                còn bài hiển thị chữ đó thì dùng phương pháp quét LED, bạn quét từ phải sang trái

                Comment

                • vothienso01
                  Banned
                  • Aug 2010
                  • 36

                  #9
                  Yêu cầu vậy theo mình giải quyết như sau:
                  Bài 1: Nếu để đếm bằng Timer với chu kỳ máy chắc hiển thị không kịp. Do đó sẽ dùng Timer để tạo thời gian trễ VD: 0.5s, sau đó hiển thị LCD
                  Bài 2: Thêm 2 cái nút này vào ngắt ngoài cho nhó nhẹ nợ, đỡ phải quét trạng thái phím.
                  Bài 3: Đơn giản chỉ là Quét LED thôi. Bạn tìm ra mã LED của chữ C, O, L là OK ý mà.

                  Comment

                  Về tác giả

                  Collapse

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

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

                  Collapse

                  There are no results that meet this criteria.

                  Đang tải...