마이크로 컴퓨터 실험- SPI TWI 직렬통신
본 자료는 6페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
해당 자료는 6페이지 까지만 미리보기를 제공합니다.
6페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

1. 실험목적

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
  • 가격2,500
  • 페이지수19페이지
  • 등록일2012.02.24
  • 저작시기2012.1
  • 파일형식한글(hwp)
  • 자료번호#729307
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니