ADμC812的串行外设接口(SPI)及其应用
,#20H ;送SPI控制字
《ADμC812的串行外设接口(SPI)及其应用(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/151484.html
CLR P1.5 ;设置为数字输入
JB P3.1$ ;判断P3.1是否为低
CLR P3.2 ;产生INT0中断
CLALL DELAY ;等待数据传送完毕
MOV A,SPIDAT ;读取数据
通过以上程序可以实现从主机向从机中发送数据的操作。在某些情况下,从微控制器所完成的功能较少,如果采用ADμC812会产生资源和经济的浪费,为此可以采用MCS-51系列的微控制器作为从机。这样不仅实现了必要的功能又节约了资源。由于MCS-51没有SPI串口,所以采用MCS-51作为从机需要模拟SPI的工作模式来完成数据的传送。下面给出模拟SPI接收数据的电路连接图(见图5)和相关程序。
ADμC812作为主机的程序与前面相同。8051模拟SPI串口接收数据程序如下:
ORG 0013H
INT0:MOV R0,#8 ;移位计数值
INT0':JB P3.4,INT0 ;输入时钟位高电平时等待
MOV C,P3.3 ;输入时钟下降沿接收数据
RLC A ;将数据存入A中
DJNZ R0,INT0' ;8位是否传送完
SETB P3. ;8位数据接收完毕,关中断
MOV @R1,#DATA ;将接收数据存到内部RAM
INC R1 ;指向下一个内部RAM单元
CJNE R1,#00H,REC
MOV R1,#80H
RETI
……
SETB EA
SETB EX0
MOV R1,#80H ;内部存储器80H~FFH单元存储接收的数据
……
总结
通过对SPI串口原理的介绍,SPI串行接口可以在短距离内进行主机与从机的数据传送,并且具有多种可调的传输方式、连接电路简单、使用方便等优点。为实现主机和从机及从外围设备的通信提供了一种简单、易行的方案。
《ADμC812的串行外设接口(SPI)及其应用(第4页)》