赞助论坛
  • 2392阅读
  • 0回复

C51一般按这个顺序写 [复制链接]

楼层直达
级别: 中级会员
发帖
232
精华
0
金币
622
威望
3
贡献
1
好评
0
注册
2010-01-27
楼主    leiyutian 发表于: 2017-02-26 11:24:14 
[hide=1,rvrc]C51一般按这个顺序写,有就写,没有就省略。
仅做参考,代码无意义。

/*说明,版本,运行条件等*/

需要调用的头文件
#include <reg52.h>

宏定义

全局变量声明  
sbit beep=P2^3;//单片机的连接脚
uint temp;

子程序1
void delay(uint t)
{
for (;t>0;t--);
}

子程序2
void DS18B20_write(uchar dat)  
{  
     uchar i;  
     for(i = 8; i > 0; i--)  
     {  
         DQ = 0;  
         DQ = dat & 0x01;  
         DS18B20_Delayus(10);  
         DQ = 1;  
         dat >>= 1;  
     }  
}
主程序
void main()
{
    unsigned char j;
    cpla=0;

/**/
DS18B20_reset();

    while (1)
    {
        Delay();
        xian=TT;  
        dis[3]=tab2,
        dis[2]=tab1,dis[1]=tab2;  
        display();              //调用显示子程序  
    }
}
中断
void InitUart(void)
{
//115200bps@11.0592MHz
    PCON &= 0x7f;  //波特率不倍速
    SCON = 0x50;  //8位数据,可变波特率
    BRT = 0xFD;     //设定独立波特率发生器重装值
    AUXR |= 0x04;  //独立波特率发生器时钟为Fosc,即1T
    AUXR |= 0x01;  //串口1选择独立波特率发生器为波特率发生器
    AUXR |= 0x10;  //启动独立波特率发生器
//以上代码由TSC官方软件生成,可发送不可接收,加了如下三行代码可以接收了
    EA = 1;
    ES = 1;
    TR1 = 1;

}

[/hide]