外部中断0是接传感器的,中断0接受到信号,蜂鸣器响,D1闪烁,数码管显示报警次数。外部中断1是取消报警,D1不亮,蜂鸣器不叫,但是数码管保持不变。问题就是复位
电路不能工作,却晶振没有工作,已经经过多次实验了,请大神点播下,我的程序有没有问题#include<reg52.h> sbit D2=P1^7;sbit D1=P1^6;sbit SPP=P1^5;int a=0,c=0,e=1,b=0;int code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; void delay(int z){ intx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}void main(){ D2=0; EA=1;//
传感器 EX0=1; IT0=1; TMOD=0x01;//
持续报警 ET0=1; TH0=(65535-50000)/256; TL0=(65535-50000)%256; IT1=1;//
取消报警 EX1=1; while(1) { if(b==9) { b=0; } P2=table
; if(a==1) { SPP=0; if(e==1) { D1=0; delay(2); D1=1; delay(2); } } if(c==200)//50ms*200=10000ms=10s { c=0; a=0; D1=1; SPP=1; TR0=0; } }}void chuangganqi() interrupt 0{ a=1; TR0=1; b++;} void TT0() interrupt 1{ TH0=(65535-50000)/256; TL0=(65535-50000)%256; c++; } void quxiaobaojing() interrupt 2{ a=0; c=0; TR0=0; SPP=1; D1=1;}
-
原理图,proteus中图
一周热门 更多>