📄 main.c
字号:
//-----------------------------------------------------------------
// 名称: 报警器与旋转灯
//-----------------------------------------------------------------
// 说明: 主函数启用了两个定时器中断和一个外部中断,
// 其中T0定时器溢出中断控制LED旋转,T1定时器溢出中断控制报警
// 声音输出,INT中断控制报警系统的启动与停止.
//
//-----------------------------------------------------------------
#include <pic.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define _XTAL_FREQ 4000000UL
//蜂鸣器输出定义
#define SPK() (RC0 = ~RC0)
volatile INT8U FRQ = 0x00; //FRQ循环递增控制频率循环递增
bit ON_OFF = 0; //开关变量
INT8U Pattern = 0xE0; //旋转灯端口花样初值11100000
//------------------------------------------------------------------
// 主程序
//------------------------------------------------------------------
void main()
{
}
//-----------------------------------------------------------------
// 延时函数
//-----------------------------------------------------------------
void delayms(INT8U x)
{
for (INT8U i = 0; i < x; i++)
for (INT8U j = 246; j > 0; j--) NOP();
}
//------------------------------------------------------------------
// 中断服务程序,分别处理RB0/INT中断,TMR0,TMR1溢出中断
//------------------------------------------------------------------
void interrupt ISR_INT_TMR_1_2()
{
//RB0/INT中断启停控制报警器声音输出和LED旋转
if (INTF)
{
}
//TMR0定时器中断程序控制LED旋转
if (T0IF)
{
}
//TMR1定时器中断控制报警器声音输出
if (TMR1IF)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -