胖团子@ 2022-05-04 10:23 采纳率: 70%
浏览 22
已结题

利用at89c51引用外部中断INT0,INT1用按键S1,S2 已实现正反向流,不能实现双闪

#include<reg51.h>
unsigned char a=1;
unsigned int i;
bit direct;
bit b=0;
void delay()
{
while(i--);
}
void int0_srv(void) interrupt 0 using 1
{
direct=!direct;
}
void int2_srv(void) interrupt 2 using 1
{
b=~b;
}
void zhengfan()
{
P1=0;
if(!direct)
{
P1=a;
a=a<<1;
if(a==0)a=1;
delay();
}
else
{
P1=a;
a=a>>1;
if(a==0)a=0x80;
delay();
}
}
void shuangshan()
{
P1=b;
}
void main()
{
EX0=1;
IT0=1;
EX1=1;
IT1=1;
EA=1;
while(1)
{
shuangshan();
zhengfan();
}
}

img

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月12日
    • 创建了问题 5月4日

    悬赏问题

    • ¥15 oracle数据库查询语句问题
    • ¥15 有没有c++绘制算法的佬们吗救孩一下
    • ¥15 android 蓝牙闪退
    • ¥15 绝缘子污秽comsol仿真参数
    • ¥15 Fatal error in Process MEMORY
    • ¥15 labelme生成的json有乱码?
    • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
    • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解
    • ¥15 关于#r语言#的问题:在进行倾向性评分匹配时,使用“match it"包提示”错误于eval(family$initialize): y值必需满足0 <= y <= 1“请问在进行PSM时
    • ¥45 求17位带符号原码乘法器verilog代码