MSP430F449的數(shù)字電位器分壓功能設(shè)計(jì)
3 MSP430軟件模擬SPI串口的實(shí)現(xiàn)
本文采用MSP430F449單片機(jī)的I/O口模擬SPI通信,選用SCK下降沿輸出、上升沿輸入的SPI三線接口類型。定義單片機(jī)MSP430F449的P3.4端口為輸出MOSI,P3.5端口為時鐘信號SCK,P3.7端口為片選輸入CS,P4.0端口為輸入MISO。在P3.5下降沿時,輸出數(shù)據(jù)data的高位,然后把P3.5的電壓拉高,data中的數(shù)據(jù)依次右移1位,再將P3.5的電平拉低,再次輸出data的高位,實(shí)際這時輸出的是原來data中的次高位,data如此重復(fù)有移8次就完成了1個寧符的輸出。實(shí)現(xiàn)該功能的代碼如下:
同理,把P3.5的輸出電平拉高,制造時鐘的上升沿,檢測輸入引腳P4.0的電平,將其記入data中,再將P3.5的輸出電平拉低,這時就接收好1個字符位了,然后將data接收到的字符位右移1位,準(zhǔn)備繼續(xù)接收字符下一位,如此重復(fù)8次后就收到1個完整的字符,代碼如下:
如果是選用SCK下降沿輸入、上升滑輸出的SPI接口類型,只需要把上面接收和發(fā)送程序中SCK的上升沿和下降沿交換即可滿足時序要求。模擬串口通信的代碼簡單,靈活性強(qiáng),可以在具體的SPI讀寫程序中實(shí)現(xiàn)其硬件接口的功能。1個SPI的時鐘周期就是執(zhí)行上述模擬串口指令所需要的時間,因此其串口速率主要由系統(tǒng)時鐘來決定,提高系統(tǒng)時鐘頻率能夠進(jìn)一步提高SPI串口的傳輸速率。
4 MSP430模擬SPI驅(qū)動數(shù)字電位器實(shí)例
圖5為芯片與單片機(jī)連接的引腳連接圖。片選CS在低電平時有效。按照時序圖和引腳連接圖,首先需要定義MSP430F449的I/O端口,P3.4為MOSI,P3.5為SCK,P3.7為CS,P4.0為MISO。本文引用地址:http://butianyuan.cn/article/171507.htm
由于使用MSP430F449的I/O模擬串口通信,沒有使用中斷函數(shù),只需要調(diào)用一個子函數(shù)就能實(shí)現(xiàn)其功能,因此在操作上相比硬件而言更加簡單。下面給出了寫數(shù)據(jù)命令和遞增命令的子函數(shù)。
評論