找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6669|回復(fù): 2
收起左側(cè)

STC15W202S單片機(jī)比較器使用方法 附源程序

[復(fù)制鏈接]
ID:370644 發(fā)表于 2019-11-18 12:42 | 顯示全部樓層 |閱讀模式
/* 當(dāng)P5.5引腳電壓高于1.24V時(shí),LED1不亮

當(dāng)引腳電壓低于1.24V時(shí),LED1閃爍
亮,LED2滅。*/
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sfr P5=0xC8;//xxxx,1111 端口5
sfr T2H=0xD6;//0000,0000 T2高字節(jié)
sfr T2L=0xD7;//0000,0000 T2低字節(jié)
sfr IE2=0xAF;//0000,0000 中斷控制寄存器2
/******比較器定義*******/
sfrCMPCR1=0XE6;
sfrCMPCR2=0XE7;
#defineCMPEN 0X80//比較器使能位
#defineCMPIF 0X40//中斷標(biāo)志位,要人工清0
#definePIE 0X20//上升沿,即由低變高,只要有一個(gè)為高,CMPIF就變?yōu)?產(chǎn)生中斷
#defineNIE 0X10//下降沿,即由高變低,只要有一個(gè)為高,CMPIF就變?yōu)?產(chǎn)生中斷
#definePIS 0X08//比較器正端選擇,0為P5.5為正極
#defineNIS 0X04//比較器負(fù)端選擇,1為P5.4為負(fù)極,否則以單片機(jī)內(nèi)部參考電壓1.24V為負(fù)端
#defineCMPOE 0X02//比較輸出結(jié)果控制位,0為正常輸出,1為從P1.2端輸出
#defineCMPRES 0X01//比較器結(jié)果標(biāo)志位,當(dāng)為1時(shí),說明正端>參考負(fù)端,最終要看它是否為0
#defineINVCMPO 0X80//為1時(shí)取反從P1.2輸出,否則正常輸出
#defineDISFLT 0X40//比較器濾波輸出,為1時(shí)不濾波,為0時(shí)0.1秒濾波輸出
#defineLCDTY 0X3F//比較器輸抖動(dòng)控制,最后5位
/******比較器定義*******/
sbit LED=P1^3;//LED輸出引腳
sbit LED1=P1^5;//LED輸出引腳
void delay(uchar z)
{
uchar x,y;
for(x=0;x<255;x++)
for(y=z;y>0;y--);
}
void main()
{
uint j=0;
CMPCR1=0;//將CMPCR1寄存器清0
CMPCR2=0;//將CMPCR2寄存器清0
CMPCR1&=~PIS;//將P5.5作為正端輸入,即第4位為0
CMPCR1&=~NIS;//選擇單片機(jī)內(nèi)部電壓為基準(zhǔn)1.24V
CMPCR1&=~CMPOE;//禁止輸出比較器結(jié)果
CMPCR2&=~INVCMPO;//比較器結(jié)果正常輸出到P1.2,不用取反
CMPCR2&=~DISFLT;//0.1秒濾波輸出
CMPCR2&=~LCDTY;//將結(jié)果不去抖直接輸出來
CMPCR2|=(DISFLT&0X10);//比較器結(jié)果在經(jīng)過16個(gè)時(shí)鐘周期后輸出
CMPCR1|=PIE;//使能上升沿中斷,下降沿為NIE,上升沿PIE
CMPCR1|=CMPEN;//使能比較器
EA=1;//允許中斷
while(1)
{
if((CMPCR1&0X01)==0)//如果比較器結(jié)果為低即為0,則執(zhí)行
{
for(j=0;j<30000;j++)
LED=!LED;//為高的時(shí)候第1個(gè)燈閃爍
delay(255);
}
else
{
LED=1;//為高的時(shí)候第1個(gè)燈閃爍
}
}
}
/*********************************/
/*******比較器中斷服務(wù)子程序******/
/*********************************/
void cpm_int() interrupt 21
{
CMPCR1&=~CMPIF;//清除中斷標(biāo)志位,即CMPCR1&1011 1111
}

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:310993 發(fā)表于 2020-10-25 18:19 | 顯示全部樓層
比較器,尤其是STC的比較器,太讓人不能理解了。點(diǎn)贊!
回復(fù)

使用道具 舉報(bào)

ID:59135 發(fā)表于 2021-2-5 22:03 | 顯示全部樓層
可以使用。多謝!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表