新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > PIC單片機雙機異步通信程序

        PIC單片機雙機異步通信程序

        作者: 時間:2012-10-29 來源:網絡 收藏

        2 2編程(接收部分)

        #include

        /*該實現功能,該是接收部分,并把接收的數據顯示在8*個LED上*/

        unsigned char rece[8];/*定義一個數組存儲接收數據*/

        unsigned char k,data;/*定義通用寄存器*/

        const char table[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,

        0XD8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x7f,0xbf,0x89,0xff};

        /*不帶小數點的顯示段碼表*/

        /*spi顯示初始化子*/

        void SPIINIT()

        {

        ;詳細語句見發送程序

        }

        /*SCI部件初始化子程序*/

        void sciint()

        {

        SPBRG=0X19; /*波特率設置與1相同,為約9 600位/秒*/

        TXSTA=0X04; /*高速傳輸*/

        RCSTA=0X80; /*串行口工作使能*/

        TRISC6=1;

        TRISC7=1; /*將RC6、RC7設置為輸入方式,對外部呈高阻狀態*/

        }

        /*SPI傳送數據子程序*/

        void SPILED(data)

        {

        ;詳細語句與見發送程序

        }

        /*顯示子程序,顯示4位數*/

        void display()

        {

        RA5=0; /*準備鎖存*/

        for(k=0;k8;k ){

        data=rece[k];

        data=table[data]; /*查得顯示的段碼*/

        SPILED(data); /*發送顯示段碼*/

        }

        RA5=1; /*最后給一個鎖存信號,代表顯示任務完成*/

        }

        /*主程序*/

        main()

        {

        SPIINIT(); /*spi顯示初始化*/

        sciint(); /*SCI部件初始化*/

        di(); /*中斷禁止*/

        CREN=1; /*接收允許*/

        TXEN=1; /*發送允許*/

        for(k=0;k8;k ){

        while(1){

        if(RCIF==1) break;

        } /*等待接收數據*/

        rece[k]=RCREG; /*讀取接收數據,同時清掉RCIF*/

        TXREG=rece[k]; /*發送接收到的數據*/

        while(1){

        if(TXIF==1) break;

        } /*等待寫入完成*/

        }

        display(); /*顯示接收的數據*/

        while(1){

        ;

        }

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


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


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        數字通信相關文章:數字通信原理


        通信相關文章:通信原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 彰化县| 吉木萨尔县| 喀什市| 宜春市| 辽阳县| 天等县| 武邑县| 德格县| 灵寿县| 周宁县| 庆云县| 青神县| 泾川县| 任丘市| 塘沽区| 高台县| 大关县| 宁武县| 犍为县| 永新县| 汶上县| 玉田县| 清远市| 舒城县| 黄龙县| 扎鲁特旗| 岳普湖县| 惠水县| 通榆县| 尉氏县| 刚察县| 阿鲁科尔沁旗| 汉沽区| 绥棱县| 宁远县| 麻江县| 蓬溪县| 夏河县| 尼勒克县| 谢通门县| 南涧|