8 串行通信接口SCI.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串行通信接口;1.单工方式:通信双方一方只能发送,另一方只能接收,传送方向是单一的。 2.半双工方式:通信双方只有一根传输线(共地)(一个信道),但同一时刻只能其中一方发送,另一方接收。 3.全双工方式:需要通信双方连接两条传输线(共地)(两个信道),一条是将数据从甲方送往乙方,另一条是从乙方送往甲方。允许双向同时发送。;RS-232C串行通信标准接口;MC1488总线发送器 MC1489总线接收器 TTL与232电平转换 ;RS-485与RS-232的主要区别是采用差分传输方式以提高通信距离和可靠性,发送端使用2根双绞信号线发送同一信号,但极性相反,接收端从两根线的电压信号相减得到实际信号,可以有效减小共模干扰,提高通信距离达送1200 m 。;引脚;SCI的外围硬件电路;SCI的基本编程原理;GP32 SCI寄存器 ;(1) SCI波特率寄存器SCBR $0019;波特率的计算;(2) SCI控制寄存器SCC1 $0013 ;(3) SCI控制寄存器SCC2 $0014 ;(4) SCI控制寄存器SCC3 $0015 ;(5) SCI状态寄存器SCS1 $0016 ;(6) SCI状态寄存器SCS2 $0017 ;(7) SCI数据寄存器SCDR $0018;(1)SCI初始化 对SCI进行初始化,最少由以下三步构成: 第一步:定义波特率。 SCBR=0;总线频率fBUS=2.4576MHz,波特率Bt=9600 第二步:写控制字到SCI控制寄存器1(SCC1)。 SCC1=0设置允许SCI,正常码输出、8位数据、无校验 第三步:写控制字到SCI控制寄存器2(SCC2)。 SCC2=0;设置允许发送、允许接收,查询方式收发;//功能:初始化串口 // 允许SCI,正常码输出,8位数据,无校验,允许发送和接收,查询// 方式收发,波特率为9600(设fBUS=2.4576MHz) void SCIinit(void) { //1.总线频率fBUS = 2.4576MHz,定义波特率Bt = 9600 SCBR = 0 //2.设置允许SCI,正常码输出,8位数据,无校验 SCC1 = 0 //3.设置允许发送,允许接收,查询方式收发 SCC2 = 0 };发送一字节数据;//SCIsend1:串行发送1个字节 //功能:串行发送1个字节 //参数:要发送的数据 void SCIsend1(unsigned char outdata) { //判断SCS1的第7位是否为1,是1可以发送 while ((SCS1 0x80) != 0x80); SCDR= outdata; }?;接收一个字节数据;//功能:从串行口接收1个字节??数据 //参数:标志指针p //返回:接收到的数据 //说明:参数*p带回接收标志.*p = 0,收到数据;*p = 1,未收到数据 unsigned char SCIre1(unsigned char *p) { unsigned int k; unsigned char i; for(k=0; k 0xfbbb; k++) if ((SCS1 (15)) != 0) { i = ReSendDataR; *p=0; break; } if (k = 0xfbbb) //接受失败 { i = 0xff; *p = 0x01; } return i; } ;void SCIsendN(unsigned char n, unsigned char ch[]) { int i; for(i=0; in; i++) SCIsend1(ch[i]); //发送1字节 };#include Includes.h //总头文件 #include SCI.h void main() { unsigned int i; unsigned char str[]=hello,world!; DisableMCUInt(); //禁止总中断 MCUInit(); //芯片初始化 SCIInit(

文档评论(0)

it + 关注
官方认证
内容提供者

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

认证主体阳春市夕秋图文设计有限公司
IP属地广东
统一社会信用代码/组织机构代码
91441781MA55YY8A1L

1亿VIP精品文档

相关文档