用C语言编程并仿真实现4个按键产生4个外部中断以4个LED点亮响应对应的外部中断 这个怎么搞啊 51单片机

如题所述

第1个回答  2012-03-23
51单片机只有2个外中断是P3.2 和 P3.3
可以用计数器再实现2个外中断(计数器0, P3.4和计数器1, P3.5)

4个按键分别接到P3.2--P3.5
4个LED随便接其它IO口
第2个回答  2012-04-01
51单片机有四个中断?不是吧,这个不是很简单呀,并不要用到中断:
把p0的数据传给a,再a传给p1,这不就形成了对应嘛,就这么简单,还要什么中断呀、、
#include <reg52.h>
# define uint unsigned int
#define uchar unsigned char
main()
{
uchar a;
while(1)
{
a=p0;
p1=a;
}
}
第3个回答  2012-03-22
四个中断?一个中断就够了吧,用一个中断,在中断中计数来实现。
第4个回答  2011-11-25
能说明白的吗,最好有仿真图

...4个外部中断以4个LED点亮响应对应的外部中断 这个怎么搞啊 51单片机...
51单片机只有2个外中断是P3.2 和 P3.3 可以用计数器再实现2个外中断(计数器0, P3.4和计数器1, P3.5)4个按键分别接到P3.2--P3.5 4个LED随便接其它IO口

51单片机 c语言 如何用4个按键控制4个流水灯
这样就会有一个LED从右往左移动8次;那么当第一次流水未完时,又调用第二个流水函数light_water1就能中断当前执行的流水函数又去执行第二个流水灯函数了。希望我的回答能帮助到你。

C语言编写STC12C5A60S2芯片用4个按键控制四个灯的亮灭
sbit LED_ 4= P2^4;sbit LED_ 3= P2^3;void main ( ) {while(1){if (!KEY_0 ) { \/\/ 按键KEY_0被按delayus(20); \/\/消抖动 if (!KEY_0 ) { \/\/确认被按下 LED_7=~LED_7 \/\/灯亮或灭}}}... 其余一样即可。

51单片机使用T0和T1外部脉冲计数,C语言如何编程?
--统计脉冲个数,用外部中断更好。--T0和T1,留着定时用。用四个按键控制,按键1控制电机正转,按键2控制电机反转,按键3控制电机1正转,按键4控制电机2正转,怎么用C语言编程?--编程前,要先设计出来电路。

51单片机C语言程序4个独立按键实现对数码管数字显示的加减清零等
P1是LED.P2是按键sbit KEY_OUT_1 = P2^3;sbit KEY_OUT_2 = P2^2; sbit KEY_OUT_3 = P2^1;sbit KEY_OUT_4 = P2^0;#define uchar unsigned char#define ulint unsigned long#define Frequency 10\/\/定时器中断时间 = f*T#define Time 1\/\/一个周期1ms#define TubeNumber 6\/\/数码管个...

...4个数码管(采用动态扫描)显示 C语言编程思路!
可以这样写,先计算按了几下了,按下若小于4次,让四个段选端前几个端导通,按下数超过或等于4次你就可以用扫屏的方式来显示就好了。比如第一下按的是8你就可以设置if和else语句组合啊!先有个数组d[]={0xf7;0xfb;0xfd;0xfe}\/\/段选,按了几下设为变量uint a\/\/无符号字符型,if(a<4...

用51单片机法设计按键扫描电路程序,要求:有四个按键,外部中断
还是用第一个,但电路需要修改,p3口需要接上拉电阻,4.7k- 10k 的上拉电阻,才能保证p3口的引脚在没有按键时是高电平。

74hc164驱动的四个数码管第一次按按键1显示1- - - 按按键2显示2...
前面,问了一次,楼主也没有反应。下面,用C语言,编程实现:\/\/=== include <AT89X51.H> char disp_buff [4] = {0}; \/\/显示缓冲单元.\/\/--- delay(unsigned int t) \/\/1ms延时函数 { unsigned int i, j;for(i = 0; i < t; i++) for(j = 0; j < 120; j...

请问:单片机使用C语言编程,怎样控制led灯的完成亮度强弱变换?
模拟PWM输出控制灯的10个亮度级别 将定时器2溢出定为1\/1200秒。每10次脉冲输出一个120HZ频率。这每10次脉冲再用来控制高低电平的10个比值。这样,在每个1\/120秒的方波周期中,我们都可以改变方波的输出占空比,从而控制LED灯的10个级别的亮度。\/ define uchar unsigned char define uint unsigned int ...

单片机c语言编了个流水灯,用按键怎么实现它暂停。
{ Flag1 = keyscan();if(Flag1==1)(Flag2=~Flag2); \/\/如果一旦检测到一次按键扫描就把标志位2 打开;再次就关闭;if(Flag2==1)\/\/ 如果标志位打开就开始流水灯 { temp=0x01;for(i=0;i<8;i++) \/\/8个流水灯逐个闪动 { P1=~temp;delay(100); \/\/调用延时函数 temp<<=1;} } ...

相似回答