資源描述:
《測控電路大作業(yè)new》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、測控電路大作業(yè)說明書一、設(shè)計(jì)要求利用傳感器輸出電壓(0~5mv),放大電路,濾波電路,ADC電路,單片機(jī),顯示壓力值(電壓值),LED。二、課題的具體要求如下:1、方案總體設(shè)計(jì)與論證。2、系統(tǒng)硬件電路設(shè)計(jì):簡易數(shù)字電壓表測量電路由A/D轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成,A/D轉(zhuǎn)換由集成電路0808完成,顯示采用四位數(shù)碼管。3、系統(tǒng)流程圖設(shè)計(jì),匯編程序編寫:包括初始化程序、主程序、顯示子程序、模/數(shù)轉(zhuǎn)換測量子程序等。4、調(diào)試及性能分析:采用KELL編譯器進(jìn)行源程序編譯及仿真測試,同時(shí)進(jìn)行硬件電路的設(shè)計(jì)制作,在Proteus軟件里進(jìn)行硬件仿真,
2、最后進(jìn)行端口電壓的對比測試。三、設(shè)計(jì)思路1、根據(jù)設(shè)計(jì)要求,選擇AT89C52單片機(jī)作為核心控制器件。2、A/D轉(zhuǎn)換采用ADC0808實(shí)現(xiàn)。與單片機(jī)的接口為P0和P3端口。3、電壓顯示采用4位一體的LED數(shù)碼管,LED數(shù)碼管的段碼輸入,由并行端口P1產(chǎn)生;位碼輸入,由并行端口P2低四位產(chǎn)生。4、ADC0809對模擬量輸入信號進(jìn)行轉(zhuǎn)換,通過判斷EOC(P3.1引腳)來確定轉(zhuǎn)換是否完成,若EOC為0,則繼續(xù)等待;若EOC為1,則把OE置位,將轉(zhuǎn)換完成的數(shù)據(jù)存儲到P1中。四、電路圖五、程序設(shè)計(jì)程序如下:#includeunsig
3、nedcharcodedispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};unsignedchardispbuf[4];unsignedinti;unsignedintj;unsignedchargetdata;unsignedinttemp;unsignedinttemp1;unsignedcharcount;unsignedchard;sbitST=P3^0;sbitOE=P3^1;sbitEOC=P3^2;sbitCLK=P3^3;sbitP34=P3^
4、4;sbitP35=P3^5;sbitP36=P3^6;sbitP20=P2^0;sbitP21=P2^1;sbitP22=P2^2;sbitP23=P2^3;sbitP17=P1^7;voidTimeInitial();voidDelay(unsignedinti);voidTimeInitial(){TMOD=0x10;TH1=(65536-200)/256;TL1=(65536-200)%256;EA=1;ET1=1;TR1=1;}voidDelay(unsignedinti){unsignedintj;for(;i>0;i--)f
5、or(j=0;j<125;j++);}voidDisplay(){P1=dispbitcode[dispbuf[3]];P20=0;P21=1;P22=1;P23=1;Delay(10);P1=0x00;P1=dispbitcode[dispbuf[2]];P17=1;P20=1;P21=0;P22=1;P23=1;Delay(10);P1=0x00;P1=dispbitcode[dispbuf[1]];P20=1;P21=1;P22=0;P23=1;Delay(10);P1=0x00;P1=dispbitcode[dispbuf[0]]
6、;P20=1;P21=1;P22=1;P23=0;Delay(10);P1=0x00;}voidmain(){TimeInitial();while(1){P34=0;P35=0;P36=0;ST=0;while(EOC==1);//查詢轉(zhuǎn)換結(jié)束{OE=1;getdata=P0;OE=0;temp=getdata*1.0/255*500;dispbuf[0]=temp%10;dispbuf[1]=temp/10%10;dispbuf[2]=temp/100%10;dispbuf[3]=temp/1000;Display();ST=0;OE
7、=0;ST=1;}}}voidt1(void)interrupt3using0{TH1=(65536-200)/256;TL1=(65536-200)%256;CLK=~CLK;}六、系統(tǒng)仿真及調(diào)試首先采用KeiluVision3編譯器進(jìn)行源程序編譯及仿真調(diào)試,調(diào)試好程序后將目標(biāo)文件導(dǎo)入Proteus進(jìn)行軟件調(diào)試。調(diào)試的主要任務(wù)是排查錯(cuò)誤,錯(cuò)誤主要包括邏輯錯(cuò)誤和功能錯(cuò)誤,這些錯(cuò)誤有些事顯性的,而有些事隱形的??梢酝ㄟ^仿真開發(fā)系統(tǒng)來發(fā)現(xiàn)并逐步改正。在ProteusISIS編輯窗口中單擊開始仿真按鈕,4位LED數(shù)碼管顯示相應(yīng)的電壓值。當(dāng)開始調(diào)
8、試,滑動變阻器RV1的阻值調(diào)至最小位置時(shí),LED顯示0.000,正確顯示數(shù)值;把RV1調(diào)至中間位置時(shí),LED顯示2.476,同樣正確讀出數(shù)據(jù);當(dāng)把RV1阻值調(diào)至最大位置時(shí),LED顯示4.972