新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > spi四種模式io模擬時序

        spi四種模式io模擬時序

        作者: 時間:2012-08-06 來源:網絡 收藏
        #include "iom8535v.h"#define _CPOL     1#define _CPHA     0#define SCK_IO    DDRA|=0X01#define MOSI_IO   DDRA|=0X02#define MISO_IO   DDRA=0XFB#define SSEL_IO   DDRA|=0X08#define SCK_D(X)   (X?(PORTA|=0X01):(PORTA=0XFE))#define MOSI_D(X)  (X?(PORTA|=0X02):(PORTA=0XFD))#define SSEL_D(X)  (X?(PORTA|=0X08):(PORTA=0XF7))#define MISO_I()  (PINA0X04)  void delay(){unsigned char m,n;for(n=0;n5;n++);for(m=0;m100;m++);}/************************************************端口方向配置  與輸出初始化************************************************/void SPI_Init(void){SCK_IO   ; MOSI_IO  ;MISO_IO  ; SSEL_IO  ;SSEL_D(1);MOSI_D(1);#if _CPOL==0SCK_D(0);#elseSCK_D(1);#endif}/**********************************************模式零           寫數據***********************************************/#if _CPOL==0_CPHA==0          //MODE   0  0   void SPI_Send_Dat(unsigned char dat){unsigned char n;for(n=0;n8;n++){SCK_D(0);if(dat0x80)MOSI_D(1);else MOSI_D(0);dat=1;SCK_D(1);}SCK_D(0);}/*********************************************模式零         讀數據*********************************************/unsigned char SPI_Receiver_Dat(void){unsigned char n ,dat,bit_t;for(n=0;n8;n++){SCK_D(0);dat=1;if(MISO_I())dat|=0x01;else dat=0xfe;SCK_D(1);}SCK_D(0);return dat;}#endif/**********************************************模式二           寫數據***********************************************/#if _CPOL==1_CPHA==0           //MODE   1  0void SPI_Send_Dat(unsigned char dat){unsigned char n;for(n=0;n8;n++){SCK_D(1);if(dat0x80)MOSI_D(1);else MOSI_D(0);dat=1;SCK_D(0);}SCK_D(1);}/*********************************************模式二          讀數據*********************************************/unsigned char SPI_Receiver_Dat(void){unsigned char n ,dat,bit_t;for(n=0;n8;n++){SCK_D(1);dat=1;if(MISO_I())dat|=0x01;else dat=0xfe;SCK_D(0);}SCK_D(1);return dat;} 
        				
                    
                        
        			
        								

        51單片機相關文章:51單片機教程



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 泸溪县| 南京市| 大悟县| 海伦市| 连云港市| 浮山县| 夏河县| 新干县| 贵南县| 唐河县| 思南县| 张家口市| 新丰县| 鲁甸县| 泾阳县| 阜宁县| 怀远县| 镇江市| 泽州县| 华池县| 图木舒克市| 阿拉善左旗| 湖口县| 盐山县| 凤翔县| 临朐县| 武乡县| 麻栗坡县| 洛阳市| 定兴县| 衡阳市| 石河子市| 贵港市| 伊宁市| 乐安县| 通渭县| 巴彦淖尔市| 鹤壁市| 罗定市| 眉山市| 灵寿县|