<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

怎樣分析單片機程序

作者: 時(shí)間:2012-08-02 來(lái)源:網(wǎng)絡(luò ) 收藏

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

1 詳細閱讀設備使用說(shuō)明書(shū)

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

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

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

3 分析掌握各部分的作用

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

3.1 單片機常用的

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

3.2 其他電路及連線(xiàn)

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

4 閱讀分析程序

4.1 所用語(yǔ)言

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

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

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

4.2.1 傳統的程序結構

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

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



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

關(guān)鍵詞: 單片機程序 外圍電路

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>