版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 江陰職業(yè)技術(shù)學(xué)院</b></p><p><b> 項(xiàng)目設(shè)計(jì)報(bào)告</b></p><p> 項(xiàng)目:數(shù)字電壓表設(shè)計(jì)與制作</p><p><b> 摘 要</b></p><p> 本文介紹了一種基于單片機(jī)的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)。該設(shè)計(jì)主要由
2、三個(gè)模塊組成:A/D轉(zhuǎn)換模塊,數(shù)據(jù)處理模塊及顯示模塊。A/D轉(zhuǎn)換主要由芯片ADC0832來(lái)完成,它負(fù)責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量在傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89C51來(lái)完成,其負(fù)責(zé)把ADC0832傳送來(lái)的數(shù)字量經(jīng)過(guò)一定的數(shù)據(jù)處理,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊進(jìn)行顯示;此外,它還控制著ADC0832芯片工作。</p><p> 該系統(tǒng)的數(shù)字電壓表電路簡(jiǎn)單,所用的元件較少,成本低,且測(cè)量精度和
3、可靠性較高。此數(shù)字電壓表可以測(cè)量0-5V的1路模擬直流輸入電壓值,并通過(guò)一個(gè)四位一體的7段數(shù)碼管顯示出來(lái)。</p><p> 關(guān)鍵詞 單片機(jī);數(shù)字電壓表;A/D轉(zhuǎn)換;AT89C51;ADC0832.</p><p><b> Abstract</b></p><p> This paper which introduces a kind
4、 of simple digital voltmeter is based on single-chip microcontroller design. The circuit of the voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, A/D converting is mainly completed by t
5、he ADC0832, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the da
6、ta produced by the ADC0832</p><p> The voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measuring precision and reliability. The voltmeter is capable of measur
7、ing voltage inputs from 1 route ranging from 0 to 5 volt, and displaying the measurements though a digital code tube of 7 pieces of LED.</p><p> Keywords Single-chip microcontroller; Digital voltmeter; A/D
8、 converter; AT89C51; ADC0832</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractI</p><p><b> 目 錄II</b></p><p
9、><b> 第一章 緒論1</b></p><p> 1.1 課題的應(yīng)用場(chǎng)合1</p><p> 1.2 系統(tǒng)的功能和性能指標(biāo)1</p><p> 第二章 總體方案2</p><p> 2.1 方案設(shè)計(jì)與選擇2</p><p> 2.2 系統(tǒng)的總體結(jié)構(gòu)3</p&
10、gt;<p> 第三章 硬件電路設(shè)計(jì)5</p><p> 3.1 硬件電路框圖5</p><p> 3.2 主要器件選擇與應(yīng)用5</p><p> 3.3 單片機(jī)小系統(tǒng)設(shè)計(jì)5</p><p> 3.4 鍵盤(pán)與顯示電路設(shè)計(jì)6</p><p> 第四章 軟件設(shè)計(jì)9</p>
11、<p> 4.1 軟件組成框圖9</p><p> 4.2 軟件流程圖設(shè)計(jì)9</p><p> 4.3 主要程序設(shè)計(jì)10</p><p> 第五章 系統(tǒng)調(diào)試13</p><p> 5.1 調(diào)試的方法與工具13</p><p> 5.2 Proteus仿真調(diào)試及效果13</p&g
12、t;<p> 5.3 軟硬件聯(lián)合調(diào)試14</p><p> 5.4 系統(tǒng)運(yùn)行14</p><p> 5.5 調(diào)試心得15</p><p> 第六章 展望與拓展17</p><p><b> 致 謝17</b></p><p><b> 參考資料17
13、</b></p><p><b> 附錄18</b></p><p> 附錄Ⅰ 系統(tǒng)電原理圖18</p><p> 附錄Ⅱ 系統(tǒng)仿真效果圖19</p><p> 附錄Ⅲ 樣機(jī)實(shí)物圖19</p><p> 附錄Ⅳ 軟件流程圖20</p><p>
14、; 附錄Ⅴ源程序清單21</p><p><b> 第一章 緒論 </b></p><p> 1.1 課題的應(yīng)用場(chǎng)合</p><p> 在電量的測(cè)量中,電壓、電流和頻率是最基本的三個(gè)被測(cè)量,其中電壓量的測(cè)量最為經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測(cè)量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測(cè)量?jī)x器。數(shù)字電壓表簡(jiǎn)稱(chēng)DVM,
15、它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。由于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、測(cè)量速度快等特而得到廣泛應(yīng)用。</p><p> 傳統(tǒng)的指針式刻度電壓表功能單一,進(jìn)度低,容易引起視差和視覺(jué)疲勞,因而不能滿(mǎn)足數(shù)字化時(shí)代的需要。采用單片機(jī)的數(shù)字電壓表,將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,從而精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還
16、可與PC實(shí)時(shí)通信。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ)[2]。以數(shù)字電壓表為核心,可以擴(kuò)展成各種通用數(shù)字儀表、專(zhuān)用數(shù)字儀表及各種非電量的數(shù)字化儀表。目前,由各種單片機(jī)和A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表作全面深入的了解是很有必要的。</p><p> 本文是以簡(jiǎn)易數(shù)字直流電壓表的設(shè)計(jì)為研究?jī)?nèi)容,本系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊。其中,A/D轉(zhuǎn)換采用ADC0832對(duì)輸入的模擬信號(hào)進(jìn)行轉(zhuǎn)換,控制
17、核心AT89C51再對(duì)轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算處理,最后驅(qū)動(dòng)輸出裝置LED顯示數(shù)字電壓信號(hào)。</p><p> 1.2 系統(tǒng)的功能和性能指標(biāo)</p><p> 數(shù)字電壓表由A/D轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成,測(cè)量0~5.0V范圍內(nèi)的輸入電壓值,由四位一體的7段數(shù)碼管顯示,最大分辨率0.1V,誤差±0.05V。以AT89C51和ADC0832為核心內(nèi)件。ADC0832實(shí)現(xiàn)模數(shù)轉(zhuǎn)換。
18、單片機(jī)AT89C51是整個(gè)系統(tǒng)的核心,實(shí)現(xiàn)輸入端的分路選擇(量程轉(zhuǎn)換),模數(shù)轉(zhuǎn)換后數(shù)據(jù)的處理及在數(shù)碼管上數(shù)據(jù)的顯示,提供ADC0832芯片的工作頻率等功能。</p><p><b> 第二章 總體方案</b></p><p> 2.1 方案設(shè)計(jì)與選擇</p><p> AT89C51具有如下特點(diǎn):40個(gè)引腳,8k Bytes Flash片
19、內(nèi)程序存儲(chǔ)器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器</p><p> AT89C51可以按照常規(guī)方法進(jìn)行編程,也可以在線(xiàn)編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的 Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。</p
20、><p> AT89S5與AT89C51相比,前者的性能比后者高,所以本設(shè)計(jì)采用AT89C51芯片。</p><p><b> 數(shù)模轉(zhuǎn)換芯片選擇:</b></p><p> ADC0809是采樣分辨率為8位的、以逐次逼近原理進(jìn)行?!獢?shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè)8通道多路開(kāi)關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A
21、/D轉(zhuǎn)換,轉(zhuǎn)換時(shí)間為100μs。</p><p> ADC0832 為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時(shí)間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。</p><p> 由于ADC0832芯片的轉(zhuǎn)換時(shí)間短,并且性能比較高,
22、所以采用ADC0832作為數(shù)模轉(zhuǎn)換芯片.</p><p> 2.2 系統(tǒng)的總體結(jié)構(gòu)</p><p> 數(shù)字電壓表系統(tǒng)硬件設(shè)計(jì)框圖</p><p> 第三章 硬件電路設(shè)計(jì)</p><p> 3.1 硬件電路框圖</p><p> 硬件電路設(shè)計(jì)由6個(gè)部分組成; A/D轉(zhuǎn)換電路,AT89C51單片機(jī)系統(tǒng),LED顯示
23、系統(tǒng)、時(shí)鐘電路、鍵盤(pán)以及測(cè)量電壓輸入電路。</p><p> 數(shù)字電壓表系統(tǒng)硬件設(shè)計(jì)框圖</p><p> 3.2 主要器件選擇與應(yīng)用</p><p><b> 數(shù)模轉(zhuǎn)換芯片:</b></p><p> ADC0832是采樣分辨率為8位的、以逐次逼近原理進(jìn)行?!獢?shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè)8通道多路開(kāi)關(guān),它可以根據(jù)
24、地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換,轉(zhuǎn)換時(shí)間為100μs。</p><p> ADC0832 為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級(jí),可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時(shí)間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。</p><p&g
25、t; 由于ADC0832芯片的轉(zhuǎn)換時(shí)間短,并且性能比較高,所以采用ADC0832作為數(shù)模轉(zhuǎn)換芯片。 </p><p> 3.3 單片機(jī)小系統(tǒng)設(shè)計(jì)</p><p><b> 晶振電路:</b></p><p> 單片機(jī)內(nèi)部每個(gè)部件要想?yún)f(xié)調(diào)一致地工作,必須在統(tǒng)一口令——時(shí)鐘信號(hào)的控制下工作。單片機(jī)工作所需要的時(shí)鐘信號(hào)有兩種產(chǎn)生方式,即內(nèi)部時(shí)
26、鐘方式和外部時(shí)鐘方式。單片機(jī)內(nèi)部有一個(gè)構(gòu)成振蕩器的增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸入端,這個(gè)放大器與作為反饋元件的片外晶振一起構(gòu)成自激振蕩器。在該圖中,電容C1和C2取22PF,晶體的振蕩頻率取12MHz,晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)運(yùn)行速度也就快。</p><p> 3.4 鍵盤(pán)與顯示電路設(shè)計(jì)</p><p> 應(yīng)用系統(tǒng)中,設(shè)計(jì)要求
27、不同,使用的LED顯示器的位數(shù)也不同,因此就生產(chǎn)了位數(shù),尺寸,型號(hào)不同的LED顯示器供選擇,在本設(shè)計(jì)中,選擇4位一體的數(shù)碼型LED顯示器,簡(jiǎn)稱(chēng)“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個(gè)位,后兩位顯示電壓的小數(shù)位。</p><p> 4-LED顯示器引腳如圖所示,是一個(gè)共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的公共輸出端,1、2、3、4分別是每一位的位數(shù)選端,dp是小
28、數(shù)點(diǎn)引出端,4位一體LED數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個(gè)單獨(dú)的LED組成,每個(gè)LED的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。</p><p><b> 4位LED引腳</b></p><p> 對(duì)于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計(jì)要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動(dòng)態(tài)掃描方式(將所有數(shù)碼管的段選線(xiàn)并聯(lián)在一起,用一個(gè)
29、I/O接口控制)顯示。</p><p><b> 第四章 軟件設(shè)計(jì)</b></p><p> 4.1 軟件組成框圖</p><p> 4.2 軟件流程圖設(shè)計(jì)</p><p> 4.3 主要程序設(shè)計(jì)</p><p> #include<reg52.h></p>&
30、lt;p> #include<intrins.h></p><p> typedef unsigned int uint;</p><p> typedef unsigned char uchar;</p><p> /*****************端口定義**************/</p><p> sb
31、it CS=P3^4; </p><p> sbit CLK=P3^5; //定義時(shí)鐘信號(hào)</p><p> sbit DI=P3^6;</p><p> sbit DO=P3^6;</p><p> uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7
32、f,0x6f};// 共陰段碼表</p><p> void delay(uint xms) // 延時(shí)函數(shù)</p><p><b> {</b></p><p><b> uint i,j;</b></p><p> for(i=xms;i>0;i--)</p>&l
33、t;p> for(j=110;j>0;j--);</p><p><b> }</b></p><p> void display(uchar add,uchar dat)</p><p><b> {</b></p><p> uchar aa=0x80;</p>
34、<p> P0=table[dat];//送段碼</p><p> if(add==1) P0|=0x80;</p><p> P2=~(aa>>add);//送位碼</p><p><b> delay(1);</b></p><p><b> P2=0xff
35、;</b></p><p><b> }</b></p><p> uchar AD0832(bit channel)</p><p><b> {</b></p><p> uchar AdcByte0,AdcByte1,i;</p><p> CLK
36、=0; _nop_();_nop_(); </p><p> DI=1; _nop_();_nop_();</p><p> CS=0; _nop_();_nop_();</p><p> CLK=1; _nop_();_nop_();</p><p> CLK=0; _nop_();_nop_();</p
37、><p> DI=1; _nop_();_nop_();</p><p> CLK=1;_nop_();_nop_();</p><p> CLK=0; _nop_();_nop_();</p><p> DI=channel; _nop_();_nop_();</p><p> CLK=1; _nop
38、_();_nop_();</p><p><b> CLK=0;</b></p><p><b> DI=1;</b></p><p> for(i=0;i<8;i++)</p><p><b> { </b></p><p> Ad
39、cByte0<<=1;</p><p><b> CLK=1;</b></p><p> _nop_();_nop_();</p><p><b> CLK=0;</b></p><p><b> _nop_();</b></p><p&
40、gt; AdcByte0|=DO;</p><p><b> }</b></p><p><b> if(DO)</b></p><p> AdcByte1|=0x80;</p><p> for(i=0;i<7;i++)</p><p><b>
41、 {</b></p><p> AdcByte1>>=1;</p><p><b> CLK=1;</b></p><p> _nop_();_nop_();</p><p><b> CLK=0;</b></p><p><b>
42、 _nop_();</b></p><p> if(DO) AdcByte1|=0x80;</p><p><b> }</b></p><p><b> CS=1;</b></p><p> return(AdcByte0==AdcByte1?AdcByte0:0);</
43、p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p> uint date;</p><p> uchar AdcByte,bit0,bit1,bit2,bit3,i;</p>&
44、lt;p><b> while(1)</b></p><p><b> {</b></p><p> AdcByte=AD0832(0);</p><p> date=(AdcByte/255.0)*5*100;</p><p> bit0=date%10;</p>&
45、lt;p> bit1=date%100/10;</p><p> bit2=date%1000/100;</p><p> bit3=date/1000;</p><p> for(i=0;i<100;i++)</p><p><b> {</b></p><p> dis
46、play(3,bit0);</p><p> display(2,bit1);</p><p> display(1,bit2);</p><p> display(0,bit3);</p><p><b> }</b></p><p><b> }</b><
47、/p><p><b> }</b></p><p><b> 第五章 系統(tǒng)調(diào)試</b></p><p> 5.1 調(diào)試的方法與工具</p><p> 用keil軟件編寫(xiě)程序,編好程序后再進(jìn)行編譯,編譯完成后檢查程序有無(wú)錯(cuò)誤,然后修改程序直到?jīng)]有錯(cuò)為止,然后再與硬件聯(lián)調(diào),直到仿真出結(jié)果。</
48、p><p> 5.2 Proteus仿真調(diào)試及效果</p><p> 5.3 軟硬件聯(lián)合調(diào)試</p><p> 在系統(tǒng)上電開(kāi)始測(cè)量前,要用萬(wàn)用表的電壓檔對(duì)被測(cè)電壓進(jìn)行估測(cè),然后以此選擇適當(dāng)?shù)牧砍蹋乐惯^(guò)大電壓燒壞A/D轉(zhuǎn)換器。首先用萬(wàn)用表按照原理圖逐步檢查印刷板中各器件的電源及各引腳的連接是否正確,有否斷路、短路或者虛焊,尤其是給電路供電的電源部分要重點(diǎn)檢查,是否
49、穩(wěn)定,且穩(wěn)定即可說(shuō)明電源電路的設(shè)計(jì)基本達(dá)到要求。如果電壓沒(méi)有達(dá)到要求,要及時(shí)排查給予解決,以免燒壞芯片和其他元器件。 </p><p> 軟件調(diào)試時(shí)先進(jìn)行單元測(cè)試,分別對(duì)各個(gè)代碼模塊進(jìn)行測(cè)試,看其是否實(shí)現(xiàn)了規(guī)定功能,再把已經(jīng)測(cè)試過(guò)的模塊組合起來(lái)進(jìn)行測(cè)試,一旦不能正確運(yùn)行,要找出程序中的錯(cuò)誤,確定大致的出錯(cuò)位置,研究有關(guān)部分的錯(cuò)誤程序,找出錯(cuò)誤原因,修改設(shè)計(jì)和代碼,以排除錯(cuò)誤。 </p&
50、gt;<p> 在程序編寫(xiě)完成后,就可以利用仿真器進(jìn)行初步調(diào)試,觀察在計(jì)算機(jī)里能否通過(guò)編譯與運(yùn)行并達(dá)到設(shè)計(jì)的基本要求。在基本符合的情況下,利用仿真器與工作正常的硬件連接進(jìn)行仿真調(diào)試;或用編程器把程序燒寫(xiě)到芯片中,直接觀察能否正常運(yùn)行。如果達(dá)不到設(shè)計(jì)要求或者不能正常運(yùn)行,可以直接在程序中進(jìn)行修改。 </p><p> 系統(tǒng)調(diào)試中遇到的問(wèn)題及解決的方法: </p>
51、<p> 1)在應(yīng)用濾波電容的過(guò)程中,一開(kāi)始是把電容串聯(lián)在電路中,導(dǎo)致電路無(wú)法導(dǎo)通,而后我們短路電容,解決了問(wèn)題。 </p><p> 2)電源指示燈上,一開(kāi)始發(fā)現(xiàn)接上電源,指示燈不亮,經(jīng)過(guò)儀器測(cè)量發(fā)現(xiàn)正負(fù)極接反,后重新焊接,問(wèn)題解決。 </p><p> 3)由于源程序的多處錯(cuò)誤,使得仿真無(wú)法通過(guò),后經(jīng)過(guò)單步調(diào)試,把存在的錯(cuò)誤一一排除,通過(guò)了軟件仿真。
52、 </p><p> 4)在燒錄芯片的過(guò)程中,由于選擇燒錄文件的錯(cuò)誤及芯片自身問(wèn)題(因多次燒錄,無(wú)法再次燒錄)使得燒錄失敗,后經(jīng)過(guò)老師指導(dǎo)并更換了AT89C51芯片,解決了問(wèn)題。</p><p><b> 5.4 系統(tǒng)運(yùn)行</b></p><p> 調(diào)試好之后,把程序固化到單片機(jī)芯片中,單機(jī)運(yùn)行,數(shù)碼管顯示被測(cè)電壓,調(diào)節(jié)電位器,
53、仿真電壓表與之變化,數(shù)碼管顯示數(shù)值與電壓表數(shù)值相同,可以看出系統(tǒng)運(yùn)行正常。</p><p><b> 5.5 調(diào)試心得</b></p><p> 從開(kāi)始設(shè)計(jì)數(shù)字電壓表到完成這個(gè)項(xiàng)目的設(shè)計(jì),我從中學(xué)到了許多關(guān)于調(diào)試方面的經(jīng)驗(yàn),這些經(jīng)驗(yàn)都是從困難中累積起來(lái)的,每當(dāng)調(diào)試遇到無(wú)法繼續(xù)下去時(shí),總感覺(jué)渺茫時(shí),我總是告訴自己不能放棄,一定要堅(jiān)持下來(lái),慢慢理清思緒,找出出錯(cuò)的地
54、方,不斷調(diào)試,每當(dāng)自己克服一重重困難,才發(fā)現(xiàn)自己進(jìn)步了許多。</p><p><b> 第六章 展望與拓展</b></p><p> 通過(guò)本次設(shè)計(jì),我對(duì)單片機(jī)這門(mén)課程有了更進(jìn)一步的了解。無(wú)論是在其硬件連接方面還是在軟件編程方面,都取得了新的收獲。本次實(shí)驗(yàn)采用了AT89S51單片機(jī)芯片,與以往我們所熟悉的C51芯片有許多不同之處,通過(guò)本次設(shè)計(jì)及查閱相關(guān)資料,我對(duì)其之
55、間的區(qū)別有了一定的認(rèn)識(shí),在本設(shè)計(jì)報(bào)告的硬件介紹部分也對(duì)其作了詳細(xì)的論述。S51在C51的基礎(chǔ)上增加了許多新的功能,使其功能更為完善,應(yīng)用領(lǐng)域也更為廣泛。</p><p> 單片機(jī)的應(yīng)用如今已經(jīng)在工業(yè)、電子等方方面面展現(xiàn)出它的優(yōu)越性,利用單片機(jī)設(shè)計(jì)電路已經(jīng)成一樂(lè)一種趨勢(shì),他與外圍的簡(jiǎn)單電路加上優(yōu)化程序就可以構(gòu)建成任意的產(chǎn)品,使得本設(shè)計(jì)得以實(shí)現(xiàn)。隨著單片機(jī)的發(fā)展,他必將在未來(lái)顯示出更大的活力。</p>
56、<p><b> 致 謝</b></p><p> 由于是初次嘗試設(shè)計(jì)電路,由于知識(shí)及經(jīng)驗(yàn)的匱乏,難免遇到很多困難,如果沒(méi)有老師的督促指導(dǎo)以及同學(xué)們的支持,很難順利的完成此次設(shè)計(jì)。從開(kāi)始做這個(gè)項(xiàng)目到完成,都離不開(kāi)老師、同學(xué)、朋友給以的幫助,在這里請(qǐng)接受我的謝意!</p><p><b> 參考資料</b></p>
57、<p> [1]胡健.單片機(jī)原理及接口技術(shù).北京:機(jī)械工業(yè)出版社,2004年10月</p><p> [2]王毓銀.數(shù)字電路邏輯設(shè)計(jì).高等教育出版社,2005年12月</p><p> [3]于殿泓、王新年.單片機(jī)原理與程序設(shè)計(jì)實(shí)驗(yàn)教程.西安電子科技大學(xué)出版社,2007年5月</p><p> [4]謝維成、楊加國(guó).單片機(jī)原理與應(yīng)用及C51程序設(shè)
58、計(jì)實(shí)例.電子工業(yè)出版社,2006年3月</p><p> [5]李廣弟.單片機(jī)基礎(chǔ).北京航空航天大學(xué)出版社,2007年5月</p><p> [6]姜志海,黃玉清等著.單片機(jī)原理及應(yīng)用[M] .北京:電子工業(yè)出版社.2005年7月 </p><p> [7]魏立峰.單片機(jī)原理及應(yīng)用技術(shù).北京大學(xué)出版社,2005年</p><p> [
59、8]周潤(rùn)景.Protues在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例.第一版.北京:電子工業(yè)出版社,2006年</p><p> [9]邊春遠(yuǎn)等著.MCS-51單片機(jī)應(yīng)用開(kāi)發(fā)實(shí)用子程序[M] .北京:人民郵電出版社.2005年9月.</p><p><b> 附錄</b></p><p> 附錄Ⅰ 系統(tǒng)電原理圖</p>
60、<p> 附錄Ⅱ 系統(tǒng)仿真效果圖</p><p><b> 附錄Ⅲ 樣機(jī)實(shí)物圖</b></p><p><b> 附錄Ⅳ 軟件流程圖</b></p><p> 數(shù)字式直流電壓表主程序框圖</p><p><b> A/D轉(zhuǎn)換流程圖</b></p>
61、;<p><b> 附錄Ⅴ源程序清單</b></p><p> #include<reg52.h></p><p> #include<intrins.h></p><p> typedef unsigned int uint;</p><p> typedef unsig
62、ned char uchar;</p><p> sbit CS=P3^4;</p><p> sbit CLK=P3^5;</p><p> sbit DI=P3^6;</p><p> sbit DO=P3^6;</p><p> uchar code table[]={</p><p
63、> 0x3f,0x06,0x5b,0x4f,</p><p> 0x66,0x6d,0x7d,0x07,</p><p> 0x7f,0x6f};</p><p> void delay(uint xms)</p><p><b> {</b></p><p><b>
64、 uint i,j;</b></p><p> for(i=xms;i>0;i--)</p><p> for(j=110;j>0;j--);</p><p><b> }</b></p><p> void display(uchar add,uchar dat)</p>
65、<p><b> {</b></p><p> uchar aa=0x80;</p><p> P0=table[dat];</p><p> if(add==1) P0|=0x80;</p><p> P2=~(aa>>add);</p><p><b&
66、gt; delay(1);</b></p><p><b> P2=0xff;</b></p><p><b> }</b></p><p> uchar AD0832(bit channel)</p><p><b> {</b></p>
67、<p> uchar AdcByte0,AdcByte1,i;</p><p> CLK=0; _nop_();_nop_();</p><p> DI=1; _nop_();_nop_();</p><p> CS=0; _nop_();_nop_();</p><p> CLK=1; _nop_();_n
68、op_();</p><p> CLK=0; _nop_();_nop_();</p><p> DI=1; _nop_();_nop_();</p><p> CLK=1;_nop_();_nop_();</p><p> CLK=0; _nop_();_nop_();</p><p> DI=
69、channel; _nop_();_nop_();</p><p> CLK=1; _nop_();_nop_();</p><p><b> CLK=0;</b></p><p><b> DI=1;</b></p><p> for(i=0;i<8;i++)</p>
70、<p><b> { </b></p><p> AdcByte0<<=1;</p><p><b> CLK=1;</b></p><p> _nop_();_nop_();</p><p><b> CLK=0;</b></p&g
71、t;<p><b> _nop_();</b></p><p> AdcByte0|=DO;</p><p><b> }</b></p><p><b> if(DO)</b></p><p> AdcByte1|=0x80;</p>&
72、lt;p> for(i=0;i<7;i++)</p><p><b> {</b></p><p> AdcByte1>>=1;</p><p><b> CLK=1;</b></p><p> _nop_();_nop_();</p><p&g
73、t;<b> CLK=0;</b></p><p><b> _nop_();</b></p><p> if(DO) AdcByte1|=0x80;</p><p><b> }</b></p><p><b> CS=1;</b></p
74、><p> return(AdcByte0==AdcByte1?AdcByte0:0);</p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p> uint date;</p>
75、<p> uchar AdcByte,bit0,bit1,bit2,bit3,i;</p><p><b> while(1)</b></p><p><b> {</b></p><p> AdcByte=AD0832(0);</p><p> date=(AdcByte/25
76、5.0)*5*100;</p><p> bit0=date%10;</p><p> bit1=date%100/10;</p><p> bit2=date%1000/100;</p><p> bit3=date/1000;</p><p> for(i=0;i<100;i++)</p>
77、;<p><b> {</b></p><p> display(3,bit0);</p><p> display(2,bit1);</p><p> display(1,bit2);</p><p> display(0,bit3);</p><p><b>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字電壓表的制作與設(shè)計(jì)-實(shí)習(xí)報(bào)告
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作
- eda數(shù)字電壓表設(shè)計(jì)報(bào)告
- 數(shù)字電壓表設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)--簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作3.doc
- 課程設(shè)計(jì)報(bào)告--數(shù)字電壓表
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作2.doc
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作1.doc
- 數(shù)字電壓表課程設(shè)計(jì)報(bào)告
- pcf數(shù)字電壓表設(shè)計(jì)
- 數(shù)字電壓表
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)【開(kāi)題報(bào)告】
- 數(shù)字電壓表畢業(yè)設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表畢業(yè)設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- ats直流數(shù)字電壓表設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論