单片机控制的简易定时报警器电路设计(含电路图和程序)

[09-11 23:01:35]   来源:http://www.88dzw.com  单片机学习   阅读:8539

文章摘要: {state_val=2;} //定时计数到0时,切换状态 show_val=cnt_val; } break; case 2: if(T1_cnt>1999) //如果计数>1999, 计时0.5s { T1_cnt=0; shan_val=!shan_val; } //闪烁状态 break; }}//-主程序main(){init_

单片机控制的简易定时报警器电路设计(含电路图和程序),标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com
            {state_val=2;}     //定时计数到0时,切换状态
            show_val=cnt_val;
          }
          break;
      case 2:
         if(T1_cnt>1999)        //如果计数>1999, 计时0.5s
         { T1_cnt=0; shan_val=!shan_val; } //闪烁状态
         break;
     }
}
//---------主程序----------------
main()
{init_val=59;         //初始化各变量
 cnt_val=init_val;
 show_val=cnt_val;
 state_val=0;
 key_val_old=255;
 T1_cnt=0;
 shan_val=0; //初始化51的寄存器
TMOD=0x20;  //用T1计时 8位自动装载定时模式
 TH1=0x19;   //250微秒溢出一次;   250=(256-x)*12/11.0592 -> x= 230.4
 TL1=0x19;
 EA=1;       //打开总中断允许
 ET1=1;      //开中断允许
 TR1=1;      //开定时器T1
while(1)
{  key_val_new=scan_key();         // 255表示无键按下
   if (key_val_new!=key_val_old)
{ // 只有当前扫描的键值与上次扫描的不同,才判断是有键按下
     key_val_old=key_val_new;
     switch (key_val_new)
     { case 1: //设置键
               state_val=1;        //处于设置状态
               TR1=1;              //停止计时
               show_val=init_val;  //显示原来的倒计数初始值
               break;
       case 2: if(state_val==1)    //只有在设置状态,增1键才有用
               { if (init_val>0)   //更改原来的倒计数初始值
                 {init_val--; }
                 else
                 {init_val=59;}
                 show_val=init_val;//显示更改后的倒计数初始值
               }
               break;
       case 3: if(state_val==1)    //只有在设置状态,减1键才有用

上一页  [1] [2] [3] [4] [5]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习
分类导航
最新更新
热门排行