为了账号安全,请及时绑定邮箱和手机立即绑定

c语言中断问题

c语言中断问题

慕田峪6419932 2018-07-09 12:33:56
led0是中断,led1,2,3是我测试用的,中断返回不应该是回到while(1)里吗?为什么led2一直是灭的,它不应该和led3一样是闪烁的吗?#include <reg52.h>typedef unsigned char u8;typedef unsigned int u16;sbit led0 =  P1^0;sbit led1 =  P1^1;sbit led2 =  P1^2;sbit led3 =  P1^3;u8 timer;void delay(u16 num){ u16 x,y; for(x=num; x>0; x--) for(y=110; y>0; y--) { ;//??1ms }}void main (void){  TMOD = 0x01;  TH0 = (65535-50000)/256; led1 = 0; delay(300); led1 = 1;  TL0 = (65535-50000)%256;  EA = 1;  ET0 = 1;  TR0 = 1;  while(1)  {  led2 = 0; delay(100);  led2 = 1; delay(100);  }}void timer_ser(void) interrupt 1{  TH0 = (65535-50000)/256; led3 = 0; delay(100); led3 = 1; delay(100);  TL0 = (65535-50000)%256;  timer ++;  if(timer == 20)  {    timer = 0; led0 = ~led0;  }}
查看完整描述

1 回答

?
慕田峪6419932

TA贡献2条经验 获得超0个赞

我用的是protues仿真,我又改了几下代码,感觉好像是 protues有问题?

查看完整回答
反对 回复 2018-07-09
  • 1 回答
  • 0 关注
  • 1067 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信