⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 w77e58.txt

📁 W77E58双串口测试,大家看看是不是能用吗
💻 TXT
字号:
#include" w77c32.h"
static int flag_1,flag_0;
char c1[]="hello china";
char c2[]="hello World";
main()
{ 
     int i;
     flag_1=1;
     flag_0=1;
     //system init ,其中串口0用定时器2,串口1用定时器1 
     
     //串口1的设置
     IE=0x90;      //允许总中断和串口0的中断
     TMOD=0x20;      //定时器1工作在模式1
     TL1=0xf4;      //baud rate=2400
     TH1=0xf4;
     SCON1=0x58;   //工作在模式1,允许接收
     PCON=0x00; // SM0=0 SM1=1 在10位异步收发模式 SMOD=0 溢出速率/32 
     ES1=1;    //串口1中断允许
     
     SCON=0x58;      //工作在模式1,接收允许
     T2CON=0x30;  //用定时器2做串口0的波特率发生器
     RCAP2H=0xff;   // 11.0592M晶振下,baud rate=2400 
     RCAP2L=0x70;

     TR2=1;
     TR1=1;
     while(1)
     {
        if(flag_0) {TI=1;flag_0=0;}
    for(i=0;i<1000;i++)
        ;
    if(flag_1) {TI_1=1;flag_1=0;}
    for(i=0;i<1000;i++)
        ;
     }
}
  void serial_0(void)interrupt 4
{
    int i;
    if(RI)
    {
        flag_0=1;
        RI=0;    
    }
    if(TI)
    {
        for(i=0;i<10;i++)
        {
            TI=0;
            SBUF=c1[i];
            while(TI==0) ;
            TI=0;
        }
    }
}             

void serial_1(void)interrupt 7 
{    
    int i;
    if(RI_1)
    {
        flag_1=1;
        RI_1=0;
    }
    if(TI_1)
    {
        for(i=0;i<10;i++)
        {
            TI_1=0;
            SBUF1=c2[i];
            while(TI_1==0) ;
            TI_1=0;
        }        
    }
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -