⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 new_alarm.c

📁 PIC18F252模拟警车的警报器,已调试通过,有中文说明,采用PICC编译,CCS开发环境.
💻 C
字号:
#include <18F252.h>
#fuses HS, NOWDT, NOPROTECT //HS:使用外部晶振10MHz;
                            //NOWDT:不使用看门狗
                            //NOPROTECT程序不保护
#use delay(clock=10000000)  //使能内部函数delay_ms()和delay_us()
#define speaker  PIN_C5
#define SW0     PIN_B0
#define SW1     PIN_B1
#define SW2     PIN_B2
#define RL1   PIN_C7
#define RL2   PIN_C6

int   BIT_flag;
#bit flag0=BIT_flag.0
#bit flag1=BIT_flag.1
#bit key2_flag=BIT_flag.2

long int counter;
long int sound_lemgth;

//#include "C:\B\half_cycle_200ms.c"
//#include "C:\B\half_cycle_400ms.c"
//#include "C:\B\new_half_cycle_200ms.c"
#include "C:\B\alarm\TIMER1.C"

// 这个中断用来输出波形
#INT_TIMER1   //指定下面的函数是timer1的中断服务函数
void wave_timer()
 {if(flag1) wave_timer_60ms();
  if(~flag1) wave_timer_180ms();
}


void main()   {
  // int test;
   flag0=0;                         //初始化变量flag0给其赋初值0
   flag1=1;
   counter=0;
   sound_lemgth=0;

   setup_timer_1(T1_INTERNAL|T1_DIV_BY_1 );
                                    //初始化定时器1;
                                    //时钟源为内部指令时钟;
                                    //不用分频器,即每一指令时钟到来,T1计数一次;
   enable_interrupts(INT_TIMER1);   // timer1中断允许位置1;
   enable_interrupts(GLOBAL);       //开总中断允许位;
   do{delay_ms(100000);
      flag1=1;
     }while( input(SW0));
   do{
     flag1=0;
     delay_ms(100000);
    }while( ~input(SW0));
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -