您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机单片机双机异步通信通用应用程序 正文
单片机双机异步通信通用应用程序

单片机双机异步通信通用应用程序

点击数:7698 次   录入时间:03-04 12:01:58   整理:http://www.55dianzi.com   PIC单片机
{
    RA5=0;                    /*准备锁存*/
    for(k=0;k<8;k++){
        data=rece[k];
        data=table[data];        /*查得显示的段码*/
        SPILED(data);        /*发送显示段码*/
    }
    RA5=1;                    /*最后给一个锁存信号,代表显示任务完成*/     
}
/*主程序*/
main()
{
    SPIINIT();                /*spi显示初始化*/
    sciint();                    /*SCI部件初始化*/
    di();                    /*中断禁止*/
    CREN=1;                /*接收允许*/
    TXEN=1;                /*发送允许*/
for(k=0;k<8;k++){
while(1){
            if(RCIF==1)    break;
}                    /*等待接收数据*/
        rece[k]=RCREG;        /*读取接收数据,同时清掉RCIF*/
        TXREG=rece[k];        /*发送接收到的数据*/
while(1){
            if(TXIF==1)    break;
}                    /*等待写入完成*/
}
    display();                /*显示接收的数据*/
while(1){
        ;
    }
}
8.6   单片机 双机同步通信
1   单片机 PIC1编程(主控发送)
#include    <pic.h>
/*该程序实现 单片机 双机同步通信功能,是主控发送部分。程序上电后显示
*相应的字符,表示系统正常工作。发送完毕后显示发送的数据*/
unsigned        char        tran[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()
{
;详细程序语句请参考本章8.5节
}
/*给发送数组赋初值子程序 */
void        fuzhi()
{
    for(k=0;k<8;k++){
        tran[k]=k;
    }                    /*发送0~7八个数据*/
}
/*SCI部件初始化子程序*/
void        sciint()
{
    SPBRG=200 ;        /*将传输的波特率设为约9600位/秒*/
    TXSTA=0X90;        /*选择主控方式*/
    RCSTA=0X80;        /*允许同步串行口工作*/
    TRISC6=1;
    TRISC7=1;            /*将RC6、RC7设置为输入方式,对外部呈高阻状态*/
}    
/*SPI传送数据子程序*/
void      SPILED(data)
{
    ;详细程序语句请参考本章8.5节
}
/*显示子程序,显示8位数*/
void        display()
{
    RA5=0;                /*准备锁存*/
    for(k=0;k<8;k++){
        data=tran[k];
        data=table[data];    /*查得显示的段码*/
        SPILED(data);    /*发送显示段码*/
    }
    RA5=1;                /*最后给一个锁存信号,代表显示任务完成*/     
}
/*显示子程序,显示8位数*/
void        display1()
{
    RA5=0;                /*准备锁存*/
    for(k=0;k<8;k++){
        data=0xf9;        /*显示"1"表示系统正常工作*/
        SPILED(data);    /*发送显示段码*/
    }
    RA5=1;                /*最后给一个锁存信号,代表显示任务完成*/     
}
/*主程序*/
main()
{
    SPIINIT();                /*spi显示初始化*/
    fuzhi();                    /*给发送数组赋发送初值*/
    sciint();                    /*SCI部件初始化*/
    di();                    /*中断禁止*/
    TXEN=1;                /*发送允许*/
    display1();                /*显示相应的字符,表示系统正常*/
while(1){
for(k=0;k<8;k++){    
            TXREG=tran[k];/*发出一个字符*/

上一页  [1] [2] [3] [4]  下一页


本文关键字:单片机  通用  通信  应用程序  PIC单片机单片机-工控设备 - PIC单片机

上一篇:单片机秒表程序