网站大量收购独家精品文档,联系QQ:2885784924

各个功能模块.ppt

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

SCI数据寄存器-SCIDRH(L) R[7:0]:接收位 接收的数据位。 T[7:0]:发送位 发送的数据位。 注意,读写时跟C语言的读写操作是一样的。需要定义字节型变量。 注:如果T8 的值和前面发送的一样,T8 就不必重新写入。直到重新写入不同的值,T8才被更新。在8 位数据模式中,只有SCIDRL 需要访问。在9 位数据模式中,用8 位写指令操作时,要先写SCIDRH,后写SCIDRL。 SCI示例见课本相关章节 * 定时器中断使能寄存器-TIE CxI:1=第x个通道中断允许;0=第x个通道中断禁止。 本例设置C0I=1,把通道0的中断打开,这样能够使外部信号引发IC0中断,并进入相应的服务程序进行处理。 例二:输入捕捉 初始化好后,需要在main函数中调用初始化函数ic_init()。 以下是在main函数中,如何使用PORTA_BIT6来产生一个方波信号。 DDRA=0xff; //设置PORTA的方向寄存器,为输出 PORTA=0x00; //PORTA的输出初始化为低电平 DDRB=0xff; //PORTB设置为LED灯的控制信号 PORTB=0xff; //LED全灭 for(;;) { for(i=0;i6000;i++) { PORTA_BIT6=1;//循环中设置信号为高电平 } for(i=0;i6000;i++) { PORTA_BIT6=0; //循环中设置信号为低电平,产生方波 } } 例二:输入捕捉 方波信号已经成功得产生了,下面是中断服务程序: #pragma CODE_SEG NON_BANKED void interrupt 8 ic0_int(void) { TFLG1_C0F=1;//中断标志清除 ic4=TC0; //通过读TC0寄存器来响应中断,ic4为用户设置的变量 ic4=ic4-ic40;ic40=ic4; //得到脉冲宽度不需要考虑溢出 PORTB=0x55; //用LED灯来指示已经进入了中断 /*以下放置其他代码*/ } 例三:输出比较 这里讲一个输出比较例子,目的是通过OC0通道输出一个有一定宽度的脉冲。 OC0的初始化: void oc_init() { TSCR2 = 0x07;//128分频,定时器溢出中断禁止 TIOS = 0xff; //所有通道作为输出比较通道 TIE = 0x00; //中断全部禁止 TSCR1= 0x90; //主定时器使能 TCTL2=0xaa; //TC0低电平 CFORC=0xff; //强制输出比较 } 例三:输出比较 void main(void) { EnableInterrupts; oc_init(); //初始化函数调用 asm_main(); TCTL2_OM0=1; TCTL2_OL0=1; //OC0高电平 CFORC_FOC0=1; //OC0强制输出比较 TC0=TCNT+40000; //设置脉冲宽度,在自由计数器TCNT的基础上加上脉冲宽度的计数值 TCTL2_OM0=1; TCTL2_OL0=0; //OC0低电平 for(;;){/*其他代码*/} } 强制输出比较寄存器--CFORC FOCx—x通道强制输出比较 在相应的寄存器位写入强制输出比较命令,会立即使相应的通道处于输出比较状态。 定时器控制寄存器1/2—TCTL1/2 OMn:输出模式 OLn:输出等级 这8 对控制位是用来指定输出比较的输出动作的,当OMn 和OLn 二者任意一个为1 时,OCn 对应的端口会有相应的输出。 如果需要用OMn 和OLn 来控制相应定时器端口的输出,则OC7M 中的对应位必须清零。 5、同步外设接口SPI模块 串行通信的概念: 所谓串行通信是指外设和计算机间使用一根数据信号线一位一位地传输数据。 串行通信的优点: 通信线路少,在远距离通信时可以极大地降低成本,所以适合于远距离数据传送,也常用于速度要求不高的近距离数据传送。 5、同步外设接口SPI模块 常见串行通信: 异步串行通信SCI(通用异步收发UART) 同步串行外设接口SPI IIC(Inter-Integrated Circuit)总线 控制局域网CAN总线 USB PS/2 LIN(Local Interconnect Network)总线 同步和异步串行通信的区别 同步串行通信-使用时钟信号(SPI)。以数据块(帧)为传输单位;双方使用同一时钟(主控方提供时钟,被控方接收时钟);数据格式:每个数据块前加1~2个同步字符(同步头)进行帧同步,一般采用CRC循环冗余校验码;同步通信的数据传输效率和传输速率较高,但硬件电路比较

文档评论(0)

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

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

1亿VIP精品文档

相关文档