| 数据搜索系统,热门电子元器件搜索 |
|
CS5501-SD 数据表(PDF) 38 Page - Cirrus Logic |
|
|
|||||||||||||||||||||||||||||
CS5501-SD 数据表(HTML) 38 Page - Cirrus Logic |
|
38 / 54 page ![]() Notes: 1. CS5501 in Synchronous External Clocking mode. 2. Interrupt driven I/O on 8051 (For polling, connect DRDY to another port pin). Assumptions: 1. INT1 external interrupt used. 2. Register bank 1, R6, R7 used to store data word, R7 MSbyte. 3. EA enabled elsewhere. Initial Code: CS EQU P1.1 SCLK EQU P1.2 DATA EQU P1.3 SPINIT: CLR EX1 ; Disable INT1 SETB IT1 ; Set INT1 for falling edge triggered SETB DATA ; Set DATA to be input pin SETB CS ; CS = 1; deselect CS5501 CLR SCLK ; SCLK low SETB EX1 ; Enable INT1 interrupt Code to get word of data: ORG 0003H LJMP GETWD ; Interrupt vector GETWD: PUSH PSW ; Save temp. copy PUSH A ; Save temp. copy MOV PSW,#08 ; Set register bank 1 active MOV R6,#8 ; number of bits in a byte CLR CS ; CS = 0; select CS5501 MSBYTE:SETB SCLK ; Toggle SCLK high MOV C,DATA ; Put bit of data into carry bit CLR SCLK ; Toggle SCLK low; next data bit RLC A ; Shift DATA bit into A register DJNZ R6,MSBYTE ; Dec. R6, if not 0, get another bit MOV R7,A ; Put MSbyte into R7 MOV R6,#8 ; Reset R6 to number of bits in byte LSBYTE: SETB SCLK ; Toggle SCLK high MOV C,DATA ; Put bit of data into carry bit CLR SCLK ; Toggle SCLK low; next data bit RLC A ; Shift DATA bit into A register DJNZ R6,LSBYTE ; Dec. R6, if not 0, get another bit MOV R6,A ; Put LSbyte into R6 SETB CS ; CS = 1; deselect CS5501 POP A ; Restore original value POP PSW ; Restore original value RETI Figure A6. MCS51 (8051) /CS5501 Serial Interface CS5501 MODE 8051 P1.1 P1.3 P1.2 INT1 CS SDATA SCLK DRDY Notes: 1. CS5501 in Asynchronous (UART-like) mode. 2. 8051 in mode 2, with OSC = 12 MHz, max baud = 375 kbps. Assumptions: 1. P1.2 (port 1, bit 2) used as CS. 2. Using serial port mode 2, Baud rate = OSC/32. (Assumptions cont.) 3. Word received put in A (ACC) and B registers, A = MSbyte. 4. No error checking done. 5. Equates used for peripheral names. Initial Code: SPINIT: SETB SMOD ; Set SMOD = 1, baud = OSC/32 SETB P1.2 ; CS = 1, inactive MOV SCON,#1001000B ; Enable serial port mode 2, ; receiver enabled, transmitter disabled CLR ES ; Disable serial port interrupts (polling) RET ; Code to get word of data: SP_IN: CLR P1.2 ; CS = 0, active; select CS5501 JNB RI,$ ; Wait for first byte CLR RI ; MOV A,SBUF ; Put most significant byte in A JNB RI,$ ; wait for second byte CLR RI ; MOV B,SBUF ; Put least significant byte in B SETB P1.2 ; CS = 1, inactive; deselect CS5501 RET ; Figure A7. MCS51 (8051) /CS5501 UART Interface CS5501 RXD MODE 8051 -5V OSC 32 P1.2 SDATA SCLK CS CS5501/CS5503 38 DS31F2 |
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |