蓝桥杯错误记录

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

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;
			}
		}
}
相关推荐
程序员三藏6 小时前
软件测试之环境搭建及测试流程
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
WYiQIU12 小时前
高级Web前端开发工程师2025年面试题总结及参考答案【含刷题资源库】
前端·vue.js·面试·职场和发展·前端框架·reactjs·飞书
GISer_Jing12 小时前
小米前端面试
前端·面试·职场和发展
月明泉清12 小时前
最近的面试,被打击了(随笔)
职场和发展·跳槽
小龙报13 小时前
《赋能AI解锁Coze智能体搭建核心技能(2)--- 智能体开发基础》
人工智能·程序人生·面试·职场和发展·创业创新·学习方法·业界资讯
m0_7369270416 小时前
Spring Boot项目中如何实现接口幂等
java·开发语言·spring boot·后端·spring·面试·职场和发展
present122717 小时前
一段音频/视频分离成人声与伴奏,Windows + Anaconda 快速跑通 Spleeter(离线可用)
windows·职场和发展·ffmpeg·音视频·娱乐·媒体
小南家的青蛙19 小时前
LeetCode LCR 085 括号生成
算法·leetcode·职场和发展
前端架构师-老李1 天前
从大厂到中小公司,活下去的五个生存法则
职场和发展
小白菜又菜1 天前
Leetcode 3370. Smallest Number With All Set Bits
算法·leetcode·职场和发展