实验二-李荷心-0203

作者: 李荷心0203 | 来源:发表于2018-05-15 22:48 被阅读64次

    实验目的:

    将大板(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.代码:

    ①数码管定义部分:
    • 定义位选信号:LSA、LSB、LSC、LSD四个端口,用来显示数码管的1-4位。
    • 选用P3.2的独立按键。
    • 定义段选信号:小板为共阳极,输入低电平有效,将0-9字形码改成共阳极的。
    • u8 number为数码管初始值,即0000。


    ②延时函数部分:
    ③动态数码管显示部分:
    • 从高位到低位依次为P2.0-P2.3,LSA、LSB、LSC、LSD分别置0,其余位为1时,这样从左向右四个数码管才会显示。
    • 消隐函数要全部置为1,因为小板共阳,置1不亮,则须将大板的共阴置0的消隐代码0x00改为0xff。


    ④主体函数部分:

    实验结果:

    实验反思:

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



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


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


    代码1

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


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

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


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

    相关文章

      网友评论

        本文标题:实验二-李荷心-0203

        本文链接:https://www.haomeiwen.com/subject/gbuydftx.html