Thông báo

Collapse
No announcement yet.

các pro giúp e hiển thị nhiệt độ lên LCD voi !!!!!!!!!!

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

  • các pro giúp e hiển thị nhiệt độ lên LCD voi !!!!!!!!!!

    so do ket noi
    Click image for larger version

Name:	sodonhiet.jpg
Views:	1
Size:	64.7 KB
ID:	1405323
    sơ đồ này hi vọng rõ hơn

    e không biết sơ sơ đồnguyên lý hay code sai nữa mà không thể nào hiển thị nhiệt độ được

    code
    {
    ;RS -> P0.0
    ;RW -> P0.1
    ;E -> P0.2
    ;DATA BUS -> PORT 2
    ;************************************************* **
    $MOD51
    EN BIT P0.2
    RW BIT P0.1
    RS BIT P0.0
    DATABUS EQU P2
    ;************************************************* **
    ORG 00H
    MAIN:
    ACALL LCDINIT ;KHOI TAO LCD
    MP1:
    ACALL DISP_FLINE ;HIEN THI DONG 1

    DOC_ADC:
    CLR P3.0
    CLR P3.1
    CLR P3.2
    CLR P3.3
    SETB P3.3
    CLR P3.3
    JNB P3.4,$
    MOV A,P1
    MOV B,#3
    DIV AB
    MOV B,#100
    DIV AB
    MOV 20H,A
    MOV A,B
    MOV B,#10
    DIV AB
    MOV 21H,A
    MOV A,B
    MOV 22H,A

    ACALL MALCD

    MALCD:
    MOV A,20H
    ADD A,#30
    MOV 48H,A
    MOV A,21H
    ADD A,#30
    MOV 49H,A
    MOV A,22H
    ADD A,#30
    MOV 50H,A
    ACALL DISP_SLINE ;HIEN THI DONG 2
    SJMP $
    ;************************************************* **
    LCDINIT: ;CTC KHOI TAO LCD
    CLR RS ;RS = 0 - GUI LENH
    CLR RW ;RW = 0 - WRITE LCD MODE
    SETB EN ;E = 1 - ENABLE
    MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
    ACALL SENDCOMMAND ;GUI LENH RA LCD
    MOV TH0,#HIGH(-4100)
    MOV TL0,#LOW(-4100)
    ACALL DELAY ;DELAY 4.1MS
    MOV DATABUS,#30H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
    ACALL SENDCOMMAND ;GUI LENH RA LCD
    MOV TH0,#HIGH(-100)
    MOV TL0,#LOW(-100)
    ACALL DELAY ;DELAY 100US
    MOV DATABUS,#38H ;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
    ACALL SENDCOMMAND ;GUI LENH RA LCD
    MOV DATABUS,#0CH ;CODE = C0H - CHO PHEP LCD HIEN THI
    ACALL SENDCOMMAND ;GUI LENH RA LCD
    MOV DATABUS,#01H ;CODE = 01H - XOA LCD
    ACALL SENDCOMMAND ;GUI LENH RA LCD
    MOV DATABUS,#50H
    ACALL SENDCOMMAND ;GUI GIA TRI RA LCD
    RET

    ;************************************************* **
    SENDCOMMAND: ;CTC GUI LENH (SENDCOMMAND) VA GUI DU LIEU (SENDDATA) RA LCD
    CLR RS ;RS = 0 - GUI LENH
    SJMP PULSE_EN
    SENDDATA:
    SETB RS ;RS = 1 - GUI DU LIEU
    NOP
    PULSE_EN: ;TAO XUNG ENABLE DE CHUYEN THONG TIN (COMMAND/DATA) VAO LCD
    CLR RW ;RW = 0 - WRITE LCD MODE
    CLR EN ;EN = 0
    NOP
    SETB EN ;EN = 1 - XUNG ENABLE
    NOP
    ;KIEM TRA CO BAO BAN (BUSY FLAG) DE DAM BAO HOAN TAT VIEC LCD GHI NHAN THONG TIN GUI DEN
    ;************************************************* ************
    ;MOV TH0,#HIGH(-1000) ;LENH NAY DUOC THAY THE CHO DOAN MA KIEM TRA DUOI DAY KHI
    ;MOV TL0,#LOW(-1000) ;CHAY CHUONG TRINH NAY TRONG PHAN MEM MO PHONG TOPVIEW
    ;ACALL DELAY
    ;************************************************* ************
    MOV DATABUS,#0FFH ;CAU HINH PORT 2 CHO CHE DO PORT NHAP
    SETB RW ;RW = 1 - READ LCD MODE
    CLR RS ;RS = 0 - GUI LENH
    CLR EN ;EN = 0
    NOP
    SETB EN ;EN = 1 - XUNG ENABLE
    NOP
    BUSY: ;BUSY = 0 -> HOAN TAT, BUSY = 1 -> DANG THUC HIEN
    MOV A,DATABUS ;DOC DU LIEU TU LCD
    JB ACC.7,BUSY ;KIEM TRA CO BUSY
    BUSY2: ;KIEM TRA CO BAO BAN (BUSY FLAG) LAN THU HAI
    MOV A,DATABUS ;DOC DU LIEU TU LCD
    JB ACC.7,BUSY2 ;KIEM TRA CO BUSY LAN 2
    CLR RW ;RW = 0 - WRITE LCD MODE (THOAT KHOI CHE DO READ, TRO VE CHE DO WRITE)
    ;************************************************* ************
    RET
    ;************************************************* **
    DISP_FLINE: ;CTC DAT DIA CHI BAT DAU DONG 1 VA NAP DU LIEU DONG 1 VAO DDRAM
    MOV DATABUS,#80H ;CODE = 80H - DAT DDRAM DIA CHI BAT DAU CUA DONG 1 - 00H
    ACALL SENDCOMMAND ;GUI LENH RA LCD
    MOV DPTR,#FLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 1 CUA LCD
    ACALL WRITE ;GUI VUNG DU LIEU SANG LCD
    RET
    ;************************************************* **
    DISP_SLINE: ;CTC DAT DIA CHI BAT DAU DONG 2 VA NAP DU LIEU DONG 2 VAO DDRAM
    MOV DATABUS,#0C0H ;CODE = C0H - DAT DDRAM DIA CHI BAT DAU CUA DONG 2 - 40H
    ACALL SENDCOMMAND ;GUI LENH RA LCD
    MOV DPTR,#SLINE_DATA ;NAP DIA CHI VUNG DU LIEU DONG 2 CUA LCD
    ACALL WRITE ;GUI VUNG DU LIEU SANG LCD
    RET
    ;************************************************* **
    WRITE: ;CTC GUI DU LIEU SANG LCD, KET THUC GUI DU LIEU KHI DU LIEU GUI DI LA 99H
    MOV A,#0 ;OFFSET DAU TIEN TRONG VUNG DU LIEU CUA DPTR
    MOVC A,@A+DPTR ;LAY DU LIEU TU VUNG DU LIEU
    CJNE A,#99H,WRITE_CONT ;KIEM TRA LAY HET DU LIEU TRONG VUNG DU LIEU - DU LIEU KET THUC LA 99H
    RET
    WRITE_CONT: ;KHONG PHAI LA DU LIEU KET THUC - CHUA LAY HET DU LIEU
    MOV DATABUS,A ;CHUYEN DU LIEU CAN GUI RA PORT DEN LCD
    ACALL SENDDATA ;GUI DU LIEU RA LCD
    INC DPTR ;CHUYEN SANG DU LIEU KE TIEP
    SJMP WRITE ;QUAY TRO VE DE GUI DU LIEU KE TIEP
    RET
    ;************************************************* **
    DELAY:
    MOV TMOD,#01H
    SETB TR0
    JNB TF0,$
    CLR TR0
    CLR TF0
    RET
    ;************************************************* **
    FLINE_DATA: ;DU LIEU HIEN THI DONG 1
    DB 'NHIET DO'
    DB 99H ;MA KET THUC DONG (TU CHON)
    SLINE_DATA: ;DU LIEU HIEN THI DONG 2
    DB 50H
    DB 99H ;MA KET THUC DONG (TU CHON)
    END
    Attached Files

  • #2
    có ai giúp e với

    Comment


    • #3
      Nguyên văn bởi qpanda86 Xem bài viết
      có ai giúp e với
      bạn dùng cảm biến lm35 đúng không ! như trong sơ đồ thì bạn nối cảm biến không đúng ! chân gnd nối mass, chân vs+ bạn phải nối lên dương nguồn ! chân còn lại là chân out chân này bạn có thể đưa thẳng bào đầu vào của ADC , hoặc dùng mạch khuếch đại lặp để tăng dòng của tín hiệu từ cảm biến !
      0945061338(vocam.h@gmail.com,lehanhdtk3@gmail.com)
      ||
      PROGRAMING(C,ASM),HARDWARE,LMD,RTC,GPRS,GPS....ALL OF VDK

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X