




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課 程 設 計 課 程 科研實踐 題 目 干電池的電壓檢測 二級學院 班 級 姓 名 學 號 指導教師 設計時間 I常州工學院單片機原理及應用科研實踐任務書學生姓名指導老師 職 稱課題名稱干電池的電壓檢測 課題工作內容“電壓檢測”的硬件電路主要由單片機控制電路、數碼管顯示電路、模數轉換電路組成,主要實現:1、電壓檢測 :通過AD檢測電路,檢測干電池電壓信號,將模擬量轉換為數字量輸入單片機;2、顯示輸出:通過譯碼顯示電路,將測得的電壓值經譯碼后通過數碼管顯示。3、復位設置:能夠手動和上電復位。 指標要求1、電壓測量:測量電壓精度為V,測量范圍為02.5V。2、顯示位數:能夠顯示3位數值,1位整數
2、和2位小數。 進程安排第一天:下達任務、理解課題要求、收集和消化相關資料; 第二天:方案論證和制定,元器件采購; 第三四天:硬件制作、調試 第五八天:軟件設計、調試 第九天:根據設計內容,撰寫設計報告 第十天:作品演示、答辯考核主要參考文獻單片機應用系統(tǒng)設計技術 張齊著 電子工業(yè)出版社 單片機原理及應用技術 范力旻 電子工業(yè)出版社 例說8051 謝亮、陳敵北、 張義和 人民郵電出版社 單片機C語言應用100例 王東鋒 王會良 電子工業(yè)出版社 51系列單片機設計實例 樓然苗 李光飛 北航出版社 地點秋白樓起止日期2012.12.31-1.11 23摘 要在日常維修、教學和科研中,電壓表是不可缺少
3、的。本課題目的就是以單片機為基礎設計出一種結構簡單、工作可靠、靈活性好的數字電壓表。本文首先介紹了數字電壓表的發(fā)展現狀及課題的目的和意義。然后,對基于單片機的數字電壓表的硬件系統(tǒng)、軟件系統(tǒng)的設計原理及具體實現方案作以詳細介紹,其中,在硬件部分,較為詳細的討論了硬件的選擇、設計原理、使用方法和功能,同時,對各部分接口電路作以介紹;在軟件部分,介紹了軟件所使用的編程語言和編程思路。最后,對電路調試和實物制作做了進一步分析和總結。本文設計的數字電壓表,其硬件電路所用元件較少、成本低、調節(jié)簡單;軟件采用C語言編程,其靈活性高,可讀性強。經過理論研究、原理設計和整機調試,實驗結果表明,該方案可行。關鍵詞
4、:單片機,電壓表,A/D轉換器 AbstractIn routine maintenance, teaching and research, voltage meter is indispensable. A direct current digital voltage meter has been designed, which is based on MCU, and has a simple structure, reliable, flexible.Firstly,this paper introduced the development of the base on MCU digi
5、tal voltage meter and the purpose and significance of topic. Then in details this paper described the design principle of hardware and software systems. And in details the hardware part present a discussion in hardware selection, design principles, instructions and the function, further more, some o
6、f the interface circuit have been introduced. The software part introduced the programming language and programming ideas used in codes. Finally, the circuit debugging and the anti-jamming system were designed to further analysis and synthesis. The digital voltage meter designed here, have less comp
7、onents in the hardware part, lower cost and easier testing; software used C programming language which is high flexibility and strong readability. After theoretical research, principle design and debugging, the experimental results suppose it is feasible of choosing this program.Keywords: Micro Cont
8、roller Unit,voltage meter,A/D Converters目 錄摘要IAbstractII第一章 緒論11.1課題簡介11.2課題研究的目的和意義11.3國內外研究現狀1第二章 硬件設計32.1硬件結構圖32.2最小系統(tǒng)32.2.1單片機32.2.2電源電路42.2.3晶振電路52.2.4復位電路:52.3 檢測電路72.4 LED顯示電路8第三章 軟件設計11第四章 調試與仿真12第五章 結論與心得14參考文獻15附錄161電路原理圖162軟件程序173元器件清單224實物圖23第一章 緒論1.1課題簡介數字電壓表簡稱DVM,它是采用了數字化測量技術,把連續(xù)模擬量(直流
9、輸入電壓)轉換成不連續(xù),離散的數字形式加以實現的儀表。傳統(tǒng)的指針式電壓表功能單一,精度低,不能滿足數字化時代的需求,采用單片機的數字電壓表,具有精度高,抗干擾能力強,可擴展性強,集成方便,還可與PC進行實時通信等特點。目前由各種單片機A/D轉換器構成的數字電壓表,已被廣泛的應用為電子及其電工的測量,工業(yè)自動化儀表,自動測試系統(tǒng)等智能化測量領域,顯示出強大的生命力。數字電壓表的核心部件是A/D轉換器,轉換器的精度很大程度上影響著數字電壓表的準確度。本設計主要分為兩部分:硬件電路及軟件程序。而硬件電路又大體可分為單片機小系統(tǒng)電路、A/D轉換電路、LED顯示電路,各部分電路的設計及原理將會在硬件電路
10、設計部分詳細介紹;程序的設計使用C語言編程,利用Keil軟件對其編譯,詳細的設計算法將會在程序設計部分詳細介紹。1.2課題研究的目的和意義數字電壓表是諸多數字化儀表的核心與基礎。以數字電壓表為核心,可以擴展成各種通用數字儀表、專用數字儀表及各種非電量的數字化儀表(如:溫度計,濕度計,酸度計,重量,厚度儀等),幾乎覆蓋了電子電工測量,工業(yè)測量,自動化儀表等各個領域。除此之外,數字電壓還有著傳統(tǒng)指針電壓表無可比擬的優(yōu)點:讀數直觀、準確,顯示范圍寬、分辨力高,轉入阻抗高,功耗小、抗干擾強等1。因此,對數字電壓表作全面深入的了解是很有必要的。但是傳統(tǒng)的數字電壓表設計通常以大規(guī)模ASIC(專用集成電路)
11、為核心器件,并輔以少量中規(guī)模集成電路及顯示器件構成,可是這種設計方法靈活性差,系統(tǒng)功能固定,難以更新擴展,不能滿足日益發(fā)展的電子工業(yè)要求2。而應用微處理器(單片機)為核心單元的數字電壓表,其靈活性高、系統(tǒng)功能擴展簡單,性能穩(wěn)定可靠。在這些背景下,設計一種以單片機為基礎、結構簡單、工作可靠、靈活性好的數字電壓表是很有意義的。1.3國內外研究現狀數字電壓表的發(fā)展從一九五二年美國NLS公司由四位電子管數字電壓表精度千分之一到現在已經出現8位數字電壓表。參數可測量直流電壓、交流電壓、電流、阻抗等。測量自動化程度不斷提高,可以和計算機配合顯示、計算結果、然后打印出來。目前世界上美國FLUKE公司,在直流
12、和低頻交流電量的校準領域居國際先進水平。例如該公司生產的“4700A”多功能校準器和“8505”危機數字多用電壓表,可用8位顯示,直流精度可達到±5/10-6,讀書分辨力為0.1V。帶有A/D變換模式、數據輸出接口形式IEEE-488。具有比率測量軟件校準和有交流電阻、電流選件。還具有高精度電壓校準器“5400A”、“5200A”、“5450A”等數字儀表,都是作為一級計量站和國家級計量站使用的標準儀表。還有英國的“7055”數字電壓表采用脈沖調制技術。日本橫河公司的“2501”型采用三次采樣等等在不斷的蓬勃發(fā)展3。從發(fā)展過程來看:數字電壓表自1952年問世以來,已有50年多年的發(fā)展
13、史,大致經歷了五代產品。第一代產品是20世紀50年代問世的電子管數字電壓表,第二代產品屬于20世紀60年代出現的晶體管數字電壓表,第三帶產品為20世紀70年代研制的中、小規(guī)模集成電路的數字電壓表。今年來,國內外相繼推出有大規(guī)模集成電路(LSI)或超大規(guī)模集成電路(VLSI)構成的數字電壓表、智能數字電壓表,分別屬于第四代、第五代產品。它們不僅開創(chuàng)了電子測量的先河,更以高準確度、高可靠性、高分辨力、高性價比等優(yōu)良特性而受到人民的青睞2。傳統(tǒng)電壓表的設計思路主要分為:用電流計和電阻構成的電壓表;用中小規(guī)模集成電路構成的電壓表;用大規(guī)模ASIC(專用集成電路)構成的電壓表。這幾中電壓表設計方式各有優(yōu)
14、勢和缺點,分別適用于幾種特定的應用環(huán)境,同時,也為很多新穎的電壓表的設計所借鑒和依據4。近入21世紀,隨著信息技術一日千里的發(fā)展,電壓表也必經歷從單一測量向數據處理、自動控制等多功能過度的這一歷程,特別是計算機技術的發(fā)展必將出現智能化技術。因此,把電壓表和計算機技術相結合的智能化電壓表就將成為21世紀的新課題。目前,數字化儀器與微處理器取得令人矚目的進展,就其技術背景而言,一個內藏微處理器的儀表意味著計算機技術向儀器儀表的移植,它所具有的軟件功能使儀器 呈現出有某種延伸,強化的作用。這相對于過去傳統(tǒng)的、純硬件的儀器來說是一種新的突破,其發(fā)展?jié)摿κ志薮?,這已為70年代以來儀表發(fā)展的歷史所證實。
15、概括起來,具有微處理器的儀表具有以下特點:測量過程的軟件控制對測量數據進行存儲及運算的數據處理功能是儀表最突出的特點;在儀器的測量過程中綜合了軟件控制及數據處理功能,使一機多用或儀器的多功能化易于實現,成為這類儀器的又一特點;以其軟件為主體的智能儀器不僅在使用方便、功能多樣化等方面呈現很大的靈活性5。第二章 硬件設計硬件設計其實就是對電子電路的設計。電子電路通常可以分為兩大類:一類是模擬電子電路,還有一類是數字電子電路。本系統(tǒng)中的電源設計為模擬電路設計,其他與單片機連接的集成電路均為數字電路設計。2.1硬件結構圖本系統(tǒng)主要由穩(wěn)壓電源、A/D轉換器、單片機、譯碼顯示等一系列電路組成,主要完成電壓
16、顯示(02.55V)。其硬件結構圖如圖2-1。圖2-1 硬件結構圖工作原理:9V轉5V的電源轉換電路給各個元器件提供工作電壓,檢測電路檢測到電壓模擬量后經A/D轉換后變成數字量送入單片機,然后由單片機送顯。2.2最小系統(tǒng)2.2.1單片機本次設計使用的單片機芯片型號為:STC89C52,管腳圖見圖2-2。STC89C52的工作特性如下:1. 增強型 8051 單片機,6 時鐘/機器周期和 12 時鐘/機器周期可以任 意選擇,指令代碼完全兼容傳統(tǒng) 8051. 2. 工作電壓:5.5V3.3V(5V 單片機)/3.8V2.0V(3V 單片機) 3. 工作頻率范圍:040MHz,相當于普通 8051
17、的 080MHz,實際工 作頻率可達 48MHz 4. 用戶應用程序空間為 8K 字節(jié) 5. 片上集成 512 字節(jié) RAM 6. 通用 I/O 口 (32 個) 復位后為: , P1/P2/P3/P4 是準雙向口/弱上拉, P0 口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為 I/O 口用時,需加上拉電阻。 7. ISP(在系統(tǒng)可編程)/IAP(在應用可編程) ,無需專用編程器,無 需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數秒即可完成一片8. 具有 EEPROM 功能 9. 具有看門狗功能 10. 共 3 個 16 位定時器/計數器。即定時器
18、 T0、T1、T211. 外部中斷 4 路,下降沿中斷或低電平觸發(fā)電路,Power Down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒 12. 通用異步串行口(UART) ,還可用定時器軟件實現多個 UART 13. 工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級)圖2-2 STC89C52管腳圖2.2.2電源電路1.直流5V電源電壓產生的過程:本系統(tǒng)中將直流9V經過穩(wěn)壓器使輸出電壓為直流5V。具體電路如圖2-3所示。圖2-3電源電路IC采用集成穩(wěn)壓器7805,C3和C4為輸入端的濾波電容,C5和C6為輸出端的濾波電容。在電源整流電路中,濾波電容用來濾除交流成分,使得直流更平滑。2.集成
19、穩(wěn)壓器7805的簡介:7805集成穩(wěn)壓器是常用的固定輸出為5V電壓的集成穩(wěn)壓器。它的內部含有過流、過熱及調整管的保護電路,采用了噪聲低,溫度漂移小的基準電壓源,工作穩(wěn)定可靠,而且價格便宜。7805集成穩(wěn)壓器為三端器件,其管腳如圖2-4所示:1腳為輸入端,2腳為接地端,3腳為輸出端,使用十分方便。78系列的穩(wěn)壓集成塊的極限輸入電壓是36V,最低輸入電壓比輸出電壓高3-4V。還要考慮輸出與輸入間壓差帶來的功率損耗,所以一般輸入為9-15V之間。當輸出電壓較大時,7805應配上散熱板。圖2-4 7805管腳圖2.2.3晶振電路本次設計采用的是12MHZ的晶振,電路圖如下圖2-5所示: 圖2-5晶振電
20、路兩只電容在20pF100pF之間取值,其取值在60pF70pF時振蕩器頻率穩(wěn)定性較高,按照一般經驗,外接晶體時兩個電容的取值為30pF;外接陶瓷振蕩器是兩電容的典型值是47pF。2.2.4復位電路:在時鐘電路工作后,只要在單片機的RST引腳上出現24個時鐘振蕩脈沖(2個機器周期)以上的高電平,單片機便可實現初始化狀態(tài)服務。為保證應用系統(tǒng)可靠的復位在設計復位電路時,通常使RST引腳保持4ms以上的高電平,只要RST保持高電平,STC89C52單片機就會循環(huán)復位;當RST從高電平變?yōu)榈碗娖綍r,單片機就從0000H地址開始執(zhí)行程序,在單片機復位的有效期間,ALE、PSEN引腳輸出高電平。本次設計能
21、夠實現上電復位和手動復位,其電路圖如下圖2-6:圖2-6復位電路1手動復位:按下復位鍵,系統(tǒng)能夠復位。2上電復位:系統(tǒng)上電時,隨著Vcc電壓由0V增加到5V,電容C的上極板電位隨之增加。按電壓隨著電流方向逐漸降低的原則,電流的出現會在R2端形成一個大于0的電位。由于電容充電逐漸飽和,所以電流會逐漸減小。該電位的大小和持續(xù)時間將影響系統(tǒng)能否上電復位。當單片機RST管腳上有兩個機器周期是高電平時,系統(tǒng)就會被復位。因為,。所以,對于用12MHZ晶振的系統(tǒng)來說,使其復位的時間t應滿足條件:不考慮流入RST引腳的電流計算RST處的電位,該電路就是一階RC電路。電容兩端暫態(tài)電流和電壓的關系如下:因為,;所
22、以。設RST處電壓為,那么,所以。當時,t=0.357RC。當且僅當時,系統(tǒng)才會復位,即滿足條件。所以采用,。復位時間,符合要求。2.3 檢測電路1. 檢測電路A/D轉換器是模擬量輸入通道中的一個環(huán)節(jié),單片機通過A/D轉換器把輸入模擬量變成數字量再處理。隨著大規(guī)模集成電路的發(fā)展,目前不同廠家已經生產出了多種型號的A/D轉換器,以滿足不同應用場合的需要。如果按照轉換原理劃分,主要有3種類型,即雙積分式A/D轉換器、逐次逼近式A/D轉換器和并行式A/D轉換器。目前最常用的是雙積分和逐次逼近式。雙積分式A/D轉換器具有抗干擾能力強、轉換精度高、價格便宜等優(yōu)點,它們通常帶有自動較零、七段碼輸出等功能。
23、與雙積分相比,逐次逼近式A/D轉換的轉換速度更快,而且精度更高,它們可以與單片機系統(tǒng)連接,將數字量送單片機進行分析和顯示6。本設計中,要求精度小,則選用分辨率為12位的芯片,如MCP3202,MCP3204,MCP3208就能滿足設計要求。本電路采用MCP3202,具體檢測電路見圖2-7。圖2-7 檢測電路此部分選用MCP3202進行電壓模擬量到數字量的轉換。具有12位分辨率,轉換精度高,本設計使用MCP3202的單通道輸入,使檢測電壓Ui經CH1輸入轉換器將A/D轉換后的數字編碼送入單片機。2. MCP3202簡介MCP3202是一款具有片上采樣和保持電路的12位逐次逼近型A/D轉換器。它可
24、被編程為單通道偽差分輸入對或雙通道單端輸入。MCP3202使用SPI協(xié)議的簡單串行接口與器件通行。器件在5V和2.7V工作電壓下的轉換率最高分別為100ksps和50ksps。它的工作電壓為2.75.5V。其管腳圖如圖2-7所示。各管腳功能見表2-8。圖2-8 MCP3202管腳圖表2-1引腳功能表名稱功能+2.7V至5.5V電源和參考電壓輸入通道0模擬輸入通道1模擬輸入串行時鐘串行數據輸入串行數據輸出片選/關斷輸入2.4 LED顯示電路該電路是由一個數碼顯示管、譯碼器和一個反相器組成的。能夠實現顯示三位電壓的功能。1 顯示電路本設計的顯示電路如圖2-9所示。LED顯示器是由發(fā)光二極管排列組成
25、的一顯示器件。它采用低電壓掃描驅動,具有:耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠等特點。雖然LCD具有零輻射、低功耗、散熱小、體積小、圖像還原精確、字符顯示銳利等優(yōu)點,但成本相對較高,戶外亮度不及LED的。所以本設計選用LED顯示器。又因為設計要求顯示三位數值,選擇靜態(tài)顯示器既費資金,又復雜工藝,所以選用三位動態(tài)顯示器。這里選用共陰顯示器,是為了與譯碼器配合使用,是電路更簡單,可行。由于數碼管顯示時需要的電流為5-20mA,所以限流電阻應該為:,因此這里選用的排阻。選用反相器是由于灌電流太大,如果不用反相器的話單片機承受不了這么大的灌電流,將無法正常工作。圖2-9 LE
26、D顯示電路2 LED數碼顯示管三位共陰LED數碼管的結構如圖2-10所示。8個顯示筆劃“a,b,c,d,e,f,g,dp”的同名端連在一起,另外為每個數碼管的共陰極COM增加位元選通控制電路,位元選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位元選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位元就顯示出字形,沒有選通的數碼管就不會亮。圖2-10 LED數碼管結構圖3CD4511譯碼器CD4511是一個用于驅動共陰極LED數碼管顯示器的BCD碼七段碼譯碼器。具有BCD轉換、消隱和鎖存控制
27、、七段譯碼及驅動功能的CMOS電路能提供較大的拉電流??芍苯域寗覮ED顯示器。引腳排列如圖2-11所示。其中a,b,c,d為BCD碼輸入,a為最低位。LT為燈測試端,加高電平時,顯示器正常顯示,加低電平時,顯示器一直顯示數碼“8”,各筆段都被點亮,以檢查顯示器是否有故障。BI為消隱功能端,低電平時使所有筆段均消隱,正常顯示時,B1端應加高電平。LE是鎖存控制端,高電平時鎖存,低電平時傳輸數據。ag是7段輸出,可驅動共陰LED數碼管。另外,CD4511顯示數“6”時,a段消隱;顯示數“9”時,d段消隱。所謂共陰LED數碼管是指7段LED的陰極是連在一起的,在應用中應接地。限流電阻要根據電源電壓來
28、選取。圖2-11 CD4511引腳圖474HC04反相器74HC04是六反相器,既一個集成塊上有六個反相器。輸入為高電平,輸出就為低電平,輸入低電平,輸出就為高電平。其管腳分布見圖2-12。1A-6A為輸入端,1Y-6Y為輸出端。圖2-12 74HC04引腳圖第三章 軟件設計系統(tǒng)的軟件流程如下:開始時首先初始化單片機,使數碼管顯示為“0.00”,然后等待定時器時間到,定時器中斷時調用A/D轉換子程序啟動MCP3202。單片機讀取檢測電壓。再將所測電壓的數字量經譯碼后送至數碼管顯示,此時LED數碼管顯示的就是干電池的電壓值。具體流程圖見圖3-1。圖3-1程序流程圖本設計的軟件程序見附錄2。第四章
29、 調試與仿真1軟件仿真仿真步驟:a. 正確安裝Keil和Proteus軟件。(最好在同一盤中)b. 在Keil工程菜單中選擇Target1屬性,在調試中U使用Proteus,具體設置見圖4-1。圖4-1 調試設置c. 根據硬件電路原理圖在Proteus中畫出仿真電路,如圖4-2。 圖4-2仿真電路圖d. 在Keil中將程序編譯后,將對應的*.hex文件載入仿真電路的單片機中,如圖4-3所示。圖4-3仿真程序設置e. 設置或改變輸入電壓的值如圖4-4,觀察仿真結果。圖4-4 輸入電壓設置2 硬件調試調試步驟:a. 根據硬件原理圖將元器件放在單片機開發(fā)板合適位置。b. 根據原理圖正確連接器件。c.
30、 用萬用表檢測器件間是否虛焊。d. 將程序載入單片機,運行檢測。e. 若顯示結果不對,再次檢查電路是否正確連接或者虛焊。第五章 結論與心得我覺得本次設計的一個重要方面是不斷地搜索資料,通過多種途徑查閱資料,我從圖書館借了有關單片機應用和仿真的書籍。從這些書籍中我了解到單片機的多種類型,如:51單片機、61單片機、AVR單片機等等。雖然說它們的類型不同,但其編程的思想方法是基本一致的。我采取時間最長的搜索途徑是利用網絡。是的,我感覺網絡對我的學習太重要了,在工控網中有大量的單片機編程實例,在那里我了解到了單片機的應用。本論文通過參閱大量相關文獻,了解現有數字電壓表的設計原理和發(fā)展方向,在總結了前
31、人經驗的基礎上,采用單片機為核心控制單元,實現了通過軟件來對數據進行處理。在設計中為了節(jié)省單片機的端口資源,采用了LED動態(tài)顯示器。在電路制作中,嚴格按照布線規(guī)則進行布線,這一措施使系統(tǒng)的可靠性得以提高。在程序設計中最大限度的減少程序缺陷,使程序合理合序運行。最后,通過反復調試,各硬件電路的參數已經確定,系統(tǒng)軟件程序也調試完成,系統(tǒng)各項工作指標已滿足。通過本課題的研究,從原理圖的設計到仿真圖的繪制、從實際硬件電路的搭建、調試到軟件系統(tǒng)程序的編寫、調試,所有工作形成了一個完整的系統(tǒng)。整個工作過程培養(yǎng)了我獨立研制的能力,也培養(yǎng)了我工程學的思維能力,讓我受益匪淺,為我以后的工作奠定了基礎。參考文獻1
32、沙占友.新型數字電壓表原理與應用M.機械工業(yè)出版社.20062Grinev.V.G,Grineva.L.V . Amplitude digital voltmeter. Instruments and Experimental Techniques,19753劉振忠.數字電壓表發(fā)展概況和原理R.電訊工程.19984柳金龍.淺談數字電壓表的特點R.中國計量.20045黃亮.基于AT89C51單片機的數字電壓表的設計R.實用電子制作.2006 6宋鳳娟,李國忠等.基于89C51單片機的數字電壓表設計M.20077王守華,李智.基于PC的數字電壓表設計R.今日電子.20068何循來.高性能八位單片機
33、AT89C51R.半導體技術.19979苗紅霞.單片機實現數字電壓表的軟硬件設計N.河海大學常州分校學報.200210王建校,楊建國等.51系列電片機及C51程序設計M.科學出版社.200211張齊著.單片機應用系統(tǒng)設計技術M電子工業(yè)出版社12范力旻.單片機原理及應用技術M電子工業(yè)出版社13謝亮.例說8051M.人民郵電出版社附錄1電路原理圖2軟件程序#include <reg52.h>#ifndef MCP3202_H#define MCP3202_H#define uint unsigned int#define uchar unsigned charsbit MCP3202_
34、CS=P17;sbit MCP3202_DIN=P16;sbit MCP3202_DOUT=P15;sbit MCP3202_CLK=P14;#endifuint MCP3202_ReadAD(uchar ch);uint MCP3202_ReadAdValue(uchar ch);float MCP3202_ReadVol(uchar ch);#define LOW 0#define HIGH 1#include <reg52.h>#include <mcp3202.h>uint MCP3202_ReadAdValue(uchar ch)/*start single
35、channel sample null bit don't care*/uchar data i,ctl=0xE0;/*11 000 0(clk)0(clk)0*/uint data ad=0;EA=0;ctl=ctl|(ch<<2);/*建立控制字*/MCP3202_CS=HIGH;/*建立連接,CS:high->low*/MCP3202_CLK=LOW;/*時鐘線初始化,clk:low*/MCP3202_CS=LOW;/*建立連接,CS:high->low*/for(i=0;i<6;i+)/*發(fā)送控制字*/MCP3202_DIN=ctl&0x8
36、0;/*發(fā)送一位*/MCP3202_CLK=HIGH;/*(clk=1)開始位cs=0,din=1;(clk=2)單極性din=1*/ctl=ctl<<1;/*(clk=3,4,5)通道編號*/MCP3202_CLK=LOW;/*(clk=6)采樣,保持;(clk=7)NULL BIT*/for(i=0;i<12;i+)/*讀取AD值*/MCP3202_CLK=HIGH;/*時鐘線拉高*/ad=ad<<1; /*輸入數據左移一位*/MCP3202_CLK=LOW;/*時鐘線拉低*/ad=ad|MCP3202_DOUT;EA=1;return ad;uint MCP
37、3202_ReadAD(uchar ch)uchar data i,max,min;uint data adv5,ad=0;adv0=MCP3202_ReadAdValue(ch);/*函數調用*/adv1=MCP3202_ReadAdValue(ch);/*函數調用*/adv2=MCP3202_ReadAdValue(ch);/*函數調用*/adv3=MCP3202_ReadAdValue(ch);/*函數調用*/adv4=MCP3202_ReadAdValue(ch);/*函數調用*/max=min=0;/*記錄下標*/for(i=1;i<5;i+)if(advmin>advi
38、)min=i;/*尋找最小值*/if(advmax<advi)max=i;/*尋找最大值*/ad=(adv0+adv1+adv2+adv3+adv4-advmin-advmax)/3.0;return ad;float MCP3202_ReadVol(unsigned char ch)uchar data i,max,min;uint data adv5,ad=0;float data vol=0;adv0=MCP3202_ReadAD(ch);adv1=MCP3202_ReadAD(ch);adv2=MCP3202_ReadAD(ch);adv3=MCP3202_ReadAD(ch);
39、adv4=MCP3202_ReadAD(ch);max=min=0;/*記錄下標*/for(i=1;i<5;i+)if(advmin>advi)min=i;/*尋找最小值*/if(advmax<advi)max=i;/*尋找最大值*/ad=(adv0+adv1+adv2+adv3+adv4-advmin-advmax)/3.0;vol=ad*5000.0/4096;return vol;#ifndef _DELAY_H_#define _DELAY_H_void DelayUs2x(unsigned char t);void DelayMs(unsigned char t);#endif#include "delay.h"void DelayUs2x(unsigned char t) while(-t);void DelayMs(unsigned char t)while(t-) /大致延時1mS DelayUs2x(245); DelayUs2x(245); #ifndef _DISPLAY_H_#define _DISPLAY
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車使用與維護 課件 項目四 汽車安全帶及座椅的使用與維護
- 汽車使用與維護 課件 項目一 制動系統(tǒng)的使用與維護1-1 行車制動操縱機構檢查與維護
- 人教版五年級上冊語文反義詞 多音字總結
- 2025年電動直通控制閥項目可行性研究報告
- 2025年玻璃果盆項目可行性研究報告
- 2025年特種纖維織帶項目可行性研究報告
- 湖北省鄂州地區(qū)市級名校2025屆初三(語文試題文)一模試題含解析
- 吉林省四平市鐵西區(qū)2025年初三下學期5月調研考試物理試題含解析
- 中國勞動關系學院《智能產品原型制作》2023-2024學年第二學期期末試卷
- 低壓電器 課件 單元二 項目一 任務一 低壓熔斷器的使用
- 人教版年五年級信息技術下冊期中試卷(含答案)
- 農村土地延包確權實施方案
- PVC聚氯乙烯教學課件
- 視頻監(jiān)控維保項目投標方案(技術標)
- 工傷與職業(yè)病賠償
- 市政工程(道路)課件
- 中考英語題型六選五課件
- 2022年睪丸腫瘤診斷治療指南
- 變壓器鐵芯(夾件)接地電流試驗
- 針灸課件完整版
- 藥事管理法律法規(guī)相關知識培訓
評論
0/150
提交評論