独立按键移植小板实验
教育学部电教本1601柳珏玺 201612030101
一、单片机的使用:
使用小板独立按键和数码管部分,实现功能如下:每按一次按键,小板上的数字加一,逢十进一。
连接好单片机,且用keil进行编程,用宏晶科技进行烧录,程序烧录完成后,即可实现此功能。
通过大板的源程序移植到小板上,需要我们对小板的电路图进行分析。
数码管部分:段选信号为共阳,所以置1为高电平,段不亮,置0为低电平,段亮。位选信号与大板不同(大板使用3-8译码器),而小板位选信号直接接到了STC的端口上,从高位至低位依次为P2.0-P2.3,置低电平时,位被选中。
独立按键我们选择P3.2口
二、程序修改及调试
1、数码管定义显示部分
定义位选信号:LSA\LSB\LSC\LSD四个端口,用来显示数码管的1-4位。
定义段选信号:共阳极,0为段亮,1为段不亮,且由a到dp依次为低位到高位。
U8 number为初始时的数码管显示的数字,即初始数码管显示0000
选用P3.2接口的独立按键
2、延时函数
3、动态数码管显示部分
当LSA/LSB/LSC/LSD分别置0位时,才会显示。
并且消隐函数要全都置位为1,否则无法实现消隐。
4、主体函数部分
三、完成实验
四、反思与总结
1.调试过程(使用了哪些调试工具,如何使用的):
使用keil进行调试,通过撰写程序—rebuild—形成.Hex文件—使用宏晶进行烧录—完成实验
2.出现的错误及解决方法:(错误提升的信息或截图):
①共阳共阴问题。
如果没有分析电路图的话,很容易将大板上共阴的数码管原搬照抄过来,使得一开始现实的时候正好反向。
下图是既没有改变段选信号,又没有消隐。可以看到比较暗的部分正好组成了0000
②消隐问题。
消隐非常的重要,修改完共阳数码管的显示后,会发现不亮的数码管还是会有隐隐约约的亮,而显示的数字几乎看不出来(显示0013),这时我们就要从代码上找问题,我们分析过共阳的数码管当高电平的时候段不亮,所以要想消隐就必须全都置位为高电平,所以要将原先消隐代码0x00变为0xff。
完成消隐
3.编程经验的积累与心得体会:
①编代码前一定要看电路图的连接。
大板和小板的电路图连接是不一样的。大板在位选的时候是用3-8译码器,而小板则直接通过端口进行位选。同时大板和小板的数码管分共阴和共阳之分,小板共阳,大板共阴,所以在进行段选的时候一定一定要注意电路图的连接。
②消隐问题。
当板子出现问题的时候我们要寻找软件和硬件两方面的问题。如果说我们分析了共阳问题的话,我们就应该发现当板子无法进行正常显示的时候,就要看看板子的消隐的代码是不是出了问题,果不其然,我们没有置位为高电平。
③动态数码管的显示部分。
我们会发现直接用端口进行位选的时候就要相应的改变端口的高低电平。为了让各个位都能正常显示,我们还是得需要分析电路图。置位为0的时候,此位才显示。我们验证一下,假如我们让case3全部置位为1。
则会发现,最高位不显示。
所以一定要将电路图和代码联系起来我们才能正确实现功能。