欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1885|回復: 2
收起左側

單片機C語言比較器中斷 運算符!! 是什么意思?雙重否定嗎?是不是不用也行

[復制鏈接]
ID:278006 發表于 2021-12-30 12:42 | 顯示全部樓層 |閱讀模式
sbit LED        =   P1^1;           //測試腳

void cmp_isr() interrupt 21 using 1 //比較器中斷向量入口
{
    CMPCR1 &= ~CMPIF;               //清除完成標志
#include <REG51.H>
    LED = !!(CMPCR1 & CMPRES);      //將比較器結果CMPRES輸出到測試口顯示
}

void main()
{
    CMPCR1 = 0;                     //初始化比較器控制寄存器1
    CMPCR2 = 0;                     //初始化比較器控制寄存器2

    CMPCR1 &= ~PIS;                 //選擇外部管腳P5.5(CMPP)為比較器的正極輸入源
//  CMPCR1 |= PIS;                  //選擇ADCIS[2:0]所選的ADCIN為比較器的正極輸入源

    CMPCR1 &= ~NIS;                 //選擇內部BandGap電壓VBandGap為比較器的負極輸入源
//  CMPCR1 |= NIS;                  //選擇外部管腳P5.4(CMPN)為比較器的負極輸入源

    CMPCR1 &= ~CMPOE;               //禁用比較器的比較結果輸出
//  CMPCR1 |= CMPOE;                //使能比較器的比較結果輸出到P1.2

    CMPCR2 &= ~INVCMPO;             //比較器的比較結果正常輸出到P1.2
//  CMPCR2 |= INVCMPO;              //比較器的比較結果取反后輸出到P1.2

    CMPCR2 &= ~DISFLT;              //不禁用(使能)比較器輸出端的0.1uS慮波電路
//  CMPCR2 |= DISFLT;               //禁用比較器輸出端的0.1uS慮波電路

    CMPCR2 &= ~LCDTY;               //比較器結果不去抖動,直接輸出
//  CMPCR2 |= (DISFLT & 0x10);      //比較器結果在經過16個時鐘后再輸出

    CMPCR1 |= PIE;                  //使能比較器的上升沿中斷
//  CMPCR1 |= NIE;                  //使能比較器的下降沿中斷

    CMPCR1 |= CMPEN;                //使能比較器

    EA = 1;

    while (1);
}

回復

使用道具 舉報

ID:57657 發表于 2021-12-30 14:42 | 顯示全部樓層
兩次邏輯取反,0取反為1,非0取反為0,不可以省略。
回復

使用道具 舉報

ID:221871 發表于 2021-12-30 14:43 | 顯示全部樓層
不會是雙重否定,估計是筆誤,實驗驗證以下吧。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表