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