这是红外防盗报警的程序,但是我加了一个直流电机,即随着红外报警后放下卷帘门,卷帘门放下后得停下来,以达到抓捕盗贼的目的,但现在电机能转,我却不知道该怎么让电机停下来,不知道程序怎么改。希望各位大牛帮帮我。(单片机新手,问题描述的可能不清晰,不要见怪)
单片机源码:
- /******************红外报警处理**********************/
- void hongwai_dis()
- {
- if(flag_alarm == 1) //报警
- {
- red = ~red; //红灯报警
- beep = ~beep; //蜂鸣器报警
- }
- if(flag_bufang_en == 1) //准备开始布防
- {
- green = ~green; //绿灯闪
- }
- if(flag_bufang == 1) //确认布防
- {
- green = 0; //如果延时布防成功 绿灯长亮
- if(hw == 1) //红外有输出
- {
- shineng=1;
- dianji_zuo=0;
- dianji_you=1;
- flag_alarm = 1;
- init();
- j=0;
- while(table1[j]!='\0')
- {
- WriteData(table1[j]);
- j++;
- delay(10);
- }
- j=0;
- WriteCommand(0x80+0x40);
- while(table2[j]!='\0')
- {
- WriteData(table2[j]);
- j++;
- delay(10);
- }
- WriteCommand(0x01);
- delay(200);
- }
- }
- <div class="blockcode"><blockquote>/******************主程序**********************/
- void main()
- {
- time_init();
- while(1)
- {
- key();
- yellow = ~hw; //红外热释电指示灯 有输出就亮黄灯
- if(key_can < 10)
- {
- key_with(); //按键设置函数
- }
- if(flag_300ms == 1)
- {
- flag_300ms = 0;
- hongwai_dis(); //红外报警函数
- }
- }
- }
[color=rgb(51, 102, 153) !important]复制代码
[color=rgb(51, 102, 153) !important]
|