📄 serise.c
字号:
#include "reg51.h"
#include "string.h"
#include "intrins.h"
#include "display.h"
#define rdy 0x06
#define busy 0x15
#define ok 0x01
#define succ 0x0f
#define err 0xf0
unsigned char sentdata[11]={0xcc,0x3d,0x12,0x4e,0x3f,0x55,0x16,0x37,0x3a,0x29,0x00};
unsigned char re=0x00;
void init_serialcomm(void)
{
SCON = 0x50; //SCON: serail mode 1, 8-bit UART, enable ucvr
TMOD = 0x20; //TMOD: timer 1, mode 2, 8-bit reload
PCON = 0x80; //SMOD=1;
TH1 = 250; //Baud:9600 fosc=11.0592MHz
TL1 = 250; //Enable Serial Interrupt
TR1 = 1; // timer 1 run
EA=1;
ES=0;
TI=1;
}
void sent_char_com(unsigned char ch)
{
SBUF=ch;
while(!TI)
;
TI=0;
}
reciev_char_com(void)
{
while(!RI);
re=SBUF;
RI=0;
return re;
}
/*void send_string_com(unsigned char *str,unsigned int num)
{
unsigned int k=0;
for(k=0;k<num;k++)
sent_char_com(*(str + k));
}
*/
main()
{
int i,n;
unsigned char com=0x00;
init_serialcomm();//初始化串口
sentdata[10]=sentdata[0];
for(n=1;n<10;n++)
{sentdata[10]=sentdata[10]^sentdata[n];}
sent_char_com(rdy);
while(com!=ok)
{
com=reciev_char_com();
}
delayms(100);
do
{
for(i=0;i<11;i++)
{
sent_char_com(sentdata[i]);
delayms(100);
}
}while(reciev_char_com()==0xf0);
while(1)
counter(re);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -