蓝桥杯错误记录

今天在做 小蜜蜂的综合案例的时候,数码管显示,有重影。

python 复制代码
#include <STC15F2K60S2.H>
unsigned char num;
unsigned char code Duan[22]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,
0xc6,0xc0,0x86,0x8e,0xbf,0x7f,0XC1,0X8C,0XC8,0xc3};
void shumadong();
void suocun(unsigned char n)
{
	switch(n)
	{
		case 4:P2 = (P2 & 0x1f)|0x80;break;
		case 5:P2 = (P2 & 0x1f)|0xa0;break;
		case 6:P2 = (P2 & 0x1f)|0xc0;break;
		case 7:P2 = (P2 & 0x1f)|0xe0;break;
	}
}

void shuma(unsigned char wei ,unsigned char shu)
{
	suocun(6);
	P0=0x01<<wei;
	suocun(7);
	P0=Duan[shu];
}
void Delay(unsigned int t)
{
while(t--);
}
void Delay_shuma(unsigned int t)
{
	while(t--)
	{
			shumadong();
	}
}
void shumadong()
{
	shuma(0,1);
	Delay(500);
	shuma(2,num);
	Delay(500);
	
}

void main()
{
	while(1)
	{
		shumadong();
		num+=1;
		if(num>9)
		{
			num=0;
		}
		Delay_shuma(100);
	}
}

原因是:在动态显示的函数里的延迟函数,我用了第二个在等待的时候扫描的延时。

这里的应该是消影,而第二个延迟函数在主函数里,加完num后,将他刷新。

python 复制代码
void Delay(unsigned int t)
{
while(t--);
}
void Delay_shuma(unsigned int t)
{
	while(t--)
	{
			shumadong();
	}
}
void shumadong()
{
	shuma(0,1);
	Delay(500);
	shuma(2,num);
	Delay(500);
	
}



在建立串口模块时,发生了,乱码行为。

python 复制代码
void init_chuan()
{
	TMOD = 0x20;
	AUXR = 0x00;
	SCON = 0x50;
	TH1 = 0xfd;
	TL1 = 0xfd;
	
	TR1=1;
	ES=1;
	EA=1;
}
void chuankou() interrupt 4
{
	if(RI==1)
	{
		data1=SBUF;
		RI=0;
	}
}
void working()
{
		if(data1 & 0xa0==0xa0)
		{
			if(data1 & 0x01 ==0x01)
			{
				L1=~L1;
			}
		}
}
void send(unsigned char dat)
{
	SBUF = dat;
	while(TI==0);
	TI=0;
}
void jv(unsigned char *p)
{
	while(*p !='\0')
	{
		send(*p++);
	}
}
void main()
{
	//suocun(4);
	//ding_Init();
	init_chuan();
	jv("we\r\n");
	while(1)
	{
		//shumadong();
		//jvzhen();
	}
}

最终原因是,我把串口的工作函数放在了中断里,如果放在中断里面,会一直判断。我又没发什么,所以会这样。



在建立串口模块时,我要发送0xa1来发送指令。

但是我每次发送以后,L1只亮,不灭。我设置的是L1=~L1。

找到原因是我在收到信息以后,没有将data1清零。

python 复制代码
void working()
{
		if(data1 & 0xa0==0xa0)
		{
			if(data1 & 0x01 ==0x01)
			{
				L1=~L1;
				send(data1);
				data1=0x00;
			}
		}
}
相关推荐
June bug7 小时前
【HCIA- AI(正课)】3.1.人工智能业务流程
职场和发展
颜挺锐9 小时前
如何轻松通过性能测试面试之第十一篇:如何判断应用的最大处理能力
面试·职场和发展
DeepAgent9 小时前
AI Agent 面试篇(01):AI 岗位面试到底怎么走——从网申到 Offer 的完整流程
人工智能·面试·职场和发展
2501_9381400714 小时前
课堂录音AI总结工具实测:上课录音转笔记,哪款更好用?
职场和发展
顶点多余15 小时前
9.15 面试问题总结(一面挂)
linux·面试·职场和发展
de之梦-御风16 小时前
【未来】.NET 开发在「劳动价值重估」下的定位与走向
职场和发展·.net
找方案1 天前
AI+人力资源:AI招聘面试的兴起与争议
人工智能·面试·职场和发展
测试老哥1 天前
接口测试的测试用例应该怎么写?
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
CC数分1 天前
2026年HRBP岗位硬性要求和加分项
面试·职场和发展·数据分析
程序员杰哥2 天前
UI自动化测试:Jenkins配置
自动化测试·软件测试·python·测试工具·职场和发展·jenkins·测试用例