Thaimicrotron.com : Home
 
EXAM3 LOOK UP TABLE
 
     
  Look Up Table
 
  -คือการอ่านข้อมูลที่อยู่ในหน่วยความจำโปรแกรมมาใช้งาน โดยการอ้างแอดเดรสแบบอินเด็กซ์ โดยใช้ DPTR (data pointer)  
  ซึ่งเป็น register 16 bit ใช้เก็บตำแหน่งของข้อมูล  
     
  - รูปแบบคำสั่งการใช้งาน  
 
       
MAIN: MOV R5,#17 ;กำหนดจำนวนข้อมูลที่ต้องการอ่านไว้ใน R5 (17 byte)
  MOV DPTR,#TABLE1 ;กำหนดต่ำแหน่งข้อมูล = TABLE1
       
LOOP: CLR A ;ก่อนใช้งานต้อง Clear A ก่อนทุกครั้ง
  MOVC A,@A+DPTR ;นำค่าข้อมูลที่อยู่ที่ตำแหน่ง (A+DPTR) มาเก็บไว้ที่ A
  MOV P1,A ;นำค่าใน A ออกแสดงผลทาง PORT1
  INC DPTR ;เพิ่มค่า DPTR
  DJNZ R5,LOOP ;ทดสอบจำนวนข้อมูลครบแล้วหรือยัง
       
 
 
 
     
 
 
     
     
  EXAM3  
     
 
;EXAM3.ASM
;DEMO LOOKUP TABLE and display on PORT1
;
	ORG	0000H		;LOAD IN 8000H


MAIN:	MOV	R5,#17		;LOAD COUNT OFF BYTE
	MOV	DPTR,#TABLE1	;LOAD TABLE POINTER
LOOP:	CLR	A
	MOVC	A,@A+DPTR
	MOV	P1,A
	LCALL	DELAY
	INC	DPTR		;INC POINTER
	DJNZ	R5,LOOP		;DEC COUNTER R3


	SJMP	MAIN

DELAY: 	MOV    R2,#8		;wait 0.8 sec
	LCALL  DTSEC		;call delay in 1/10 second input in R2
	RET

; ********** DTSEC SUB **********
; DELAY	1/10 SECOND
; IN  =	R2
; REG =	R2,R3,R4

DTSEC:	MOV	R3,#179
DTSEC1:	MOV	R4,#0
DTSEC2:	DJNZ	R4,DTSEC2
	NOP
	NOP
	DJNZ	R3,DTSEC1
	DJNZ	R2,DTSEC
	RET


TABLE1: DB     01111110B
	DB     10111101B
	DB     11011011B
	DB     11100111B
	DB     11101011B
	DB     11101101B
	DB     11101110B
	DB     11011111B
	DB     10111111B
	DB     01111111B
	DB     11111111B
	DB     00011111B
	DB     11000111B
	DB     11110001B
	DB     11111100B
	DB     11111110B
	DB     11111111B

END

 
 
 
 
 
DOWNLOAD