PDA

View Full Version : Lcd


mtdhp
11-07-2009, 01:41 AM
E chào cả nhà!
Cả nhà giúp em chút nha!
Em đang làm mạch hiển thị số đếm,dùng pic giao tiếp với LCD, nhưng khổ nổi con LCD của em nó lị khác 1 chút, em nhờ người mua hộ. hic.
LCD của em nó lị có đặc điểm là 16 chân, 2 hàng. chân 8 và chân 16 lại là K và A. Em lại ko có code để viết cho nó, ai có giúp em hiểu rõ về nó được ko? Nếu có code thì giúp em luôn.
Em cám ơn nha!
Sớm giúp em với, em cũng rất cần! hixhix

nguyendinhtuan
11-07-2009, 05:48 AM
em xem số hiệu của loại LCD đó, sau đó lên mạng tìm để tải datasheet về là được. em nói không như vậy không ai hiểu đâu.

nguyenductu2310
11-07-2009, 12:17 PM
Bác dùng LCD gì thế? hỏi kiểu đó em biết trả lời seo?
Botay.com roài!

vanhung0103
12-07-2009, 11:17 AM
thật ra 2 chân A nối với nguồn vcc còn chân K nối mass. đó chính là các chân giúp cho đèn nền của LCD sáng thôi. chứ không liên quan gì tới chương trình.

vanhung0103
12-07-2009, 11:19 AM
code LCD 4 bit loai 2 line.

TITLE " HIEN THI CHU RA LCD.ASM"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;
PROCESSOR 16F877
; Clock = XT 4MHz, standard fuse settings
__CONFIG 0x3731
; LABEL EQUATES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INCLUDE "P16F877.INC"
Timer1 EQU 20
TimerX EQU 21
Point EQU 22
Select EQU 23
OutCod EQU 24
RS EQU 1
E EQU 2
BGIAY EQU 25
; PROGRAM BEGINS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0
NOP
BANKSEL TRISD
CLRF TRISD
BANKSEL PORTD
CLRF PORTD
GOTO Start
; SUBROUTINES ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Start
CALL Init
CALL OutMes1
MOVLW D'10'
MOVFW BGIAY
LAP1
MOVLW D'250'
CALL Xms
DECFSZ BGIAY
GOTO LAP1

CALL Init
CALL OutMes2
MOVLW D'10'
MOVFW BGIAY
LAP2
MOVLW D'250'
CALL Xms
DECFSZ BGIAY
GOTO LAP2

CALL Init
CALL OutMes3
MOVLW D'10'
MOVFW BGIAY
LAP3
MOVLW D'250'
CALL Xms
DECFSZ BGIAY
GOTO LAP3
GOTO Start
; 1ms delay with 1us cycle time (1000 cycles)-------------------
Onems
MOVLW D'249'
MOVWF Timer1
Loop1
NOP
DECFSZ Timer1
GOTO Loop1
RETURN
; Delay Xms, X received in W -----------------------------------
Xms
MOVWF TimerX
LoopX
CALL Onems
DECFSZ TimerX
GOTO LoopX
RETURN
; Generate data/command clock siganl E -------------------------
PulseE
BSF PORTD,E
CALL Onems
BCF PORTD,E
CALL Onems
RETURN
; Send a command byte in two nibbles from RB4 - RB7 ------------
Send
MOVWF OutCod
ANDLW 0F0
MOVWF PORTD
BTFSC Select,RS
BSF PORTD,RS
CALL PulseE
CALL Onems
SWAPF OutCod
MOVF OutCod,W
ANDLW 0F0
MOVWF PORTD
BTFSC Select,RS
BSF PORTD,RS
CALL PulseE
CALL Onems
RETURN
;Table of fixed characters to send ----------------------------
Line1
ADDWF PCL,1
DT "PHONG THI NGHIEM"

;------------------------------------------
Line12
ADDWF PCL,1
DT " TRUONG DH CNSG "
;==========================================
Line21
ADDWF PCL,1
DT "DO AN TOT NGHIEP"

;------------------------------------------
Line22
ADDWF PCL,1
DT "KIT THUC TAP PIC"
;=================================================

Line31
ADDWF PCL,1
DT " VUONG VAN HUNG "

;------------------------------------------
Line32
ADDWF PCL,1
DT " MSSV: 33070086 "
; Initialise the display ----------------------------------------
Init
MOVLW D'100'
CALL Xms
MOVLW 0F0
MOVWF Select
MOVLW 0x30
MOVWF PORTD
CALL PulseE
MOVLW D'5'
CALL Xms
CALL PulseE
CALL Onems
CALL PulseE
BCF PORTD,4
CALL PulseE
MOVLW 0x28
CALL Send
MOVLW 0x08
CALL Send
MOVLW 0x01
CALL Send
MOVLW 0x06
CALL Send
MOVLW 0x80
CALL Send
MOVLW 0x0C
CALL Send
; MOVLW 0x0E
; CALL Send
RETURN
; Send the fixed message to the display ------------------------
OutMes1
CLRF Point
BSF Select,RS

;=======================================
Mess11
MOVF Point,W
CALL Line1
CALL Send
INCF Point
MOVF Point,W
SUBLW D'16'
BTFSS STATUS,Z
GOTO Mess11
MOVLW 0xC0
BCF Select,RS
CALL Send
CLRF Point
;=====================================
Mess12
MOVF Point,W
CALL Line12
BSF Select,RS
CALL Send
INCF Point
MOVF Point,W
SUBLW D'16'
BTFSS STATUS,Z
GOTO Mess12
RETURN
;==========================================
OutMes2
CLRF Point
BSF Select,RS

Mess21
MOVF Point,W
CALL Line21
CALL Send
INCF Point
MOVF Point,W
SUBLW D'16'
BTFSS STATUS,Z
GOTO Mess21
MOVLW 0xC0
BCF Select,RS
CALL Send
CLRF Point
;=====================================
Mess22
MOVF Point,W
CALL Line22
BSF Select,RS
CALL Send
INCF Point
MOVF Point,W
SUBLW D'16'
BTFSS STATUS,Z
GOTO Mess22
RETURN
;===========================================
OutMes3
CLRF Point
BSF Select,RS

Mess31
MOVF Point,W
CALL Line31
CALL Send
INCF Point
MOVF Point,W
SUBLW D'16'
BTFSS STATUS,Z
GOTO Mess31
MOVLW 0xC0
BCF Select,RS
CALL Send
CLRF Point
;=====================================
Mess32
MOVF Point,W
CALL Line32
BSF Select,RS
CALL Send
INCF Point
MOVF Point,W
SUBLW D'16'
BTFSS STATUS,Z
GOTO Mess32
RETURN
;===========================================

END

hellongaymoi
23-11-2009, 01:32 AM
Em cũng đang làm đố án điều khiển sạc từ pin mặt trời có phần cần hiển thị điện áp lên LCD nhưng em chua biêt viêt chương trình thế nào.Em muốn viết bằng ngôn ngữ C bác nào có tai liệu pic 16f876 và lcd 2line x 16 char share cho em với.