新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于C8051F020的示波器監控程序的設計

        基于C8051F020的示波器監控程序的設計

        作者: 時間:2016-11-30 來源:網絡 收藏
          6 系統軟件設計
          6.1 一鍵多義鍵盤程序設計
          在鍵盤分析中,運用一個工作狀態寄存器保存鍵盤的現狀態,當鍵盤掃描到一個按鍵時,根據現狀態的值從分析程序入口表中找到分析程序狀態表地址,從該地址處進入分析程序狀態表,找到相匹配的值,把下一狀態送到現狀態單元里,取出動作號,根據動作號計算出動作子程序入口地址,再執行相應子程序。圖4為鍵碼匹配子程序的流程圖。
          6. 2 編碼開關程序設計
          由圖1可以看出,引腳1和引腳2有同時為高電平的情況,之后如果引腳2比引腳1先到達高電平則表示左旋,如果引腳1比引腳2先到達高電平則表示右旋。編程的時候依據這個特點來判斷引腳1、引腳2的狀態即可。以1引腳接P4.0,2引腳接P4.1為例:
          6.3 模數轉換軟件設計
          通過設置ADCO控制寄存器ADCOCN位3~2(ADOCM1~O)A/D轉換啟動方式選擇位,來啟動A/D轉換:位3~2為00時,向ADOBUSY(ADCOCN位4)寫1啟動A/D轉換;位3~2為01時,定時器3溢出啟動A/D轉換;位3~2為10時,CNVSTR上升沿啟動 A/D轉換;位3~2為11時,定時器2溢出啟動A/D轉換。本設計采用第一種啟動方式。
          由于單片機的工作量并不大,所以軟件設計時采用查詢的方式。單片機不斷地查詢鍵盤、編碼開關以及電位器的狀態,如果有變化時,單片機將動作信息傳遞給 ARM主MCU,等待主MCU的處理。由于單片機模數轉換的速度非常快,因此在程序中加延時,以便觀察到模數轉換的變化量。另外,硬件設計時沒有考慮濾波,故用軟件實現濾波。一般的濾波的方法有限幅濾波法、中位置濾波法、算術平均濾波法等,現在提出一種新的濾波方法。由于使用12位A/D,但只要8位就可以達到所要的精度,所以可以采用去掉低4位的方法來實現濾波的目的。由于篇幅有限,下面只給出程序的一部分,以AIN0為例:
          結語
          本文介紹的一鍵多義的按鍵管理程序,對多按鍵的智能儀表可以通用。編碼開關的編程方法簡單易懂。在A/D轉換部分,提出的去掉低4位的軟件濾波方法可靠可行,對精度要求不高的場合非常適用。這3部分構成了一個完整的監控程序,當單片機監控到某一部分有變化時,就將其動作信息傳遞給ARM主CPU,主CPU 進行相應的處理。

        參考文獻:

        [1].C8051F020datasheethttp://www.dzsc.com/datasheet/C8051F020_209830.html.

        本文引用地址:http://www.104case.com/article/201611/323656.htm
        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 加查县| 西峡县| 昌宁县| 竹北市| 兴文县| 安吉县| 富川| 鲜城| 营口市| 东乌珠穆沁旗| 朔州市| 塔河县| 汾阳市| 黄骅市| 石门县| 太康县| 周宁县| 达拉特旗| 左权县| 民勤县| 甘洛县| 昭平县| 嘉兴市| 兴隆县| 郯城县| 夏河县| 伊川县| 谢通门县| 咸阳市| 卢湾区| 阳西县| 疏勒县| 蓬莱市| 汉阴县| 清河县| 周宁县| 台州市| 郁南县| 湄潭县| 黔江区| 湛江市|