打印

自己写的关于键值扫描 随机数生成 显示在数码管上的c语言单片机

[复制链接]
1064|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
繁华倾夏|  楼主 | 2014-1-9 20:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
main()
{
        unsigned char maini=0;
        unsigned char mainj=0;

        COM8155=0x03;

        while(1)
        {
                num=Scan_Key();   -------------Scan_Key()是我的键值扫描函数 返回键盘值 共1~16个按键 KEY13作为状态生成的触发按键
               
                if(num==13)               
                {
                        CREATE_STATE();      ---------------CREATE_STATE() 顾名思义 产生一个随机数 并显示在数码管上
                        flag=1;
                }
                else if(num==0)
                {
                         if(flag==0)
                        {
                                 Disp_LED(Dis_BUF);       
                        }
                        if(flag==1)
                        {
                                Disp_LED(Disp_State);
                        }       
                }
                else
                {
                        Disp_LED(Dis_BUF);
                        flag=0;
                }
/***********************************************************************************************************
此段函数达到的效果是 显存8888 按下KEY13后数码管末尾显示一个随机数 每按一次数码管更新一次随机数 按别的按键则显示显存
************************************************************************************************************/


       
                if(num&&num!=13)
                {
                        for(maini=2;maini>0;maini--)
                        {
                                Ans[maini]=Ans[maini-1];
                        }
                        num=KEYCHAR[num];//译码
                        Ans[0]=num;               
                }
                Disp_LED(Ans);
/***********************************************************************************************************
此段函数达到的效果是 当有按键按下并且此按键不是KEY13时 将按下的键保存到数组的0~2位 并显示
************************************************************************************************************/



}
}








就是这两段函数 我把其中一段注释掉 另外一段烧录在单片机中 都是可以应用的
但是两个一起 就以上图格式烧录 就会出现数码管抖动 按几下按键 能录入数组中 但是这段时间数码管一直会闪烁 多按几个按键以后才稳定一会 我想知道是哪出了问题


单片机芯片是SST89E58RD

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝