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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

對單片機中斷程序不太懂,求state, deteok, beep1在程序里代表什么?

查看數(shù): 1865 | 評論數(shù): 1 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2021-6-21 17:20

正文摘要:

這個程序http://m.raoushi.com/bbs/dpj-76392-1.html 求state, deteok, beep1在程序里代表什么和中斷那個程序是怎么運行的

回復(fù)

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

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

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

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