单片机实验80C51 外中断 P1口接8个发光二极管,设计实验:S1加1键,S2减1键(INT0,INT1)

要求:上电全灭,八个发光二极管显示的顺序为每按一次加1按键,亮的灯多一盏,按八次后重复开始状态;每按一次减一按键,亮的灯少一盏,按八次后重复开始状态
我是新手,请写出详细的程序吧!

既可用外部中断方式来实现;
也可以用查询方式读键处理。
灯的亮灭,就是对P1口的赋值操作,
每次多一盏,可以让初值为0xff。此后,每次左移或右移实现。
每次少一盏,可以与前面相反,右移或左移,并在移入位补1。
注意去抖动处理,好好写吧,不难。追问

新手啊,请写出具体程序呗!!!

追答

#include
sbit S1=P3^2;
sbit S2=P3^3;
main()
{
P1=0xff;
while(1)
{
while(S1&&S2);
if(S1==0){while(S1==0); P1>=1;P1|=0x80;}
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-18
自己先画流程图,在实现,非常简单!
第2个回答  2011-04-18
我来帮帮你!