你好:我第一次使用freescale的片子,使用SPI 向74HC595中写数据,总线时钟20M,严格按照数据手册来编,调了好长时间,没调好,望高手指点,谢谢 主要代码如下: sei ;shut interrupts ;------------------------------------------------ ;iniTIALIZE ICG (BUSF=20MHz) MOV #$7c,ICGC1 MOV #$30,ICGC2 ;XYZ: sta SRS BRCLR 3,ICGS1,* ;----------------------------------------- ;INITIALIZATION SPI mov #$50,SPI1C1 mov #$00,SPI1C2 mov #$50,SPI1BR ;20mHz/5=4MHz ;--------------------------------------------- cli ;enable interrupt mov #$FF,PTADD ;set I/O directions mov #$C0,PTEDD mov #$ff,PTBDD mov #$ff,PTFDD ;------------------------------------------ mov #$20,PTBD BCLR 3,PTFD ;SHUT 595 LDA #$05 LOOP: brclr 5,SPI1S,* STA SPI1D brclr 5,SPI1S,* nop nop nop nop bSET 3,PTFD ;//选74HC595 clra dbnza * bclr 3,PTFD BRA LOOP NOP
|