电子产品世界 » 论坛首页 » 高校社团 » 坤创E-Geek/天科大新电社 » 求助!!最近一直比较迷惑按键和数码管的联系

共5条 1/1 1 跳转至

求助!!最近一直比较迷惑按键和数码管的联系

菜鸟
2019-02-09 20:51:32    评分

最近一直比较迷惑按键和数码管的联系,用一个数码管实现从0-9  想让各位看一下 我这个代码哪里出错了,理顺一下头绪 谢谢

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit PH595RCLK=P2^5;
sbit PH595SRCLK=P2^6;
sbit PH595SER=P2^7;
sbit s5=P3^0;
 
uchar smgduan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

uchar a,b;
 void DelayMs(uint n)
{
 uchar j;
 while(n--)
 {
  for(j=0;j<113;j++);
 }
}
void send595(uchar date)
{
 uchar i;
 for(i=0;i<8;i++)
 {
  if(date&0x80)
   PH595SER=1;
  else
   PH595SER=0;
  PH595SRCLK=0;
  PH595SRCLK=1;
  PH595SRCLK=0;
  date=date<<1;
 }
}
  
void smginit()
{
 send595(0x00);
 send595(0x00);
 PH595RCLK=0;
 PH595RCLK=1;
}


void KeyScan()
{
 if(s5==0)
 {
  DelayMs(10);
  if(s5==0)
  {
   a=1;
  }
  while(!s5);
 }
}


void main()
{
 smginit();
 while(1)
 {
  if(a==1)
  {
   a=0;
   if(b==9)
    b=0;
   else
    b++;
   send595(0xfe);
   send595(smgduan[b]);
   PH595RCLK=0;
   PH595RCLK=1;
  }
 }
}





关键词: 求助    

菜鸟
2019-02-10 08:58:06    评分
2楼
问的时候可以说清楚想要干什么?干了什么?出现了什么?大家好帮你解决问题。看了一下主程序里并没有添加按键扫描函数

专家
2019-02-10 09:27:51    评分
3楼
现在是一个什么情况啊?不显示,还是按键无效啊?

专家
2019-02-10 09:29:57    评分
4楼
其实楼上说的非常正确。楼主再仔细描述一下啊

专家
2019-02-12 18:55:03    评分
5楼

像这类的问题也是51单片机的一个劣势。

如果可以在线调试的话,我想楼主应该也会很快调试出来的。

总之,搞定就是好的。继续努力!


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]