蓝桥杯错误记录

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

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;
			}
		}
}
相关推荐
艾斯比的日常1 小时前
JVM 内存结构:全面解析与面试重点
jvm·面试·职场和发展
程序员小白条2 小时前
你面试时吹过最大的牛是什么?
java·开发语言·数据库·阿里云·面试·职场和发展·毕设
程序员潇潇5 小时前
Jenkins 插件下载速度慢安装失败?这篇文章可能解决你头等难题!
运维·自动化测试·软件测试·功能测试·程序人生·职场和发展·jenkins
Warren9814 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
橘颂TA15 小时前
【剑斩OFFER】算法的暴力美学——两整数之和
算法·leetcode·职场和发展
程序员小远19 小时前
Appium-移动端自动测试框架详解
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
元亓亓亓1 天前
LeetCode热题100--79. 单词搜索
算法·leetcode·职场和发展
CoderYanger1 天前
优选算法-栈:69.验证栈序列
java·开发语言·算法·leetcode·职场和发展·1024程序员节
我还可以再学点1 天前
八股文面试攻略六:分布式和集群
分布式·面试·职场和发展