嵌入式学习之电动车报警项目

通过今天的学习,我把电动车报警项目做了一下,真的挺有趣的,代码如下.

#include "reg52.h"
#define J_ON 1
#define J_OFF 0
sbit switcher =P1^0;
sbit D0_ON = P1^1;
sbit D1_OFF = P1^2;
sbit vibrate = P1^3;
void Delay2000ms()        //@11.0592MHz
{
    unsigned char i, j, k;

    //_nop_();
    //_nop_();
    i = 85;
    j = 12;
    k = 155;
    do
    {
        do
        {
            while (--k); 
        } while (--j);
    } while (--i);
}
void Delay500ms()        //@11.0592MHz
{
    unsigned char i, j, k;

    //_nop_();
    //_nop_();
    i = 22;
    j = 3;
    k = 227;
    do
    {
        do
        {
            while (--k);
        } while (--j);
    } while (--i);
}


void main(){

    //查询方式哪个按键被按下
    while(1){  mark = J_OFF;
        //如果A键被按下,设定为警报模式
        if(D0_ON==1){
        //长响,表示进入警报模式
            switcher = 0;
            Delay2000ms();
            switcher = 1;
            //设定警报模式标记
            mark = J_ON;
}
if(D1_OFF==1){
        //短响,表示进入解除警报模式
            switcher = 0;
            Delay500ms();
            switcher = 1;
            //设定警报解除模式标记
            mark = J_OFF;
}
//3如果标记是在警报模式下
if(mark ==  J_ON){
    //3.1如果发生了震动
    if(vibrate == 0){
        //喇叭响,给继电器低电平,导通
    switcher =0;
}//3.2如果不发生震动
else{//喇叭不响,给继电器高电平,不导通
switcher =1;
}
}

}
}
 

你可能感兴趣的:(学习)