Thông báo

Collapse
No announcement yet.

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

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

  • 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.

  • #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


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

      Comment


      • #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


        • #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


          • #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


            • #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


              • #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


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

                  mobile:
                  Nick:
                  Email:

                  Comment


                  • #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


                    • #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


                      • #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


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

                          Comment


                          • #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


                            • #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...
                              X