STC12C5A60S2的单主单从模式SPI通讯测试.pdf

STC12C5A60S2的单主单从模式SPI通讯测试.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STC12C5A60S2的单主单从模式SPI通讯测试

STC12C5A60S2 的单主单从模式 SPI 通讯 测试 测试方法:通过PC 机给主机(左)发送数据,主机通过 SPI 接口将数据传给从机(右), 并将数据显示在P2 口上。 主机程序如下 //**********主机程序*****************// #includeSTC12C5A.h /****************子函数完*********************/ void Init_SPI() { SPCTL=0XFD; //忽略SS,设置为主机模式 SPSTAT=0XC0; //清除状态寄存器 SPDAT=0; //初始化数据寄存器 } void SPI_SendByte(unsigned char SPI_SendData) { SPDAT=SPI_SendData; while((SPSTAT0x80==0)); SPSTAT=0XC0; } /***************串口波特率设置***************/ void uartinitial(long fosc,long uartf)//参数为晶振频率和波特率 { AUXR|=0x04; //独立波特率发生器工作在1T模式 SCON=0x50; //设置串口工作方式 AUXR|=0x01; //选择独立波特率发生器作为串口1的波特率 BRT=256-fosc/(16*uartf);//设置独立波特率发生器的溢出率 PCON=0x80; //波特率加倍 AUXR|=0x10; //独立波特率发生器开始工作 EA=1; //总中断打开 ES=1; // 串口接收中断打开 } /****************子函数完*********************/ void main() { Init_SPI(); uartinitial115200) ; while(1) { ; } } /*****************串口中断处理函数********************/ void UART() interrupt 4 { if(RI==1) { SPI_SendByte(SBUF); RI=0; } else { TI=0; } } 从机程序如下: #includeSTC12C5A.h unsigned char SPI_Buffer=0xff; { /**************SPI从机模式初始化***********************/ void Init_SPI() { SPCTL=0XED;//忽略SS,设置为从机模式 SPSTAT=0XC0; //清除状态寄存器 SPDAT=0; //初始化数据寄存器 IE2=0X02; //打开SPI中断 EA=1; } void main() { Init_SPI(); while(1) { ; } } void SPI_Rec() interrupt 9 { SPI_Buffer=SPDAT; P2=SPI_Buffer; //接收结果在P0口上显示 SPSTAT=0XC0; //清除标志位 }

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档