原创 LED灯+按键+数码管

2009-7-30 21:01 2235 5 6 分类: MCU/ 嵌入式

添加了数码管,循环显示0-9


按键触发中断点亮对应的LED灯


有个问题就是不能同时点亮两个,也就是说按键一次,必须弹起来再按另外一个才行,呵呵。


点击开大图


程序如下:


void main()
{
 uchar yyy;  
 IT0 = 1;//下降沿触发
 EX0 = 1;//分中断开关打开
 EA = 1;//总中断开关打开
 while(1)
 {
  led_display_xunhuan();
  
 }
}


void delay_50ms(unsigned int t) // t="10", 500ms; t="100", 5s;
{
 uint j;
 for(;t>0;t--)
  for(j=6245;j>0;j--);
}


void led_display_xunhuan()
{
 
 P0 = 0xc0;
 delay_50ms(10);
 P0 = 0xf9;
 delay_50ms(10);
 P0 = 0xa4;
 delay_50ms(10);
 P0 = 0xb0;
 delay_50ms(10);
 P0 = 0x99;
 delay_50ms(10);
 P0 = 0x92;
 delay_50ms(10);
 P0 = 0x82;
 delay_50ms(10);
 P0 = 0xf8;
 delay_50ms(10);
 P0 = 0x80;
 delay_50ms(10);
 P0 = 0x90;
 delay_50ms(10);
 
}


void Scan_Key (void) interrupt 0
{
 IE0 = 0;
 P1 = P2;
}

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户124183 2009-7-31 09:13

led_display_xunhuan()这个函数里面的循环显示为什么不用for循环+查表法显示呢?
相关推荐阅读
用户207689 2009-08-01 13:43
数字电压计
昨天用ADC0809 和ADC808芯片, 都没调试出来,有点郁闷。我觉得可能是时序没整明白。参考了一个别人的例子,用ADC832,好歹出来了,用的是动态显示。  ...
用户207689 2009-07-30 21:01
已经做的训练
现在整理过、动手做过的模块有:I/O口的读写键盘LED显示器中断定时器的应用正在做的东西:A/D D/A的学习、简易频率计学好A/D、D/A后打算做个信号发生器。 ...
用户207689 2009-07-30 21:00
频率计的开发
频率计的开发思路:  1、通过T0计数外部脉冲, T1定时1S中断,中断后T0的数值即为脉冲的个数,也为频率值。该方法简易、但反应较慢,不能实时显示。  2、通过T0计数外部脉冲,T1定时,T0计数1...
用户207689 2009-06-03 21:05
做了跑马灯程序和按键检测程序
如题!跑马灯程序有很多变换的方法,可训练编程和创意!按键检测主要难点是上拉电阻和下拉电阻,然后是读引脚和读锁存器的区别。下一个准备做LED数码管显示。 ...
用户207689 2009-06-01 22:21
KEIC 与 Proteus 的联调
可以参考这个地方http://blog.ednchina.com/cat_li/51716/message.aspx已经做出来了,谢谢楼主!我用的是proteus7.1sp2, 在设置use remo...
EE直播间
更多
我要评论
1
5
关闭 站长推荐上一条 /3 下一条