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

📄 myproj.c

📁 暑假为学生培训写的51相关接口的所有源码及项目代码
💻 C
字号:
#include <REG52.h>
#include <string.h>
#include <stdio.h>
#include <myProj.h>
Packet  pT;
RecvBuf rB;
void main()
{
    memset(&pT,0x00,MAX_DATA_LENGTH+5);
    memset(&rB,0x00,MAX_DATA_LENGTH+1);
    pT.head=0x02;
    pT.length=0x0b;
    pT.cmd=0x44;
    pT.end=0x03;
    sprintf(pT.sData,"%s","080327");
    pT.crc=0x056;
    init();
    while(1)
    {
       Sleep(10000);
    }
}
void serial(void) interrupt 4//定义串行口中断处理子程序
{
    ES=0;
    while(RI)
    {
        rB.sData[rB.iCnt]=SBUF;
        rB.iCnt++;
        RI=0;
    }
    if(Judge(&rB))
    {
        memset(&rB,0x00,MAX_DATA_LENGTH+1);
        SendD((uchar*)&pT,pT.length);
    }
    ES=1;
}
bit Judge(RB addrBuf)
{
    if(addrBuf->sData[0]==0x02&&addrBuf->sData[addrBuf->sData[1]-1]==0x03)
        return 1;
    else
        return 0;
}
void init()//完成51初始化工作
{
    TMOD=0x20;//初始化51
	TH1=0xfd;
	TL1=0x0Fd;
	TR1=1;
	SCON=0x50;
	PCON=0x00;
	EA=1;
    ES=1;   
}
void SendD(uchar *addrBuf,uchar cnt)
{
    int i=0;
    T0=0;
    while(++i<=cnt)
    {
        SBUF=addrBuf[i-1]; 
        while(!TI);
        TI=0;
    }			
}
void Sleep(uint ms)//定义延时子程序
{
    int i,j;
    for(i=0;i<ms;i++)
        for(j=0;j<10;j++);
}

⌨️ 快捷键说明

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