网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
08月31日
漏签
0
天
单片机吧
关注:
212,107
贴子:
1,047,628
看贴
图片
吧主推荐
视频
游戏
9
回复贴,共
1
页
<<返回单片机吧
>0< 加载中...
中断函数中能不能有无限循环
只看楼主
收藏
回复
拉了xx
上士
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
中断函数中能不能有无限循环
阳光小子sky
大尉
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
去百度看看。 你在看书,突然有人敲门,你中断看书,去开门。 如果有无限循环,那你不是一直循环开门,不能回来看书了????
2025-08-31 23:08:02
广告
不感兴趣
开通SVIP免广告
拉了xx
上士
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include<reg51.h>
char led[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
static char a=0,j;
void yan(int x)
{
int i,j;
for(i=x;i>0;i--)
for(j=120;j>0;j--);
}
void liushui()
{
int i;
while(1)
{
for(i=0;i<8;i++)
{
P2=led[i];
yan(200);
}
for(i=6;i>=1;i--)
{
P2=led[i];
yan(200);
}
}
}
void int0_srv() interrupt 0{
a=!a;
if(a==1)
liushui();
else
P2=0xff;
}
void main()
{
IT0=1;
EA=1;
EX0=1;
while(1);
}
我想中断流水灯的运行,这样的函数我该怎么改
54miniz2
中校
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
那你就无法中断返回了...
流叶落晴
上校
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
中断里设标志,主函数循环里亮灯。
咱俩玩一会儿呀
中校
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;#define led P2//宏定义P1为led
#define cpuled P0//宏定义P1为led
ledzx[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
/*******************************************************************************
* 函 数 名 : Timer0Init
* 函数功能 : 定时器0初始化
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Timer0Init()
{
TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。 TH0=0XFC; //给定时器赋初值,定时1ms
TL0=0X18;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
}/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
Timer0Init(); //定时器0初始化
while(1);
}/*******************************************************************************
* 函 数 名 : void Timer0() interrupt 1
* 函数功能 : 定时器0中断函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Timer0() interrupt 1
{
u16 i;
TH0=0XFC; //给定时器赋初值,定时1ms
TL0=0X18;
i++;
if(i==1000)
{ u8 j;
i=0;
led=ledzx[j];
j++;
if(j==8)
{j=0;
}
}
}
你需要学习一下,单片机资料分配
璐村惂鐢ㄦ埛_5JJZV2Z馃惥
新兵
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我可以帮你,你的企鹅号是多少。你的邮箱是多少的?
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示