满意答案
jwp武乡
2017.05.12
采纳率:55% 等级:6
已帮助:2258人
#include
#define uchar unsigned char
uchar stepd[]={0x01,0x03,0x02,0x06,0x04,0xc0,0x08,0x09};
uchar num=0,fx=0;
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
unsigned int fcnt,scnt,ft,st;
void t0isr() interrupt 1
{
if(ft>0)
{
TH0=(65536-fcnt)/256;
TL0=(65536-fcnt)%256;
ft–;
}
else
{
TH0=(65536-fcnt)/256;
TL0=(65536-fcnt)%256;
st–;
}
if(ft==0 && st==0)TR0=0;
P2=stepd[num];
if(fx==0){num++;num%=8;}
if(fx==1)
{
if(num==0)num=7;
else num–;
}
}
main()
{
TMOD=0x01;
fcnt=5000;
scnt=10000;
TH0=(65536-fcnt)/256;
TL0=(65536-fcnt)%256;
TR0=1;
ET0=1;
EA=1;
while(1)
{
if(key1==0)
{
while(key1==0);
TR0=~TR0;
ft=1000;
st=500;
}
if(key2==0)
{
while(key2==0);
fx=0;
}
if(key3==0)
{
while(key3==0);
fx=1;
}
}
}
00分享举报
今天的文章单片机按键触发中断_单片机按键触发中断分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/82024.html