📄 1main.c
字号:
#include "reg52.h"
#define uchar unsigned char
#define unit unsigned int
uchar Data[11];
uchar number,flag;
sfr WDT=0XE1;
sbit LED=P1^7;
sbit LED1=P1^6;
sbit LED2=P1^5;
/*********MCU初始化**************/
void MCU_Init(void)
{
TMOD = 0x21;
TH1 = 250;
TL1 = 250;
SCON = 0x50;
PCON = 0x80;
EA = 1;
ES = 1;
TR1=1;
}
/***********串口发送一个字节****************/
void send(uchar S_Data)
{
SBUF = S_Data;
while(TI == 0);
TI =0;
}
/*************接收中断********************/
void Serial() interrupt 4 using 2
{
if(RI == 1)
{
LED2=0;
Data[number++]= SBUF;
RI = 0;
flag++;
}
}
/************生成校验码子程序***********/
void XiaoYan(uchar *a)
{
uchar i, all=0;
for(i=0;i<10;i++)
all=all+a[i];
all=~all;
all=all-1;
a[i]=all;
}
/****************串口发送子程序****************/
void sends(uchar *b )
{
uchar count,i;
count=11;
LED1=0;
for(i=0;i<count;i++)
send(b[i]);
}
/**************主程序***********************/
void main(void)
{
unsigned ld=0;
//LED1=0;
//LED2=0;
MCU_Init();
while(1)
{
LED1=1;
LED2=1;
WDT=0X34;
ld++;
if(ld>3000)
{
ld=0;
LED=!LED;
}
if(flag==10)
{
flag=0;
number=0;
XiaoYan(Data);
sends(Data);
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -