使用SSP接口之前,要先对引脚进行配置。进行如下设置可将P0.17、P0.18、P0.19和P0.20选择为SSP功能:
LPC2138的SSP可配置成多种接口方式的控制器,并且可以设置每帧数据的长度,另外,SSP控制器还带有多字节收发缓冲器,可以大大提高通信处理的效率。SSP的总线时钟设置与SPI接口的时钟设置有所差别,SPI接口只需设置SPCCR寄存器就能控制主机SCK的频率,而SSP控制器不但需要设置时钟预分频寄存器(SSPCRSR),还要设置串行时钟速率(SSPCR0[15:8])。
SSP控制器可以提供许多状态信息,并根据设置触发中断。与中断设置相关的寄存器有:SSP中断屏蔽设置/清除寄存器(SPIMSC)、SSP所有中断状态寄存器(SSPRIS)和SSP屏蔽中断状态寄存器(SSPMIS)。其中,SSPRIS寄存器反映所有的中断状态,在经过和SPIMSC寄存器的内容“相与”操作后,结果反映在SSPMIS寄存器中。因此,通过设置SPIMSC寄存器过滤掉不关心的中断信息,SSPMIS寄存器可以触发IRQ中断。
例4-8 SSP作主机控制74HC595驱动LED显示器,Proteus仿真电路如图4-14所示。将SSP设置为主机,通过引线连接74HC595,控制7段数码管轮流显示0~F字样。值得注意的是,采用SPI作主机,必须使SSEL0为高电平;而采用SSP作主机只和一个从机通信时,直接用SSEL1作从机片选即可。如果用户在程序中允许了回写模式,则MISO引脚可以不连接。
(www.daowen.com)
图4-14 采用SSP作主机控制74HC595驱动LED显示器的Proteus仿真电路
主程序文件main.c如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。