新闻中心

EEPW首页>嵌入式系统>设计应用> MSP430F449的数字电位器分压功能设计

MSP430F449的数字电位器分压功能设计

作者: 时间:2012-05-04 来源:网络 收藏

3 MSP430软件模拟SPI串口的实现
本文采用单片机的I/O口模拟SPI通信,选用SCK下降沿输出、上升沿输入的SPI三线接口类型。定义单片机的P3.4端口为输出MOSI,P3.5端口为时钟信号SCK,P3.7端口为片选输入CS,P4.0端口为输入MISO。在P3.5下降沿时,输出数据data的高位,然后把P3.5的电压拉高,data中的数据依次右移1位,再将P3.5的电平拉低,再次输出data的高位,实际这时输出的是原来data中的次高位,data如此重复有移8次就完成了1个宁符的输出。实现该的代码如下:
g.JPG
f.JPG
同理,把P3.5的输出电平拉高,制造时钟的上升沿,检测输入引脚P4.0的电平,将其记入data中,再将P3.5的输出电平拉低,这时就接收好1个字符位了,然后将data接收到的字符位右移1位,准备继续接收字符下一位,如此重复8次后就收到1个完整的字符,代码如下:
h.JPG
如果是选用SCK下降沿输入、上升滑输出的SPI接口类型,只需要把上面接收和发送程序中SCK的上升沿和下降沿交换即可满足时序要求。模拟串口通信的代码简单,灵活性强,可以在具体的SPI读写程序中实现其硬件接口的。1个SPI的时钟周期就是执行上述模拟串口指令所需要的时间,因此其串口速率主要由系统时钟来决定,提高系统时钟频率能够进一步提高SPI串口的传输速率。

4 MSP430模拟SPI驱动实例
图5为芯片与单片机连接的引脚连接图。片选CS在低电平时有效。按照时序图和引脚连接图,首先需要定义的I/O端口,P3.4为MOSI,P3.5为SCK,P3.7为CS,P4.0为MISO。

本文引用地址://m.amcfsurvey.com/article/171507.htm

i.JPG


由于使用MSP430F449的I/O模拟串口通信,没有使用中断函数,只需要调用一个子函数就能实现其,因此在操作上相比硬件而言更加简单。下面给出了写数据命令和递增命令的子函数。
j.JPG



评论


相关推荐

技术专区

关闭