stc单片机串口数据识别代码

本文介绍了一种使用STC单片机通过串口通信接收数据的方法,结合74HC595芯片在定时器中操作。代码包括main.c、datatrans.c、timer0.c、595using.c、uart.c和public.h等文件。接收到的数据需经过验证,仅0123456789#*被视为有效,每次发送8位,且必须以✳开头,#结尾的数据组合才被视为正确。当接收到这样的组合时,单片机会回传前两位和后四位的组合给上位机。
摘要由CSDN通过智能技术生成

stc单片机串口数据识别代码

同时在定时器中使用74hc595芯片

main.c

#include <public.h>
bit busy;
u8 flag;
u8 Rec;
u16 front2,back4;
void Interruptset()
{
   
	//定时器1给串口做波特率发生器
	//定时器0负责处理串口收到的数据
	AUXR = 0xC0;
	SCON = 0x50;
	TL1 = 0xB4;
	TH1 = 0xFF;
	//	晶振频率35.00mhz
	//	波特率115200
	TL0 = 0x48;
	TH0 = 0x77;
	ET1 = TF0 = 0;
	TR1 = TR0 = ET0 = EA = 1;	
}
void main()
{
   
	
	P3M0 = P3M1 = P5M0 = P5M1  = 0x00;
    Interruptset();
    ES = 1;
    SendString("Uart Test !\r\n");

    while (1)
    {
   
		if(flag==1)
		{
   
			SendString("前两位为:");
			SendData(front2/10+0x30);
			SendData(front2%10+0x30);
			SendString(",后四位为:");
			SendData(back4/1000+0x30);
			SendData(back4/100%10+0x30);
			SendData(back4/10%10+0x30);
			SendData(back4%10+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值