• mcs51 串口收发


    源码:

    /*  11.0592MHz,  波特率1200  */

    #include<reg51.h>
    #include<stdio.h>//头文件
    typedef unsigned int uint;
    /*********************************************************
    // delay(255); //当参数为char时时间为0.55881ms 参数
    //为整形时时间为2.22005ms,基本上相当于4倍
    // delay(100); //0.22244ms 0.87457ms
    // delay(200); //0.43945ms
    // delay(1); //3.26us
    ********************************************************
    */
    void delay(uint n)
    {
    while(--n);
    }

    void delay1()
    {
    uint a = 0x50;
    while(--a)
    delay(255);
    }


    void main(void)//主程序
    {
    P1=0xFF;
    SCON=0x50;//串口方式1,允许接收
    TMOD=0x20;//定时器1,定时方式2
    TCON=0x40;//设定时器1开始计数
    TH1=0xE8;//11.0592MHz, 1200波特率
    TL1=0xE8;
    IE = 0x90;
    TI=1;
    TR1=1;

    while(1)
    {
    delay1();
    printf("Hello ni hao!");
    }
    /* 串口接收中断函数 */
    }

    void serial () interrupt 4 using 3
    {
    if (RI)
    {
    RI = 0;
    if(P1==0xFF)
    P1=0x00;
    else
    {
    P1=0xFF;
    }
    }



    }



  • 相关阅读:
    第十周阅读内容
    第十周学习小结
    第九周阅读内容
    第九周学习小结
    第八周学习小结
    ..总结
    .总结
    总结.
    周总结
    总结
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2325837.html
Copyright © 2020-2023  润新知