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

標(biāo)題: 對(duì)單片機(jī)中斷程序不太懂,求state, deteok, beep1在程序里代表什么? [打印本頁(yè)]

作者: szxydpjc51    時(shí)間: 2021-6-21 17:20
標(biāo)題: 對(duì)單片機(jī)中斷程序不太懂,求state, deteok, beep1在程序里代表什么?
這個(gè)程序http://m.raoushi.com/bbs/dpj-76392-1.html
求state, deteok, beep1在程序里代表什么和中斷那個(gè)程序是怎么運(yùn)行的

IMG_20210621_171714.jpg (1.49 MB, 下載次數(shù): 53)

IMG_20210621_171714.jpg

IMG_20210621_171459.jpg (1.59 MB, 下載次數(shù): 71)

IMG_20210621_171459.jpg

-7aec1c196b776feb.png (44.28 KB, 下載次數(shù): 60)

-7aec1c196b776feb.png

作者: 我是小白怎么滴    時(shí)間: 2021-6-22 17:36
state, deteok, beep1是用戶設(shè)定的3個(gè)bit型標(biāo)志位,標(biāo)志位就是對(duì)運(yùn)行結(jié)果的標(biāo)明。比如說(shuō)你要跑五千米,跑道一圈只有400米,那我們可以聲明一個(gè)變量uchar  flag,每當(dāng)你跑一圈flag就++一次,那到時(shí)候如果想知道已經(jīng)跑了幾圈只需要看flag的值就可以了。我們也可以把它用作下一段程序執(zhí)行的條件,比如說(shuō)你跑到兩千米要休息一下,那就 if (flag==5){休息一下};在這的話state, deteok, beep1是bit型,所以只有0和1。
  分析程序能看出beep1的值是由dateOK和state決定的:當(dāng)state=1,dateOK=1時(shí)beep1=1;dateok是當(dāng)state=1,tes-t --到0時(shí)為1;state是當(dāng)?shù)谝淮伟聪耴ey2時(shí)為1,再按取反為0,如此往復(fù)。也能看出有且只有state=0時(shí)date beep1才置0。
  所以定時(shí)器0的中斷就是:第一次開(kāi)機(jī),TIME=3,state, deteok, beep1都為0,中斷內(nèi)部一直ms++,k++,ms=0,不執(zhí)行其他,主程序中一直數(shù)碼管顯示,檢測(cè)key,關(guān)beep、led,置0 dateOK、beep1。當(dāng)按下key1時(shí),TIME(即tes-t)的值改變,其他不變。  按下key2時(shí),state=1,此時(shí)tes-t開(kāi)始每隔1秒減減,當(dāng)tes-t=0時(shí)dateOK=1,緊接著beep1=1,然后蜂鳴器以300ms的周期開(kāi)始響,直到beep1=0,也就是dateok=0,也就是state=0,即再次按下key2.以后就是如此重復(fù),不過(guò)TIME的值是你上次的值不變。
   外部中斷不用說(shuō)了吧,當(dāng)state=1時(shí),初始化tes-t和ms。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1