永发信息网

我的程序没能按我的要求跑。用了外部中断和定时器。

答案:2  悬赏:0  手机版
解决时间 2021-02-07 03:08
主题内容:1 : 电源/工作指示灯,开机长亮,抽水时闪亮.
2 : 抽水按键,按一次,按设定的时间抽水,直到时间点结束.如果在设定时间内再按一次可以手动停止抽水.
3 : 时间选择,可以选择10秒,20秒,30秒,40秒.(定时)
4 : 内部有一个安全开关,只有断开才能作其他的操作.(中断)

#include //头文件

sbit P10=P1^0; //定义P10为驱动抽水马达的控制口
sbit P11=P1^1; //定义P11为时间选择的高位标志
sbit P12=P1^2; //定义P12为时间选择的低位标志
sbit P13=P1^3; //定义P13为抽水开关

sbit P14=P1^4; //定义P14为电源指示灯,开机长亮,抽水时闪亮
//保护开关 : 通过中断接口P3.2连接的独立按键

static char i;


void ISR_Key(void) interrupt 0 using 1
{
//ET0=0; //定时器中断关闭
TR0=0; //定时器开关关闭
P10=0; //进入中断程序执行程序
//P14=0;
//此时可以通过 EA=0指令暂时关掉中断
}


void Init_Timer0(void)
{
TMOD |= 0x01; //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响
TH0=0x00; //给定初值,这里使用定时器最大值从0开始计数一直到65535溢出
TL0=0x00;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
}


void Timer0_isr(void) interrupt 1 using 1
{
static char s,t;

s++;
t++;
if(s==30)
{
P14=1;
s=0;
}
if(t==30*i)
{
P10=0;
t=0;
}
}


main()
{
EA=1; //全局中断开
EX0=1; //外部中断0开
IT0=0; //电平触发

P14=0;

while(P13==0)
{
//10秒定时
if(P11==0 &P12==0)
{
i=10;
Init_Timer0();
//TR0=0; //定时器开关关闭
}
//20秒定时
if(P11==0 &P12==1)
{
i=20;
Init_Timer0();
//TR0=0; //定时器开关关闭
}
//30秒定时
if(P11==1&P12==0)
{
i=30;
Init_Timer0();
//TR0=0; //定时器开关关闭
}
//40秒定时
if(P11==1&P12==0)
{
i=40;
Init_Timer0();
//TR0=0; //定时器开关关闭
}
}
}
最佳答案
你的程序一直循环主程序,然后判断初始化定时器,别的什么都没有做啊,当然什么都没有了
全部回答
抱歉!这个问题不懂哦,请再加油吧!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
可以教去派出所录口供辩解的技巧吗?
扎巴三村在什么地方啊,我要过去处理事情
光大银行贷款提前还款利息怎么算
新视界国际影城地址有知道的么?有点事想过去
必胜客怡景中心城餐厅地址有知道的么?有点事
欢乐大都会智能影城地址在什么地方,想过去办
国珍松花粉是否含雌激素
想考南京师范大学现当代文学专业的研究生,我
沭阳时尚国际影城地址在什么地方,想过去办事
opengl中多重纹理映射
“kind of做主语时,谓语动词的形式要和kind
爱奇会员不用钱咋弄??
陕西新华电脑软件学校在哪里啊,我有事要去这
淘宝卖家发货地址不是买家地址
写在试卷,答题卡没写,有分数吗?
推荐资讯
鑫合二手车行(通化东昌区)地址在什么地方,想
英语音标,一个0中间一横是怎么读
北京市朝阳区方家村邮编
1000度的温度换算成热值是多少大卡
城里好还有农村好
魔兽战役剧情暗夜精灵战役为什么叫永恒的结束
俚岛西林幼儿园怎么去啊,我要去那办事
上海婚礼摄影培训哪里好?
26岁之前做汽车喷漆,现在改行不知做什么好
macbook air 磁盘分区后不见了win8怎么办?
求一本玄幻小说,主角是个无能的人,后在一座
抱歉,请你不要再在我身上浪费时间,祝你找到
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?