91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 單 片 機

PIC單片機人機接口模塊獨立式按鍵的程序設計

發布時間:2008/11/26 0:00:00 訪問次數:810

  下面是查詢方式下的鍵盤程序,程序中沒有使用散轉指令,也沒有軟件防抖動措施,只包括按鍵查詢、鍵功能程序轉移。fp0~fp7為功能程序入口地址標號,prom0~prom7分別為每個按鍵的功能程序。

  程序清單(設i/o口為p1口)如下:

  由此程序可以看出,各按鍵由軟件設置了優先級,優先級順序依次為0~7。

  本節所講的模塊中,在按鍵按下或彈起時經常會出現一些毛刺,所以在首次檢測到輸入的值后應添加一個延時程序delay。

  這個延時程序延時100ms左右,延時后再檢測輸入的值,如果改變了,則證明此時按鍵按下或彈起時讀出的值是不準確的,再調用延時程序delay,延時100ms之后,再繼續查看。

  本例采用4mhz的品振,時鐘周期是250ms,由于pic單片機的指令周期是4倍時鐘周期,即1μs,要延時100ms,可以設置兩層循環,另外,跳轉指令goto需要兩個指令周期,自減1并且判斷指令decfsz需要一個指令月期,所以要進行100000/(2+1)約為33333個指令周期。

  現設內部循環為256次,則外部循環約為130次,因為本例對延時的精度要求并不很高,所以本例中的設計只進行了近似的計算,程序流程如圖所示。

  圖 程序流程

  (1)主程序。

  首先設置端口c為輸入口,端口d為輸出口,然后循環檢測端口c的狀態,若有鍵按下,則延時去抖動,再由端口d顯示。

  (2)延時子程序

  入口參數:count1存放外部循環次數,count2存放內部循環次數。

  歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)



  下面是查詢方式下的鍵盤程序,程序中沒有使用散轉指令,也沒有軟件防抖動措施,只包括按鍵查詢、鍵功能程序轉移。fp0~fp7為功能程序入口地址標號,prom0~prom7分別為每個按鍵的功能程序。

  程序清單(設i/o口為p1口)如下:

  由此程序可以看出,各按鍵由軟件設置了優先級,優先級順序依次為0~7。

  本節所講的模塊中,在按鍵按下或彈起時經常會出現一些毛刺,所以在首次檢測到輸入的值后應添加一個延時程序delay。

  這個延時程序延時100ms左右,延時后再檢測輸入的值,如果改變了,則證明此時按鍵按下或彈起時讀出的值是不準確的,再調用延時程序delay,延時100ms之后,再繼續查看。

  本例采用4mhz的品振,時鐘周期是250ms,由于pic單片機的指令周期是4倍時鐘周期,即1μs,要延時100ms,可以設置兩層循環,另外,跳轉指令goto需要兩個指令周期,自減1并且判斷指令decfsz需要一個指令月期,所以要進行100000/(2+1)約為33333個指令周期。

  現設內部循環為256次,則外部循環約為130次,因為本例對延時的精度要求并不很高,所以本例中的設計只進行了近似的計算,程序流程如圖所示。

  圖 程序流程

  (1)主程序。

  首先設置端口c為輸入口,端口d為輸出口,然后循環檢測端口c的狀態,若有鍵按下,則延時去抖動,再由端口d顯示。

  (2)延時子程序

  入口參數:count1存放外部循環次數,count2存放內部循環次數。

  歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)



相關IC型號

熱門點擊

 

推薦技術資料

硬盤式MP3播放器終級改
    一次偶然的機會我結識了NE0 2511,那是一個遠方的... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
肇东市| 鸡东县| 邯郸市| 英吉沙县| 襄垣县| 威信县| 荆州市| 镇赉县| 辽宁省| 邮箱| 东阿县| 格尔木市| 嘉兴市| 米泉市| 固镇县| 无棣县| 新宁县| 永胜县| 鄯善县| 黔东| 高清| 西吉县| 汉中市| 金沙县| 四川省| 芦山县| 灯塔市| 锡林郭勒盟| 通河县| 渭南市| 南乐县| 岳普湖县| 阜阳市| 佛坪县| 天长市| 昌宁县| 出国| 宁德市| 民勤县| 阿尔山市| 新和县|