Mọi người giúp đỡ e hiển thị số trên LCD 16*2

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • rollyblack
    Thành viên mới
    • Nov 2009
    • 26

    #1

    Mọi người giúp đỡ e hiển thị số trên LCD 16*2

    E làm đồ án môn học DK Fan máy tính theo nhiệt độ, dùng AT89C51, LM35, ADC0804, LCD 16*2. Hiển thị chữ trên LCD thì em làm đượ nhưng khi lấy dữ liệu từ ADC về để hiển thị số trên LCD thì e không biết làm. VD: khi lấy từ ADC về giá trị 0Ah thì làm sao để hiện số 10 trên LCD.Mong mọi người giúp đỡ. Em đang cần gấp.
  • minhcpl
    Thành viên tích cực
    • Oct 2007
    • 115

    #2
    số 0ah là số hex =10 thập phân, muốn hiển thị số hex ở lcd ta chia số đó cho 10 rồi tách ra thành số 1 và số 0,cuối cùng cho hiển thị 2 số đó.
    hex- dec:
    mov a,# số cần hiển thị
    mov b,#10
    div ab
    mov r1,a
    mov r2,b
    hiển thị r1
    hiển thị r2.

    Comment

    • rollyblack
      Thành viên mới
      • Nov 2009
      • 26

      #3
      Thanks.Để tối mình về làm thử.

      Comment

      • vankhoakmt
        Thành viên tích cực
        • Mar 2008
        • 137

        #4
        mình cũng đang thực hiện đề tài như thế này nhưng để đo 6 kênh và giao tiếp với VB để vẽ teechart. mình hiện đang làm xuất thử 1 kênh đo lên LCD , nếu bác đã làm được thì chúng ta cùng trao đổi kinh nghiệm thêm nhé.
        cám ơn

        Comment

        • rollyblack
          Thành viên mới
          • Nov 2009
          • 26

          #5
          E mô phỏng trên Proteus thì lấy được nhiệt độ hiển thị lên LCD, nhưng khi nạp cho 89C51 và chạy mạch thì số nhảy tùm lum hết.Ai giúp em với, e ghép LM35 với ADC0804 theo kiểu ghép trưc tiếp và chỉnh điện áp Vref bằng 1,28V.

          Comment

          • lightspydy39
            Thành viên mới
            • Aug 2008
            • 29

            #6
            Bạn đo nhiệt độ nhiều lần sau đó chia lấy trung bình sẽ không bị nháy nữa đâu. Khoảng 30 lần là ok. thời gian trễ 1 led 7 thanh là 250us và vòng for quét led tầm >50 là ok

            mobile:
            Nick:
            Email:

            Comment

            • vankhoakmt
              Thành viên tích cực
              • Mar 2008
              • 137

              #7
              Nguyên văn bởi lightspydy39 Xem bài viết
              Bạn đo nhiệt độ nhiều lần sau đó chia lấy trung bình sẽ không bị nháy nữa đâu. Khoảng 30 lần là ok. thời gian trễ 1 led 7 thanh là 250us và vòng for quét led tầm >50 là ok
              mình cũng đang bị tình trạng số nhảy không đúng, nhưng mình đo nhiều kênh 1 lúc.Mình đã dò lỗi mấy ngày nay xong vẫn chưa ra.

              Comment

              • vankhoakmt
                Thành viên tích cực
                • Mar 2008
                • 137

                #8
                mình cũng đang bị tình trạng số nhảy không đúng, nhưng mình đo nhiều kênh 1 lúc.Mình đã dò lỗi mấy ngày nay xong vẫn chưa ra

                Comment

                • lightspydy39
                  Thành viên mới
                  • Aug 2008
                  • 29

                  #9
                  Mình không hiểu ý bạn đo nhiều kênh 1 lúc là sao?

                  mobile:
                  Nick:
                  Email:

                  Comment

                  • vankhoakmt
                    Thành viên tích cực
                    • Mar 2008
                    • 137

                    #10
                    Nguyên văn bởi lightspydy39 Xem bài viết
                    Mình không hiểu ý bạn đo nhiều kênh 1 lúc là sao?
                    mình thực hiện đo 6 kênh và lần lượt xuất trên LCD và mình đang bị 1 vấn đề ở luồng này :http://dientuvietnam.net/forums/show...065#post226065 bạn có thể đóng góp ý kiến cho mình không?

                    Comment

                    • rollyblack
                      Thành viên mới
                      • Nov 2009
                      • 26

                      #11
                      Nguyên văn bởi lightspydy39 Xem bài viết
                      Bạn đo nhiệt độ nhiều lần sau đó chia lấy trung bình sẽ không bị nháy nữa đâu. Khoảng 30 lần là ok. thời gian trễ 1 led 7 thanh là 250us và vòng for quét led tầm >50 là ok
                      Mình vẫn chưa hiểu, cách làm như thế nào vậy bạn. Bạn cho minh đoạn lệnh viết bằng asm để mình tham khảo được không.Giá trị đo được từ LCD được hiển thị lên LCD chứ không phải Led 7 đoạn. Mình phải điều chế độ rộng xung Ton tại 1 chân của VDK dựa vào giá trị lấy về từ ADC, bạn có thuật toán gì để giải quyết vấn đề này không. Còn 20 ngày nữa là nộp báo cáo rồi, nên mong mọi người sớm giúp e tìm được hương giải quyết.

                      Comment

                      • rollyblack
                        Thành viên mới
                        • Nov 2009
                        • 26

                        #12
                        Để giá trị đọc về từ ADC ko bị nhảy tùm lum thì phải làm sao?? Ai chỉ giùm e với.

                        Comment

                        • minhcpl
                          Thành viên tích cực
                          • Oct 2007
                          • 115

                          #13
                          để số không nhảy thì 1 giây ta đọc ,hiển thị một lần

                          Comment

                          • rollyblack
                            Thành viên mới
                            • Nov 2009
                            • 26

                            #14
                            Mình thử rồi, nhưng giá trị nhận về luc nào cũng là 5 độ. Chân CS cua ADC0804 mình nối Mass luôn.
                            mình viết code lấy dữ lệu từ ADC như vậy có đúng không.Khi mo phong với Proteus thì chạy nhưng ráp mạch thì không lấy được giá trị nhiệt độ từ ADC.

                            ADC_READ: ;ctc doc nhiet do tu ADC

                            CLR WRITE ;dat WR=0
                            SETB WRITE ;dat WR=1 bat dau chuyen doi
                            JB INTR,$ ;doi INTR xuong thap

                            CLR READ
                            SETB READ ;ket thuc huyen doi, cho phep doc RD
                            MOV A,DATABUS ;dua du lieu vo thanh ghi A
                            MOV 08H,A ;sao chep du lieu vo o nho 08
                            SETB INTR ;dua RD=1 de doc cho lan sau
                            RET
                            Last edited by rollyblack; 06-12-2009, 13:58.

                            Comment

                            • minhcpl
                              Thành viên tích cực
                              • Oct 2007
                              • 115

                              #15
                              bạn đưa sơ đồ và chương trình đầy đủ để anh em cùng tháo gở.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...