中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)人機(jī)接口模塊獨(dú)立式按鍵的程序設(shè)計(jì)

        PIC單片機(jī)人機(jī)接口模塊獨(dú)立式按鍵的程序設(shè)計(jì)

        作者: 時(shí)間:2013-03-14 來源:網(wǎng)絡(luò) 收藏
          下面是查詢方式下的鍵盤程序,程序中沒有使用散轉(zhuǎn)指令,也沒有軟件防抖動(dòng)措施,只包括按鍵查詢、鍵功能程序轉(zhuǎn)移。FP0~FP7為功能程序入口地址標(biāo)號(hào),PROM0~PROM7分別為每個(gè)按鍵的功能程序。

          程序清單(設(shè)I/O口為P1口)如下:

          由此程序可以看出,各按鍵由軟件設(shè)置了優(yōu)先級(jí),優(yōu)先級(jí)順序依次為0~7。

          本節(jié)所講的模塊中,在按鍵按下或彈起時(shí)經(jīng)常會(huì)出現(xiàn)一些毛刺,所以在首次檢測(cè)到輸入的值后應(yīng)添加一個(gè)延時(shí)程序DELAY。

          這個(gè)延時(shí)程序延時(shí)100ms左右,延時(shí)后再檢測(cè)輸入的值,如果改變了,則證明此時(shí)按鍵按下或彈起時(shí)讀出的值是不準(zhǔn)確的,再調(diào)用延時(shí)程序DELAY,延時(shí)100ms之后,再繼續(xù)查看。

          本例采用4MHz的品振,時(shí)鐘周期是250ms,由于的指令周期是4倍時(shí)鐘周期,即1μs,要延時(shí)100ms,可以設(shè)置兩層循環(huán),另外,跳轉(zhuǎn)指令GOTO需要兩個(gè)指令周期,自減1并且判斷指令DECFSZ需要一個(gè)指令月期,所以要進(jìn)行100000/(2+1)約為33333個(gè)指令周期。

          現(xiàn)設(shè)內(nèi)部循環(huán)為256次,則外部循環(huán)約為130次,因?yàn)楸纠龑?duì)延時(shí)的精度要求并不很高,所以本例中的設(shè)計(jì)只進(jìn)行了近似的計(jì)算,程序流程如圖所示。

          圖 程序流程

          (1)主程序。

          首先設(shè)置端口C為輸入口,端口D為輸出口,然后循環(huán)檢測(cè)端口C的狀態(tài),若有鍵按下,則延時(shí)去抖動(dòng),再由端口D顯示。


        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉