版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 直流電壓表</b></p><p><b> 摘要</b></p><p> 隨著時代的進步, 用指針式萬用表測量小幅度直流電壓已經(jīng)顯得有些不太方便。因為指針式的測量不夠精確,隨著長時間的使用可能會造成歐姆調(diào)零以及機械調(diào)零的磨損, 這都會對數(shù)據(jù)的測量造成很多困難,而采用數(shù)字式電壓表來測量就可以避免這種情況的發(fā)生,
2、而且操作更加方便。 下面本文將介紹一種由數(shù)字電路以及單片機構(gòu)成的數(shù)字電壓表的設(shè)計方法。</p><p> 數(shù)字電壓表(Digital Voltmeter)簡稱 DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表</p><p><b> 關(guān)鍵字</b></p><p> 89C51單
3、片機 電壓表 Keil ADC0832數(shù)模轉(zhuǎn)換器 </p><p><b> 目錄</b></p><p><b> 第一章概述5</b></p><p> 第二章 直流電壓表的設(shè)計總方案………………………………………7</p><p> 硬件電路設(shè)計……………………………………………
4、……9</p><p> 軟件電路設(shè)計…………………………………………………23</p><p> 個人負責模塊AD0832驅(qū)動程序設(shè)計………………………26</p><p> 直流電壓表的安裝與調(diào)試……………………………………33</p><p> 存在故障分析與進一步改進…………………………………35</p><
5、;p> 結(jié)論……………………………………………………………37</p><p> 參考文獻………………………………………………………………38</p><p> 附錄……………………………………………………………………39</p><p><b> 第一章 概述</b></p><p> 1.1 課程設(shè)計
6、的題目</p><p><b> 直流電壓表</b></p><p> 1.2課程設(shè)計的課題概述</p><p> 本設(shè)計運用 89C51 和 ADC0832 進行 A/D 轉(zhuǎn)換,根據(jù)數(shù)據(jù)采集的工作原理,設(shè)計現(xiàn)數(shù)字電壓表,最后完成單片機與 PC 的數(shù)據(jù)通信,傳送所測量的電壓值。該新數(shù)字電壓表測量電壓類型是直流,測量范圍是 0-51V(本設(shè)
7、計量程為 0-5V)。 </p><p> 電路包括:數(shù)據(jù)采集電路的單片機最小化系統(tǒng)設(shè)計、 單片機與 PC 接口電路、單片機時鐘電路、復位電路等。下位機采用 89C51 芯片,A/D轉(zhuǎn)換采用 ADC0832 芯片。通過 下載口與 PC 進行通信,傳送所測量的直流電壓數(shù)據(jù)。 </p><p> 1.3課程設(shè)計的設(shè)計指標</p><p> ?。?)利用51系列單片機
8、和相關(guān)器件,設(shè)計一個直流電壓表。</p><p> ?。?)測量電壓范圍:0-5V</p><p> ?。?)測量精度:0.01V</p><p> (4)設(shè)置最低電壓閾值,低于該值則系統(tǒng)報警。</p><p> ?。?)其他功能(創(chuàng)新部分)。</p><p> 提示:為實現(xiàn)設(shè)置最低電壓閾值,低于該值則系統(tǒng)報警功能
9、,系統(tǒng)可以設(shè)置3個功能鍵,即:K1—設(shè)置鍵、K2—數(shù)字加鍵、K3—數(shù)字減鍵。通過對數(shù)字加鍵或數(shù)字減鍵操作,可以對設(shè)定上限或下限電壓每次操作增加或減小0.01度;通過K1的操作次序確定當前的顯示和校正內(nèi)容,由S2和S3進行校正</p><p> 第二章 直流電壓表的設(shè)計總方案</p><p> 直流電壓表的基本組成和設(shè)計思路</p><p><b>
10、2.1.1基本組成</b></p><p><b> 2.1.2設(shè)計思路</b></p><p> 根據(jù)設(shè)計要求,選擇AT89c51單片機為核心控制器件;</p><p> A/D轉(zhuǎn)換采用ADC0832實現(xiàn),與單片機的接口為P2^4,P2^5,P2^6;</p><p> 電壓顯示采用LCD1602實
11、現(xiàn)</p><p> LCD的輸入是與并行口P0產(chǎn)生</p><p><b> 2.1.3設(shè)計方案</b></p><p> 硬件電路設(shè)計有8部分組成:A/D轉(zhuǎn)換電路,AT89C51單片機系統(tǒng),LCD顯示系統(tǒng)、報警電路、按鍵調(diào)節(jié)電路、時鐘電路、復位電路以及測量電壓輸電路。硬件電路設(shè)計框圖如圖1所示:</p><p>
12、; 圖1數(shù)字電壓表系統(tǒng)硬件設(shè)計框圖</p><p> 軟件電路主要有LCD驅(qū)動、顯示函數(shù)、0832A/D轉(zhuǎn)換函數(shù)模塊、按鍵調(diào)節(jié)模塊、報警函數(shù)模塊還有延遲程序等6大模塊組成,大體流程圖如下;</p><p> 第三章 硬件電路設(shè)計</p><p> 3.1 A/D轉(zhuǎn)換模塊</p><p> A /D轉(zhuǎn)換在單片機接口中應用廣泛,串行
13、A /D轉(zhuǎn)換器具有功耗低、性價比較高、芯片引腳少等特點。ADC0832是NS(National Semiconductor)公司生產(chǎn)的具有Microwire / Plus串行接口的8位A /D轉(zhuǎn)換器,通過三線接口與單片機連接,適宜在袖珍式智能儀器中使用。主要性能指標有: 功耗低, 只有15mW; 8位分辨率,逐次逼近型,基準電壓為5V;輸入模擬信號電壓范圍為0~5V;輸入和輸出電平與TTL和CMOS兼容;在250kHz時鐘頻率時,轉(zhuǎn)換時
14、間為32us;具有兩個可供選擇的模擬輸入通道。</p><p> 3.1.2 A/D轉(zhuǎn)換的原理</p><p> 3.1.2.1 ADC0832的引腳及配置位功能</p><p> ADC0832有D IP和SO IC兩種封裝,D IP封裝ADC0832引腳排列如圖1所示。各引腳說明如下圖2:</p><p> 圖2 ADC8032引
15、腳圖</p><p> CS———片選端,低電平有效。</p><p> CH0, CH1———兩路模擬信號輸入端。</p><p> D I———兩路模擬輸入選擇輸入端。</p><p> DO———模數(shù)轉(zhuǎn)換結(jié)果串行輸出端。</p><p> CLK———串行時鐘輸入端。</p><p&
16、gt; VCC /REF———正電源端和基準電壓輸入端。</p><p> GND———電源地。</p><p> ADC0832工作時,模擬通道的選擇及單端輸入和差分輸入的選擇,都取決于輸入時序的配置位當差分輸入時,要分配輸入通道的極性,兩個輸入通道的任何一個通道都可作為正極或負極。</p><p> 3.1.3 ADC0832的工作時序</p>
17、;<p> 當CS由高變低時,選中ADC0832。在時鐘的上升沿,D I端的數(shù)據(jù)移入ADC0832內(nèi)部的多路地址移位寄存器。在第一個時鐘期間, D I為高,表示啟動位,緊接著輸入兩位配置位。當輸入啟動位和配置位后,選通輸入模擬通道,轉(zhuǎn)換開始。轉(zhuǎn)換開始后,經(jīng)過一個時鐘周期延遲, 以使選定的通道穩(wěn)定。ADC 0832 接著在第4個時鐘下降沿輸出轉(zhuǎn)換數(shù)據(jù)。</p><p> 數(shù)據(jù)輸出時先輸出最高位(D
18、7~D0) ;輸出完轉(zhuǎn)換結(jié)果后,又以最低位開始重新輸出一遍數(shù)據(jù)(D7 ~D0) ,兩次發(fā)送的最低位共用。當片選CS為高時,內(nèi)部所有寄存器清0,輸出變?yōu)楦咦钁B(tài)。如果要再進行一次模/數(shù)轉(zhuǎn)換,片選CS必須再次從高向低跳變,后面再輸入啟動位和配置位。</p><p> 3.2 LCD1602顯示模塊</p><p> 3.2.1 LCD顯示的原理</p><p> 3
19、.2.1.1 線段的顯示:點陣圖形式液晶由M×N個顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對應1字節(jié)的8位,即每行由16字節(jié),共16×8=128個點組成,屏上64×16個顯示單元與顯示RAM區(qū)1024字節(jié)相對應,每一字節(jié)的內(nèi)容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區(qū)的000H——00FH的16字節(jié)的內(nèi)容決定,當(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長
20、度為8個點;當(3FFH)=FFH時,則屏幕的右下角顯示一條短亮線;當(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。</p><p> 3.2.1.2 字符的顯示 </p><p> 用LCD顯示一個字符時比較復雜,因為一個字符由6
21、215;8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)找出顯示RAM對應的地址,設(shè)立光標,在此送上該字符對應的代碼即可。 </p><p> 3
22、.2.1.3 漢字的顯示</p><p> 漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5……右邊為2、4、6……根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)可找出顯示RAM對應的地址,設(shè)立光標,送上要顯示的漢字的第一字節(jié),光標位置加1,送第二個字節(jié),換行按列對齊,送第三個字節(jié)……直到32B顯示完就可以LCD上得
23、到一個完整漢字</p><p> 3.2.2 1602字符型LCD簡介 </p><p> 字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。一般1602字符型液晶顯示器實物如圖 </p><p> 3.2.2.1 1602LCD的基本參數(shù)及引腳功能</p><p&
24、gt; `LCD1602主要技術(shù)參數(shù):顯示容量:16×2個字符 ;芯片工作電壓:4.5—5.5V ;工作電流:2.0mA(5.0V); 模塊最佳工作電壓:5.0V ;</p><p> 字符尺寸:2.95×4.35(W×H)mm</p><p> 引腳功能說明如表1 :</p><p> 表1 引腳接口說明表</p>
25、<p> 第1腳:VSS為地電源。 </p><p> 第2腳:VDD接5V正電源。 </p><p> 第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。 </p><p> 第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄
26、存器。 </p><p> 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。 </p><p> 第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。 </p
27、><p> 第15腳:背光源正極。 </p><p> 第16腳:背光源負極。</p><p> 3.2.2.2 1602液晶模塊內(nèi)部的控制器控制指令</p><p> 1602液晶模塊內(nèi)部的控制器共有11條控制指令,如上表所示</p><p> 1602液晶模塊的讀寫操作,屏幕和光標的操作都是通過指令編程來實現(xiàn)
28、的。(說明1為高電平,0為低電平) </p><p> 指令1:清顯示,指令碼01H,光標復位到地址00H位置 </p><p> 指令2:光標復位,光標返回到地址00H </p><p> 指令3:光標和顯示位置設(shè)置I/D,光標移動方向,高電平右移,低電平左移,S:屏幕上所有文字是否左移或右移,高電平表示有效,低電平表示無效。 </p><
29、;p> 指令4:顯示開關(guān)控制。D:控制整體的顯示開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示。C:控制光標的開與關(guān),高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。 </p><p> 指令5:光標或顯示移位 S/C :高電平時顯示移動的文字,低電平時移動光標 </p><p> 指令6:功能設(shè)置命令 DL:高電平時為4位總線,低電平時為8位總
30、線 N:低電平時為單行顯示,高電平時為雙行顯示,F(xiàn):低電平時顯示5X7的點陣字符,高電平時顯示5X10的顯示字符。 </p><p> 指令7:字符發(fā)生器RAM地址設(shè)置。 </p><p> 指令8:DDRAM地址設(shè)置。 </p><p> 指令9:讀忙信號和光標地址 BF:忙標志位,高電平表示忙,此時模塊不能接收命令或數(shù)據(jù),如果為低電平表示不忙。</p
31、><p> 3.2.2.3 基本操作時序 </p><p> 讀寫操作時序如圖所示;</p><p><b> 寫操作時序如圖:</b></p><p> 3.3按鍵模塊和報警電路</p><p><b> 按鍵如圖所示</b></p><p>
32、<b> 報警電路如圖:</b></p><p> 為實現(xiàn)設(shè)置最低電壓閾值,低于該值則系統(tǒng)報警功能,系統(tǒng)設(shè)置了3功能鍵,即:S2設(shè)置鍵、S3數(shù)字加鍵、S4數(shù)字減鍵。通過對數(shù)字加鍵或數(shù)字減鍵操作,可以對設(shè)定上限或下限電壓每次操作增加或減小0.01度;通過K1的操作次序確定當前的顯示和校正內(nèi)容,由S3H和S4校正</p><p><b> 3.4單片機系統(tǒng)
33、</b></p><p> 3.4.1 AT89c51的性能</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51
34、 ?指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。AT89C51功能性能與成品MCS-51成品指令系統(tǒng)完全兼容;4KB可編程閃束存儲器;壽命1000次寫/查循環(huán);數(shù)據(jù)保留時間十年;全靜態(tài)工作:0-24MHZ;三級程序存儲器鎖定;128*8B內(nèi)部RAM;32個課編程I/O口線;2個16位定時/計時器;5個中斷;可
35、編程串行UART通道;片內(nèi)振蕩器和掉電模式。</p><p> 3.4.2 AT89C51個引腳的功能</p><p> VCC:供電電壓。GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FI
36、ASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 </p><p> P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸
37、出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 </p>
38、<p> P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 </p><p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p> 口管腳 備選功能P3.0 RXD(串行輸入口)
39、 P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1) </p><p> P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復位輸入。當振蕩器復位器件時
40、,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,
41、MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;
42、當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加1</p><p> 3.4.3 單片機晶振電路</p><p> XTAL1、XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求
43、,但必須保證脈沖的高低電平要求的寬度。</p><p> 3.4.4單片機復位電路</p><p> 復位電路的基本功能是 系統(tǒng)上電時提供復位信號直至系統(tǒng)電源穩(wěn)定后撤銷復位信號為可靠起見電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復位信號以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復位</p><p><b> 軟件電路設(shè)計</b></p
44、><p><b> 4.1 初始化程序</b></p><p> 所謂初始化,是對將要用到的51單片機內(nèi)部部件或擴展芯片進行初始化工作狀態(tài)設(shè)定。初始化子程序的主要工作是設(shè)置定時器的工作模式,初值預置,開中斷和打開定時器等。程序如下所示:</p><p> TMOD=0x01;//定時器0,模式1</p><p> T
45、H0=TIME0H;//定時器初值的高八位送入TH0</p><p> TL0=TIME0L;//定時器初值的低八位送入TH0</p><p> TR0=1;//啟動定時器</p><p> ET0=1;//開定時器中斷</p><p> EA=1;//開總中斷</p><p> 4.2 A/D轉(zhuǎn)換程序<
46、;/p><p> A/D轉(zhuǎn)換程序用來控制對輸入的模塊電壓信號的采集測量,并將對應的數(shù)值存入相應的內(nèi)存單元,其中流程圖如圖:</p><p><b> 4.3顯示程序</b></p><p> 運用LCD1602進行驅(qū)動顯示,程序模塊包括LCD初始化、1個字符子程序、1個命令子程序、1個數(shù)據(jù)子程序、1個數(shù)據(jù)子程序以及組字符寫入LCD進行驅(qū)動顯示
47、;模式設(shè)置為:8位2行5*7點陣,控制指令如圖下圖,按照指令進行編寫程序,驅(qū)動LCD1602.</p><p><b> 4.4按鍵調(diào)節(jié)程序</b></p><p> 為實現(xiàn)設(shè)置最低電壓閾值,低于該值則系統(tǒng)報警功能,系統(tǒng)設(shè)置3個功能鍵,即:K1—設(shè)置鍵、K2—數(shù)字加鍵、K3—數(shù)字減鍵。通過對數(shù)字加鍵或數(shù)字減鍵操作,可以對設(shè)定上限或下限電壓每次操作增加或減小0.01
48、度;通過K1的操作次序確定當前的顯示和校正內(nèi)容,由S2和S3進行校正,并且可以一位位進行調(diào)節(jié)并不影響臨近數(shù)值,穩(wěn)定</p><p> 個人負責模塊最小系統(tǒng),報警程序設(shè)計</p><p> 5.1 晶振電路及功能介紹</p><p> 單片機系統(tǒng)里都有晶振,在單片機系統(tǒng)里晶振作用非常大,全程叫晶體振蕩器,他結(jié)合單片機內(nèi)部電路產(chǎn)生單片機所需的時鐘頻率,單片機晶振提
49、供的時鐘頻率越高,那么單片機運行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機晶振提供的時鐘頻率。</p><p> 單片機晶振的作用是為系統(tǒng)提供基本的時鐘信號。通常一個系統(tǒng)共用一個晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調(diào)整頻率的方法保持同步。 晶振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時鐘頻率。如果不同子系統(tǒng)需要不同頻率的時鐘信號,可以
50、用與同一個晶振相連的不同鎖相環(huán)來提供。</p><p> 我們采用的晶振是12M的石英晶振,經(jīng)過兩個磁片電容后分別接入XTAL1、XTAL2腳,使用單片機的內(nèi)部晶振電路。12M晶振為單片機提供1uS的機器周期。</p><p> 5.2 按鍵復位電路</p><p> 單片機在啟動時都需要復位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系
51、列單片機的復位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機器周期(24個振蕩周期)以上,則CPU就可以響應并將系統(tǒng)復位。單片機系統(tǒng)的復位方式有:手動按鈕復位和上電復位。</p><p><b> 5.21上電復位</b></p><p> AT89S51的上電復位電路,只要在R
52、ST復位輸入引腳上接一電容至Vcc端,下接一個電阻到地即可。對于CMOS型單片機,由于在RST端內(nèi)部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至1?F。上電復位的工作過程是在加電時,復位電路通過電 容加給RST端一個短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時間取決于電容的充電時間。為了保證系統(tǒng)能夠可靠地復位,RST端的高電平信號必須維持足夠長的時間。上電時,
53、Vcc的上升時間約為10ms,而振蕩器的起振時間取決于振蕩頻率,如晶振頻率為10MHz,起振時間為1ms;晶振頻率為1MHz,起振時間則為10ms。在圖2的復位電路中,當Vcc掉電時,必然會使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個負電壓將不會對器件產(chǎn)生損害。另外,在復位期間,端口引腳處于隨機狀態(tài),復位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時得不到有效的復位,則程序計數(shù)器PC將得不到一個合適的初值,因此,
54、CPU可能會從一個未被定義的位置開始執(zhí)行程序</p><p><b> 5.22 按鍵位</b></p><p> 手動按鈕復位需要人為在復位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕。當人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。手動按鈕復位的電路如所示。由于人的動作再快也會使按鈕保持接通達數(shù)十毫秒,所以,完全
55、能夠滿足復位的時間要求。</p><p> 在設(shè)計中,我們采用按鍵復位,在電路圖中,電容的的大小是10uF,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機的電源是5V,所以充電到0.7倍即為3.5V),需要的時間是10K*10UF=0.1S。在單片機啟動0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當按鍵按下
56、的時候,開關(guān)導通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓在0.1S內(nèi),從5V釋放到變?yōu)榱?.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系統(tǒng)自動復位。</p><p> 5.3 報警程序設(shè)計的驅(qū)動程序編寫及詳細分析</p>&l
57、t;p> void vShowVoltage (uint uiNumber,uchar cNumber[])</p><p><b> { </b></p><p> ucharucaNumber[3]; </p><p> uchar ucCount;</p><p> if((uiNumber
58、<255)&&(uiNumber>0))</p><p><b> {</b></p><p> ucaNumber[0]=cNumber[0];</p><p> ucaNumber[1]=cNumber[1];</p><p> ucaNumber[2]=cNumber[2];&l
59、t;/p><p> for(ucCount=0;ucCount<3;ucCount++)</p><p><b> {</b></p><p> Show_1_Char(ucaNumber[ucCount]+48);</p><p> if(ucCount==0)</p><p> S
60、how_1_Char('.');</p><p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p> {Show_Char("-.--");}</p>
61、<p> 適應一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI 數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇.</p><p> 5.2 AD0832的工作原理</p><p&g
62、t; 5.2.1 ADC0832的特點</p><p> 8位分辨率;雙通道A/D轉(zhuǎn)換; 輸入輸出電平與TTL/CMOS相兼容; 5V電源供電時輸入電壓在0~5V之間; 工作頻率為250KHZ,轉(zhuǎn)換時間為32μS; 一般功耗僅為15mW; 8P、14P—DIP(雙列直插)、PICC 多種封裝; 商用級芯片溫寬為0°C to +70°C,工業(yè)級芯片溫寬為?40°C to +8
63、5°C;</p><p> 5.2.2 ADC0832的優(yōu)點</p><p> ADC0832A/D轉(zhuǎn)換芯片0——255級,可以適應一般的模擬量轉(zhuǎn)換要求其內(nèi)部電源輸入與參考電壓的復用,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。 5.2.3
64、ADC0832的工作模式</p><p> 只用一通道 DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設(shè)計時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。 5.2.3 ADC0832的工作時序</p><p> 當ADC0832未工作時其CS輸入端應為高電平,此時芯片禁用,CLK和DO/DI的電平可任意。當要進行A/D轉(zhuǎn)換時,須先將 CS使能端置于低電平并且保持低電
65、平直到轉(zhuǎn)換完全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號. 2位數(shù)據(jù)為1,0時,只對CH0進行單通道轉(zhuǎn)換(本程序用通道0)為1,1時,只對CH1進行單通道轉(zhuǎn)換;為0,0時,將CH0作為正輸入端IN+,CH1作為負輸入端IN-進行輸入;為0,1時,將CH0作為負輸入端IN-,CH1作為正輸入端IN+進行輸入。 從第4個脈沖下沉開始由DO端輸出轉(zhuǎn)換
66、數(shù)據(jù)最高位DATA7,隨后每一個脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個脈沖時發(fā)出最低位數(shù)據(jù)DATA0,一個字節(jié)的數(shù)據(jù)輸出完成。 也正是從此位開始輸出下一個相反字節(jié)的數(shù)據(jù),即從第11個字節(jié)的下沉輸出DATD0。 隨后輸出8位數(shù)據(jù),到第19個脈沖時數(shù)據(jù)輸出完成,也標志著一次A/D轉(zhuǎn)換的結(jié)束。</p><p> 5.3 0832的工作時序圖</p><p> 5.4 0832的
67、驅(qū)動程序編寫及詳細分析</p><p> 單片機串行口方式0 與ADC0832 的接口,單片機P2^5接ADC0832的CS, TXD (接0832的CLK)作為時鐘信號輸出端, RXD (接0832的DO和D I)作為啟動位、配置位的發(fā)送端以及A /D轉(zhuǎn)換后輸出數(shù)據(jù)的接收端。由于ADC0832在CS變低后的前3個周期內(nèi),DO端為高阻態(tài);轉(zhuǎn)換開始后,D I線禁止,因此,D I端和DO端可連接在一起.ADC083
68、2的時鐘頻率最高為400kHz,單片機晶振可選用4MHz,在TXD的輸出頻率為4MHz/12 =</p><p> 333. 3kHz,符合要求。ADC0832輸出的串行數(shù)據(jù)共15位,由兩段8位</p><p> 數(shù)據(jù)組成,前一段是最高位在先,后一段是最高在后,兩段數(shù)據(jù)的最低位共用。只有在時鐘的下降沿,ADC0832的串行數(shù)據(jù)才移出一位。由單片機控制時鐘信號的發(fā)送, 并由TXD 發(fā)出,
69、 以達到控制ADC0832輸出數(shù)據(jù)位的目的。為了得到一列完整的8位數(shù)據(jù),單片機分兩次采集含有不同位的數(shù)據(jù),再合成一列完整的8位數(shù)據(jù).由上面的0832的工作時序,及硬件設(shè)計編寫了下面的0832的驅(qū)動程序。程序分析如下:</p><p> sbit ADC0832CS=P2^5;//啟動ad8032,片選低電平有效</p><p> sbit ADC0832CLK=P2^6;//時鐘&
70、lt;/p><p> sbit ADC0832DO=P2^4;//單片機串行口方式0與ADC0832的接口</p><p> sbit ADC0832DI=P2^4;</p><p> unsigned char adc0832Rece(unsigned char ADC0832MODLE)//定義adc0832的輸入模式//可兩通道//可差分輸入//把模擬電
71、壓值轉(zhuǎn)換成8位二進制數(shù)并返回 </p><p> {unsigned char adc0832Buf=0,number=0; //初值</p><p> ADC0832CS=0; //cs=0低電平有效,AD0832片選有效</p><p> for(;number<3;number++)//輸出命令</p><p> {ADC
72、0832DI=(bit)(ADC0832MODLE&0x80);//選擇CH0,通過組合選取通道(SGL/DIF)</p><p> ADC0832MODLE<<=1;</p><p> ADC0832CLK=1;</p><p><b> _nop_();</b></p><p><b&
73、gt; _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b&
74、gt;</p><p> ADC0832CLK=0;//形成下降沿1</p><p><b> _nop_();</b></p><p> _nop_();//形成一次時鐘脈沖,數(shù)據(jù)傳一位</p><p><b> }</b></p><p> for(number
75、=0;number<7;number++)//丟棄高七位數(shù)據(jù)</p><p> {ADC0832DO=1;</p><p> adc0832Buf<<=1;// 將所收到的數(shù)據(jù)進行左移一位</p><p> ADC0832CLK=1;</p><p><b> _nop_();</b></
76、p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><
77、b> _nop_();</b></p><p> ADC0832CLK=0;//形成下降沿2</p><p><b> _nop_();</b></p><p> _nop_();//形成一次時鐘脈沖,數(shù)據(jù)傳一位</p><p> if(ADC0832DO==1){adc0832Buf++;
78、}</p><p><b> }</b></p><p> adc0832Buf=0;</p><p> for(number=0;number<8;number++)//接收八位數(shù)據(jù) </p><p> {ADC0832DO=1; //接著收數(shù)據(jù)</p><p> adc083
79、2Buf>>=1;// 將所收到的數(shù)據(jù)進行右移一位 </p><p> ADC0832CLK=1;</p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b>&l
80、t;/p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p> ADC0832CLK=0;//形成下降沿3</p><p><b&g
81、t; _nop_();</b></p><p> _nop_();//形成一次時鐘脈沖,數(shù)據(jù)傳一位</p><p> if(ADC0832DO==1){adc0832Buf+=0x80;}</p><p><b> }</b></p><p> ADC0832CS=1;//將CS置高電平禁用芯片&
82、lt;/p><p> return(adc0832Buf);</p><p><b> }</b></p><p> 第五章直流電壓表安裝與調(diào)試</p><p> 5.1 直流電壓表的實際完成的電路</p><p> 5.2 直流電壓表實現(xiàn)的總體功能</p><p>
83、 測量電壓范圍:0-5V</p><p> 測量精度:0.01V</p><p> 設(shè)置最低電壓閾值,低于該值則系統(tǒng)報警。</p><p> 能夠?qū)崿F(xiàn)電壓值的0——5V的范圍內(nèi)調(diào)節(jié),并且仿真及實物調(diào)試成功</p><p> 5.3 直流電壓表所實現(xiàn)的功能評價</p><p> 總體的電路指標全部實現(xiàn),在電壓
84、輸出的范圍還有更多的提升空間,繼續(xù)努力。</p><p> 第六章 存在故障分析與進一步改進</p><p><b> 4.1存在故障分析</b></p><p> 存在的問題是對單片機c語言編寫設(shè)計不熟悉,調(diào)用函數(shù)經(jīng)常出錯。</p><p> 4.2進一步改進的可能和方法</p><p>
85、; 解決的方法是查找資料,請教同學與老師,對c語言進一步的了解和更好的學會使用。</p><p><b> 第七章 結(jié)論</b></p><p> 本次課程設(shè)計對數(shù)字電壓表電路認真的學習探討以及對單片機技術(shù)有 了更進一步的熟悉,實際操作和課本上的知識有很大聯(lián)系,但又高于 課本,一個看似很簡單的電路,要動手把它設(shè)計出來就比較困難了, 因為是設(shè)計要求我們在以后的學習
86、中注意這一點, 要把課本上所學到 的知識和實際聯(lián)系起來,同時通過本次電路的設(shè)計,不但鞏固了所學 知識,也是我們把理論與實踐從真正意義上結(jié)合起來,增強了學習的 綜合能力通過這次設(shè)計不僅鍛煉了我們的團隊協(xié)作精神,而且提高 了創(chuàng)新能力 在這一個半月的試驗中,在收獲知識的同時,還收獲了閱歷,收獲 了成熟在此過程中,我們通過查找大量資料,請教老師,以及不懈 的努力,不僅培養(yǎng)了獨立思考,動手操作的能力在各種其他方面的能力上也都有了提高,特別是在c語
87、言這一塊, 而且在與老師和同學的交流過程中, 互動學習,將知識融會貫通更重要的是我們學會了很多學習的方法,而這是日后最實用的,真的是受益匪淺要面對社會的挑戰(zhàn),只有不斷學習, 實踐,再學習,再實踐不管怎樣,這些都是一種鍛煉,一種知識的 完全積累,可以把這個當做基礎(chǔ)東西,只有掌握了這些最基礎(chǔ)的,才可以更進一步,取得更好的成績。</p><p><b> 參考文獻</b></p>
88、<p> [1]皮大能, 單片機課程設(shè)計指導書,北京理工大學出版社, 2010. </p><p> [2]田希暉, C51單片機技術(shù)教程計, 人民郵電出版社, 2007.</p><p> [3]蘇小紅, C語言大學實用教程第二版, 電子工業(yè)出版社, 2009.</p><p><b> 附錄1</b></p&g
89、t;<p><b> 程序</b></p><p> #include<REG52.h></p><p> #include <intrins.h></p><p> #define TIME0H 0xFE</p><p> #define TIME0L 0x0C</
90、p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit LCDRS=P2^0;</p><p> sbit LCDRW=P2^1;</p><p> sbit LCDE=P2^2;<
91、;/p><p> sbit ADC0832CS=P2^5;</p><p> sbit ADC0832CLK=P2^6;</p><p> sbit ADC0832DO=P2^4;</p><p> sbit ADC0832DI=P2^4;</p><p> sbit Up= P1^0; //加1鍵&
92、lt;/p><p> sbit Down=P1^1;//減1鍵</p><p> char count;</p><p> uchar aNumber[3];</p><p> char temp[3]; //臨時變量</p><p> sbit Set=P1^2; //
93、 設(shè)置鍵</p><p> bit done ; //設(shè)置選擇按鍵變量</p><p> #define LCDPORT P0</p><p> #define OUTPORT P0</p><p> uchar uc_Clock=0;</p><p> void Delay()
94、;</p><p> void UpKey();//加1調(diào)用</p><p> void DownKey(); //減1調(diào)用</p><p> void SetKey();//設(shè)置選擇按鍵</p><p> void keydone();</p><p> void WR_CMD(uchar ucCo
95、mmand);</p><p> void Initialize();</p><p> void WR_Data(uchar ucData);</p><p> void Show_1_Char(uchar ucChar);</p><p> void Show_Char(uchar ucaChar[]);</p>&
96、lt;p> void vShowVoltage(uint uiNumber,uchar);</p><p> void delay5ms(void);</p><p> void Time0();</p><p> void jindu(uint uNumber);</p><p> unsigned char adc0832
97、Rece(unsigned char ADC0832MODLE)//定義adc0832的輸入模式//可兩通道//可差分輸入</p><p> {unsigned char adc0832Buf=0,number=0; //初值</p><p> ADC0832CS=0; //cs=0低電平有效,AD0832片選有效</p><p> for(;number&l
98、t;3;number++)//輸出命令</p><p> {ADC0832DI=(bit)(ADC0832MODLE&0x80);//選擇CH0,通過組合選取通道(SGL/DIF)</p><p> ADC0832MODLE<<=1;</p><p> ADC0832CLK=1;</p><p><b>
99、 _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b>&
100、lt;/p><p><b> _nop_();</b></p><p> ADC0832CLK=0;//形成下降沿1</p><p><b> _nop_();</b></p><p> _nop_();//形成一次時鐘脈沖,數(shù)據(jù)傳一位</p><p><b&g
101、t; }</b></p><p> for(number=0;number<7;number++)//丟棄高七位數(shù)據(jù)</p><p> {ADC0832DO=1;</p><p> adc0832Buf<<=1;// 將所收到的數(shù)據(jù)進行左移一位</p><p> ADC0832CLK=1;</p&
102、gt;<p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b&
103、gt; _nop_();</b></p><p><b> _nop_();</b></p><p> ADC0832CLK=0;//形成下降沿2</p><p><b> _nop_();</b></p><p> _nop_();//形成一次時鐘脈沖,數(shù)據(jù)傳一位</
104、p><p> if(ADC0832DO==1){adc0832Buf++;}</p><p><b> }</b></p><p> adc0832Buf=0;</p><p> for(number=0;number<8;number++)//接收八位數(shù)據(jù)</p><p> {ADC
105、0832DO=1; //接著收數(shù)據(jù)</p><p> adc0832Buf>>=1;// 將所收到的數(shù)據(jù)進行右移一位 </p><p> ADC0832CLK=1;</p><p><b> _nop_();</b></p><p><b> _nop_();</b></
106、p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p> AD
107、C0832CLK=0;//形成下降沿3</p><p><b> _nop_();</b></p><p> _nop_();//形成一次時鐘脈沖,數(shù)據(jù)傳一位</p><p> if(ADC0832DO==1){adc0832Buf+=0x80;}</p><p><b> }</b><
108、;/p><p> ADC0832CS=1;//將CS置高電平禁用芯片</p><p> return(adc0832Buf);</p><p><b> }</b></p><p> void delay5ms(void) //5ms延時函數(shù)</p><p><b> { &
109、lt;/b></p><p> unsigned char i,j;</p><p> for(i=10;i>0;i--)</p><p> for(j=248;j>0;j--);</p><p><b> }</b></p><p> void UpKey()//加
110、1調(diào)用</p><p><b> {</b></p><p><b> Up=1;</b></p><p><b> if(Up==0)</b></p><p><b> {</b></p><p> delay5ms(
111、);</p><p><b> if(Up==0)</b></p><p><b> {</b></p><p> switch(count)</p><p><b> {</b></p><p><b> case 1:</b
112、></p><p> temp[2]=temp[2]+1;</p><p> if(temp[2]>9)</p><p> {temp[2]=0;}</p><p><b> break;</b></p><p><b> case 2:</b><
113、/p><p> temp[1]=temp[1]+1;</p><p> if(temp[1]>9)</p><p> {temp[1]=0;}</p><p><b> break;</b></p><p><b> case 3:</b></p>
114、<p> temp[0]=temp[0]+1;</p><p> if(temp[0]>5)</p><p> {temp[0]=0;}</p><p><b> break;</b></p><p> default:break;</p><p><b>
115、}</b></p><p><b> }</b></p><p> while(Up==0);</p><p> do{delay5ms();}</p><p> while(Up==0);</p><p><b> }</b></p>&
116、lt;p><b> }</b></p><p> void DownKey()//加1調(diào)用</p><p><b> {</b></p><p><b> Down=1;</b></p><p> if(Down==0)</p><p&g
117、t;<b> {</b></p><p> delay5ms();</p><p> if(Down==0)</p><p><b> {</b></p><p> switch(count)</p><p><b> {</b></p
118、><p><b> case 1:</b></p><p> temp[2]=temp[2]-1;</p><p> if(temp[2]<0)</p><p> {temp[2]=9;}</p><p><b> break;</b></p>&l
119、t;p><b> case 2:</b></p><p> temp[1]=temp[1]-1;</p><p> if(temp[1]<0)</p><p> {temp[1]=9;}</p><p><b> break;</b></p><p>&
120、lt;b> case 3:</b></p><p> temp[0]=temp[0]-1;</p><p> if(temp[0]<0)</p><p> {temp[0]=5;}</p><p><b> break;</b></p><p> default
121、:break;</p><p><b> }</b></p><p><b> }</b></p><p> while(Down==0);</p><p> do{delay5ms();}</p><p> while(Down==0);</p>&
122、lt;p><b> }</b></p><p><b> }</b></p><p> void SetKey() //設(shè)置選擇按鍵</p><p><b> {</b></p><p><b> Set=1;</b></p>
123、<p> if(Set==0)</p><p><b> {</b></p><p> delay5ms();</p><p> if(Set==0)</p><p><b> {</b></p><p> done=1;count=count+1;
124、</p><p> if(count>3)</p><p><b> {</b></p><p><b> done=0;</b></p><p><b> count=0;</b></p><p><b> }</b&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機課程設(shè)計-- 簡易直流電壓表的設(shè)計
- 基于_單片機的簡易數(shù)字直流電壓表畢業(yè)設(shè)計
- 基于單片機的直流電壓檢測系統(tǒng)設(shè)計課程設(shè)計
- 基于單片機的直流電壓檢測系統(tǒng)設(shè)計課程設(shè)計
- 基于單片機的簡易數(shù)字直流電壓表畢業(yè)設(shè)計
- 51單片機自學手記之直流電壓表
- 課程設(shè)計-簡易直流電壓表的設(shè)計
- 單片機直流電壓采集與顯示課程設(shè)計
- 單片機課程設(shè)計---基于單片機的數(shù)字電壓表設(shè)計
- 基于單片機的數(shù)字電壓表課程設(shè)計
- 單片機課程設(shè)計報告--基于單片機的數(shù)字電壓表
- 基于單片機的數(shù)字電壓表課程設(shè)計
- 單片機課程設(shè)計報告--基于單片機的數(shù)字電壓表
- 單片機課程設(shè)計---基于單片機的直流電機控制
- 基于單片機的數(shù)字電壓表設(shè)計-課程設(shè)計
- 單片機課程設(shè)計---基于單片機的簡易數(shù)字電壓表設(shè)計
- 數(shù)字電壓表課程設(shè)計--基于單片機的簡易數(shù)字電壓表的設(shè)計
- 數(shù)字電壓表課程設(shè)計--基于單片機的簡易數(shù)字電壓表的設(shè)計
- 單片機課程設(shè)計-直流電機
- 單片機課程設(shè)計-數(shù)字電壓表
評論
0/150
提交評論