freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)控制步進(jìn)電機(jī)的系統(tǒng)畢業(yè)論文-文庫(kù)吧

2025-06-12 14:08 本頁(yè)面


【正文】 磁繞組,利用磁導(dǎo)的變化產(chǎn)生轉(zhuǎn)矩。感應(yīng)子式步進(jìn)電機(jī)與傳統(tǒng)的反應(yīng)式步進(jìn)電機(jī)相比,結(jié)構(gòu)上轉(zhuǎn)子加有永磁體,以提供軟磁材料的工作點(diǎn),而定子激磁只需提供變化的磁場(chǎng)而不必提供磁材料工作點(diǎn)的耗能,因此該電機(jī)效率高,電流小,發(fā)熱低。因永磁體的存在,該電機(jī)具有較強(qiáng)的反電勢(shì),其自身阻尼作用比較好,使其在運(yùn)轉(zhuǎn)過(guò)程中比較平穩(wěn)、噪音低、低頻振動(dòng)小。感應(yīng)子式步進(jìn)電機(jī)某種程度上可以看作是低速同步電機(jī)。一個(gè)四相電機(jī)可以作四相運(yùn)行,也可以作二相運(yùn)行。(必須采用雙極電壓驅(qū)動(dòng)),而反應(yīng)式電機(jī)則不能如此。3 常用軟件基礎(chǔ)知識(shí) C語(yǔ)言程序設(shè)計(jì)概述 C語(yǔ)言出現(xiàn)的歷史背景C語(yǔ)言是國(guó)際上廣泛流行的計(jì)算機(jī)高級(jí)語(yǔ)言,既可用來(lái)寫系統(tǒng)軟件,也可用來(lái)寫應(yīng)用軟件。C語(yǔ)言是在B語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,它的根源可以追溯到ALGOL60。1960年出現(xiàn)的ALGOL60是一種面向問(wèn)題的高級(jí)語(yǔ)言,它離硬件比較遠(yuǎn),不宜用來(lái)編寫系統(tǒng)程序。1963年英國(guó)的劍橋大學(xué)推出了CPL (bined programming language)語(yǔ)言。CPL語(yǔ)言在ALGOL60的基礎(chǔ)上接近硬件一些,但規(guī)模比較大,難以實(shí)現(xiàn)。1967年英國(guó)劍橋大學(xué)的Matin Richard對(duì)CPL語(yǔ)言做了簡(jiǎn)化,推出了BCPL(basic bined programming language)語(yǔ)言。1970年美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson以BCPL語(yǔ)言為基礎(chǔ), 又做了進(jìn)一步簡(jiǎn)化,設(shè)計(jì)出了很簡(jiǎn)單的而且很接近硬件的B語(yǔ)言(取BCPL的第一個(gè)字母),并用B語(yǔ)言寫了第一個(gè)UNIX操作系統(tǒng),在PDP 7上實(shí)現(xiàn)。1971年在PDP 11/20上實(shí)現(xiàn)了B語(yǔ)言,并寫了UNIX操作系統(tǒng)。但B語(yǔ)言過(guò)于簡(jiǎn)單,功能有限。1972年至1973年間, 在B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了C語(yǔ)言(取BCPL的第二個(gè)字母)。C語(yǔ)言既保持了BCPL和B語(yǔ)言的優(yōu)點(diǎn)(精練,接近硬件),又克服了它們的缺點(diǎn)(過(guò)于簡(jiǎn)單,數(shù)據(jù)無(wú)類型等)。最初的C語(yǔ)言只是為描述和實(shí)現(xiàn)UNIX操作系統(tǒng)提供一種工作語(yǔ)言而設(shè)計(jì)的。1973年,%以上用C改寫,即UNIX第5版。原來(lái)的UNIX ,是用匯編語(yǔ)言寫的。1972年至1973年間, 在B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了C語(yǔ)言(取BCPL的第二個(gè)字母)。C語(yǔ)言既保持了BCPL和B語(yǔ)言的優(yōu)點(diǎn)(精練,接近硬件),又克服了它們的缺點(diǎn)(過(guò)于簡(jiǎn)單,數(shù)據(jù)無(wú)類型等)。最初的C語(yǔ)言只是為描述和實(shí)現(xiàn)UNIX操作系統(tǒng)提供一種工作語(yǔ)言而設(shè)計(jì)的。1973年,%以上用C改寫,即UNIX第5版。原來(lái)的UNIX ,是用匯編語(yǔ)言寫的。后來(lái),C語(yǔ)言多次做了改進(jìn),但主要還是在貝爾實(shí)驗(yàn)室內(nèi)部使用。直到1975年UNIX第6版公布后,C語(yǔ)言的突出優(yōu)點(diǎn)才引起人們的普遍注意。1977年出現(xiàn)了不依賴于具體機(jī)器的C語(yǔ)言編譯文本《可移植C語(yǔ)言編譯程序》,使C移植到其他機(jī)器時(shí)所需做的工作大大簡(jiǎn)化了,這也推動(dòng)了UNIX操作系統(tǒng)迅速地在各種機(jī)器上實(shí)現(xiàn)。例如VAX、 ATamp。T等計(jì)算機(jī)系統(tǒng)都相繼開(kāi)發(fā)了UNIX。隨著UNIX的日益廣泛使用,C語(yǔ)言也迅速得到推廣。C語(yǔ)言和UNIX可以說(shuō)是一對(duì)孿生兄弟,在發(fā)展過(guò)程中相輔相成。1978年以后,C語(yǔ)言已先后移植到大、中、小、微型機(jī)上,已獨(dú)立于UNIX和PDP了?,F(xiàn)在C語(yǔ)言已風(fēng)靡全世界,成為世界上應(yīng)用最廣泛的幾種計(jì)算機(jī)語(yǔ)言之一。以1978年發(fā)表的UNIX第7版中的C編譯程序?yàn)榛A(chǔ),Brian (合稱Kamp。R)合著了影響深遠(yuǎn)的名著《The C Programming Language》,這本書中介紹的C語(yǔ)言成為后來(lái)廣泛使用的C語(yǔ)言版本的基礎(chǔ),它被稱為標(biāo)準(zhǔn)C。1983年,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)根據(jù)C語(yǔ)言問(wèn)世以來(lái)各種版本對(duì)C的發(fā)展和擴(kuò)充,制定了新的標(biāo)準(zhǔn),稱為ANSI C。 ANSI C比原來(lái)的標(biāo)準(zhǔn)C有了很大的發(fā)展。K amp。 R在1988年修改了他們的經(jīng)典著作《The C Programming Language》,按照 ANSI C 標(biāo)準(zhǔn)重新寫了該書。1987年,ANSI又公布了新標(biāo)準(zhǔn)——87 ANSIC。1990年,國(guó)際標(biāo)準(zhǔn)化組織ISO(International Standard Organization) 接受87 ANSI C為ISO C 的標(biāo)準(zhǔn)(ISO 9899—1990)。目前流行的C編譯系統(tǒng)都是以它為基礎(chǔ)的。本書的敘述基本上以ANSI C 為基礎(chǔ)。目前廣泛流行的各種版本C語(yǔ)言編譯系統(tǒng)雖然基本部分是相同的,但也有一些不同。在微型機(jī)上使用的有Microsoft C、Turbo C、Quick C、BORLAND C等,它們的不同版本又略有差異。因此,應(yīng)了解所用的計(jì)算機(jī)系統(tǒng)所配置的C編譯系統(tǒng)的特點(diǎn)和規(guī)定。 C語(yǔ)言的特點(diǎn)C語(yǔ)言通常稱為中級(jí)計(jì)算機(jī)語(yǔ)言。中級(jí)語(yǔ)言并沒(méi)有貶義,不意味著它功能差、難以使用、或者比B A S I C、P a s c a l那樣的高級(jí)語(yǔ)言原始,也不意味著它與匯編語(yǔ)言相似,會(huì)給使用者帶來(lái)類似的麻煩。C語(yǔ)言之所以被稱為中級(jí)語(yǔ)言,是因?yàn)樗迅呒?jí)語(yǔ)言的成分同匯編語(yǔ)言的功能結(jié)合起來(lái)了。作為中級(jí)語(yǔ)言,C允許對(duì)位、字節(jié)和地址這些計(jì)算機(jī)功能中的基本成分進(jìn)行操作。C語(yǔ)言程序非常容易移植??梢浦残员硎緸槟撤N計(jì)算機(jī)寫的軟件可以用到另一種機(jī)器上去。舉例來(lái)說(shuō),如果為蘋果機(jī)寫的一個(gè)程序能夠方便地改為可以在IBM PC 上運(yùn)行的程序,則稱為是可移植的。所有的高級(jí)語(yǔ)言都支持?jǐn)?shù)據(jù)類型的概念。一個(gè)數(shù)據(jù)類型定義了一個(gè)變量的取值范圍和可在其上操作的一組運(yùn)算。常見(jiàn)的數(shù)據(jù)類型是整型、字符型和實(shí)數(shù)型。雖然C語(yǔ)言有五種基本數(shù)據(jù)類型,但與P a s c a l或A d a相比,它卻不是強(qiáng)類型語(yǔ)言。C程序允許幾乎所有的類型轉(zhuǎn)換。例如,字符型和整型數(shù)據(jù)能夠自由地混合在大多數(shù)表達(dá)式中進(jìn)行運(yùn)算。這在強(qiáng)類型高級(jí)語(yǔ)言中是不允許的。C語(yǔ)言的另一個(gè)重要特點(diǎn)是它僅有3 2個(gè)關(guān)鍵字,這些關(guān)鍵字就是構(gòu)成C語(yǔ)言的命令。和IBM PC的B A S I C相比,后者包含的關(guān)鍵字達(dá)1 5 9個(gè)之多。 C語(yǔ)言是結(jié)構(gòu)化語(yǔ)言。雖然從嚴(yán)格的學(xué)術(shù)觀點(diǎn)上看,C語(yǔ)言是塊結(jié)構(gòu)(b l o c k s t r u c t u r e d)語(yǔ)言,但是它還是常被稱為結(jié)構(gòu)化語(yǔ)言。這是因?yàn)樗诮Y(jié)構(gòu)上類似于A L G O L、P a s c a l和M o d u l a 2(從技術(shù)上講,塊結(jié)構(gòu)語(yǔ)言允許在過(guò)程和函數(shù)中定義過(guò)程或函數(shù)。用這種方法,全局和局部的概念可以通過(guò)“作用域”規(guī)則加以擴(kuò)展,“作用域”管理變量和過(guò)程的“可見(jiàn)性”。因?yàn)镃語(yǔ)言不允許在函數(shù)中定義函數(shù),所以不能稱之為通常意義上的塊結(jié)構(gòu)語(yǔ)言)。結(jié)構(gòu)化語(yǔ)言的顯著特征是代碼和數(shù)據(jù)的分離。這種語(yǔ)言能夠把執(zhí)行某個(gè)特殊任務(wù)的指令和數(shù)據(jù)從程序的其余部分分離出去、隱藏起來(lái)。獲得隔離的一個(gè)方法是調(diào)用使用局部(臨時(shí))變量的子程序。通過(guò)使用局部變量,我們能夠?qū)懗鰧?duì)程序其它部分沒(méi)有副作用的子程序。這使得編寫共享代碼段的程序變得十分簡(jiǎn)單。如果開(kāi)發(fā)了一些分離很好的函數(shù),在引用時(shí)我們僅需要知道函數(shù)做什么,不必知道它如何做。切記:過(guò)度使用全局變量(可以被全部程序訪問(wèn)的變量)會(huì)由于意外的副作用而在程序中引入錯(cuò)誤。結(jié)構(gòu)化語(yǔ)言比非結(jié)構(gòu)化語(yǔ)言更易于程序設(shè)計(jì),用結(jié)構(gòu)化語(yǔ)言編寫的程序的清晰性使得它們更易于維護(hù)。這已是人們普遍接受的觀點(diǎn)了。C語(yǔ)言的主要結(jié)構(gòu)成分是函數(shù)C的獨(dú)立子程序。在C語(yǔ)言中,函數(shù)是一種構(gòu)件(程序塊),是完成程序功能的基本構(gòu)件。函數(shù)允許一個(gè)程序的諸多任務(wù)被分別定義和編碼,使程序模塊化??梢源_信,一個(gè)好的函數(shù)不僅能正確工作且不會(huì)對(duì)程序的其它部分產(chǎn)生副作用。 C語(yǔ)言是程序員的語(yǔ)言。也許你會(huì)問(wèn)“所有的計(jì)算機(jī)語(yǔ)言不都是程序員使用的嗎?”,回答是斷然的“否”。我們考慮典型的非程序員的語(yǔ)言C O B O L和B A S I C。C O B O L的設(shè)計(jì)使程序員難以改變所編寫代碼的可靠性,甚至不能提高代碼的編寫速度。然而C O B O L設(shè)計(jì)者的本意卻是打算使非程序員能讀程序(這是不大可能的事)。注意,這并不是攻擊C O B O L的優(yōu)點(diǎn),而是想指出,它沒(méi)有被設(shè)計(jì)成為程序員的理想語(yǔ)言。BASIC 的主要目的是允許非專業(yè)程序員在計(jì)算機(jī)上編程解決比較簡(jiǎn)單的問(wèn)題。與其形成鮮明對(duì)照的是C 語(yǔ)言,由于程序生成、修改和現(xiàn)場(chǎng)測(cè)試自始至終均由真正的程序員進(jìn)行,因而它實(shí)現(xiàn)了程序員的期望:很少限制、很少?gòu)?qiáng)求、塊結(jié)構(gòu)、獨(dú)立的函數(shù)以及緊湊的關(guān)鍵字集合。用C語(yǔ)言編程,程序員可以獲得高效機(jī)器代碼,其效率幾乎接近匯編語(yǔ)言代碼。C語(yǔ)言被程序員廣泛使用的另一個(gè)原因是可以用它代替匯編語(yǔ)言。匯編語(yǔ)言使用的匯編指令,是能夠在計(jì)算機(jī)上直接執(zhí)行的二進(jìn)制機(jī)器碼的符號(hào)表示。匯編語(yǔ)言的每個(gè)操作都對(duì)應(yīng)為計(jì)算機(jī)執(zhí)行的單一指令。雖然匯編語(yǔ)言給予程序員達(dá)到最大靈活性和最高效率的潛力,但開(kāi)發(fā)和調(diào)試匯編語(yǔ)言程序的困難是難以忍受的。非結(jié)構(gòu)性使得匯編語(yǔ)言程序難于閱讀、改進(jìn)和維護(hù)。也許更重要的是,匯編語(yǔ)言程序不能在使用不同C P U的機(jī)器間移植。最初,C語(yǔ)言被用于系統(tǒng)程序設(shè)計(jì)。一個(gè)“系統(tǒng)程序”是一大類程序的一部分,這一大類構(gòu)成了計(jì)算機(jī)操作系統(tǒng)及實(shí)用程序。通常被稱為系統(tǒng)程序的有: 操作系統(tǒng); 翻譯程序; 編輯程序; 匯編程序; 編譯程序; 數(shù)據(jù)庫(kù)管理程序;隨著C語(yǔ)言的普及,加之其可移植性和高效率,許多程序員用它設(shè)計(jì)各類程序。幾乎所有的計(jì)算機(jī)上都有C語(yǔ)言編譯程序,這使我們可以很少改動(dòng)甚至不加改動(dòng)地將為一種機(jī)器寫的C 語(yǔ)言源程序在另一種機(jī)器上編譯執(zhí)行??梢浦残怨?jié)省了時(shí)間和財(cái)力。C語(yǔ)言不僅在速度和結(jié)構(gòu)上有它的優(yōu)勢(shì),而且每個(gè)C語(yǔ)言系統(tǒng)都提供了專門的函數(shù)庫(kù),程序員可以根據(jù)不同需要對(duì)其進(jìn)行剪裁,以適應(yīng)各種程序的設(shè)計(jì)。由于它允許(更準(zhǔn)確地說(shuō)是鼓勵(lì))分別編譯,所以C語(yǔ)言可使程序員方便地管理大型項(xiàng)目,最大限度地減少重復(fù)勞動(dòng)。 Keil編譯器軟件簡(jiǎn)介Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹Keil C51開(kāi)發(fā)系統(tǒng)各部分功能和使用。 C51工具包整體結(jié)構(gòu)圖Keil C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),其中uVision與Ishell分別是C51 for Windows和for DOS的集成開(kāi)發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM 中。 使用Keil軟件建立一個(gè)工程Keil是目前進(jìn)行51單片機(jī)開(kāi)發(fā)最常用的編譯軟件。關(guān)于Keil的使用,有很多的資料介紹,這里只介紹其整個(gè)編譯過(guò)程,在最短時(shí)間內(nèi)開(kāi)始使用Easy 51DP2開(kāi)發(fā)板。對(duì)于Keil更詳細(xì)的介紹,可以參考一些專門書籍資料。在Keil里,每一個(gè)完整的程序,都是以一個(gè)工程的形式建立的。一個(gè)工程里可以有一個(gè)或多個(gè)*.c文件和*.h文件,但只可以有一個(gè)main()函數(shù)。一般的做法是將包含main()函數(shù)的C文件加入到工程中,其他文件以include頭文件的形式加到這個(gè)C文件里。這樣,在編譯的時(shí)候,其他的文件會(huì)被自動(dòng)的導(dǎo)入到工程里來(lái)。打開(kāi)Keil軟件后,出現(xiàn)()所示界面。當(dāng)然,如果Keil在上次關(guān)閉時(shí)有打開(kāi)的工程,再一次打開(kāi)時(shí)它會(huì)自動(dòng)加載上一次的工程文件。 Keil軟件主界面首先點(diǎn)擊ProjectNew Project…(ProjectOpen Project…為打開(kāi)一個(gè)已經(jīng)存在的工程)。 Keil軟件打開(kāi)新工程界面點(diǎn)開(kāi)后,在出現(xiàn)的對(duì)話框中選擇工程存在路徑,單擊“保存”后,出現(xiàn)()界面。在此界面上選擇電路板上所用的單片機(jī)型號(hào):Atmel AT89S51(或者是AT89S52,視開(kāi)發(fā)板上具體型號(hào)而定),單擊“確定”。 選擇電路板上所用的單片機(jī)型號(hào)設(shè)置完成后,軟件會(huì)提示“是否將8051上電初始化程序添加入工程?”,這個(gè)一般選擇“否”。() 是否將8051上電初始化程序添加入工程這樣,就建立了一個(gè)空的51工程。接下來(lái)的事,就是在這個(gè)工程里面加入自己的程序代碼。點(diǎn)擊,或者FileNew,便建立了一個(gè)空的文本框?,F(xiàn)在,就可以開(kāi)始在里面輸入你的代碼了。保存時(shí)注意:如果是用C語(yǔ)言寫的程序,則將文本保存成*.c,如果是用匯編寫的程序,則將文本存成*.asm。到目前為步,我們已經(jīng)建立了一個(gè)工程,也寫了一個(gè)程序代碼。但現(xiàn)在還不能開(kāi)始編譯。因?yàn)檫€沒(méi)有將程序代碼添加到工程里面去。下一步就是將寫完的程序添加到工程里面,在左邊Project Workspace里的Source Group 1上右擊,選擇Add Files to Group ’Source Group 1’。在打開(kāi)的對(duì)話框中,選擇剛存的文件路徑和對(duì)應(yīng)的擴(kuò)展名。這樣,程序就添加進(jìn)了這個(gè)工程。 添加文件到工程中下一步,就開(kāi)始編譯剛輸入進(jìn)去的代碼。點(diǎn)擊工具欄中的按鈕。接著,Keil會(huì)打出下面的提示:Build target 39。Target 139。assembling ...linking...Program Size: data= xdata=0 code=100first 0 Error(s), 0 Warning(s).其中“first 0 Error(s), 0 Warning(s).”說(shuō)明現(xiàn)在的工程編譯通過(guò),0個(gè)錯(cuò)誤和0個(gè)警告。建立工程的時(shí)候,默認(rèn)是不生成HEX文件的,得在編譯做如下設(shè)置:?jiǎn)螕?,或者在Project Workspace里Target 1上右擊,
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1