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

📄 bijiaoqizhongduan.c

📁 一个遥控器的程序
💻 C
字号:
/****************************************************************************
*文件名: bijiaoqizhongduang.c
*功能: LPC900比较器演示程序
*日期: 11:53 06-12-25
*****************************************************************************/
#include <reg932.h>
#define uchar unsigned char
sbit LED=P2^6;
sbit RING=P2^7;
uchar temp;
void CMP_Init();
void Delay10us();

//----------------------------------
//功能:比较器中断服务程序
//----------------------------------

void CMP_ISR() interrupt 8
{
	EA=0;                    //关中断
	temp=CMP1&0x02;          //判断CMP1.1
	if(temp==0x02)           //如果CMP1.1为1(正向输入端大于反向输入端)
	{
		RING=0;
        LED=1;
	}
	else if(temp==0x00)      //如果CMP1.1为0
	{
        RING=1;
        LED=0;

	}
	CMP1&=0xFE;              //清0比较器中断标志位
	EA=1;                    //开中断
}

//----------------------------------
//功能:主函数
//----------------------------------

void main()
{
	CMP_Init();              //比较器初始化
	while(1);
}

//----------------------------------
//功能:比较器初始化
//----------------------------------

void CMP_Init()
{
	PT0AD=0x10;              //禁止CIN1A上的数字输入功能
	P0M1=0x00;
	P0M2=0x10;               //设置P0.4为仅为输入
	P2M1=0xC0;
	P2M2=0xC0;               //设置P2.6,P2.7为开漏方式
	CMP1=0x28;               //0010 1000,CMP1使能,内部Ref,CIN1A
	Delay10us();             //延迟10us,以等待比较器稳定
	CMP1&=0xFE;              //清除比较器中断标志位
	EC=1;                    //比较器中断输出使能
	EA=1;                    //开中断
}

//----------------------------------
//功能:延迟10us(7.373MHz下)
//----------------------------------

void Delay10us()
{
	uchar i;
	for(i=0;i<10;i++);
}
//----------------------------------

⌨️ 快捷键说明

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