成人做爰黄A片免费视频网站野外,成人免费看片APP下载,成人做爰A片免费看黄冈白狐影院,成人做爰黄级A片免费看土方,成人做爰A片AAA毛真人,成人做爰A片免费看网站性晶

技術熱線: 4007-888-234

軟件模擬SPI串口(匯編和PICC編寫)

更新時間: 2019-03-26
閱讀量:3378

軟件模擬SPI串口(匯編和PICC編寫)

pic低檔單片機中,多沒有SPI串口,在與外界串口器件通訊時帶來麻煩,下面給出軟件模擬SPI串口的程序:

匯編:

;*********************************************************** output movwf outdb clrf rxdata movlw 0x09 movwf i again decfsz i,1 goto dbtran return dbtran movlw 0x80 andwf outdb,0 btfsc STATUS,2 goto daout bsf PORTC,5 datan rlf outdb,1 movlw 0x02 movwf T1 call delay bsf PORTC,3 btfss PORTC,4 goto datas bsf STATUS,0 datat rlf rxdata,1 movlw 0x02 movwf T1 call delay bcf PORTC,3 goto again daout bcf PORTC,5 goto datan datas bcf STATUS,0 goto datat ;************************************************************ delay decfsz T1,1 goto delay return ;***********************************************************

這是一個SPI串口調用子程序,其中outdb為發送數據,rxdata為接受來的數據,此程序在與外部EEPROM通訊中,經過檢驗沒問題。

piCC

unsigned char RW_SPI(unsigned char val){ unsigned char BitCounter; for (BitCounter=8;BitCounter!=0;BitCounter--){ CLK=0; //write DI=0; if(val&0x80) DI=1; val<<=1;

CLK=1; //read if(DO) val|=1;

} CLK=0; return val; }

此函數把SPI的讀寫功能集成在一塊,傳遞的val既是向SPI寫的數據,也是從SPI讀取的數據,只需要在執行讀或寫之前把MCUI/O腳設置成相應的輸出或輸入即可。(因為在大部分應用中,是把SPIDIDO相連并用MCU的一個IO口來讀寫)。

調用示例:

#define NULL 0

SETIO=OUTPUT; CS=0; RW_SPI(0xab); CS=1;

//SPI0xab數據。

CS=0; SETIO=INPUT;



欢迎光临: 常德市| 蓝田县| 开远市| 铁岭县| 新化县| 开封县| 八宿县| 肃宁县| 南康市| 清镇市| 曲麻莱县| 青冈县| 正阳县| 南雄市| 怀集县| 临颍县| 临武县| 沂水县| 高要市| 美姑县| 永安市| 鹰潭市| 太原市| 河北省| 庆安县| 尼勒克县| 泽普县| 北流市| 衢州市| 海盐县| 玉龙| 深水埗区| 黔西| 巴东县| 宝丰县| 营山县| 大田县| 大同市| 平南县| 海林市| 化隆|