各位老师帮我看看这个程序的不足。多谢了。

2019-07-15 21:11发布

各位老师帮我看看这个程序的不足。多谢了。
#include<reg52.h>
#define uchar unsigned char
uchar *p="I love you",flag;
void serial_init()
{
    SCON=0x50;
    PCON=0x00;
    TMOD|=0x20;
    TH1=0xFD;
    TL1=0xFD;
    TR1=1;
    EA=1;
    ES=1;
}
void serial_send(uchar a)
{
    if(flag==1)
    {    flag=0;
        ES=0;
        SBUF=a;
        while(!T1);
        T1=0;
        ES=1;
    }
}
void main()
{   
    serial_init();
    while(1);
}
void serial_tx() interrupt 4
{
    while(*p++!='')
    {
    RI=0;
    flag=1;
    serial_send(SBUF);
    }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
dongyumin
2019-07-16 11:42
1、自定义数据类型名最好用 typedef 不要用#define预处理命令。具体差别可以百度下。
2、函数名最好开头单词大写。比如void Serial_Init(void)。定义函数的时候缩进分开层次,这个你已经做到了。函数定义的前面,注释上功能,调用形式,传递参数以及说明等等。
3.赋值语句,赋值“=”号两边加空格。比如:a = 0;之后调试的时候易发现错误。
4、定义并初始化一个字符串。最好弄个数组。Array[]={"i LOVE YOU"}.51单片机的话在在定义的时候加上修饰关键字"code"告诉编译器,这个数组数据是不易修改数据,保存在代码区。
5、指针和变量不要一起定义。分开定义。
个人意见,仅供参考。

一周热门 更多>