新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 怎樣分析單片機程序

怎樣分析單片機程序

作者: 時間:2012-08-02 來源:網(wǎng)絡 收藏

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

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

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

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

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

3 分析掌握各部分的作用

在單片機應用系統(tǒng)中,硬件是基礎,軟件的功能是對硬件進行合理調(diào)配和使用。在控制系統(tǒng)的開發(fā)中,軟件和硬件設計基本上是同步進行的。

3.1 單片機常用的

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

3.2 其他電路及連線

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

4 閱讀分析程序

4.1 所用語言

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

4.2 單片機程序的基本結(jié)構與組成

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

4.2.1 傳統(tǒng)的程序結(jié)構

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

在一鍵多義的情況下,監(jiān)控主程序要確定控制的轉(zhuǎn)向,除了要知道當前按鍵外,還得明確系統(tǒng)目前的“狀況”,即“狀態(tài)”??捎脿顟B(tài)表法設計監(jiān)控主程序,其核心是設計一張狀態(tài)表,規(guī)定應用系統(tǒng)在某一狀態(tài)下各按鍵的含義,包括應執(zhí)行哪一個命令處理子程序和完成狀態(tài)的正確變遷。狀態(tài)表的格式見表1。



上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉