16级单片机实践经验分享

实验二-李荷心-0203

2018-05-15  本文已影响64人  李荷心0203

实验目的:

将大板(HC6800-ES开发板)的按键加一四位显示程序移植到小板(KR-51开发板)上。

实验说明:

独立按键实现数码管的数字移动,即每按下按键一次,数字加一,以十进制方式进位,满十进一,最高四位数。

实验步骤:

连接好单片机,用keil进行编程,用宏晶科技软件进行烧录,程序烧录完成后,即可实现此功能。

实验分析:

已知我们已经有了大板的程序,要实现将大板的按键加一四位显示程序移植到小板,就要弄清大板和小板结构和代码的差异,从而来修改已有的代码,完成实验。

1.结构:

①大板:
大板是八位数码管
②小板:
小板是四位数码管
下面列表总结一下大板和小板的结构差异:
名称 大板 小板
数码管位数 八位 四位
段选信号 共阴 共阳
位选信号 使用3-8译码器 接到了stc端口
下面再区分一下段选信号和位选信号,以及共阴和共阳:

1.比如要控制8个数码管 ,依次是1、2…… 8。你要选择控制哪个数码管 (比如第1个),这就是位选,有选择位置的意思。然后呢,要让第1个数码管显示“1”。你就要控制第一个数码管的“a、b……g”也就是让b、c=0,a、d、e、f、g=1(或者b、c=1,a、d、e、f、g=0),这就是段选,即选择数码管的哪一笔段。
2.共阴级输入高电平有效,即1为段亮,0为不亮;共阳级输入低电平有效,即0为段亮,1为不亮 。

2.代码:

①数码管定义部分:
②延时函数部分:
③动态数码管显示部分:
④主体函数部分:

实验结果:

实验反思:

1.刚开始不明白为什么定义的位选信号大板是三位,小板四位,后来一想这不大板是用了3-8译码器,小板直接连端口,然后就明白了。



2.刚开始不明白为什么直接删了后面A-F,只留了0-9的字形码,当然0-9字形码要改成共阳的,后来想到我们做的是以十进制方式进位,所以字母可能就用不到。


3.刚开始不明白如下代码1,


代码1

就奇怪为什么不是代码2这样,


代码2
然后经过试验发现,如果改成代码2,高低位会发生反转。

4.烧录的时候,记得要用网盘里的这个烧录软件,不要再用第一次实验用的了,单片机型号改成STC89C52,串口号改成电脑识别的名称,我是COM3,记得代码一定要是对的,改完之后摁一下rebuild,不然就会一直卡住连接不成功。


5.感觉这个一摁键就加一的操作好像上上学期数字电路那个全加器,所以有种似曾相识的感觉吧。

上一篇下一篇

猜你喜欢

热点阅读