MC9S12单片机原理及嵌入式应用开发技术 作者 陈万忠 第6章 串行口.pptVIP

MC9S12单片机原理及嵌入式应用开发技术 作者 陈万忠 第6章 串行口.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.软件编程 (1)SCI查询方式发送数据 (2)SCI查询接收 (3)SCI查询方式自发自收 (4)中断方式发送 (5)中断方式接收 2.SPI波特率设置寄存器 表6-2 预分频因子参数 表6-3 分频因子参数 3.SPI状态寄存器 图6-15 SPI状态寄存器 4.SPI数据寄存器 图6-16 SPI高位数据寄存器 图6-17 SPI低位数据寄存器 6.2.3 SPI应用范例 1.硬件连接 2.软件编程 1.硬件连接 图6-18 SPI用于LED静态显示的电路 2.软件编程 /* 实验内容:用SPI接口扩展数码管显示。 实验原理:SPI作为串行外设接口,有4个外部引脚,分别为 SS(从机选择引脚)、 SPSCK(SPI串行时钟引脚)、MOSI和MISO;利用SPI进行数据传输时, 有主机和从机之分,主机的程序控制着数据的传输,从机的程序必须配 合主机的工作,本实验内容是主出从入方式,数据送到移位寄存器164 中,数据串入并出,点亮数码管。*/ // 实验接线:  按图6-18接线。 // 实验现象: 显示0~F十六个数字(对应的选通位接地)。 // 实验说明: 此程序稍加改造,控制每次送出的数据个数,可以将来在产品中做成 // 静态的串行显示方式,不用再做动态扫描显示。 #include hidef.h #include ″derivative.h″ const unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; int a;             //0~F的字形码 /*           SPI初始化              */ void SPI_int(void)       // SPI初始化 {    SPI0CR1=0x5e;     //中断禁止,主机模式,时钟空闲为高,先发最高位 } /* 端口初始化           */ void PORT_init() { // DDRB=0xff;  DDRS=0xff;     //选择S口的接口 // DDRT=0xff; }    延时函数                */ /*************************************************************/ void delay(int z) {     int x,y; for(z;z0;z--)   for(x=110;x0;x--)   for(y=25;y0;y--); } SPI写一个字节 void send_data(word data)  //写一个字节 {   SPI0DR=data;      //将数据写入移位寄存器 while(!(SPI0SR0x20)); //等数据发完, 查SPI0SR_SPTEF位 }   主函数                 */ /**********************/ void main(void) { a=0; PORT_init(); SPI_int(); EnableInterrupts; for(;;) {   // a++;if(a==16)a=0;   send_data(table[a]);   //发送a的值 a++;if(a==16)a=0; delay(500); //延时1s左右 } } 6.3 SCI模块 6.3.1 SCI模块的结构及功能 6.3.2 SCI模块寄存器 6.3.3 SCI应用范例 6.3.1 SCI模块的结构及功能 1.SCI模块 2.SCI数据传输 1.SCI模块 (1)SCI系统功能 (2)发送和接收功能 (1)SCI系统功能 1)全双工或单线运行。 2)标准标记/空间非返回到零(NRZ)格式。 3)可选的IrDA 1.4回归到零倒置(RZI)格式,可编程脉冲宽度。 4)13位的

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档