




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、不要刪除行尾的分節(jié)符,此行不會被打印哈 爾 濱 理 工 大 學課 程 設(shè) 計 題目 智能儀器設(shè)計 姓名王玉林 班級 測控10-5班 學號 1005010502 指導教師苑惠娟 成績2013年6月11日目錄第1章 緒論11.1 課程設(shè)計題目與要求1第2章 總體方案設(shè)計22.1 工作原理22.2 系統(tǒng)組成22.3 波形發(fā)生22.4 顯示部分22.5 按鍵部分2第3章 硬件電路設(shè)計33.1 顯示及鍵盤接口電路33.2 D/A轉(zhuǎn)換電路43.3 復位電路53.4 8路LED63.5 本章小結(jié)6第4章 軟件設(shè)計7第5章 PCB板設(shè)計、安裝與調(diào)試85.185.285.385.4 本章小結(jié)8第6章 系統(tǒng)標定、
2、測試與精度分析96.196.296.396.4 本章小結(jié)9結(jié)論10致謝11參考文獻12心得體會13附錄14千萬不要刪除行尾的分節(jié)符,此行不會被打印。在目錄上點右鍵“更新域”,然后“更新整個目錄”。打印前,不要忘記把上面“Abstract”這一行后加一空行第1章 緒論1.1 課程設(shè)計題目與要求設(shè)計任務(wù):設(shè)計制作一個波形發(fā)生器,該波形發(fā)生器能產(chǎn)生三角波,梯形波等由用戶編輯的特定形狀波形。示意圖如下:圖1 設(shè)計要求圖設(shè)計要求:1.具有產(chǎn)生三角波、正弦波兩種種周期性波形的功能;2.頻率可調(diào)節(jié),并顯示在數(shù)碼管上。3.LED在運行過程中按要求亮。第2章 總體方案設(shè)計2.1 工作原理根據(jù)題目的要求,制定了整
3、體方案:以STC90C51單片機為控制核心,P20、P21口接pcf8591p信號輸入并進行數(shù)模轉(zhuǎn)換,P3口接8路獨立按鍵,P1口接8路LED ,P0口接數(shù)碼管顯示,由程序控制P2口產(chǎn)生波形(分別是正弦波、方波),再由按鍵及按鍵次數(shù)控制產(chǎn)生波形的種類及頻率在一定范圍內(nèi)可調(diào)。在LED上實時的顯示波形的頻率和種類,波形在示波器上產(chǎn)生。正弦波波形的發(fā)生:在產(chǎn)生正弦波時,每周期只取80個點,在波形盡量不失真的前提下,使其頻率達到的值盡量大,以便示波器顯示。2.2 系統(tǒng)組成系統(tǒng)組成總體框圖如下:P2.4P2.5獨立按鍵PD/A轉(zhuǎn)換波形P1P0P1位選數(shù)碼顯示STC90C51系統(tǒng)復位系統(tǒng)時鐘2.3 波形發(fā)
4、生采用單片機和數(shù)模轉(zhuǎn)換pcf8591p實現(xiàn)波形的產(chǎn)生。通過STC90C51執(zhí)行三角正弦波程序,向D/A轉(zhuǎn)換器的輸入端按I2C總線方式發(fā)送數(shù)據(jù),從而在D/A轉(zhuǎn)換電路輸出端得到相應的電壓波形。在STC90C51的P2.4P2.7口接獨立按鍵,通過軟件編程來選擇波形、頻率,每種波形對應一個按鍵,頻率增加、減少對應一個按鍵。2.4 顯示部分8段LED共陰極數(shù)碼管,P1口進行位選,P0口輸出段選信號。2.5 按鍵部分采用獨立按鍵,它相比較矩陣鍵盤,按鍵的數(shù)目比少,結(jié)構(gòu)簡單,方便操作,執(zhí)行效率高。第3章 硬件電路設(shè)計硬件電路原理圖3.1 顯示及鍵盤接口電路功能:led顯示,按鍵掃描。由LED數(shù)碼管顯示器和
5、獨立按鍵組成。當某一按鍵按下一次時,掃描程序掃描到之后,通過P0口將信號發(fā)送到LED。掃描及顯示利用程序?qū)崿F(xiàn),不斷掃描獨立按鍵,當某一按鍵按下時,隨即執(zhí)行程序段,完成相應的功能。共陰極數(shù)碼管6路獨立按鍵3.2 D/A轉(zhuǎn)換電路功能:將波形樣值編碼轉(zhuǎn)換成模擬值,輸出波形。由一片PCF8591組成。PCF8591是具有I2C總線接口的8位A/D及D/A轉(zhuǎn)換器。有四路A/D轉(zhuǎn)換輸入,1路D/A模擬輸出,也就是既可以作D/A轉(zhuǎn)換也可以作A/D轉(zhuǎn)換。PCF8591靠數(shù)據(jù)線SDA和時鐘線SCL和90C51聯(lián)系。單片機以I2C協(xié)議向PCF8591發(fā)送數(shù)字編碼,產(chǎn)生不同的輸出。先利用采樣定理對各種波形進行抽樣,
6、然后把各種采樣值進行編碼,收到的數(shù)字量存入各個波形表,執(zhí)行程序時通過查表的方法依次取出,經(jīng)過D/A轉(zhuǎn)換后輸出就可以得到波形。如N個點構(gòu)成波形的一個周期,則PCF8591輸出N個樣點值后,樣值點形成運動軌跡,即一個周期。利用單片機的中斷時間控制輸出周期的速度,也就是控制輸出的波形的頻率。D/A轉(zhuǎn)換電路圖3.3 復位電路單片機的復位電路在剛接通電時,剛開始電容是沒有電的,電容內(nèi)的電阻很低,通電后,5V的電通過電阻給電容進行充電,電容兩端的電會由0V慢慢的升到4V左右(此時間很短一般小于0.3秒),RC構(gòu)成的微分電路在上電瞬間產(chǎn)生一個微分脈沖,其寬度大于兩個機器周期,90C51復位。因此,復位腳的電
7、由低電位升到高電位,引起了內(nèi)部電路的復位工作,RST端電壓慢慢下降,降到一定電壓值以后,即為低電平,單片機開始正常工作(即上電復位,也叫初始化復位);當按下復位鍵時,電容兩端放電,電容又回到0V了,于是又進行了一次復位工作(即手動復位)。復位電路3.4 8路LED發(fā)光二極管用于按鍵檢測,檢查按鍵掃描是否成功,以驗證程序的有效性。8路LED3.5 本章小結(jié)第4章 軟件設(shè)計主程序和子程序都存放在PCF8591單片機中。主程序的功能是:開機做鍵盤掃描及顯示工作,然后根據(jù)用戶所按的鍵轉(zhuǎn)到相應的子程序進行處理。子程序的功能有:延時子程序、中斷程序、顯示子程序、按鍵子程序,按鍵子程序中有頻率的加和減鍵、波
8、形的轉(zhuǎn)換鍵等共4個鍵。第5章 軟硬件調(diào)試5.1在單片機編程中主要出現(xiàn)了以下問題:1) 鍵盤掃描時,多次掃描的問題,最終加入循環(huán)語句,是按鍵松開時執(zhí)行,解決。2) 共256個樣值點的正弦波輸出時,不能完整顯示的問題,采用每隔3個樣值點輸出一個的方案,減少樣值數(shù)量從而增大輸出頻率。3) 中斷時間問題,因為定時器中斷時間過短引起的波形不能正常顯示問題。最終考慮了D/A轉(zhuǎn)換時間,以及程序段的執(zhí)行時間,使一次中斷時間不小于100毫秒,得以解決。4) 數(shù)碼管顯示的閃動問題,加大了對動態(tài)顯示數(shù)碼管的掃描頻率,更改了由浮點數(shù)構(gòu)成的頻率計算公式,解決了計算引起的程序執(zhí)行時間過長問題。5) 正弦波頻率范圍問題,通
9、過計算子程序段執(zhí)行時間,定時器中斷時間,DA轉(zhuǎn)換時間,最終確定頻率輸出范圍10hz800hz。5.2 本章小結(jié)千萬不要刪除行尾的分節(jié)符,此行不會被打印。“結(jié)論”以前的所有正文內(nèi)容都要編寫在此行之前。心得體會通過這次課程設(shè)計,我重新學習了以前的知識,學習了Altium designer這個軟件,學習硬件電路的設(shè)計,以及PCB的繪制。實驗過程中遇到了很多問題,例如DA轉(zhuǎn)換不能正常工作,還有就是數(shù)碼管顯示的問題,由于數(shù)碼管顯示的時間太長,然后DA轉(zhuǎn)換的時候,導致DA不能正常工作,只能通過一小段延時來實現(xiàn)的數(shù)碼管的顯示,還有就是DA輸出波形時,數(shù)碼管不能顯示其輸出頻率,因為動態(tài)數(shù)碼管刷新的時間太快,以
10、至于在 轉(zhuǎn)換過程中不能顯示其頻率,通過按鍵調(diào)整其頻率效果不是很好,通過示波器顯示的波形不能很好的反映其真實頻率。通過這次課程設(shè)計進一步加深對數(shù)碼管,按鍵的使用,以及常見波形的產(chǎn)生。這次的實踐主要掌握了一些編程技巧,學會了用軟件技術(shù)解決了按鍵抖動的問題,學會了中斷定時的使用,運用動態(tài)掃描顯示節(jié)省了IO口的使用。數(shù)碼管顯示的延時時間影響數(shù)碼管的亮度及是否產(chǎn)生閃爍的現(xiàn)象。 附 錄#include#include #define NOP() _nop_() #define _Nop() _nop_() bit ack;sbit SCL=P21; sbit SDA=P20;sbit k1=P22;sbi
11、t k2=P23;sbit k3=P24;sbit k4=P25;sbit k5=P26;sbit k6=P27;unsigned int wave=0,i=0;unsigned int sum=0,n=0,f=1;int g=0;unsigned char code Disp_Tab = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /共陰數(shù)unsigned char code dispbit6=0xfe,0xfd,0xfb,0xf7,0xef,0xdf; /位選控制 查表的方法控制char sanjiao;char code sin2
12、56=0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0x
13、ff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xdd,0xde,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x
14、99,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x
15、06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x
16、4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80;void start_i2c()SDA=1;_Nop();SCL=1;_Nop(); _Nop(); _Nop(); _Nop();_Nop();SDA=0;_Nop();_Nop();_Nop();_Nop();_Nop();SCL=0;_Nop();_Nop(); void SendByte(unsigned char c) unsigned char BitCnt; for(BitCnt=0;BitCnt8;BitCnt+)
17、 /*要傳送的數(shù)據(jù)長度為8位*/ if(c 0; i-) for(j = 200; j 0; j-);void ledshow(unsigned int f,unsigned int i)unsigned int LedOut6; LedOut3=Disp_Tabf%10000/1000; LedOut2=Disp_Tabf%1000/100; LedOut1=Disp_Tabf%100/10; LedOut0=Disp_Tabf%10; LedOut4=Disp_Tabf%100000/10000; LedOut5=Disp_Tabwave%2; P0 = LedOuti; P1 = dis
18、pbiti; void main() unsigned int ge,shi,bai,qian,wan; EA=1; ET0=1; ET1=1; TMOD=0x11; TR0=1;TR1=1; TH0=0xfc; TL0=0x17; TH0=0xfc; TL0=0x17; TH1=0xff; Tl1=0xf5; start_i2c(); SendByte(0x90); SendByte(0x40); while(1) if(k1=0) delay(50); if(k1=1) wave+; if(k2=0) delay(50); if(k2=1) ge+; if(ge9)&(ge=18)f=f-1;else ge=0; if(k3=0) delay(50); if(k3=1) shi+; if(shi9)&(shi=18)f=f-10;else shi=0; if(k4=0) delay(50); if(k4=1) bai+; if(bai9)&(bai=18)f=f-100;else bai=0; if(k5=0) delay(50); if(k5=1) qian+; if(qian9)&(qian=18)f=f-1000;else qian=0; if(k6=0) delay(50); if(k6=1) wan+; if(wan9)&(wan
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘肅省2025年城市規(guī)劃師考試城市規(guī)劃實務(wù):工程管線綜合布置原則考試試卷
- 常規(guī)病情觀察與護理規(guī)范
- 韋尼克腦病護理
- 作業(yè)治療活動設(shè)計
- 健康上網(wǎng)行為規(guī)范指南
- 高血壓健康評估要點解析
- 上瞼下垂手術(shù)前護理常規(guī)
- 班級常規(guī)培養(yǎng)分享
- 糖尿病對老年人健康影響
- 2025年月餅項目立項申請報告
- 2025輔警招聘考試題目及答案
- 2025年度上半年校園安全工作總結(jié)及下半年工作計劃
- 美國博物館向中方歸還楚帛書
- 浙江2025年6月高一學考模擬地理試題及答案
- 紡織公司財務(wù)管理制度
- 2024年黑龍江省公安廳招聘警務(wù)輔助人員考試真題
- 景區(qū)吊橋設(shè)施管理制度
- 2025年高考數(shù)學全國新課標Ⅱ卷試卷評析及備考策略(課件)
- 黑龍江司法警官職業(yè)學院2025年招生政治考察表
- 2025-2030年中國寫字樓行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 2025-2030中國壓縮空氣儲能產(chǎn)業(yè)現(xiàn)狀調(diào)查及項目投資策略建議報告
評論
0/150
提交評論