久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

怎樣分析單片機程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年04月17日   【字體:

            要:分析單片機程序是為編寫程序做準備,包括對硬件電路和軟件功能的分析,提出了實用的分析方法,并總結出分析程序的一般步驟和應注意的問題。

    設計單片機程序不是從零開始,而是先對已有的相關程序進行閱讀分析。分析程序是設計、修改、優化、維護的重要步驟。因此,掌握單片機程序的分析方法是非常必要的。

    1 詳細閱讀設備使用說明書

    可投產(使用)的單片機系統都附有使用說明書(手冊),它介紹了該產品的(工作原理)技術指標、使用步驟、操作方法和注意事項,同時還有系統的有關狀態、顯示、報警等信息。這為閱讀程序、劃分模塊分析功能提供了極大的幫助。若有該系統,應對其反復操作,熟悉使用步驟和操作方法。操作時應全面詳細,確保程序和外圍電路的每一部分都執行過。

   2 了解單片機芯片型號及功能

   目前,具有代表性的單片計算機有:8位單片機,即51系列;16位單片機,即96系列;32位嵌入式微處理器,即X86結構的i386EX系列;超低功耗i486系列和RISC結構的i960系列等。由于MCS—51系列單片機具有集成度高,處理功能強,可*性好,價格低廉等優點,它在智能儀器儀表、控制工程、測試技術等領域得到了廣泛的應用。繁多的單片機品種,使閱讀者必須首先知道該電路中具體使用了哪一種單片機芯片,弄清其引腳功能、存儲器結構、指令系統等。

   3 分析掌握外圍電路各部分的作用

   在單片機應用系統中,硬件是基礎,軟件的功能是對硬件進行合理調配和使用。在控制系統的開發中,軟件和硬件設計基本上是同步進行的。

    3.1 單片機常用的外圍電路

    單片機常用的外圍電路包括程序擴展電路、內存擴展電路、并行口擴展電路、Watchdog電路、串行通訊電平轉換電路、LED(LCD)數碼顯示電路、鍵盤電路、A/D轉換電路、D/A轉化電路、指示燈電路等,同時還必須明確該電路的實現方式。單片機外圍電路簡圖見圖1。

    3.2 其他電路及連線

    為了阻抗匹配,增設驅動電路,驅動大電流電路時采用的光電隔離電路,CMOS電路多余輸入端的處理(接正電源或接地),地線系統(系統地,機殼地或屏蔽地,數字地,模擬地)的安排,信號線包括讀、寫信號線、片選信號線、時鐘信號線、讀選通信號(PSEN)、地址鎖存信號(ALE)、復位信號等的連接及I/O地址的分配,掌握這些對程序的閱讀至關重要。

    4 閱讀分析程序

    4.1 單片機程序所用語言

    由于匯編語言精煉高效,小型的單片機程序常采用匯編語言。而C語言既有高級語言的各種特點,又可對硬件進行操作,進行結構化程序設計。對MCS—51單片機,目前采用比較多的有ASM51,C51等。此外,還有匯編語言與BASIC語言混編的單片機程序。

    4.2 單片機程序的基本結構與組成

    在整個單片機程序中初始化、自檢部分安排在單片機程序的開始,隨后便是主(監控)程序,各模塊和子程序,此外還有字形表及數據表等。

     4.2.1 傳統的程序結構

     單片機程序一般采用模塊化設計。其中心思想是將一個功能較多、程序量較大的程序整體按其功能劃分成若干個相對獨立的程序段。通常把控制單片機應用系統工作的整個程序稱為監控程序。監控程序按模塊分為監控主程序和命令處理子程序。命令處理子程序完成各種命令所規定的具體操作,它按各種命令再分為不同的子程序模塊。它的編程方法與功能要求與系統硬件密切相關,沒有通用的方法。而監控主程序是接受和分析來自鍵盤的命令,進而把控制轉到相應的處理子程序的入口,起引導作用。

     在一鍵多義的情況下,監控主程序要確定控制的轉向,除了要知道當前按鍵外,還得明確系統目前的“狀況”,即“狀態”。可用狀態表法設計監控主程序,其核心是設計一張狀態表,規定應用系統在某一狀態下各按鍵的含義,包括應執行哪一個命令處理子程序和完成狀態的正確變遷。狀態表的格式見表1。

    設計時,在內存開辟一個現態單元記憶當前的狀態。當有鍵按下時,監控主程序根據當前按鍵的編碼和現態這兩個關鍵字去查閱狀態表,從而確定系統該執行哪一個處理子程序及系統的下一個狀態是什么,立即修改現態單元的內容,以便有新的按鍵時系統能做出正確的響應。在每個狀態下并非所有的按鍵都有定義,即有空鍵。

    當某個中斷發生時,中斷服務程序設置相應的標志,而主程序不斷地判斷這些標志,以決定啟動哪一個處理程序。相應的處理程序處理完相關的任務后,清除此標志,然后把控制權交還給主程序。對于延時或定時處理,可用一個定時器來完成。

    4.2.2 基于時間片的單片機程序

    在單片機實時控制系統中引入了現代操作系統的多任務思想,采用時間片輪轉調度算法對傳統單片機編程思想進行了改進,并應用在分布式系統中,結構清晰、調度靈活,適用于定時要求復雜、實時性要求強的系統。

    4.3 閱讀程序并畫出程序流程圖

    程序流程圖(簡稱框圖)是用來描述程序處理過程的工具,推理過程清晰、直觀、邏輯性強,可用于刻畫程序的控制流邏輯,為程序測試和理解提供了一種重要的輔助手段。

    只有分析者對程序進行多次掃描,畫出每個模塊的詳細流程圖,才能明確各個模塊的任務和相互聯系及資源分配和整個程序的設計思路,各程序模塊的入口、出口和對CPU內部寄存器的占用情況。還有CPU對啟動A/D轉換要發什么控制信號;端口地址是什么;CPU用什么方法得知A/D轉換結束,以便輸入轉換結果;采樣周期多長等。這是分析和設計程序最重要的一步,也是邏輯分析和優化的基礎。單片機常用功能模塊有:定時、數據采集、數字采集、數字濾波、標度變換、控制算法、顯示、報警、打印等。

    4.4 算法分析

    算法是為解決某一特定問題而采取的確定的有限的步驟,是求解某一問題所使用的一組定義明確的規則,在實際應用中又稱為方法、方式、體制等。對有些較復雜的算法,最好用畫流程圖的方式來分析,這樣思路清晰,簡潔直觀。

     單片機控制系統程序設計中的重要內容,是根據被控制對象的特性,合理選擇算法,以達到所要求的控制精度和指標。例如數據采集時進行數字濾波處理,常用的數字濾波方式有:程序判斷濾波、中位置濾波、算術平均濾波、遞推平均濾波法、防脈沖干擾平均值濾波、一階滯后濾波等。因此,在閱讀程序前,必須對該問題的解決方法有一定的了解,才能確定具體使用了哪一種算法。

     4.5 資源分配

     確定資源分配,包括ROM、定時器/計時器、RAM、中斷源等。其中最關鍵的是片內RAM的分配,如00H~2FH工作寄存器,常用作指針、計數器、循環變量等;20H~2FH具有位尋址功能,用來存放各種標志位、邏輯變量、狀態變量。對RAM應列出一張RAM資源詳細分配表,以備閱讀查用。在數據存儲器中,安排好采樣數據區、處理結果數據區、顯示和打印數據區、標志區等。該分配表可手動畫出,而用Excel表則更方便。

    4.6 標志位

    單片機有豐富的位操作指令和位存儲資源。一類是為I/O操作服務的,如監測到的各種邏輯信息可存入位資源中,隨時供程序使用。另一類是為程序本身服務,表明系統的各種狀態特點,傳遞各模塊之間的控制信息,控制程序流向等,這一部分稱為軟件標志。閱讀程序時,對每個位資源必須進行詳細記錄,繪出軟件標志的使用說明書。需要說明的項目有:名稱和位地址:該軟件標志在程序中的代號和存放的位單元。意義:說明邏輯1和邏輯0代表的狀態或功能。對全局定義的軟件標志,它有唯一的定義,對于局部定義的軟件標志,必須注明其有效范圍。生命周期:分析每個軟件標志初始化的狀態,程序運行時發生變化的條件和時刻,并進行記錄。用戶:對軟件標志進行讀操作的狀態或模塊稱為該軟件標志的用戶。軟件標志的使用有兩種,一種是非破壞性的,只讀不寫;另一種是破壞性使用,這種軟件標志多為某種申請標志,響應后立即清除,可避免重復響應。同一標志位在不同的狀態下可有不同的含義。多位標志表示多個狀態,這樣節省標志位。

    4.7 抗干擾處理

    由于單片機工作環境比較惡劣和復雜,往往會影響系統的可*性、安全性。這些干擾有供電系統干擾、過程通道干擾、空間干擾等,會導致數據采集誤差加大、控制狀態失靈、數據受干擾發生改變、程序運行失常。

    為保證單片機控制系統長期穩定運行,必須對各種干擾進行處理,包括必要的硬件電路,如硬件看門狗技術;軟件抗干擾技術,如輸入通道抗干擾技術、數字濾波、RAM數據冗余技術、軟件陷阱等。軟件和硬件抗干擾技術結合,這樣才能達到最佳效果。

    5 結語

     程序設計是創造性的工作,而程序分析往往是為創造性的工作做準備。閱讀程序是從已有的程序開始,分析其硬件、軟件功能,對其消化、吸收,才能對程序進行修改、維護、優化程序,從而擴大系統的適應范圍,提高技術指標和性能參數。

關閉窗口

相關文章

主站蜘蛛池模板: 国产日韩欧美在线观看 | www国产成人 | 综合久久久| 亚洲国产欧美日韩 | 日本一区二区三区在线观看 | 91精品国产色综合久久不卡蜜臀 | 欧美国产视频一区二区 | 欧美黑人国产人伦爽爽爽 | 国产 日韩 欧美 中文 在线播放 | 精品久久久久久久 | 国产精品高清在线 | 久久国产精品免费一区二区三区 | 九热在线 | 国产精品亚洲一区二区三区在线 | 成人激情免费视频 | 影音先锋中文字幕在线观看 | 国产婷婷精品 | 亚洲精品一区二区在线观看 | 久久毛片 | 亚洲成年影院 | 午夜电影日韩 | 久久电影一区 | 国产高清精品一区二区三区 | 亚洲香蕉在线视频 | 99热在线观看精品 | 天天干.com | 中文字幕免费中文 | 成人看片在线观看 | 国产小视频在线看 | 韩国久久精品 | 久久久久久国产精品免费 | 91精品国产综合久久久久久 | 久久三区 | 日日摸天天添天天添破 | 一级全黄少妇性色生活免费看 | 红色av社区| 国产91综合 | 91xxx在线观看 | 精品免费 | 国产成人精品一区 | 成人在线免费观看 |