📄 to_pc.c
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar rebyte=0;
idata uchar chint; //通信定义
bit flag_232C;
bit flag_COM;
bit cf;//校验标志位
bdata ab;
sbit abit0=ab^0;sbit abit1=ab^1;sbit abit2=ab^2;sbit abit3=ab^3;
sbit abit4=ab^4;sbit abit5=ab^5;sbit abit6=ab^6;sbit abit7=ab^7;
/*---------------------------------------------------------*/
/*----------------------------------------------------*/
void initial(void) //~~系统初始化
{
TMOD=0X20;
SCON=0x50;
TH1=0xf3;
SBUF=0;
TR1=1;
}
/*********************************************************/
void SCON_int(void) interrupt 4 using 3 //串行口中断
{
//uchar status;
if(RI){
chint=SBUF;
flag_232C=1;
RI=0;
}
if(TI)TI=0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void save_buff(uchar *buff,uint n1) //~~存储接收的数据
{
data char *p;
data uint base,n;
p=buff;
n=n1; //ip=*(p+14); //ip1;
base=0x20+((n-1)<<4);
//write_nbyte24(base,p); //,16);
//write_abyte24(base+14,ip);
//write_abyte24(base+15,0x55);
}
/*---------------------------------------*/
void tra_buff(char da) //~~传送数据
{
ACC=da;
cf=P;
//取校验位 偶校验
//abit7=P; 7位数据
// cf=~cf;
ab=da;
abit7=cf;
SBUF=ab;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~```
void delay10(uchar j) /* time=j*10+7 延时*/
{
uchar ch;
while(j--)
{
ch++; ch++;
}
/*
_nop_();
_nop_();};
*/
}
/*******************************************/
void main(void)
{
uchar td=0x58;
initial();
while(1)
{
loop:
tra_buff(td);
while(1)
{
if(TI==1)
{
TI=0;
goto loop;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -