版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> 學(xué)生姓名學(xué) 號</p><p> 班 級</p><p> 專 業(yè)電子信息工程</p><p> 題 目基于單片機(jī)的數(shù)字電壓表</p><p><b> 1 任務(wù)和設(shè)計要求</b></p>
2、<p> ?。?)設(shè)計一帶八位AD轉(zhuǎn)換器、4位數(shù)碼管顯示和按鍵的單片機(jī)系統(tǒng)。</p><p> ?。?)能對0-5V之間的直流電壓進(jìn)行測量,并把結(jié)果顯示在數(shù)碼管上。</p><p> ?。?)利用按鍵操作對測量值進(jìn)行調(diào)整,以便精確測量。</p><p><b> 2 系統(tǒng)設(shè)計</b></p><p>&l
3、t;b> 系統(tǒng)框圖</b></p><p><b> 3 硬件設(shè)計</b></p><p><b> 3.1 電路原理圖</b></p><p> 3.2 主要單元電路</p><p><b> 3.3 元件清單:</b></p>&l
4、t;p> AT89C52、12M晶振、30p電容、1k電阻、1k滑動電阻、74ls373、</p><p> 7段4位數(shù)碼管、74ls14、adc0808、22uf電解電容</p><p><b> 4 軟件設(shè)計</b></p><p><b> 4.1 程序流程圖</b></p><p&
5、gt; 4.2 主要功能程序設(shè)計</p><p><b> 4.3 程序清單:</b></p><p> #include<regx52.h></p><p> #include<absacc.h></p><p> #define IN0 XBYTE[0x7ff8]</p>
6、<p> unsigned char dispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};</p><p> unsigned char dispbuf[4]; //存放數(shù)碼管顯示數(shù)據(jù)</p><p> unsigned int i;</p><p> unsign
7、ed int j;</p><p> unsigned char getdata; //存放讀入數(shù)據(jù)</p><p> unsigned int temp;</p><p> unsigned char count;</p><p> sbit ad_busy = P3^2; //忙信號</p><p>
8、sbit CLK = P3^5; //時鐘信號</p><p> void Delay(unsigned int i)//延時</p><p><b> {</b></p><p> unsigned int j;</p><p> for(;i>0;i--)</p><p>&l
9、t;b> {</b></p><p> for(j=0;j<125;j++)</p><p><b> {;}</b></p><p><b> }</b></p><p><b> }</b></p><p> vo
10、id Display()</p><p><b> { </b></p><p> P1=dispbitcode[dispbuf[3]];</p><p><b> P3_0=0;</b></p><p><b> P3_1=1;</b></p><
11、p><b> P3_3=1;</b></p><p><b> P3_4=1;</b></p><p> Delay(10);</p><p><b> P1=0x00;</b></p><p> P1=dispbitcode[dispbuf[2]];</
12、p><p> P1_7=1;//小數(shù)點(diǎn)</p><p><b> P3_0=1;</b></p><p><b> P3_1=0;</b></p><p><b> P3_3=1;</b></p><p><b> P3_4=1;<
13、/b></p><p> Delay(10); </p><p><b> P1=0x00;</b></p><p> P1=dispbitcode[dispbuf[1]];</p><p><b> P3_0=1;</b></p><p><b>
14、 P3_1=1;</b></p><p><b> P3_3=0;</b></p><p><b> P3_4=1;</b></p><p> Delay(10);</p><p><b> P1=0x00;</b></p><p>
15、 P1=dispbitcode[dispbuf[0]];</p><p><b> P3_0=1;</b></p><p><b> P3_1=1;</b></p><p><b> P3_3=1;</b></p><p><b> P3_4=0;</
16、b></p><p> Delay(10);</p><p><b> P1=0x00;</b></p><p><b> }</b></p><p> void t1(void) interrupt 3 using 0 //CLOCK時鐘信號</p><p>
17、<b> {</b></p><p> TH1=(65536-200)/256;</p><p> TL1=(65536-200)%256;</p><p><b> CLK=~CLK;</b></p><p><b> }</b></p><p&
18、gt; void TimeInitial()</p><p><b> { </b></p><p> TMOD=0x10;//定時器工作在方式1</p><p> TH1=(65536-200)/256;</p><p> TL1=(65536-200)%256; //頻率500HZ</p>&
19、lt;p><b> EA=1;</b></p><p><b> ET1=1;</b></p><p><b> TR1=1;</b></p><p><b> }</b></p><p> void main()</p>&
20、lt;p><b> {</b></p><p> unsigned char p;</p><p> unsigned char xdata *ad_adr;</p><p> TimeInitial();</p><p> ad_adr = &IN0;</p><p>&
21、lt;b> while(1){</b></p><p> *ad_adr = 0;</p><p><b> p=p;</b></p><p><b> p=p;</b></p><p> while(ad_busy==0);</p><p>
22、getdata = *ad_adr;</p><p> temp=getdata*1.0/255*500;</p><p> dispbuf[0] = temp%10;</p><p> dispbuf[1] = temp/10%10;</p><p> dispbuf[2] = temp/100%10;</p><
23、;p> dispbuf[3] = temp/1000;</p><p> Display();</p><p><b> }</b></p><p><b> }</b></p><p><b> 5 系統(tǒng)仿真及調(diào)試</b></p><p&g
24、t;<b> 5.1 仿真原理圖</b></p><p><b> 5.2 調(diào)試波形</b></p><p> 5.3 仿真結(jié)果及分析</p><p> 此實驗顯示的精度為0.05v,在顯示時過程中,它可能顯示0,0.05,0.10,0.15,0.19,0.25,0.29,0.34,0.40……..2.24,2.3
25、0,2.34,2.40,………..4.55,4.60,4.64,4.70,4.74,4.80,4.84,4.90.4.94,5.00等數(shù)據(jù).</p><p> 誤差=0.01*50/100</p><p><b> =0.005</b></p><p> 可以發(fā)現(xiàn)誤差是很小的,滿足電壓測量的精確度.</p><p>
26、;<b> 6 訓(xùn)練體會</b></p><p> 單片機(jī)作為我們的主要專業(yè)課之一,雖然在開學(xué)初我對這門課并沒有什么興趣,覺得那些程序枯燥乏味,但在這次課程設(shè)計后我發(fā)現(xiàn)自己在一點(diǎn)一滴的努力中對單片機(jī)的興趣也在逐漸增加。</p><p> 作為一名電子信息專業(yè)的大三學(xué)生,我覺得做單片機(jī)課程設(shè)計是十分有意義的,而且是十分必要的。在已度過的大學(xué)時間里,我們大多數(shù)接觸的
27、是專業(yè)課。我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我們的實踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識運(yùn)用到實踐中去呢?我想做類似的課程設(shè)計就為我們提供了良好的實踐平臺。</p><p> 此次單片機(jī)課程設(shè)計,我們班選擇了電壓測量這個基本的設(shè)計,雖然設(shè)計簡單,但是所有的知識點(diǎn)都應(yīng)用在設(shè)計中。確定課設(shè)內(nèi)容后,我查找大量相關(guān)材料,然后知識匯總,把有關(guān)課題的內(nèi)容經(jīng)過對比與分析,最后來完成課設(shè)。</p&
28、gt;<p> 電壓測量在很多參考書上都有介紹,但運(yùn)用到軟件中時,出現(xiàn)各種不同的錯如,我參考別人的程序,然后根據(jù)書本上所講的有關(guān)知識點(diǎn)加以改進(jìn),編了一個新的程序,來實現(xiàn)功能。在編程過程中我運(yùn)用的是C語言,比較匯編語言來說,感覺比較簡潔清晰,函數(shù)關(guān)系較為清晰,并可以減少程序的冗長。</p><p> 通過這次課程設(shè)計我也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺理論上已經(jīng)掌握,但在運(yùn)用到實踐的過程中仍有意
29、想不到的困惑,經(jīng)過一番努力才得以解決。這也激發(fā)了我今后努力學(xué)習(xí)的興趣,我想這將對我以后的學(xué)習(xí)產(chǎn)生積極的影響。</p><p><b> 7 參考文獻(xiàn)</b></p><p> 1、《51單片機(jī)應(yīng)用開發(fā)案例精選》,王為清、邱文勛編著,人民郵電出版社</p><p> 2、《單片機(jī)語言C51典型應(yīng)用設(shè)計》,劉文濤編著,人民郵電出版社</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計報告--基于單片機(jī)的數(shù)字電壓表
- 單片機(jī)課程設(shè)計---基于單片機(jī)的數(shù)字電壓表設(shè)計
- 單片機(jī)課程設(shè)計報告--基于單片機(jī)的數(shù)字電壓表.doc
- 單片機(jī)課程設(shè)計---基于單片機(jī)的簡易數(shù)字電壓表設(shè)計
- 單片機(jī)課程設(shè)計報告——數(shù)字電壓表
- 單片機(jī)課程設(shè)計-數(shù)字電壓表
- 單片機(jī)課程設(shè)計---數(shù)字電壓表
- 單片機(jī)課程設(shè)計-數(shù)字電壓表
- 單片機(jī)(數(shù)字電壓表)課程設(shè)計
- 單片機(jī)課程設(shè)計----數(shù)字電壓表
- 單片機(jī)課程設(shè)計-數(shù)字電壓表
- 單片機(jī)課程設(shè)計--數(shù)字電壓表
- 單片機(jī)課程設(shè)計--數(shù)字電壓表
- 單片機(jī)課程設(shè)計報告-- 數(shù)字電壓表設(shè)計
- 基于單片機(jī)的數(shù)字電壓表課程設(shè)計
- 基于單片機(jī)的數(shù)字電壓表課程設(shè)計
- 單片機(jī)課程設(shè)計---數(shù)字電壓表設(shè)計
- 單片機(jī)課程設(shè)計---數(shù)字電壓表設(shè)計
- 單片機(jī)課程設(shè)計---數(shù)字電壓表設(shè)計
- 單片機(jī)課程設(shè)計--簡易數(shù)字電壓表
評論
0/150
提交評論