कार्यक्रम एलसीडी>: आवश्यक मदद

K

kiranmayik

Guest
हाय सब लोग,
मैं 20X2 एलसीडी डिस्प्ले के साथ at89c51 interfacing (ODM-20216S) की कोशिश की.
मैं एलसीडी और P3.0 रुपये, अनुसंधान को P3.1 को port1 जुड़ा है / W, ई. को P3.2
लेकिन एलसीडी कोई उत्पादन नहीं दिखा रहा है.
इस कोड है:; से संपर्क एलसीडी
, डेटा, कमांड भेजने के लिए एलसीडी से पहले जाँच व्यस्त झंडा
; P1 डेटा = पिन, P3.0 =, P3.1 रुपये = आर / डब्ल्यू, P3.2 = ई पिंस
0H ओआरजी

, # 38H MOV एक, 2 लाइनों एलसीडी इनिशियलाइज़
ACALL कमान, मामला कमान

MOV एक, # 0EH; पर एलसीडी, कर्सर पर
ACALL कमान
MOV एक, # 02H, वापस घर
ACALL कमान
MOV एक, # 01H, एलसीडी स्पष्ट आदेश
ACALL कमान
MOV एक, # 06H, पाली कर्सर ठीक
ACALL कमान
MOV एक, # 80H, कर्सर: 1 पंक्ति, 0 की स्थिति
ACALL कमान
MOV एक, '# एल'; प्रदर्शन पत्र एल
ACALL DATADISP
MOV एक, '#' सी '
ACALL DATADISP
MOV एक, '#' डी
ACALL DATADISP
यहां:
SJMP यहां, यहां रहनाकमान:
ACALL तैयार, अगर जांच के लिए तैयार एलसीडी
MOV P1, एक; मुद्दे कमांड कोड
CLR P3.0; कमांड के लिए रुपये = 0
CLR P3.1; आर / = 0 डब्ल्यू के लिए एलसीडी लिखने के लिए
SETB P3.2, एच के लिए ई = 1-करने के एल नब्ज
ACALL देरी
CLR P3.2; = 0 ई, कड़ी में
गीला करनाDATADISP:
ACALL तैयार, अगर जांच के लिए तैयार एलसीडी
MOV P1, एक; मुद्दे डेटा
SETB P3.0, डेटा के लिए रुपये = 1
CLR P3.1; आर / = 0 डब्ल्यू के लिए एलसीडी लिखने के लिए
SETB P3.2, एच के लिए ई = 1-करने के एल नब्ज
ACALL देरी; दे कुछ समय एलसीडी
CLR P3.2; = 0 ई, कड़ी में
गीला करनातैयार:
SETB P1.7; P1.7 इनपुट बंदरगाह बनाने के
CLR P3.0, आर 0 का उपयोग = रजिस्टर commang
SETB P3.1; आर / डब्ल्यू = 1 पढ़ा कमान रजिस्टर
; कमान पढ़ें रजिस्टर और व्यस्त ध्वज की जांच
वापस:
CLR P3.2; एल के लिए ई = 0 करने वाली एच नब्ज
ACALL देरी; दे कुछ समय एलसीडी
SETB P3.2; = 1 ई एल को एच नब्ज
, वापस जेबी P1.7; व्यस्त = 0 झंडा तक रहना
गीला करनादेरी:
MOV R3, # 50
HERE1: MOV R4, # 255
HERE2: DJNZ R4, HERE2
DJNZ R3, HERE1
गीला करना
ENDमुझे यकीन नहीं कर रहा हूँ कितना मैं देरी give.do करने के लिए बिजली on.if के लिए शुरू तो कितना में देरी दे? और लगभग कितनी देर है पिन के लिए सक्षम करने की आवश्यकता है.

मदद करो.
धन्यवाद.

 
है

यहाँ ट्यूटोरियल है
http://www.8052.com/tutlcd.phtml

यदि आपके एलसीडी HD44780 पर आधारित है (आज्ञा मुझे ऐसा लगता है के लिए)
यहाँ का समय है

http://home.iae.nl/users/pouweha/lcd/lcd0.shtml hd44780 #

खुश कोडन
Nandhu: डी

 
हाय सब लोग,
मैं 16X2 एलसीडी डिस्प्ले hd44780 (के साथ at89c51 interfacing की कोशिश)
मैं एलसीडी और P1.0 रुपये, अनुसंधान को P1.1 को port1 जुड़ा है / W, ई. को P1.2
लेकिन एलसीडी कोई उत्पादन नहीं दिखा रहा हैजोड़ा गया 2 मिनट के बाद:हाय सब लोग,
मैं 16X2 एलसीडी डिस्प्ले hd44780 (के साथ at89c51 interfacing की कोशिश)
मैं एलसीडी और P1.0 रुपये, अनुसंधान को P1.1 को port1 जुड़ा है / W, ई. को P1.2
लेकिन एलसीडी कोई उत्पादन नहीं दिखा रहा हैकिसी भी एक कृपया अपने एलसीडी सर्किट पूरा करने में मदद

 
इसके अलावा enale संकेत .. दस chk इसके विपरीत समायोजन के लिए बर्तन लिखने के बीच कुछ देरी डाल ...

 
प्रिय
इस विकास कार्यक्रम के स्रोत कोड 16 * 1 एलसीडी के लिए प्रयोग किया जाता है
कोड:

; अंतरफलक एलसीडी 89s52

; 8,952 एलसीडी

; D7 14 p1.7

; D6 13 p1.6

; D5 12 P1.5

; D4 11 p1.4

; एन 6 p1.3

; रुपये 4 p1.2

; 1,3,5 GND

; 2 VCC# शामिल 8051EQU.INC ""

LCD_DATA_4. Equ P1.4

LCD_DATA_5. Equ P1.5

LCD_DATA_6. Equ P1.6

LCD_DATA_7. Equ P1.7

LCD_RS. Equ P1.2

LCD_EN. P1.3 equ; रीसेट

. ओआरजी 0H

AJMP शुरू

बीच में आता है आदत नहीं है (;); उपयुक्त स्थान पर दिनचर्या अंतरायन

; स्मृति स्थानों

03H ओआरजी;. बाह्य अंतरायन 0

रेती

0BH ओआरजी; 0 टाइमर अंतरायन.

रेती

13H ओआरजी;. बाह्य अंतरायन 1

रेती

1BH ओआरजी; 1 टाइमर अंतरायन.

रेती

अंतरायन. 23H ओआरजी; सीरियल पोर्ट

रेती

. ओआरजी 25H; कार्यक्रम के आराम की शुरुआत खोज

हस्ताक्षर:; ने नियंत्रण स्थापित रजिस्टरMOV R4, # 00H

MOV एक, # 00H

MOV TCON, # 00H

MOV TMOD, # 00H

MOV PSW, # 00H

MOV IE, # 00H, अक्षम बीच में आता है

गीला करना

LCD_INITIALIZE:

NOP

mov P1, # 20h

CLR LCD_RS

SETB LCD_EN

ACALL DELAYMS

CLR LCD_EN

ACALL DELAYMS

mov एक, # 28h

ACALL LCD_SEND_COMMAND

mov एक, # 0ch

ACALL LCD_SEND_COMMAND

mov एक, # 02h

ACALL LCD_SEND_COMMAND

गीला करनाLCD_SEND_COMMAND:

20H mov, एक

ACALL LCD_DATA

clr LCD_RS

setb LCD_EN

ACALL DELAYMS

clr LCD_EN

ACALL DELAYMSmov एक, 20H

एक स्वैप

ACALL LCD_DATA

clr LCD_RS

setb LCD_EN

ACALL DELAYMS

clr LCD_EN

ACALL DELAYMS

गीला करनाLCD_SEND_DATA:

20H mov, एक

ACALL LCD_DATA

setb LCD_RS

setb LCD_EN

ACALL DELAYMS

clr LCD_EN

ACALL DELAYMSmov एक, 20H

एक स्वैप

ACALL LCD_DATA

setb LCD_RS

setb LCD_EN

ACALL DELAYMS

clr LCD_EN

ACALL DELAYMS

गीला करनाLCD_DATA:

clr ग

20h mov, एक

mov ग, 4h

mov LCD_DATA_4, ग

mov ग, 5h

mov LCD_DATA_5, ग

mov ग, 6h

mov LCD_DATA_6, ग

mov ग, 7h

mov LCD_DATA_7, ग

; 20H MOV, एक, कम कुतरना के लिए संचय करें

; ORL P1, # 0F0h; 4 .. <7 बिट्स - 1

; 0-3 बिट्स को प्रभावित नहीं, # 0Fh ORL एक, क्या

;, एक ANL P1, उच्च कुतरना प्रदर्शित करने के लिए

; MOV एक, 20H

गीला करनाLCD_CLEAR:

MOV एक, # 01H

ACALL LCD_SEND_COMMAND

गीला करनाLCD_SEND_SPACES:

MOV R4, # 20H

LOOP_SPACES:

MOV एक, # '

ACALL LCD_SEND_DATA

DJNZ R4, LOOP_SPACES

गीला करनाDELAYMS:; millisecond देरी दिनचर्या

MOV R7, # 00H

LOOPA:

कांग्रेस R7

MOV एक, R7

CJNE एक, # 0FFH, LOOPA

गीला करनाDELAYHS:; millisecond देरी इसके बाद के संस्करण की दूसरी छमाही में देरी

MOV R6, # 00H

MOV R5, # 002H

LOOPB:

कांग्रेस R6

ACALL DELAYMS

MOV एक, R6

JNZ LOOPB

दिसम्बर R5

MOV एक, R5

JNZ LOOPB

गीला करनाDELAY1S:; एक millisecond देरी से ऊपर दूसरी देरी

MOV R6, # 00H

MOV R5, # 004H

LOOPC:

कांग्रेस R6

ACALL DELAYMS

MOV एक, R6

JNZ LOOPC

दिसम्बर R5

MOV एक, R5

JNZ LOOPC

गीला करनाDELAY5S:; 5 SECONDS देरी

MOV R6, # 00H

MOV R5, # 010H

LOOPD:

कांग्रेस R6

ACALL DELAYMS

MOV एक, R6

JNZ LOOPD

दिसम्बर R5

MOV एक, R5

JNZ LOOPD

गीला करनाDELAY20S:; 20 सेकंड देरी

MOV R6, # 00H

MOV R5, # 030H

LOOPE:

कांग्रेस R6

ACALL DELAYMS

MOV एक, R6

JNZ LOOPE

दिसम्बर R5

MOV एक, R5

JNZ LOOPE

गीला करनाWRITE_MOBISERVE:

mov एक, '#' एम

ACALL LCD_SEND_DATA

mov एक, '#' हे

ACALL LCD_SEND_DATA

mov एक, '#' बी '

ACALL LCD_SEND_DATA

mov एक, # 'मैं'

ACALL LCD_SEND_DATA

mov एक, '#' एस

ACALL LCD_SEND_DATA

mov एक, '#' ई

ACALL LCD_SEND_DATA

mov एक, '#' आर

ACALL LCD_SEND_DATA

mov एक, '#' वी

ACALL LCD_SEND_DATAACALL LCD_SEND_SPACESmov एक, '#' ई

ACALL LCD_SEND_DATA

mov एक, # '-'

ACALL LCD_SEND_DATA

mov एक, '#' ई

ACALL LCD_SEND_DATA

mov एक, '# जी'

ACALL LCD_SEND_DATA

mov एक, '#' y

ACALL LCD_SEND_DATA

mov एक, '#' पी

ACALL LCD_SEND_DATA

mov एक, '#' टी

ACALL LCD_SEND_DATA
गीला करना

;************************* कार्यक्रम प्रवेश ********************** ***********************

Start:; (बिजली पर मुख्य कार्यक्रम ने, इस बिंदु पर कार्यक्रम शुरू होता है)

ACALL इनिशियलाइज़

ACALL LCD_INITIALIZE

ACALL LCD_CLEAR

ACALL WRITE_MOBISERVE

MOV P1, # 01H

ACALL DELAY1S

FREEZ:

NOP

कारपोरल P1.1

कारपोरल P1.0

ACALL DELAY1S

AJMP FREEZअंत.

 

Welcome to EDABoard.com

Sponsor

Back
Top