www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]循環(huán)程序結(jié)構(gòu)的特點(diǎn)是程序中含有可以反復(fù)執(zhí)行的程序段,該程序段通常稱為循環(huán)體。例如,求100個(gè)數(shù)的累加和,沒(méi)有必要連續(xù)安排100條加法指令,可以只用一條加法指令并使其循

循環(huán)程序結(jié)構(gòu)的特點(diǎn)是程序中含有可以反復(fù)執(zhí)行的程序段,該程序段通常稱為循環(huán)體。例如,求100個(gè)數(shù)的累加和,沒(méi)有必要連續(xù)安排100條加法指令,可以只用一條加法指令并使其循環(huán)執(zhí)行100次。因此循環(huán)程序不僅可以縮短程序長(zhǎng)度和使程序所占的內(nèi)存單元數(shù)量更少,也能使程序結(jié)構(gòu)緊湊,可讀性強(qiáng)。

1.循環(huán)程序的結(jié)構(gòu)

循環(huán)結(jié)構(gòu)程序主要由以下四部分組成。

(1)循環(huán)初始化循環(huán)初始化

程序段用于完成循環(huán)前的準(zhǔn)備工作。例如,循環(huán)控制計(jì)數(shù)初值的設(shè)置、地址指針的起始地址的設(shè)置、為變量預(yù)置初值等。

(2)循環(huán)處理

這是循環(huán)程序結(jié)構(gòu)的核心部分,完成實(shí)際的處理工作,它是需反復(fù)循環(huán)執(zhí)行的部分,故又稱循環(huán)體。這部分程序的內(nèi)容,取決于實(shí)際要處理的問(wèn)題本身。

(3)循環(huán)控制

在重復(fù)執(zhí)行循環(huán)體的過(guò)程中,不斷修改循環(huán)控制變量,直到符合結(jié)束條件,就結(jié)束循環(huán)程序的執(zhí)行。循環(huán)結(jié)束控制方法分為循環(huán)計(jì)數(shù)控制法和條件控制法。

(4)循環(huán)結(jié)束

這部分是對(duì)循環(huán)程序執(zhí)行的結(jié)果進(jìn)行分析、處理和存放。

上面介紹的四部分有時(shí)能較明顯地劃分,有時(shí)則相互包含,不一定能明顯區(qū)分。

2.循環(huán)結(jié)構(gòu)的控制

根據(jù)循環(huán)控制部分不同,循環(huán)程序結(jié)構(gòu)可分為循環(huán)計(jì)數(shù)控制結(jié)構(gòu)和條件控制結(jié)構(gòu)。左圖是計(jì)數(shù)循環(huán)控制結(jié)構(gòu),圖右是條件控制結(jié)構(gòu)。

 

(1)計(jì)數(shù)循環(huán)控制結(jié)構(gòu) 計(jì)數(shù)循環(huán)控制結(jié)構(gòu)是依據(jù)計(jì)數(shù)器的值來(lái)決定循環(huán)次數(shù),一般為減1計(jì)數(shù)器,計(jì)數(shù)器減到O時(shí),結(jié)束循環(huán)。計(jì)數(shù)器的初值是在初始化時(shí)設(shè)定的。

MCS-51指令系統(tǒng)提供了功能極強(qiáng)的循環(huán)控制指令:

 

例如,計(jì)算n個(gè)數(shù)據(jù)的和,計(jì)算公式為

 

 

按這個(gè)公式,可以很容易地畫出相應(yīng)的程序框圖,如圖右所示

。從這個(gè)框圖中,也可以看出循環(huán)程序的基本結(jié)構(gòu)。

1. 求n個(gè)單字節(jié)無(wú)符號(hào)數(shù)xi的和,xi按i順序存放在AT89S51單片機(jī)內(nèi)部RAM從50H開(kāi)始的單元中,n放在R2中,現(xiàn)將要求的和(雙字節(jié))放在R3R4中,程序如下:

 

在這里,用寄存器R2作為計(jì)數(shù)控制變量,RO作為變址單元,用它來(lái)尋址xi。一般來(lái)說(shuō),循環(huán)工作部分中的數(shù)據(jù)應(yīng)該用間接方式來(lái)尋址,如這里用

ADD A,@RO

計(jì)數(shù)控制方法只有在循環(huán)次數(shù)已知的情況下才適用。對(duì)循環(huán)次數(shù)未知的問(wèn)題,不能用循環(huán)次數(shù)來(lái)控制,往往需要根據(jù)某種條件來(lái)判斷是否應(yīng)該終止循環(huán)。

(2)條件控制結(jié)構(gòu) 條件控制結(jié)構(gòu)如圖4-9所示。條件控制就是在循環(huán)控制中,設(shè)置一個(gè)條件,判斷是否滿足該條件,如滿足條件,則循環(huán)結(jié)束;如果不滿足該條件,則循環(huán)繼續(xù)。

2. 設(shè)有一串字符,依次存放在內(nèi)部RAM從30H單元開(kāi)始的連續(xù)單元中,該字符串以O(shè)AH為結(jié)束標(biāo)志,編寫測(cè)試字符串長(zhǎng)度的程序。

本例采用逐個(gè)字符依次與“0AH”比較(設(shè)置的條件)的方法。為此設(shè)置一個(gè)長(zhǎng)度計(jì)數(shù)器和一個(gè)字符串指針。長(zhǎng)度計(jì)數(shù)器用來(lái)累計(jì)字符串的長(zhǎng)度,字符串指針用于指定字符。如果指定字符與“0AH”不相等,則長(zhǎng)度計(jì)數(shù)器和字符串指針都加1,以便繼續(xù)往下比較;如果比較相等,則表示該字符為“0AH”,字符串結(jié)束,長(zhǎng)度計(jì)數(shù)器的值就是字符串的長(zhǎng)度。程序如下:

 

上面介紹的兩個(gè)例子都是在一個(gè)循環(huán)程序中不再包含其他循環(huán)程序,該循環(huán)程序稱為單循環(huán)程序。如果一個(gè)循環(huán)程序中包含了其他循環(huán)程序,則稱為多重循環(huán)程序。

最常見(jiàn)的多重循環(huán)是由DJNZ指令構(gòu)成的軟件延時(shí)程序。

3. 50 ms延時(shí)程序。

軟件延時(shí)程序與指令執(zhí)行時(shí)間有很大的關(guān)系。在使用12 MHz晶振時(shí),一個(gè)機(jī)器周期為1”s,執(zhí)行一條DJNZ指令的時(shí)間為2μs。這時(shí),可用雙重循環(huán)方法寫出如下程序:

 

以上延時(shí)程序不是太精確,如把所有指令的執(zhí)行時(shí)間計(jì)算在內(nèi),它的延時(shí)時(shí)間為

 

如果要求比較精確的延時(shí),應(yīng)該考慮對(duì)上述程序進(jìn)行修改。但要注意,用軟件實(shí)現(xiàn)延時(shí)程序,不允許有中斷,否則將嚴(yán)重影響定時(shí)的準(zhǔn)確性。

對(duì)于需延時(shí)更長(zhǎng)的時(shí)間,可采用更多重的循環(huán),如1s延時(shí),可用三重循環(huán)。[!--empirenews.page--]

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在這篇文章中,小編將對(duì)PLC的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對(duì)它的了解程度,和小編一起來(lái)閱讀以下內(nèi)容吧。

關(guān)鍵字: PLC 模塊化 程序

為增進(jìn)大家對(duì)嵌入式的認(rèn)識(shí),本文將對(duì)嵌入式開(kāi)發(fā)以及學(xué)習(xí)嵌入式需要注意的事項(xiàng)予以介紹。

關(guān)鍵字: 嵌入式 指數(shù) 嵌入式開(kāi)發(fā)

中國(guó)上海,2025年4月7日 — 全球領(lǐng)先的嵌入式系統(tǒng)開(kāi)發(fā)軟件解決方案供應(yīng)商IAR正式發(fā)布全新云就緒平臺(tái),為嵌入式開(kāi)發(fā)團(tuán)隊(duì)提供企業(yè)級(jí)的可擴(kuò)展性、安全性和自動(dòng)化能力。該平臺(tái)于在德國(guó)紐倫堡舉辦的embedded world...

關(guān)鍵字: 自動(dòng)化 嵌入式開(kāi)發(fā) RISC-V

在嵌入式系統(tǒng)開(kāi)發(fā)領(lǐng)域,VS Code(Visual Studio Code)作為一款輕量級(jí)但功能強(qiáng)大的代碼編輯器,正逐漸成為開(kāi)發(fā)者的首選工具。本文將詳細(xì)介紹如何在VS Code上搭建嵌入式開(kāi)發(fā)環(huán)境,并分享一些調(diào)試技巧。

關(guān)鍵字: VS Code 嵌入式開(kāi)發(fā)

隨著汽車電子化、智能化程度的不斷提高,車載以太網(wǎng)(Automotive Ethernet)作為新一代車載網(wǎng)絡(luò)通信技術(shù),正逐漸成為汽車內(nèi)部通信的主干網(wǎng)絡(luò)。它以其高帶寬、低延遲和強(qiáng)抗干擾能力,為汽車提供了更加高效、可靠的數(shù)據(jù)...

關(guān)鍵字: 車載以太網(wǎng) 嵌入式開(kāi)發(fā)

隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,嵌入式系統(tǒng)對(duì)實(shí)時(shí)性、低功耗和可擴(kuò)展性的要求越來(lái)越高。Zephyr RTOS(實(shí)時(shí)操作系統(tǒng))作為一款專為資源受限設(shè)備設(shè)計(jì)的開(kāi)源RTOS,憑借其輕量級(jí)、模塊化和高可擴(kuò)展性,在嵌入式開(kāi)發(fā)領(lǐng)域得到了廣泛...

關(guān)鍵字: 嵌入式開(kāi)發(fā) Zephyr RTOS 物聯(lián)網(wǎng)

為探索高速公路智慧供電系統(tǒng)設(shè)計(jì)思路及應(yīng)用要點(diǎn) ,從高速公路機(jī)電工程傳統(tǒng)供配電方式及運(yùn)行現(xiàn)狀出發(fā) , 對(duì)高 速公路機(jī)電工程智慧供電系統(tǒng)的構(gòu)成及總體設(shè)計(jì)展開(kāi)分析 ,進(jìn)而分隧道機(jī)電和道路機(jī)電兩個(gè)場(chǎng)景探析高速公路機(jī)電工程智慧 供...

關(guān)鍵字: 高速公路 機(jī)電工程 智慧供電系統(tǒng) 設(shè)計(jì) 應(yīng)用

嵌入式開(kāi)發(fā),作為電子工程和計(jì)算機(jī)科學(xué)交叉領(lǐng)域的重要分支,對(duì)于構(gòu)建穩(wěn)定、高效的軟件系統(tǒng)提出了獨(dú)特挑戰(zhàn)。本文將深入探討嵌入式開(kāi)發(fā)的可靠方法論,結(jié)合實(shí)例與代碼,為開(kāi)發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開(kāi)發(fā) 計(jì)算機(jī)科學(xué)

嵌入式開(kāi)發(fā),作為電子工程和計(jì)算機(jī)科學(xué)的交匯點(diǎn),對(duì)軟件系統(tǒng)的穩(wěn)定性和效率提出了極高的要求。本文將結(jié)合具體案例,深入探討嵌入式開(kāi)發(fā)中的可靠方法論,為開(kāi)發(fā)者提供一套系統(tǒng)化的指導(dǎo)原則。

關(guān)鍵字: 嵌入式開(kāi)發(fā) 智能家居

在科技日新月異的今天,嵌入式開(kāi)發(fā)作為連接硬件與軟件的橋梁,在物聯(lián)網(wǎng)、智能設(shè)備、工業(yè)自動(dòng)化等領(lǐng)域扮演著至關(guān)重要的角色。對(duì)于許多技術(shù)愛(ài)好者而言,自學(xué)嵌入式開(kāi)發(fā)既是一個(gè)充滿魅力的挑戰(zhàn),也是一條通往創(chuàng)新實(shí)踐的必由之路。然而,這條...

關(guān)鍵字: 嵌入式開(kāi)發(fā) 物聯(lián)網(wǎng)
關(guān)閉