版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 第一章 單片機(jī)的簡介</p><p> 一個(gè)8位的80c51微處理器,片內(nèi)256字節(jié)數(shù)據(jù)存儲(chǔ)器RAM/SFR,用以存放可以讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果,最終結(jié)果以及欲顯示的數(shù)據(jù);片內(nèi)4kb程序存儲(chǔ)器Flash ROM,用以存放程序,一些原始數(shù)據(jù)和表格;4個(gè)8位并行I/O口P0~P3,每個(gè)端口既可用作輸入,也可用作輸出;兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,每個(gè)定時(shí)器/計(jì)數(shù)器都可設(shè)置成計(jì)數(shù)方式,用以對(duì)
2、外部事件進(jìn)行計(jì)數(shù),也可設(shè)置成定時(shí)方式,并可以根據(jù)計(jì)數(shù)或者定時(shí)的結(jié)果實(shí)現(xiàn)計(jì)算機(jī)控制;具有5個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)的中斷控制系統(tǒng);一個(gè)全雙工UART(通用異步接受發(fā)送器)的串行I/O口,用于實(shí)現(xiàn)單片機(jī)之間或者單片機(jī)與PC機(jī)之間的串行通信;片內(nèi)振蕩器和時(shí)鐘產(chǎn)生電路,但石英晶體和微調(diào)電容需要外接,最高允許震蕩頻率為24MHz;89c51與80c51相比具有節(jié)電工作方式,即休閑方式及掉電方式。</p><p> 1.1
3、中央處理器(CPU):</p><p> CPU是單片機(jī)內(nèi)部的核心部件,是一個(gè)8位二進(jìn)制數(shù)的中央處理單元,主要由運(yùn)算器、控制器和寄存器陣列構(gòu)成。</p><p> 1.1.1 運(yùn)算器:</p><p> 運(yùn)算器用來完成算術(shù)運(yùn)算和邏輯運(yùn)算功能,它是 89C51內(nèi)部處理各種信息的主要部件。運(yùn)算器主要由算術(shù)邏輯單元(ALU)、累加器(ACC)、暫存寄存器(TMP1、
4、TMP2)和狀態(tài)寄存器(PSW)組成。算術(shù)邏輯單元(ALU): 89C51中的ALU由加法器和一個(gè)布爾處理器組成。 </p><p> 累加器(ACC):用來存放參與算術(shù)運(yùn)算和邏輯運(yùn)算的一個(gè)操作數(shù)或運(yùn)算的結(jié)果。</p><p> 暫存寄存器(TMP1、TMP2):用來存放參與算術(shù)運(yùn)算和邏輯運(yùn)算的另一個(gè)操作數(shù),它對(duì)用戶不開放。</p><p> 狀態(tài)寄存器(PS
5、W):PSW是一個(gè)8位標(biāo)志寄存器,用來存放ALU操作結(jié)果的有關(guān)狀態(tài)。</p><p><b> 1.1.2控制器:</b></p><p> 控制器是單片機(jī)內(nèi)部按一定時(shí)序協(xié)調(diào)工作的控制核心,是分析和執(zhí)行指令的部件??刂破髦饕沙绦蛴?jì)數(shù)器PC、指令寄存器IR、指令譯碼器ID和定時(shí)控制邏輯電路等構(gòu)成。程序計(jì)數(shù)器PC是專門用于存放現(xiàn)行指令的16位地址的。CPU就是根據(jù)P
6、C中的地址到ROM中去讀取程序指令碼和數(shù)據(jù),并送給指令寄存器IR進(jìn)行分析。指令寄存器IR用于存放CPU根據(jù)PC地址從ROM中讀出的指令操作碼。指令譯碼器ID是用于分析指令操作的部件,指令操作碼經(jīng)譯碼后產(chǎn)生相應(yīng)于某一特定操作的信號(hào)。定時(shí)控制邏輯中定時(shí)部件用來產(chǎn)生脈沖序列和多種節(jié)拍脈沖。 </p><p> 1.1.3寄存器陣列:</p><p> 寄存器陣列是單片機(jī)內(nèi)部的臨時(shí)存儲(chǔ)單元或固
7、定用途單元,包括通用寄存器組和專用寄存器組。通用寄存器組用來存放過渡性的數(shù)據(jù)和地址,提高CPU的運(yùn)行速度。</p><p> 專用寄存器組主要用來指示當(dāng)前要執(zhí)行指令的內(nèi)存地址,存放特定的操作數(shù),指示指令運(yùn)行的狀態(tài)等。</p><p><b> 1.1.4存儲(chǔ)器:</b></p><p> 89C51單片機(jī)內(nèi)部有256個(gè)字節(jié)的RAM數(shù)據(jù)存儲(chǔ)
8、器和4?KB的閃存程序存儲(chǔ)器(Flash),當(dāng)不夠使用時(shí),可分別擴(kuò)展為64 KB外部RAM存儲(chǔ)器和64 KB外部程序存儲(chǔ)器。它們的邏輯空間是分開的,并有各自的尋址機(jī)構(gòu)和尋址方式。這種結(jié)構(gòu)的單片機(jī)稱為哈佛型結(jié)構(gòu)單片機(jī)。</p><p> 程序存儲(chǔ)器是可讀不可寫的,用于存放編好的程序和表格常數(shù)。數(shù)據(jù)存儲(chǔ)器是既可讀也可寫的,用于存放運(yùn)算的中間結(jié)果,進(jìn)行數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。</p><p>
9、 89C51單片機(jī)對(duì)外部電路進(jìn)行控制或交換信息都是通過I/O端口進(jìn)行的。單片機(jī)的I/O端口分為并行I/O端口和串行I/O端口,它們的結(jié)構(gòu)和作用并不相同。</p><p><b> 并行I/O端口:</b></p><p> 89C51有四個(gè)8位并行I/O端口,分別命名為P0口、P1口、P2口和P3口,它們都是8位準(zhǔn)雙向口,每次可以并行輸入或輸出8位二進(jìn)制信息。
10、 </p><p><b> 串行I/O端口:</b></p><p> 89C51有一個(gè)全雙工的可編程串行I/O端口,它利用了P3口的第二功能,即將P3.1引腳作為串行數(shù)據(jù)的發(fā)送線TXD,將P3.0引腳作為串行數(shù)據(jù)的接收線RXD。 </p><p> 1.1.5 定時(shí)器/計(jì)數(shù)器:</p><p> 89C
11、51內(nèi)部有兩個(gè)16位可編程定時(shí)器/計(jì)數(shù)器,簡稱為定時(shí)器0(T0)和定時(shí)器1(T1),T0和T1分別由兩個(gè)8位寄存器構(gòu)成,其中T0由TH0(高8位)和TL0(低8位)構(gòu)成,T1由TH1(高8位)和TL1(低8位)構(gòu)成。TH0、TL0、TH1、TL1都是SFR中的特殊功能寄存器。</p><p> T0和T1在TCON和TMOD的控制下可工作在定時(shí)器模式或計(jì)數(shù)器模式下,每種模式下又有不同的工作方式。當(dāng)定時(shí)或計(jì)數(shù)溢出
12、時(shí)還可申請(qǐng)中斷。</p><p> 1.1.6中斷系統(tǒng):</p><p> 單片機(jī)中的中斷是指CPU暫停正在執(zhí)行的原程序轉(zhuǎn)而為中斷源服務(wù)(執(zhí)行中斷服務(wù)程序),在執(zhí)行完中斷服務(wù)程序后再回到原程序繼續(xù)執(zhí)行。中斷系統(tǒng)是指</p><p> 夠處理上述中斷過程所需要的部分電路。</p><p> 89C51的中斷系統(tǒng)由中斷源、中斷允許控制器I
13、E、中斷優(yōu)先級(jí)控制器IP、定時(shí)器控制器TCON(中斷標(biāo)志寄存器)等構(gòu)成,IE、IP、TCON均為SFR特殊功能寄存器(見表2.2)。</p><p> 1.1.7內(nèi)部總線:</p><p> 總線是用于傳送信息的公共途徑。總線可分為數(shù)據(jù)總線、地址總線和控制總線。單片機(jī)內(nèi)的CPU、存儲(chǔ)器、I/O接口等單元部件都是通過總線連接到一起的。采用總線結(jié)構(gòu)可以減少信息傳輸線的根數(shù),提高系統(tǒng)可靠性,
14、增強(qiáng)系統(tǒng)靈活性。</p><p> 89C51單片機(jī)內(nèi)部總線是單總線結(jié)構(gòu),即數(shù)據(jù)總線和地址總線是公用的。</p><p> 1.1.8 89C51單片機(jī)引腳及其功能:</p><p> 89C51有40條引腳,與其他51系列單片機(jī)引腳是兼容的。這40條引腳可分為I/O端口線、電源線、控制線、外接晶體線四部分。其封裝形式有兩種:雙列直插封裝(DIP)形式和方形
15、封裝形式,如圖所示。</p><p> (a) 雙列直插式封裝 (b) 方形封裝</p><p> 圖1 89C51封裝和引腳分配圖</p><p> 1.1.9 89C51單片機(jī)工作方式:</p><p> 單片機(jī)在開機(jī)時(shí)或在工作中因干擾而使程序失控或工作中程序處于某種死循環(huán)狀態(tài)等情況下都需要復(fù)位。復(fù)位的作用是使中央處理器
16、CPU以及其他功能部件都恢復(fù)到一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。</p><p> 1.1.9.1 復(fù)位原理:</p><p> 89C51單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號(hào)由RESET(RST)引腳輸入,高電平有效,在振蕩器工作時(shí),只要保持RST引腳高電平兩個(gè)機(jī)器周期,單片機(jī)即復(fù)位。復(fù)位后,PC程序計(jì)數(shù)器的內(nèi)容為0000H,其他特殊功能寄存器的復(fù)位狀態(tài)如表2.5所示。片內(nèi)RAM
17、中內(nèi)容不變。</p><p> 1.1.9.2 常用復(fù)位電路:</p><p> 一般有上電復(fù)位、手動(dòng)開關(guān)復(fù)位和自動(dòng)復(fù)位電路三種,如圖所示。 </p><p> (a)上電復(fù)位電路;(b) 手動(dòng)復(fù)位電路;(c) 自動(dòng)復(fù)位電路</p><p> 圖2 單片機(jī)復(fù)位電路圖</p><p> 1.1.9.3 89C
18、51時(shí)鐘電路:</p><p> 單片機(jī)內(nèi)各部件之間有條不紊的協(xié)調(diào)工作,其控制信號(hào)是在一種基本節(jié)拍的指揮下按一定時(shí)間順序發(fā)出的,這些控制信號(hào)在時(shí)間上的相互關(guān)系就是CPU時(shí)序。而產(chǎn)生這種基本節(jié)拍的電路就是振蕩器和時(shí)鐘電路。</p><p> 89C51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的單級(jí)反相放大器,如圖所示。</p><p> 圖3 89C51內(nèi)部振蕩器電路圖&
19、lt;/p><p> 引腳XTAL1為反相器輸入端,XTAL2為反相器輸出端。當(dāng)在放大器兩個(gè)引腳上外接一個(gè)晶體(或陶瓷振蕩器)和電容組成的并聯(lián)諧振電路作為反饋元件時(shí),便構(gòu)成一個(gè)自激振蕩器,如下圖所示。</p><p> 圖4 內(nèi)部振蕩器等效電路圖</p><p> 1.2 單片機(jī)的應(yīng)用領(lǐng)域</p><p> 1.2.1 在智能儀器儀表的應(yīng)
20、用:</p><p> 單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測(cè)量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測(cè)量設(shè)備(功率計(jì),示波器,各種分析儀)。</p><p
21、> 1.2.2在家用電器中的應(yīng)用:</p><p> 可以這樣說,現(xiàn)在的家用電器基本上都采用了單片機(jī)控制,從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備,五花八門,無所不在。</p><p> 1.2.3在工業(yè)控制中的應(yīng)用:</p><p> 用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)。例如工廠流水線的智能化管理,電梯
22、智能化控制、各種報(bào)警系統(tǒng),與計(jì)算機(jī)聯(lián)網(wǎng)構(gòu)成二級(jí)控制系統(tǒng)等。</p><p> 1.2.4在計(jì)算機(jī)網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用:</p><p> 現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計(jì)算機(jī)進(jìn)行數(shù)據(jù)通信,為在計(jì)算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實(shí)現(xiàn)了單片機(jī)智能控制,從手機(jī)、電話機(jī)、小型程控交換機(jī)、樓宇自動(dòng)通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處
23、可見的移動(dòng)電話,集群移動(dòng)通信,無線電對(duì)講機(jī)等。</p><p> 1.2.5單片機(jī)在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用:</p><p> 單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。 </p><p> 此外,單片機(jī)在工商、金融、科研、教育、國防航空等領(lǐng)域都有著十分廣泛的用途。
24、 </p><p> 1.3單片機(jī)的發(fā)
25、展趨勢(shì)</p><p> 單片機(jī)現(xiàn)在可以說是百花齊放,百家爭鳴的時(shí)期,世界上各大芯片制造公司都推出了自己的單片機(jī),從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供了廣闊的天地。</p><p> 縱觀單片機(jī)的發(fā)展過程,可以預(yù)示單片機(jī)的發(fā)展趨勢(shì),大致有:</p><p> 1.3.1
26、微型單片化:</p><p> 現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(chǔ)(RAM)、只讀程序存儲(chǔ)器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)、有些單片機(jī)將LCD(液晶)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶
27、的要求量身定做,制造出具有自己特色的單片機(jī)芯片。</p><p> 此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小?,F(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。</p><p> 1.3.2低功耗CMOS化:</p><p> MCS-51系列的
28、8031推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對(duì)單片機(jī)功耗要求越來越低,現(xiàn)在的各 個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。像80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于要求低功耗像電池供電的應(yīng)用場(chǎng)合。所以
29、這種工藝將是今后一段時(shí)期單片機(jī)發(fā)展的主要途徑。</p><p> 1.3.3主流與多品種共存:</p><p> 現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍以80C51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國臺(tái)灣的Winbond系列單片機(jī)。所以80C51占據(jù)了半壁江山。而Microchip公司的PIC精簡指令集合(RISC)也有著
30、強(qiáng)勁的發(fā)展勢(shì)頭,中國臺(tái)灣的HOLTEX公司近年的單片機(jī)產(chǎn)量與日俱增,與其底價(jià)質(zhì)優(yōu)的優(yōu)勢(shì),占據(jù)一定的市場(chǎng)份額。此外還有MOTOROLA公司的產(chǎn)品,日本幾大公司的專用單片機(jī)。在一定的時(shí)期內(nèi),這種情形將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ)、相輔相成、共同發(fā)展的道路。</p><p> 九十年代以后,單片機(jī)在結(jié)構(gòu)上采用雙CPU或內(nèi)部流水線,CPU位數(shù)有8位、16位、32位,時(shí)鐘頻率高達(dá)20MH
31、Z,片內(nèi)帶有PWM輸出、監(jiān)視定時(shí)器WDT、可編程計(jì)數(shù)器陣列PCA、DMA傳輸、調(diào)制解調(diào)器等。芯片向高度集成化、低功耗方向的發(fā)展,使得單片機(jī)在大量數(shù)據(jù)的實(shí)時(shí)處理、高級(jí)通信系統(tǒng)、數(shù)字信號(hào)處理、復(fù)雜工業(yè)過程控制、高級(jí)機(jī)器人以及局域網(wǎng)等方面得到大量應(yīng)用。這類單片機(jī)有NEC公司的MPD7800,MITSUBISHI公司的M337700,REVKWELL公司的R6500。</p><p> 第二章 AD9954簡介<
32、/p><p> 2.1 AD9954的內(nèi)部結(jié)構(gòu)</p><p> AD9954的內(nèi)部結(jié)構(gòu)如圖1所示,其主要特性如下:</p><p> ● 內(nèi)置400MSPs時(shí)鐘;</p><p> ● 內(nèi)含l4位DAC;</p><p> ●相位、幅度可編程;</p><p> ●有32位頻率轉(zhuǎn)換字;
33、</p><p> ●可用串行I/O控制;</p><p> ●內(nèi)置超高速模擬比較器</p><p> ●可自動(dòng)線性和非線性掃頻</p><p> ●內(nèi)部集成有1024 X 32位RAM;</p><p> ●采用1.8V電源供電;</p><p> ●可4 20倍倍頻;</p
34、><p> ●支持大多數(shù)數(shù)字輸入中的5、,輸入電平;</p><p><b> ●可實(shí)現(xiàn)多片同步。</b></p><p><b> 2.2引腳說明</b></p><p> AD9954采用48腳TQFP/EP封裝,其引腳排列如圖2所示,各引腳定義如下:I/0 UPDATE:在該引腳的上升沿可
35、把內(nèi)部緩沖存儲(chǔ)器中的內(nèi)容送到I/O寄存器中。引腳電平的建立和保持與SYNC-CLK輸出信號(hào)有關(guān);</p><p> DVDD和AVDD:數(shù)字與模擬電源引腳,電壓值為1.8V;</p><p> DGND和AGND:數(shù)字地與模擬地;</p><p> OSC/RE~CLK和OSC/REFCLK:參考時(shí)鐘或振蕩輸入端;</p><p>
36、限srAI。OUT:振蕩器輸出端;</p><p> CLKMODESEt.ECT:振蕩器控制端,為1時(shí)使能振蕩器,為0時(shí)不使能振蕩器;</p><p> LOOP—FILTER:該引腳應(yīng)與AVDD間串聯(lián)一個(gè)1kQ電阻和一個(gè)0.1ttF電容;</p><p> IOUT和IOUT:DAC輸出端,使用時(shí)應(yīng)接一個(gè)上拉電阻;</p><p>
37、 DACBP:DAC去耦端,使用時(shí)應(yīng)接一個(gè)0.01ttF的旁路電容;</p><p> DAC—R鯽:DAC復(fù)位端,使用時(shí)應(yīng)通過一個(gè)3.92kQ的電阻接至AGND端;</p><p> CO oUT:比較器輸出端,可以輸出方波或脈沖信號(hào);</p><p> COMP_IN和COMP—IN:比較器輸入端;</p><p> PWRDW
38、NCTL:外部電源掉電控制輸入引腳;</p><p> 砒蕊r:芯片復(fù)位端;</p><p> IOSYNC:異步串行端口控制復(fù)位引腳;為1時(shí),當(dāng)前I/O操作立即停止;為0時(shí)開始新的I/O操作;不用時(shí),此引腳必須接地;</p><p> SDO:采用3線串口操作時(shí),SDO為串行數(shù)據(jù)輸出端。</p><p> 采用2線串口操作時(shí),SDO
39、不用,可以不連;</p><p> C—S:片選端,低電平有效,允許多芯片共用I/O總線;</p><p> SCLK:I/O操作的串行數(shù)據(jù)時(shí)鐘輸入端;sD10:采用3線串口操作時(shí),SDO為串行數(shù)據(jù)輸入端,采用2線操作時(shí),SDO為雙向串行數(shù)據(jù)端;</p><p> DVDD_I/o:I/0電源,可以是1.8v或3.3V;</p><p>
40、; SYNC—IN:同步多片AD9954的輸入信號(hào),使用時(shí)與主AD9954的SYNC—CLK的輸出相連;</p><p> SYNC—CLK:時(shí)鐘輸出腳,為內(nèi)部時(shí)鐘的1/4,可用作外圍硬件同步;</p><p> OSK:在編程操作時(shí)可用該腳來控制幅度與時(shí)間斜率,與SYNC-CLK同步;當(dāng)OSK不能被編程時(shí),此腳接DGND;</p><p> PS1和PS0
41、:可用來選擇4個(gè)RAM段控制字區(qū)中的一個(gè)。</p><p> 2.3 AD9954的串行操作</p><p> 在AD9954的串行操作中,指令字節(jié)用來指定讀/寫操作和寄存器地址。由于串行操作是在寄存器級(jí)別上發(fā)生的,因此串行端口控制器應(yīng)能識(shí)別指令字節(jié)寄存器地址和自動(dòng)產(chǎn)生適當(dāng)?shù)募拇嫫髯止?jié)地址。在串行操作指令階段和通信階段,一般先傳送指令階段的指令字,指令階段對(duì)應(yīng)于SCLK的前8個(gè)上升沿
42、,其對(duì)應(yīng)的指令字(8比特)包含了以下信息:</p><p> 其中R/W位用于決定指令字后的操作是讀還是寫,高電平為讀出,低電平為寫入;6、5位的電平高低與操作無關(guān);4~0位則對(duì)應(yīng)于A4~A0,表示操作串行寄存器地址,該地址信息同時(shí)包含了與該指令字所在指令段對(duì)應(yīng)的通信段的傳送字節(jié)數(shù)。指令階段后接著是通訊階段,傳送對(duì)應(yīng)于字節(jié)數(shù)的幾個(gè)通信周期。</p><p> 通信周期完成后,AD995
43、4的串口控制器即認(rèn)為接下來的8個(gè)SCLK的上升沿對(duì)應(yīng)的是下一個(gè)通信周期的指令字。IOSYNC引腳為高時(shí)將立即終止當(dāng)前的通信周期,而當(dāng)IOSYNC引腳狀態(tài)回到低電平時(shí),AD9954串口控制器即認(rèn)為接下來的8個(gè)系統(tǒng)時(shí)鐘的上升沿對(duì)應(yīng)的是下一個(gè)通信周期的指令字,從而保持通信的同步。</p><p> AD9954的串行操作有兩種數(shù)據(jù)傳送方式,即從最高位開始傳送和從最低位開始傳送,這是由控制寄存器0的第8位來決定的。默認(rèn)
44、狀態(tài)為低電平,此時(shí)先傳送最高位,若為高電平則先傳送最低位。串行操作 </p><p> 的讀/寫時(shí)序如圖3所示。</p><p> 2.4 AD9954的RAM</p><p> AD9954內(nèi)部的1024×32靜態(tài)RAM具有雙向單一人口,對(duì)它進(jìn)行的讀/寫操作不能同時(shí)進(jìn)行,寫操作優(yōu)先。RAM的使能位是CFR<31> (控制功能寄存器的31
45、位),此位為低時(shí),對(duì)RAM的操作只能通過串行端口;此位為高且CFR<30> 為邏輯0時(shí),RAM的輸出為相位累加器的輸入,此時(shí)給芯片提供的是頻率轉(zhuǎn)換字;此位為高且CFR<30> 為邏輯1時(shí),RAM的輸出可作為相位偏移加法器的輸入給芯片提供相位偏移控制字。寫RAM的操作首先通過控制PSI、PSO來選擇RAM段,然后再對(duì)相應(yīng)的RAM控制寄存器寫RAM操作的地址變化率、起始地址、終止地址、模式控制和停留方式位。RAM段控
46、制寄存器的5、6、7位可用來指示RAM操作的5種模式,即直接轉(zhuǎn)換模式、上斜坡模式、雙向斜變模式、連續(xù)雙向斜變模式和連續(xù)循環(huán)模式。其中連續(xù)循環(huán)模式是使能RAM,RAM模式控制字為100,這種模式可提供自動(dòng)、連續(xù)、單向的掃頻,地址發(fā)生器從起始地址開始,當(dāng)其增加到終止地址后會(huì)自動(dòng)回到起始地址重新開始下次循環(huán)。</p><p> RAM段控制寄存器的39 24位可定義RAM控制器在每個(gè)地址停留的SYNC-CIK的周期數(shù)
47、.取值范圍是1—65535;9、8、23—16位用于定義10位終止地址;3—0、15—10位則用于定義10位起始地址。</p><p><b> 寄存器表1。</b></p><p> 2.5 如下為DDS的基本原理</p><p> 第三章 單片機(jī)與AD9954通信</p><p><b> 3.1
48、硬件原理 </b></p><p><b> 3.2 程序圖</b></p><p> 此程序的關(guān)健是單片機(jī)與AD9954進(jìn)行通信,只須看懂時(shí)序圖就可以了。</p><p><b> 第四單 調(diào)試</b></p><p> 下面用KEIL uVision與 porteus仿真軟件
49、介紹數(shù)字計(jì)算器的仿真與調(diào)試。</p><p> 4.1Keil C51單片機(jī)軟件開發(fā)系統(tǒng)</p><p> 4.1.1 系統(tǒng)的整體結(jié)構(gòu):</p><p> C51工具包的整體結(jié)構(gòu)中,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE
50、本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(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中。</p><p> 4.1.
51、2 采用KEIL 開發(fā)的89c51單片機(jī)應(yīng)用程序步驟:</p><p> ★.在uVision 集成開發(fā)環(huán)境中創(chuàng)建新項(xiàng)目(Project),擴(kuò)展文件名為.UV2,并為該項(xiàng)目選定合適的單片機(jī)CPU器件(本設(shè)計(jì)采用ATMEL 公司下的AT89C51)</p><p> ★.用uVision 的文本編輯器編寫源文件,可以是匯編文件(.ASM),也可以使C語言文件(擴(kuò)展名.C),并將該文件添加
52、到項(xiàng)目中去。一個(gè)項(xiàng)目文件可以包含多個(gè)文件,除了源程序文件外,還可以是庫文件、頭文件或文本說明文件。</p><p> ★.通過uVision 2 的相關(guān)選擇項(xiàng),配置編譯環(huán)境、連接定位器以及Debug調(diào)試器的功能。</p><p> ★.對(duì)項(xiàng)目中的源文件進(jìn)行編譯連接,生成絕對(duì)目標(biāo)代碼和可選的HEX文件,如果出現(xiàn)編譯連接錯(cuò)誤則返回到第2步,修改源文件中的錯(cuò)誤后重構(gòu)整個(gè)項(xiàng)目。</p&g
53、t;<p> ★.對(duì)沒有語法錯(cuò)誤的程序進(jìn)行仿真調(diào)試,調(diào)試成功后將HEX文件寫入到單片機(jī)應(yīng)用系統(tǒng)的ROM中。</p><p><b> 第五章 結(jié)束語</b></p><p> 畢業(yè)設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)
54、成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域,在生活中可以說得是無處不在。因此作為自動(dòng)化專業(yè)的學(xué)生來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。</p><p> 我的題目是單片機(jī)與AD9954硬軟件的設(shè)計(jì),對(duì)于我們這些工科學(xué)生來說,這是一次考驗(yàn)。怎么才能找到課堂所學(xué)與實(shí)際應(yīng)用的最佳結(jié)合點(diǎn)?怎樣讓自己的業(yè)余更接近專業(yè)?怎樣讓自己的計(jì)劃更具有序性,而不會(huì)忙無一用?這都是我們所要考慮和努力的。這次畢業(yè)設(shè)計(jì)我學(xué)到很多很多的東西,學(xué)會(huì)了
55、怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不良情緒。不僅鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡單的編程。通過這次畢業(yè)設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。</p><
56、;p> 同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,對(duì)單片機(jī)匯編語言掌握得不夠好。這次畢業(yè)設(shè)計(jì)通過自己的努力,同學(xué)的幫助,還有老師的辛勤指導(dǎo)下,最終順利完成了。</p><p><b> 參考文獻(xiàn):</b></p><p> [1] 侯玉寶, 陳忠平,,李成群. 《基于Proteus的51系列單片機(jī)設(shè)計(jì)與仿真
57、》 北京 電子工業(yè)出版社,2008</p><p> [2] 沈德金,陳粵初.MCS-51系列單片機(jī)接口電路與應(yīng)用程序?qū)嵗本┖娇蘸教齑髮W(xué)出版社,1990</p><p> [3] 胡漢才.單片機(jī)原理及接口技術(shù).清華大學(xué)出版社,1996</p><p> [4] 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京航空航天大學(xué)出版社,1990.1</
58、p><p> [5] 張毅剛、彭喜元、姜守達(dá)、喬立巖.新編MCS-51系列單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱工業(yè)大學(xué)出版社,2003.6</p><p> [6] 康萬新,謝維成,楊加國.《畢業(yè)設(shè)計(jì)指導(dǎo)及案例剖析》,清華大學(xué)出版社, 2007年</p><p> [7] 馬忠梅等.《單片機(jī)C語言應(yīng)用程序設(shè)計(jì)》.北京航空航天大學(xué)出版社,1997:201-211</p&g
59、t;<p> [8] 付家才,《單片機(jī)控制工程實(shí)踐技術(shù)》,化學(xué)工業(yè)出版社,2004年</p><p> [9] 及力,馬東升.《Protel 99SE原理圖與PCB設(shè)計(jì)教程》,電子工業(yè)出版社,2007年</p><p> [10] 黃智偉.《全國大學(xué)生電子設(shè)計(jì)競賽系統(tǒng)設(shè)計(jì)》,北京航空航天大學(xué)出版社,2006年</p><p><b>
60、 附表一:</b></p><p><b> 附表二:</b></p><p> #include <reg51.h></p><p> //#include"AD9954.h"</p><p> unsigned long CFR1 =0;</p>&l
61、t;p> unsigned long CFR1SLAVE=0x00800000;</p><p> unsigned long CFR2 =0;</p><p> unsigned long ASF;</p><p> unsigned long ARR;</p><p> unsigned long FTW0;</p&
62、gt;<p> unsigned long POW0;</p><p> unsigned long FTW1;</p><p> unsigned long NLSCW=0xFF000053E2;</p><p> unsigned long PLSCW=0xFF000053E2;</p><p> unsigne
63、d long multfreq=0xFFFFFFFF;//計(jì)算頻率控制字的系數(shù)</p><p> unsigned long CS2,PWR,RET,CLKMS;</p><p> sbit PS1=P1^0;</p><p> sbit PS0=P1^1; //RAM部分先擇控制</p><p> sbit SDIO=P1^3;//
64、當(dāng)做為3線口操作時(shí)做為串行數(shù)據(jù)輸入,采用2線時(shí),為雙向數(shù)據(jù)口</p><p> sbit SCLK=P1^4;//串行數(shù)據(jù)時(shí)鐘輸入端</p><p> sbit CS=P1^5;//片選項(xiàng),允許多個(gè)芯片共用I/O總線 </p><p> sbit OSK=P1^2;//編程操作時(shí)用來控制幅度與時(shí)間的斜率</p><p> sbi
65、t IO_UPDATE=P2^1;//在上升沿將buffer中的數(shù)據(jù)送到I/O寄存器中</p><p> sbit IO_SYNC=P1^7;//異步串行端口復(fù)位控制,為高停止,為0時(shí)繼續(xù)開始新的I/O操作</p><p> sbit SDO=P1^6;</p><p> //sbit jiak=P2^3;</p><p> //sb
66、it youyik=P2^2;</p><p> //sbit zuoyik=P2^1;</p><p> //sbit jiank=P2^0;</p><p> /***********************************************************************</p><p> **函數(shù)
67、名稱:端口操作</p><p> **功能描述:AD9954端口基本操作</p><p><b> **輸 入:無</b></p><p><b> **輸 出:無</b></p><p><b> **全局變量:無</b></p><p>&l
68、t;b> **調(diào)用模塊:無</b></p><p> ***********************************************************************/</p><p> void SCLK_0(void)</p><p><b> {</b></p><
69、;p><b> SCLK=0;</b></p><p><b> }</b></p><p> void SCLK_1(void)</p><p><b> {</b></p><p><b> SCLK=1;</b></p>
70、<p><b> }</b></p><p> void SDIO_0(void)</p><p><b> {</b></p><p><b> SDIO=0;</b></p><p><b> }</b></p>&
71、lt;p> void SDIO_1(void)</p><p><b> {</b></p><p><b> SDIO=1;</b></p><p><b> }</b></p><p> void CS_Enable(void)</p><
72、;p><b> {</b></p><p><b> CS=0; </b></p><p><b> }</b></p><p> void CS_Disable(void)</p><p><b> {</b></p>&l
73、t;p><b> CS=1;</b></p><p><b> }</b></p><p> void CS2_Enable(void)</p><p><b> {</b></p><p><b> CS2=0;</b></p>
74、;<p><b> }</b></p><p> void CS2_Disable(void)</p><p><b> {</b></p><p><b> CS2=1;</b></p><p><b> }</b></p&
75、gt;<p> void IO_UPDATE_0(void)</p><p><b> {</b></p><p> IO_UPDATE=0;</p><p><b> }</b></p><p> void IO_UPDATE_1(void)</p><
76、p><b> {</b></p><p> IO_UPDATE=1;</p><p><b> }</b></p><p> void IO_SYNC_1(void)</p><p><b> {</b></p><p> IO_SYN
77、C=1;</p><p><b> }</b></p><p> void IO_SYNC_0(void)</p><p><b> {</b></p><p> IO_SYNC=0;</p><p><b> }</b></p>
78、<p> void PS0_Set_High(void)</p><p><b> {</b></p><p><b> PS0=1;</b></p><p><b> }</b></p><p> void PS0_Set_Low(void)</p
79、><p><b> {</b></p><p><b> PS0=0;</b></p><p><b> }</b></p><p> void PS1_Set_High(void)</p><p><b> {</b><
80、;/p><p><b> PS1=1;</b></p><p><b> }</b></p><p> void PS1_Set_Low(void)</p><p><b> {</b></p><p><b> PS1=0;</b
81、></p><p><b> }</b></p><p> /***********************************************************************</p><p> **函數(shù)名稱:IO9954_Init</p><p> **功能描述:IO_Init
82、</p><p><b> **輸 入:無</b></p><p><b> **輸 出:無</b></p><p><b> **全局變量:無</b></p><p><b> **調(diào)用模塊:無</b></p><p>
83、 ***********************************************************************/</p><p> void IO9954_Init()</p><p><b> {</b></p><p><b> PWR=0;</b></p><
84、;p><b> RET=0;</b></p><p><b> CS2=0;</b></p><p><b> CLKMS=0;</b></p><p> IO_UPDATE=0;</p><p> IO_SYNC=0;</p><p>
85、<b> SDIO=0;</b></p><p><b> SCLK=0;</b></p><p><b> CS=0;</b></p><p><b> SDO=0;</b></p><p><b> }</b></
86、p><p> /***********************************************************************</p><p> **函數(shù)名稱:nNop</p><p> **功能描述:US級(jí)軟件延時(shí)(不精確)</p><p> **輸 入:延時(shí)參數(shù),值越大時(shí)延時(shí)越久</p>
87、<p><b> **輸 出:無</b></p><p><b> **全局變量:無</b></p><p><b> **調(diào)用模塊:無</b></p><p> ************************************************************
88、***********/</p><p> void nNop(unsigned long nValue)</p><p><b> {</b></p><p> unsigned long i;</p><p> for(i=nValue;i>0;i--);</p><p><
89、;b> }</b></p><p> /***********************************************************************</p><p> **函數(shù)名稱:WriteByte</p><p> **功能描述:向AD9954發(fā)送一字節(jié)數(shù)據(jù)MSB FIRST</p>&l
90、t;p> **輸 入:unsigned char data發(fā)送的數(shù)據(jù)</p><p><b> **輸 出:無</b></p><p><b> **全局變量:無</b></p><p> **調(diào)用模塊:端口操作nNop</p><p> **********************
91、*************************************************/</p><p> void WriteByte(unsigned char Data)</p><p><b> {</b></p><p> unsigned char k;</p><p> for(k=0;
92、k<8;k++)</p><p><b> {</b></p><p><b> SCLK_0();</b></p><p> nNop(4);//延時(shí)很重要</p><p> if((Data&0x80)==0x80)</p><p><b>
93、; SDIO_1();</b></p><p><b> else</b></p><p><b> SDIO_0();</b></p><p> Data=Data<1;</p><p> nNop(2);//延時(shí)很重要</p><p><
94、b> SCLK_1();</b></p><p> nNop(4);//延時(shí)很重要</p><p><b> }</b></p><p><b> }</b></p><p> /**********************************************
95、*************************</p><p> **函數(shù)名稱:ReadByte</p><p> **功能描述:從AD9954讀取一字節(jié)數(shù)據(jù)MSB FIRST</p><p><b> ** 輸 入:無</b></p><p> **輸 出:unsigned char讀回的數(shù)據(jù)</p&
96、gt;<p><b> **全局變量:無</b></p><p> **調(diào)用模塊:端口操作</p><p> ***********************************************************************/</p><p> unsigned char ReadByte(vo
97、id)</p><p><b> {</b></p><p> unsigned char Data=0;</p><p> unsigned char k;</p><p><b> SDIO=0;</b></p><p> for(k=0;k<8;k++)
98、</p><p><b> {</b></p><p><b> SCLK_0();</b></p><p><b> nNop(1);</b></p><p><b> nNop(1);</b></p><p><b
99、> SCLK_1();</b></p><p><b> nNop(1);</b></p><p><b> nNop(1);</b></p><p> Data=Data<<1;</p><p><b> if(SDIO)</b><
100、;/p><p><b> {</b></p><p> Data|=0x01;</p><p><b> }</b></p><p><b> }</b></p><p><b> SDIO=1;</b></p>
101、<p> return Data;</p><p><b> }</b></p><p> /***********************************************************************</p><p> **函數(shù)名稱:RW_Reg</p><p>
102、 **功能描述:AD9954讀寫寄存器操作</p><p> **輸 入:unsigned char addr寄存器地址</p><p> **unsigned char *buf寫寄存器:指向發(fā)送數(shù)據(jù)的指針</p><p> **讀寄存器:指向讀回?cái)?shù)據(jù)的指針</p><p> **unsigned char num發(fā)送或讀回的數(shù)據(jù)長
103、度 num Byte</p><p> **unsigned char rw讀寫選擇1 讀0寫</p><p><b> **輸 出:無</b></p><p><b> **全局變量:無</b></p><p> **調(diào)用模塊:ReadByte WriteByte</p>&
104、lt;p> ***********************************************************************/</p><p> void RW_Reg(unsigned char addr,unsigned char*buf,unsigned char num,unsigned char rw)</p><p><b>
105、 {</b></p><p> unsigned char ins;</p><p><b> if(rw==1)</b></p><p><b> {</b></p><p> ins=addr|0x80;</p><p> WriteByte(ins
106、);</p><p><b> do{</b></p><p> buf[num-1]=ReadByte();</p><p><b> num--;</b></p><p><b> nNop(5);</b></p><p><b>
107、 }</b></p><p> while(num);</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> ins=addr;
108、</b></p><p> WriteByte(ins);</p><p><b> do{</b></p><p> WriteByte(buf[num-1]);</p><p><b> num--;</b></p><p><b> nN
109、op(5);</b></p><p><b> }</b></p><p> while(num);</p><p><b> }</b></p><p><b> }</b></p><p> /*****************
110、******************************************************</p><p> **函數(shù)名稱AD9954_Write_Reg</p><p> **功能描述:AD9954寫寄存器操作</p><p> **輸 入:unsigned long command寫入寄存器的指令</p><p>
111、 **unsigned char num發(fā)送或讀回的數(shù)據(jù)長度num Byte</p><p> **unsigned char addr寄存器地址</p><p><b> **輸 出:無</b></p><p><b> **全局變量:無</b></p><p> **調(diào)用模塊:RW_R
112、eg</p><p> ***********************************************************************/</p><p> void AD9954_Write_Reg(unsigned long command,unsigned char num,unsigned char addr)</p><p&g
113、t;<b> {</b></p><p> unsigned char temp_com[5]={0,0,0,0,0};</p><p> unsigned char i;</p><p> unsigned long temp;</p><p> temp=command;</p><p&
114、gt; for(i=0;i<num;i++)</p><p><b> {</b></p><p> temp_com[i]=(temp&0xff);</p><p> temp=temp>>8;</p><p><b> }</b></p><
115、;p> RW_Reg(addr,temp_com,num,0);</p><p><b> }</b></p><p> /***********************************************************************??</p><p> **函數(shù)名稱:FTW_Float</
116、p><p> **功能描述:將浮點(diǎn)型頻率值MHZ轉(zhuǎn)換成頻率控制字</p><p> **輸 入:float freqfloat浮點(diǎn)型頻率值MHZ</p><p> **輸 出:unsigned long4 byte頻率控制字</p><p><b> **全局變量:無</b></p><p>
117、<b> **調(diào)用模塊:無</b></p><p> ***********************************************************************/</p><p> unsigned long FTW_Float(float freqfloat)</p><p><b> {
118、</b></p><p> unsigned long temp=0; </p><p> float freqf=0;</p><p> freqf=freqfloat/20;//AD9954主頻20MHZ</p><p> temp=(freqf*multfreq);</p><p> ret
119、urn(temp);</p><p><b> }</b></p><p> /***********************************************************************??</p><p> **函數(shù)名稱:更新數(shù)據(jù)操作</p><p> **功能描述:每次更新
120、寄存器的固定操作</p><p><b> **輸 入:無</b></p><p><b> **輸 出:無</b></p><p><b> **全局變量:無</b></p><p><b> **調(diào)用模塊:無</b></p>&l
121、t;p> ***********************************************************************/</p><p> void AD9954_Updata_First(void)</p><p><b> {</b></p><p> IO9954_Init();</p
122、><p> CS_Enable();</p><p> IO_SYNC_1();</p><p><b> nNop(40);</b></p><p> IO_SYNC_0();</p><p> IO_UPDATE_0();</p><p><b> }
123、</b></p><p> void AD9954_Updata_Final(void)</p><p><b> {</b></p><p> CS_Disable();</p><p><b> nNop(20);</b></p><p> IO_U
124、PDATE_1();</p><p><b> }</b></p><p> /*****************************************************************************</p><p> *Single-Tone Mode</p><p> ***
125、***************************************************************************/</p><p> /***********************************************************************</p><p> **函數(shù)名稱:AD9954_SingleTone_I
126、nit</p><p> **功能描述:AD9954 Single-Tone Mode初始化</p><p><b> **輸 入:無</b></p><p><b> **輸 出:無</b></p><p> **全局變量:CFR1 CFR2 AD9954功能控制寄存器</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-單片機(jī)
- labview與單片機(jī)通信設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 單片機(jī)溫控畢業(yè)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)板
- 基于單片機(jī)的畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的三維平臺(tái)(軟件)設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)--單片機(jī)控制的led點(diǎn)陣顯示
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的電子時(shí)鐘
- 單片機(jī)畢業(yè)設(shè)計(jì)英文翻譯--單片機(jī)的組成
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于51單片機(jī)的數(shù)碼日歷鐘的設(shè)計(jì)與制作
- 單片機(jī)畢業(yè)設(shè)計(jì)--汽車轉(zhuǎn)彎燈單片機(jī)控制
- 單片機(jī)畢業(yè)設(shè)計(jì)---單片機(jī)控制交通燈
- 基于單片機(jī)畢業(yè)設(shè)計(jì)---基于單片機(jī)的汽車倒車?yán)走_(dá)的設(shè)計(jì)與實(shí)現(xiàn)
- 單片機(jī)與智能洗衣機(jī)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---單片機(jī)數(shù)字時(shí)鐘設(shè)計(jì)
- 單片機(jī)畢業(yè)設(shè)計(jì)開題報(bào)告
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)
- 單片機(jī)定時(shí)鬧鐘畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論