목차
1. 실험목적
2. 관련지식
3. 블록 다이어그램 작성
4. 소스해석
2. 관련지식
3. 블록 다이어그램 작성
4. 소스해석
본문내용
500MS
CPIDL,0x55 ;if error, beep
BREQLOOP1
CALLBEEP
CALLD2SEC
LOOP1:LDILCD_BUFFER,0xC9 ;display write data
CALLLCD_COMMAND
LDILCD_BUFFER,0xAA
CALLLCD_2HEX
LDIDL,0xAA ;write 0xAA
CALLWRITE
CALLREAD ;read
LDILCD_BUFFER,0xCE ;display read data
CALLLCD_COMMAND
MOVLCD_BUFFER,DL
CALLLCD_2HEX
CALLD500MS
CPIDL,0xAA ;if error, beep
BREQLOOP2
CALLBEEP
CALLD2SEC
LOOP2:LDIAL,1 ;loop from 0x0000 to 0x07FF
ADDBL,AL
CLRAL
ADCBH,AL
CPIBH,0x08
BRNELOOP
CALLBEEP
LOOP3:JMPLOOP3
;------------------------------------------------
;AT24C16 Read (BH:BL=address, DL= read data)
;------------------------------------------------
READ:LDIAL,0b10100100; START condition
STSTWCR,AL; TWCR에0b10100100 입력
; Start Condition 수행.
READ1:LDSAL,TWCR; START complete ?
SBRSAL,TWINT
RJMPREAD1
READ2:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x08
BRNEREAD2
MOVAL,BH; SLA+W
LSLAL
ANDIAL,0b00001110
ORIAL,0xA0
STSTWDR,AL
LDIAL,0b10000100
STSTWCR,AL
READ3:LDSAL,TWCR; SLA+W complete ?
SBRSAL,TWINT
RJMPREAD3
READ4:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x18
BRNEREAD4
STSTWDR,BL; word address
LDIAL,0b10000100
STSTWCR,AL
READ5:LDSAL,TWCR; address complete ?
SBRSAL,TWINT
RJMPREAD5
READ6:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x28
BRNEREAD6
LDIAL,0b10100100; REPEATED START condition
STSTWCR,AL
READ7:LDSAL,TWCR; REPEATED START complete ?
SBRSAL,TWINT
RJMPREAD7
READ8:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x10
BRNEREAD8
MOVAL,BH; SLA+R
LSLAL
ANDIAL,0b00001110
ORIAL,0b10100001
STSTWDR,AL
LDIAL,0b10000100
STSTWCR,AL
READ9:LDSAL,TWCR; SLA+R complete ?
SBRSAL,TWINT
RJMPREAD9
READ10:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x40
BRNEREAD10
LDIAL,0b10000100; read data with no acknowledge
STSTWCR,AL
READ11:LDSAL,TWCR; address complete ?
SBRSAL,TWINT
RJMPREAD11
READ12:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x58
BRNEREAD12
LDSDL,TWDR; read data
LDIAL,0b10010100; STOP condition
STSTWCR,AL
RET
;------------------------------------------------
;AT24C16 Write (BH:BL=address, DL=data)
;------------------------------------------------
WRITE:LDIAL,0b10100100; START condition
STSTWCR,AL
WRITE1:LDSAL,TWCR; START complete ?
SBRSAL,TWINT
RJMPWRITE1
WRITE2:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x08
BRNEWRITE2
MOVAL,BH; SLA+W
LSLAL
ANDIAL,0b00001110
ORIAL,0b10100000
STSTWDR,AL
LDIAL,0b10000100
STSTWCR,AL
WRITE3:LDSAL,TWCR; SLA+W complete ?
SBRSAL,TWINT
RJMPWRITE3
WRITE4:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x18
BRNEWRITE4
STSTWDR,BL; word address
LDIAL,0b10000100
STSTWCR,AL
WRITE5:LDSAL,TWCR; address complete ?
SBRSAL,TWINT
RJMPWRITE5
WRITE6:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x28
BRNEWRITE6
STSTWDR,DL; write data
LDIAL,0b10000100
STSTWCR,AL
WRITE7:LDSAL,TWCR; data complete ?
SBRSAL,TWINT
RJMPWRITE7
WRITE8:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x28
BRNEWRITE8
LDIAL,0b10010100; STOP condition
STSTWCR,AL
CALLD5MS; delay 5 ms for twr time
RET
;====================================================================
;Include User Subroutine File
;====================================================================
.include "OK128SUB.INC" ;include OK-128 subroutine file
CPIDL,0x55 ;if error, beep
BREQLOOP1
CALLBEEP
CALLD2SEC
LOOP1:LDILCD_BUFFER,0xC9 ;display write data
CALLLCD_COMMAND
LDILCD_BUFFER,0xAA
CALLLCD_2HEX
LDIDL,0xAA ;write 0xAA
CALLWRITE
CALLREAD ;read
LDILCD_BUFFER,0xCE ;display read data
CALLLCD_COMMAND
MOVLCD_BUFFER,DL
CALLLCD_2HEX
CALLD500MS
CPIDL,0xAA ;if error, beep
BREQLOOP2
CALLBEEP
CALLD2SEC
LOOP2:LDIAL,1 ;loop from 0x0000 to 0x07FF
ADDBL,AL
CLRAL
ADCBH,AL
CPIBH,0x08
BRNELOOP
CALLBEEP
LOOP3:JMPLOOP3
;------------------------------------------------
;AT24C16 Read (BH:BL=address, DL= read data)
;------------------------------------------------
READ:LDIAL,0b10100100; START condition
STSTWCR,AL; TWCR에0b10100100 입력
; Start Condition 수행.
READ1:LDSAL,TWCR; START complete ?
SBRSAL,TWINT
RJMPREAD1
READ2:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x08
BRNEREAD2
MOVAL,BH; SLA+W
LSLAL
ANDIAL,0b00001110
ORIAL,0xA0
STSTWDR,AL
LDIAL,0b10000100
STSTWCR,AL
READ3:LDSAL,TWCR; SLA+W complete ?
SBRSAL,TWINT
RJMPREAD3
READ4:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x18
BRNEREAD4
STSTWDR,BL; word address
LDIAL,0b10000100
STSTWCR,AL
READ5:LDSAL,TWCR; address complete ?
SBRSAL,TWINT
RJMPREAD5
READ6:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x28
BRNEREAD6
LDIAL,0b10100100; REPEATED START condition
STSTWCR,AL
READ7:LDSAL,TWCR; REPEATED START complete ?
SBRSAL,TWINT
RJMPREAD7
READ8:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x10
BRNEREAD8
MOVAL,BH; SLA+R
LSLAL
ANDIAL,0b00001110
ORIAL,0b10100001
STSTWDR,AL
LDIAL,0b10000100
STSTWCR,AL
READ9:LDSAL,TWCR; SLA+R complete ?
SBRSAL,TWINT
RJMPREAD9
READ10:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x40
BRNEREAD10
LDIAL,0b10000100; read data with no acknowledge
STSTWCR,AL
READ11:LDSAL,TWCR; address complete ?
SBRSAL,TWINT
RJMPREAD11
READ12:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x58
BRNEREAD12
LDSDL,TWDR; read data
LDIAL,0b10010100; STOP condition
STSTWCR,AL
RET
;------------------------------------------------
;AT24C16 Write (BH:BL=address, DL=data)
;------------------------------------------------
WRITE:LDIAL,0b10100100; START condition
STSTWCR,AL
WRITE1:LDSAL,TWCR; START complete ?
SBRSAL,TWINT
RJMPWRITE1
WRITE2:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x08
BRNEWRITE2
MOVAL,BH; SLA+W
LSLAL
ANDIAL,0b00001110
ORIAL,0b10100000
STSTWDR,AL
LDIAL,0b10000100
STSTWCR,AL
WRITE3:LDSAL,TWCR; SLA+W complete ?
SBRSAL,TWINT
RJMPWRITE3
WRITE4:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x18
BRNEWRITE4
STSTWDR,BL; word address
LDIAL,0b10000100
STSTWCR,AL
WRITE5:LDSAL,TWCR; address complete ?
SBRSAL,TWINT
RJMPWRITE5
WRITE6:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x28
BRNEWRITE6
STSTWDR,DL; write data
LDIAL,0b10000100
STSTWCR,AL
WRITE7:LDSAL,TWCR; data complete ?
SBRSAL,TWINT
RJMPWRITE7
WRITE8:LDSAL,TWSR
ANDIAL,0b11111000
CPIAL,0x28
BRNEWRITE8
LDIAL,0b10010100; STOP condition
STSTWCR,AL
CALLD5MS; delay 5 ms for twr time
RET
;====================================================================
;Include User Subroutine File
;====================================================================
.include "OK128SUB.INC" ;include OK-128 subroutine file
키워드
추천자료
- 슈퍼 컴퓨터
- 중앙처리장치의 세가지 핵심모듈을 제시하고 설명하시오
- [CPU][중앙처리장치][Intel][인텔][AMD]CPU(중앙처리장치)의 정의, CPU(중앙처리장치)의 구조...
- 컴퓨터 시스템 구조론 연습문제 1장 ~12장
- 중앙처리장치(CPU)의 세 가지 핵심 모듈(Module)을 제시하고, 이 모듈들의 역할을 간략히 설...
- 컴퓨터 개론 시험 답
- 컴퓨터 개론 시험문제 답
- 컴퓨터 발전역사와 컴퓨터5대 장치
- [방송통신대] 마이크로프로세서의 발전 과정과 컴퓨터 산업에 기여한 점 그리고 최신동향
- (컴퓨터의 이해) 1학년 공통 과제물, 마이크로프로세서의 발전 과정과 컴퓨터 산업에 기여한 ...
- 컴퓨터의 이해 - 1. 마이크로프로세서의 발전과정과 컴퓨터 산업에 기여한 점 그리고 최신동...
- 컴퓨터의 이해 - 1. 마이크로프로세서의 발전 과정과 컴퓨터 산업에 기여한 점 그리고 최신동...
- [논리회로]논리회로의 동작, 논리회로의 종류, 논리회로의 분류, 논리회로의 명령, 논리회로...
- [컴퓨터의 이해 과제물] 마이크로프로세서(Micro-processor)의 발전 과정과 컴퓨터산업에 기...