advanced processors 5

13
1 ﻛﻠﯿﺔ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻹﻟﻜﺘﺮوﻧﯿﺔ ﻣﺨﺒﺮ اﻵﻻت اﻟﺤﺎﺳﺒﺔ ﻣﺎدة ﻣﻌﺎﻟﺠﺎت ﻣﺘﻄﻮرة ﺳﻨﺔ راﺑﻌﺔ ﺣﺎﺳﺒﺎت اﻋﺪاد اﻟﻤﮭﻨﺪﺳﺔ: ﺟﯿﮭﺎن ﻣﺤﻤﺪ ﺑﺮﻛﺎت ﻋﺒﺪو اﻟﺠﻠﺴﺔ اﻟﺨﺎﻣﺴﺔ اﻟﻐﺎﻳﺔ ﻣﻦ اﻟﺘﺠﺮﺑﺔ- اﻟﺘﻌﺮف ﻋﻠﻰ وﺣﺪة اﻹﻇﻬﺎرLCD - ﺗﻌﻠﻢ ﻛﻴﻔﻴﺔ وﺻﻞ اﻟﺸﺮاﺋﺢ اﻟﻄﺮﻓﻴﺔ إﱃ ﳑﺮ اﳌﻌﺎﰿ. ﻣﺰاﻳﺎ وﻣﻮا ﺻﻔﺎتLCD - ﺗﺘﺄﻟﻒ وﺣﺪةLCD ﻣﻦ ﺳﻄﺮﻳﻦ ﳛﻮي ﻛﻞ ﻣﻨﻬﻤﺎ16 ﳏﺮف. - ﺗﺴﺘﻄﻴﻊ اﻟﺸﺎﺷﺔ إﻇﻬﺎر ﳏﺎرف ﻓﻘﻂ ﺣﺴﺐ اﻟﻔﻮﻧﺖ اﳌﺨﺰن ﺑﺪاﺧﻠﻬﺎ. - ﳝﻜﻦ رﺑﻂ اﻟﺸﺎﺷﺔ ﻣﻊ ﳑﺮ8 ﺑﺖ أو4 ﺑﺖ. - ﻳﺘﻢ اﻟﺘﺤﻜﻢ ﺑﺎﻹﻇﻬﺎر ﻋﻠﻰ اﻟﺸﺎﺷﺔ ﺑﻮاﺳﻄﺔ ﳎﻤﻮﻋﺔ ﻣﻦ اﻷواﻣﺮ اﳋﺎﺻﺔ. - ﲢﻮي وﺣﺪة اﻟﺸﺎﺷﺔ ذاﻛﺮة إﻇﻬﺎر ، ﻋﻨﺪ اﻟﻜﺘ ﺎﺑﺔ إﱃ ﻫﺬﻩ اﻟﺬاﻛﺮة ﺗﻈﻬﺮ اﳌﻌﻠﻮﻣﺎت اﳌﻜﺘﻮﺑﺔ ﻣﺒﺎﺷﺮة ﻋﻠﻰ اﻟﺸﺎﺷﺔ ﺗﺪﻋﻰ ﻫﺬﻩ اﻟﺬاﻛﺮةDDRAM . - ﳝﻜﻦ إﻧﺸﺎء رﻣﻮز ﺟﺪﻳﺪة ﻹﻇﻬﺎرﻫﺎ ﻋﻠﻰ اﻟﺸﺎﺷﺔ) ﺣﱴ16 رﻣﺰ( ﲣﺰن ﻫﺬﻩ اﻟﺮﻣﻮز ﰲ ذاﻛﺮةCGRAM . أﻗﻄﺎبLCD اﳉﺪول اﻟﺘﺎﱄ ﻳﺒﲔ ﺗﻮزع اﻷﻗﻄﺎب ووﻇﺎﺋﻔﻬﺎ.

Upload: jihan-ba

Post on 22-Mar-2016

221 views

Category:

Documents


1 download

DESCRIPTION

LCD experience

TRANSCRIPT

1

كلیة الھندسة الكھربائیة واإللكترونیة مخبر اآلالت الحاسبة

سنة رابعة حاسبات–مادة معالجات متطورة جیھان محمد بركات عبدو:اعداد المھندسة

الخامسةالجلسة

الغاية من التجربة

LCDوحدة اإلظهار التعرف على -

.تعلم كيفية وصل الشرائح الطرفية إىل ممر املعاجل -

LCDصفات مزايا وموا

. حمرف 16 من سطرين حيوي كل منهما LCDتتألف وحدة -

.تستطيع الشاشة إظهار حمارف فقط حسب الفونت املخزن بداخلها -

. بت 4 بت أو 8ميكن ربط الشاشة مع ممر -

.يتم التحكم باإلظهار على الشاشة بواسطة جمموعة من األوامر اخلاصة -

ابة إىل هذه الذاكرة تظهر املعلومات املكتوبة مباشرة على حتوي وحدة الشاشة ذاكرة إظهار ، عند الكت -

.DDRAMالشاشة تدعى هذه الذاكرة

.CGRAMختزن هذه الرموز يف ذاكرة ) رمز16حىت (ميكن إنشاء رموز جديدة إلظهارها على الشاشة -

LCDأقطاب

.اجلدول التايل يبني توزع األقطاب ووظائفها

2

. بت العليا فقط 4ها كلها أو أقطاب معطيات ميكن استخدام8 -

. خمصص من أجل حتديد تباين الشاشة ويوصل عادة مع مقاومة متغرية VL . 3أقطاب تغذية عدد -

. 3أقطاب حتكم عدد -

LCDاألوامر الخاصة بـ

3

مع المعالج LCDاتصال

مع املعاجلLCDيبني الشكل التايل طريقة وصل

بت8تتصل مع ممر املعاجل بطول -

. تقوم بعمل مشفر العناوينPLD عبارة عن شرحية 22V10لشرحية ا -

- A1 و A2 متصلة مع RSو R/W وهذا يؤدي لوجود عناوين مستقلة للكتابة والقراءة واألوامر واحلالة

حسب اجلدول التايل

A1 العنوان

R/W

A2

RS

الوظيفة

كتابة أمر 0 0 00

قراءة الحالة 0 1 02

كتابة معطيات 1 0 04

حظ أن حالة قراءة املعطيات غري مستخدمةال

.)عناوين زوجية (0 يساوي A0 يتم تفعيله يف حاليت القراءة والكتابة وفقط عندما يكون Eالقطب -

4

: التمارين

:LCDالربنامج محل -1

;*****************************************

; *MDE-8086 EXPERIMENT PROGRAM*

; *Chapter 10-4 (Example 1* (

; *PROGRAM BY MiDAS ENGINEERING*

;*****************************************

;

; FILENAME : LCD.ASM

; PROCESSOR : I8086

; VER. : V1.1

;

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE,SS:CODE

;

;

STACK EQU 0540H

;

LCDC EQU 00H

LCDC_S EQU 02H

LCDD EQU 04H

;

ORG 1000H

;

XOR AX,AX

MOV SS,AX

MOV SP,STACK

;

CALL ALLCLR

;

MOV SI,OFFSET CUSOR1

CALL STRING

;

5

CALL LN21

MOV SI,OFFSET CUSOR2

CALL STRING

;

L1: CALL DISPOFF

CALL TIMER

CALL DISPON

CALL TIMER

JMP L1

;

CUSOR1 DB 'Serial monitor !',00H,00H

CUSOR2 DB 'Midas 335-0964/5',00H,00H

;

;LCD instruction

ALLCLR: MOV AH,01H

JMP LNXX

;

DISPOFF:

MOV AH,08H

JMP LNXX

;

DISPON: MOV AH,0FH

JMP LNXX

;

LN11: MOV AH,02H

JMP LNXX

;

LN21: MOV AH,0C0H

;

LNXX: CALL BUSY

MOV AL,AH

OUT LCDC,AL

RET

6

;busy flag check

BUSY: IN AL,LCDC_S

AND AL,10000000B

JNZ BUSY

RET

;

;1 char. LCD OUT

;AH = out data

CHAROUT:

CALL BUSY

;

MOV AL,AH

OUT LCDD,AL

RET

;

STRING: MOV AH,BYTE PTR CS:[SI[

CMP AH,00H

JE STRING1

;out

CALL BUSY

CALL CHAROUT

INC SI

JMP STRING

STRING1:

RET

;

TIMER: MOV CX,2

TIMER2: PUSH CX

MOV CX,0

TIMER1: NOP

NOP

NOP

NOP

7

LOOP TIMER1

POP CX

LOOP TIMER2

RET

;

CODE ENDS

END

.ماذا يفعل الربنامج -

كيف متت �يئة املكدس -

عدل النص الظاهر على الشاشة -

:LCD_1محل الربنامج -2

;*****************************************

;* MDE-8086 EXPERIMENT PROGRAM *

;* Chapter 10-4 (Example 2) *

;* PROGRAM BY MiDAS ENGINEERING *

;*****************************************

;

; FILENAME : LCD_1.ASM

; PROCESSOR : I8086

; VER. : V1.1

;

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE,SS:CODE

;

;

STACK EQU 0540H

;

LCDC EQU 00H

LCDC_S EQU 02H

LCDD EQU 04H

;

ORG 1000H

;

8

XOR AX,AX

MOV SS,AX

MOV SP,STACK

;

L2: CALL ALLCLR

;

MOV SI,OFFSET CUSOR1

CALL STRING

;

CALL LN21

MOV SI,OFFSET CUSOR2

CALL STRING

;

MOV DL,16

L1: CALL TIMER

CALL SHIFT

CALL TIMER

DEC DL

JNZ L1

JMP L2

;

CUSOR1 DB 'Serial monitor !',00H

CUSOR2 DB 'Very very Good !',00H

;

; LCD instruction

ALLCLR: MOV AH,01H

JMP LNXX

;

SHIFT: MOV AH,00011100B

JMP LNXX

;

LN21: MOV AH,0C0H

;

9

LNXX: CALL BUSY

MOV AL,AH

OUT LCDC,AL

RET

; busy flag check

BUSY: IN AL,LCDC_S

AND AL,10000000B

JNZ BUSY

RET

;

; 1 char. LCD OUT

; AH = out data

CHAROUT:

CALL BUSY

;

MOV AL,AH

OUT LCDD,AL

RET

;

STRING: MOV AH,BYTE PTR CS:[SI]

CMP AH,00H

JE STRING1

; out

CALL BUSY

CALL CHAROUT

INC SI

JMP STRING

STRING1:

RET

;

TIMER: MOV CX,2

TIMER2: PUSH CX

MOV CX,0

10

TIMER1: NOP

NOP

NOP

NOP

LOOP TIMER1

POP CX

LOOP TIMER2

RET

;

CODE ENDS

END

.ماذا يفعل الربنامج -

كيف متت عملية اإلزاحة ؟ -

.هل ميكنك عكس االجتاه -

LCD_2محل الربنامج -3

;*****************************************

; *MDE-8086 EXPERIMENT PROGRAM*

; *Chapter 10-4 (Example 3* (

; *PROGRAM BY MiDAS ENGINEERING*

;*****************************************

;

; FILENAME : LCD_2.ASM

; PROCESSOR : I8086

; VER. : V1.1

;

CODE SEGMENT

ASSUME CS:CODE,DS:CODE,ES:CODE,SS:CODE

;

;

STACK EQU 0540H

;

LCDC EQU 00H

LCDC_S EQU 02H

11

LCDD EQU 04H

;

ORG 1000H

;

XOR AX,AX

MOV SS,AX

MOV SP,STACK

;

CALL ALLCLR

;

CALL ENTMODE

L1: CALL CUSOR1

MOV SI,OFFSET DATA

CALL STRING

JMP L1

;

DATA DB '8086 Training Kit Good !',00H

;

;LCD instruction

ALLCLR: MOV AH,01H

JMP LNXX

;

ENTMODE:

MOV AH,00000111B

JMP LNXX

;

CUSOR1: MOV AH,90H

;

LNXX: CALL BUSY

MOV AL,AH

OUT LCDC,AL

RET

;busy flag check

12

BUSY: IN AL,LCDC_S

AND AL,10000000B

JNZ BUSY

RET

;

;1 char. LCD OUT

;AH = out data

CHAROUT:

CALL BUSY

;

MOV AL,AH

OUT LCDD,AL

RET

;

STRING: MOV AH,BYTE PTR CS:[SI[

CMP AH,00H

JE STRING1

;out

CALL BUSY

CALL CHAROUT

INC SI

CALL TIMER

JMP STRING

STRING1:

RET

;

TIMER: MOV CX,1

TIMER2: PUSH CX

MOV CX,0

TIMER1: NOP

NOP

NOP

NOP

13

LOOP TIMER1

POP CX

LOOP TIMER2

RET

;

CODE ENDS

END

.ماذا يفعل الربنامج -

حبلقة زمنية ؟ ما هو التأخري املناسب ؟Busyهل ميكن االستعاضة عن اإلجراء -