簡(jiǎn)易電阻測(cè)試儀畢業(yè)論文_第1頁(yè)
簡(jiǎn)易電阻測(cè)試儀畢業(yè)論文_第2頁(yè)
簡(jiǎn)易電阻測(cè)試儀畢業(yè)論文_第3頁(yè)
簡(jiǎn)易電阻測(cè)試儀畢業(yè)論文_第4頁(yè)
簡(jiǎn)易電阻測(cè)試儀畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

..簡(jiǎn)易電阻測(cè)試儀摘要本設(shè)計(jì)采用555多諧振蕩電路將電阻轉(zhuǎn)換為頻率信號(hào),將電阻測(cè)量轉(zhuǎn)換為頻率測(cè)量。然后用STC90C51單片機(jī)測(cè)量頻率,完成測(cè)量值的處理、顯示和曲線變化,隨量程自動(dòng)切換。通過測(cè)試,結(jié)果表明樣品的功能和指標(biāo)基本滿足設(shè)計(jì)要求。由于單片機(jī)與硬件相結(jié)合,電路設(shè)計(jì)新穎、功能強(qiáng)大、可擴(kuò)展。STC90C51微控制器是STC開發(fā)的一款低功耗、高性能CMOS微控制器,具有30K在系統(tǒng)可編程Flash存儲(chǔ)器。它采用Atmel的高密度非易失性存儲(chǔ)器技術(shù)制造,80C與工業(yè)51產(chǎn)品完全指令和引腳兼容。片上Flash內(nèi)容程序存儲(chǔ)器是系統(tǒng)內(nèi)可編程的,也適用于傳統(tǒng)編程器。STC51在單芯片上配備智能8位CPU和系統(tǒng)內(nèi)可編程閃存,90C可為許多嵌入式控制應(yīng)用系統(tǒng)提供高度靈活和超高效的解決方案。STC90C51具有以下標(biāo)準(zhǔn)功能:32K字節(jié)Flash、256字節(jié)RAM、32位I/O線、看門狗定時(shí)器、2個(gè)數(shù)據(jù)指針、三個(gè)16位定時(shí)器/計(jì)數(shù)器、一個(gè)6向量2級(jí)中斷結(jié)構(gòu)、全雙工串口、晶振和時(shí)鐘電路。此外,AT89S52可以低至0Hz的靜態(tài)邏輯操作,并支持2種軟件可選的省電模式。在空閑模式下,CPU停止工作,內(nèi)容RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。在掉電保護(hù)模式下,RAM容量被保存,振蕩器被凍結(jié),單片機(jī)的所有工作都停止,直到下一次中斷或硬件復(fù)位。STC90C51具有超強(qiáng)抗干擾能力,新一代加密技術(shù),防止密碼被破解,大容量sram,高達(dá)4.2k,大大降低外部電磁輻射,超低功耗,正常工作模式,功耗4mA-7mA,系統(tǒng)可編程。因此,本設(shè)計(jì)采用STC90C51單片機(jī)作為控制處理芯片。[關(guān)鍵詞]電阻STC單片機(jī)555多諧振蕩器電路液晶顯示模塊L298N目錄TOC\o"1-4"\h\z\u摘要1目錄2第1章引言1第2章設(shè)計(jì)任務(wù)22.1預(yù)設(shè)任務(wù)22.2技術(shù)指標(biāo)2第三章方案比較與論證3第4章硬件電路設(shè)計(jì)44.1電路設(shè)計(jì)44.1.1系統(tǒng)方案圖44.1.2單元電路的設(shè)計(jì)與實(shí)現(xiàn)44.1.2.1NE555多諧振蕩器工作原理及測(cè)阻原理44.1.2.2電阻值顯示、量程自動(dòng)轉(zhuǎn)換和電阻值篩選功能的實(shí)現(xiàn)54.1.2.3電位器曲線顯示64.1.2.4電源7第5章系統(tǒng)軟件和編程95.1程序功能描述及設(shè)計(jì)思路95.2測(cè)量頻率95.31602液晶105.4電阻顯示程序14第6章測(cè)試計(jì)劃和測(cè)試結(jié)果216.1測(cè)試計(jì)劃216.2測(cè)試條件和儀器226.3測(cè)試結(jié)果與分析226.3.1測(cè)試結(jié)果(數(shù)據(jù))226.3.2測(cè)試分析與結(jié)論23結(jié)論25參考文獻(xiàn)27至28附錄29附錄1材料清單29附錄2:電路原理圖30附錄3:電路PCB圖31附錄4:源程序33..第一章簡(jiǎn)介儀器儀表重點(diǎn)開發(fā)長(zhǎng)壽命電能表、電子式電能表、特種專用電測(cè)儀表和電網(wǎng)計(jì)量自動(dòng)化管理系統(tǒng)。2005年中國(guó)中低檔電器儀器儀表市場(chǎng)占有率達(dá)到95%;到2010年,我國(guó)中高檔電器儀器儀表市場(chǎng)占有率達(dá)到80%??茖W(xué)檢測(cè)儀器重點(diǎn)開發(fā)基礎(chǔ)行業(yè)所需的過程分析儀器、環(huán)境監(jiān)測(cè)儀器、工業(yè)爐節(jié)能分析儀器,以及汽車零部件動(dòng)平衡、動(dòng)力試驗(yàn)和車輛性能檢測(cè)儀、測(cè)量?jī)x器、電子測(cè)速儀等。,測(cè)量GPS等新產(chǎn)品,如試驗(yàn)機(jī)和實(shí)驗(yàn)室儀器。產(chǎn)品以技術(shù)含量較高的中檔產(chǎn)品為主,到2005年將占總產(chǎn)值的50%~60%。環(huán)保儀器儀表重點(diǎn)開發(fā)大氣環(huán)境和水環(huán)境的環(huán)保監(jiān)測(cè)儀器儀表、采樣系統(tǒng)和環(huán)境監(jiān)測(cè)自動(dòng)化控制系統(tǒng)產(chǎn)品。2005年技術(shù)水平達(dá)到1990年代后期國(guó)際先進(jìn)水平,全國(guó)市場(chǎng)占有率達(dá)到50%~60%,2010年達(dá)到70%以上的全國(guó)市場(chǎng)占有率?!笆晃濉焙?010年之前,儀表元件要盡快開發(fā)出一批適銷對(duì)路、市場(chǎng)效果好的產(chǎn)品,品種占有率達(dá)到70%~80%,終端產(chǎn)品份額超過60%;,新產(chǎn)品開發(fā),使產(chǎn)品質(zhì)量水平達(dá)到1990年代后期的國(guó)際水平,部分產(chǎn)品已接近國(guó)外同類產(chǎn)品的先進(jìn)水平。信息技術(shù)電測(cè)儀器主要開發(fā)電測(cè)儀器軟件、智能化技術(shù)、總線式自動(dòng)測(cè)試技術(shù)、綜合自動(dòng)測(cè)試系統(tǒng)、信息元件測(cè)量技術(shù)及測(cè)試儀器、在線測(cè)試技術(shù)、信息產(chǎn)業(yè)產(chǎn)品測(cè)試技術(shù)、多媒體測(cè)試技術(shù)等。測(cè)試設(shè)備、電源監(jiān)控管理技術(shù)等。中低檔電工儀表產(chǎn)品國(guó)內(nèi)市場(chǎng)占有率達(dá)到95%,在現(xiàn)有基礎(chǔ)上,高端產(chǎn)品國(guó)內(nèi)市場(chǎng)占有率和中低檔產(chǎn)品國(guó)外市場(chǎng)占有率有較大提升。2010年我國(guó)儀器儀表產(chǎn)品市場(chǎng)發(fā)展有望好轉(zhuǎn)。產(chǎn)品結(jié)構(gòu)調(diào)整目標(biāo),其中工業(yè)自動(dòng)化儀表,重點(diǎn)發(fā)展基于現(xiàn)場(chǎng)總線技術(shù)的主控系統(tǒng)裝置和智能儀表、專用儀表和專業(yè)儀表。產(chǎn)品技術(shù)水平在1990年代后期達(dá)到國(guó)外先進(jìn)水平,2005年銷售額占國(guó)內(nèi)儀器銷售額的30%。面向市場(chǎng),在全國(guó)范圍內(nèi)拓展服務(wù)領(lǐng)域,推進(jìn)儀器儀表系統(tǒng)的數(shù)字化、智能化、網(wǎng)絡(luò)化,完成自動(dòng)化儀器儀表從模擬技術(shù)向數(shù)字技術(shù)的轉(zhuǎn)變。第2章設(shè)計(jì)任務(wù)2.1預(yù)設(shè)任務(wù)設(shè)計(jì)制造簡(jiǎn)單的自動(dòng)電阻測(cè)試儀。2.2技術(shù)指標(biāo)(1)測(cè)量范圍為100Ω10M、1KΩ、10KΩ、Ω。測(cè)量精度為+(讀數(shù)的1%+2位)。(2)3位顯示(最大顯示數(shù)必須為999),可自動(dòng)顯示小數(shù)點(diǎn)和單位,測(cè)量速率大于5次/秒。100Ω、1kΩ、10kΩ三個(gè)量程具有自動(dòng)量程轉(zhuǎn)換功能。第三章方案比較與論證電阻測(cè)量的方案有很多,最基本的就是按照R的定義來測(cè)量。根據(jù)R=U/I求電阻,這種測(cè)量方法需要同時(shí)測(cè)量?jī)蓚€(gè)模擬量,而不是易于實(shí)現(xiàn)自動(dòng)化。因此,我們利用所學(xué)知識(shí)和數(shù)字電子技術(shù),結(jié)合最新科技成果,設(shè)計(jì)出多種解決方案。并經(jīng)過具體分析,選擇了合理的方案。選項(xiàng)1:恒流源測(cè)量低阻,恒壓源測(cè)量高阻恒流源電源,測(cè)量元件電壓,使用恒壓源電源,測(cè)量元件電流完成電阻的測(cè)量,但很難做到理想的恒流源和恒壓源,所以它們的適用測(cè)量范圍窄。選項(xiàng)2轉(zhuǎn)換頻率以測(cè)量電阻許多儀器將難以測(cè)量的物理量轉(zhuǎn)換為更精確、更容易測(cè)量的物理量。基于這個(gè)思路,我們將電阻的參數(shù)轉(zhuǎn)換成頻率信號(hào)?,然后用單片機(jī)進(jìn)行計(jì)數(shù),然后計(jì)算計(jì)算出R的值并致給顯示器。轉(zhuǎn)換原理是555多諧振蕩器。實(shí)際上,這種轉(zhuǎn)換就是將模擬量近似轉(zhuǎn)換為數(shù)字量。頻率f是單片機(jī)可以很容易處理的數(shù)字量。錯(cuò)誤。因此,我們采用方案二來完成本次設(shè)計(jì)。選項(xiàng)3:測(cè)量電阻的直流電橋法直流電橋法是最常用的電阻測(cè)量方法。測(cè)量參數(shù)可以根據(jù)平衡條件和一些已知的電路參數(shù)得到。采用這種方法,必須通過聯(lián)立方程求解參數(shù)的值,并且可以調(diào)整阻力齒輪。一般只能手動(dòng)完成,用簡(jiǎn)單的電路很難實(shí)現(xiàn)電橋平衡判斷。這樣,橋接法就不容易實(shí)現(xiàn)自動(dòng)測(cè)量和齒輪轉(zhuǎn)換。第四章硬件電路設(shè)計(jì)4.1電路設(shè)計(jì)4.1.1系統(tǒng)規(guī)劃系統(tǒng)整體框圖如圖4-1所示。??頻率被測(cè)電阻555多諧振蕩器繼電器單片機(jī)STC90C51量程轉(zhuǎn)換阻值顯示頻率顯示曲線顯示整形圖4-1系統(tǒng)整體框圖4.1.2單元電路的設(shè)計(jì)與實(shí)現(xiàn)4.1.2.1NE555多諧振蕩器工作原理及測(cè)阻原理NE555RC振蕩器用于產(chǎn)生矩形脈沖,通過施密特整形致給單片機(jī),單片機(jī)測(cè)試頻率并根據(jù)公式計(jì)算頻率?=1/0.7(R1+2Rx)*C(R1和C為已知量)計(jì)算Rx的電阻值,并通過液晶屏輸出測(cè)量結(jié)果。NE555多諧振蕩器電阻測(cè)量系統(tǒng)框圖如圖4-2所示圖4-2NE555多諧振蕩器電阻測(cè)量系統(tǒng)4.1.2.2實(shí)現(xiàn)電阻值顯示、量程自動(dòng)轉(zhuǎn)換和電阻值篩選功能為了實(shí)現(xiàn)被測(cè)電阻值的3位數(shù)字顯示,并自動(dòng)顯示小數(shù)點(diǎn)和單位,我們采用LCD1602液晶顯示模塊作為顯示器,90C用STC51單片機(jī)控制。NE555多諧振蕩器產(chǎn)生的波形由施密特觸發(fā)器整形。之后,它被提供給控制按鈕和LCD1602液晶顯示器的微控制器。系統(tǒng)控制的LCD1602液晶顯示系統(tǒng)框圖如圖4-3所示圖4-3單片機(jī)系統(tǒng)控制的LCD1602液晶顯示系統(tǒng)框圖4.1.2.3電位器曲線顯示為了顯示電位器阻值的變化曲線,我們用L298N控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)來驅(qū)動(dòng)電位器轉(zhuǎn)動(dòng),然后調(diào)節(jié)電阻的阻值,然后將阻值輸入到微控制器系統(tǒng)。單片機(jī)處理后,由LCD12864液晶顯示器顯示曲線波形。STC單片機(jī)控制LCD12864液晶顯示系統(tǒng)電路如圖4-4所示圖4-4單片機(jī)控制LCD12864液晶顯示系統(tǒng)4.1.2.4功率電源由變壓器部分、濾波部分和穩(wěn)壓部分組成。為整個(gè)系統(tǒng)提供+5V或+12V電壓,保證電路正常穩(wěn)定工作。這部分電路比較簡(jiǎn)單,由三端穩(wěn)壓器實(shí)現(xiàn),不再詳述。電源電路如圖4-5所示圖4-5電源電路第五章系統(tǒng)軟件與程序設(shè)計(jì)5.1程序功能描述及設(shè)計(jì)思路一、程序功能說明根據(jù)題目要求,主要實(shí)現(xiàn)以下功能:(1)測(cè)量范圍為100Ω、1kΩ、10kΩ、10MΩ。測(cè)量精度為+(讀數(shù)的1%+2位)。(2)3位顯示(最大顯示數(shù)必須為999),可自動(dòng)顯示小數(shù)點(diǎn)和單位,測(cè)量速率大于5次/秒。100Ω、1kΩ、10kΩ三個(gè)量程具有自動(dòng)量程轉(zhuǎn)換功能。(4)具有自動(dòng)電阻篩選功能。(5)電位器阻值變化曲線。5.2測(cè)量頻率測(cè)頻源程序無效dis(無效){F=T0計(jì)數(shù)*65536+TH0*256+TL0;//計(jì)算0.05秒內(nèi)的脈沖數(shù)f=F*20;}主要的(){TMOD=0x15;//T1計(jì)時(shí),T0計(jì)數(shù)16位計(jì)時(shí)計(jì)數(shù)器TH0=0;TL0=0;TH1=(65536-50000)/256;TL1=(65536-50000)%256;//定時(shí)為0.05STR1=1;TR0=1;ET0=1;ET1=1;EA=1;而(1)//{如果(標(biāo)志==1){dis();標(biāo)志=0;T0計(jì)數(shù)=0;TH0=0;TL0=0;TR0=1;TR1=1;5.31602液晶顯示位S1=P1^0; //功能切換位S2=P1^1; //位切換位S3=P1^2; //數(shù)字的加減法位S4=P1^3; //在電阻的整數(shù)位和小數(shù)位之間切換位RS=P2^6;//寄存器選擇位,定義RS位為P2.0管腳位RW=P2^5;//讀寫選擇位,定義RW位為P2.1管腳位E=P2^7;//使能信號(hào)位,定義E位為P2.2管腳位BF=P0^7;//忙標(biāo)志位,定義BF位為P0.7管腳位W=P1^0;/*******************************************************功能:延遲1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以認(rèn)為是1毫秒*********************************************************/無效延遲1ms(){無符號(hào)字符i,j; 對(duì)于(i=0;i<10;i++) 對(duì)于(j=0;j<33;j++) ; }/*******************************************************功能:延遲幾毫秒入口參數(shù):n*********************************************************/voiddelaynms(無符號(hào)字符n){無符號(hào)字符i; for(i=0;i<n;i++) 延遲1ms();}/*******************************************************功能:判斷液晶模塊的忙碌狀態(tài)返回值:結(jié)果。結(jié)果=1,忙;結(jié)果=0,不忙*********************************************************/位忙測(cè)試(無效){位結(jié)果; RS=0;//按照規(guī)定,當(dāng)RS為低電平,RW為高電平時(shí),可讀取狀態(tài)RW=1;E=1;//E=1,只能讀寫內(nèi)容_nop_();//無操作_nop_();_nop_();_nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 結(jié)果=BF;//將忙碌標(biāo)志級(jí)別分配給結(jié)果E=0;//恢復(fù)E為低電平返回結(jié)果;}/*******************************************************功能:將模式設(shè)置命令或顯示地址寫入液晶模塊入口參數(shù):ddict*********************************************************/voidWriteInstruction(無符號(hào)字符指令){而(忙測(cè)試()==1);//忙時(shí)等待 RS=0;//按照規(guī)定,當(dāng)RS和R/W同時(shí)為低時(shí),可以寫命令 RW=0; E=0;//E設(shè)置為低電平(根據(jù)表8-6,寫命令時(shí),E為高脈沖,//就是讓E從0到1的正躍遷,所以要先設(shè)置“0” _nop_(); _nop_();//兩個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 P0=聽寫;//向P0口致數(shù)據(jù),即寫命令或地址 _nop_(); _nop_(); _nop_(); _nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 E=1;//E設(shè)置為高電平 _nop_(); _nop_(); _nop_(); _nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 E=0;//當(dāng)E從高電平跳到低電平時(shí),液晶模塊開始執(zhí)行命令}/*******************************************************功能:指定字符顯示的實(shí)際地址入口參數(shù):x*********************************************************/無效寫入地址(無符號(hào)整數(shù)x){寫指令(x|0x80);//顯示位置的確定方法指定為“80H+地址碼x”}/*******************************************************功能:向液晶模塊寫入數(shù)據(jù)入口參數(shù):y(是一個(gè)字符常量)*********************************************************/無效寫入數(shù)據(jù)(無符號(hào)字符y){而(忙測(cè)試()==1); RS=1;//RS為高電平,RW為低電平,可寫入數(shù)據(jù) RW=0; E=0;//E設(shè)置為低電平//就是讓E從0到1的正躍遷,所以要先設(shè)置“0” P0=y;//向P0口致數(shù)據(jù),即向LCD模塊寫入數(shù)據(jù) _nop_(); _nop_(); _nop_();_nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 E=1;//E設(shè)置為高電平 _nop_(); _nopi); _nop_(); _nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 E=0;//當(dāng)E從高電平跳到低電平時(shí),液晶模塊開始執(zhí)行命令}/*******************************************************功能功能:初始化LCD的顯示模式*********************************************************/無效液晶顯示器(無效){延遲(15);//延遲15ms,第一次寫命令時(shí)要給LCD更長(zhǎng)的響應(yīng)時(shí)間寫指令(0x38);//顯示模式設(shè)置:16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間寫指令(0x38); 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間 寫指令(0x38);//連續(xù)三次保證初始化成功 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間 寫指令(0x0c);//顯示模式設(shè)置:顯示開啟,無光標(biāo),光標(biāo)不閃爍 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間 寫指令(0x06);//顯示模式設(shè)置:光標(biāo)右移,字符不動(dòng) 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間 寫指令(0x01);//清屏命令清除上一次顯示 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間}voiddis(void) //計(jì)算頻率顯示{f=T0計(jì)數(shù)*65536+TH0*256+TL0;//計(jì)算0.05秒內(nèi)的脈沖數(shù)f=f*20;}5.4阻力顯示程序功能:顯示電阻符號(hào)*********************************************************/無效顯示電壓(無效){無符號(hào)字符i; 寫地址(0x00);//寫入顯示地址,將顯示在第二行第一列 我=0;//從第一個(gè)字符開始顯示 while(Str[i]!='\0')//只要不寫結(jié)束標(biāo)記,就繼續(xù)寫 { 寫入數(shù)據(jù)(Str[i]);//將字符常量寫入LCD 我++;//指向下一個(gè)字符 } }/*******************************************************功能:顯示電阻單位(n)*********************************************************/無效 顯示_F(無效){ 寫地址(0x0a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('F');//將字符常量寫入LCD }無效 顯示8(無效){ 寫地址(0x4a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('n');//將字符常量寫入LCD }無效 顯示_T(無效){ 寫地址(0x0a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('T');//將字符常量寫入LCD }無效 顯示_N(無效){ 寫地址(0x08);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('n');//將字符常量寫入LCD }/*******************************************************功能:顯示電阻單位(k)*********************************************************/無效 顯示_k(無效){ 寫地址(0x08);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('k');//將字符常量寫入LCD }/*******************************************************功能:顯示電阻單位(M)*********************************************************/無效 顯示_M(無效){ 寫地址(0x08);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('M');//將字符常量寫入LCD }無效 顯示6(無效){ 寫地址(0x4a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('K');//將字符常量寫入LCD }無效 顯示7(無效){ 寫地址(0x4a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('M');//將字符常量寫入LCD }/*******************************************************功能:顯示電阻值入口參數(shù):x*********************************************************/無效顯示1(無符號(hào)整數(shù)x){ 無符號(hào)整數(shù)i,j,n; 我=x/100;//取數(shù)百 j=(xi*100)/10;//取十個(gè) n=(xi*100-j*10); //取一位數(shù) 寫地址(0x04);//寫入顯示地址,在第1行第7列? 寫入數(shù)據(jù)(數(shù)字[i]);//將百位字符常量寫入LCDWriteData('.');//將小數(shù)點(diǎn)的字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[n]);//將百位字符常量寫入LCD}無效顯示11(無符號(hào)整數(shù)x){ 無符號(hào)整數(shù)i,j,n; 我=x/100;//取數(shù)百 j=(xi*100)/10;//取十個(gè) n=(xi*100-j*10); //取一位數(shù) 寫地址(0x04);//寫入顯示地址,將顯示在第1行第7列 寫入數(shù)據(jù)(數(shù)字[i]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將百位字符常量寫入LCDWriteData('.');//將小數(shù)點(diǎn)的字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[n]);//將百位字符常量寫入LCD}無效顯示12(無符號(hào)整數(shù)x){ 無符號(hào)整數(shù)i,j,n; 我=x/100;//取數(shù)百 j=(xi*100)/10;//取十個(gè) n=(xi*100-j*10); //取一位數(shù) 寫地址(0x04);//寫入顯示地址,將顯示在第1行第7列 寫入數(shù)據(jù)(數(shù)字[i]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[n]);//將百位字符常量寫入LCD}/*******************************************************功能:顯示電阻的小數(shù)部分入口參數(shù):x*********************************************************/無效顯示3(){ 無符號(hào)字符i,j;i=C/10;//取十位(小數(shù)點(diǎn)后第一位) j=C%10;//取一位(小數(shù)點(diǎn)后第二位)寫地址(0x4c); //寫入顯示地址,將顯示在第一行第十四列 寫入數(shù)據(jù)('E'); 寫入數(shù)據(jù)(數(shù)字[i]);//將小數(shù)部分的第一位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將小數(shù)部分的第一位字符常量寫入LCD}無效顯示4(){ 無符號(hào)整數(shù)i,j,n,m; i=G/100;//取數(shù)百 j=(Gi*100)/10;//取十個(gè) n=(Gi*100-j*10); //取一位數(shù) 寫地址(0x40);//寫入顯示地址,將顯示在第二行第二列 for(m=0;m<=3;m++)寫入數(shù)據(jù)(Str[m]); 寫地址(0x44);//寫入顯示地址,將顯示在第二行第二列 寫入數(shù)據(jù)(數(shù)字[i]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[n]);//將百位字符常量寫入LCD}無效顯示5(){ 無符號(hào)字符i,j; i=A/10;//取十位(小數(shù)點(diǎn)后第一位) j=A%10;//取一位(小數(shù)點(diǎn)后第二位)寫地址(0x47); //寫入顯示地址,將顯示在第1行第10列 WriteData('.');//將小數(shù)點(diǎn)的字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[i]);//將小數(shù)部分的第一位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將小數(shù)部分的第一位字符常量寫入LCD}無效顯示15(無符號(hào)字符x){ 無符號(hào)字符i; 我=x%10;//占位(小數(shù)點(diǎn)后第二位)寫地址(0x0d); //寫入顯示地址,將顯示在第1行第10列 寫入數(shù)據(jù)(數(shù)字[i]);//將小數(shù)部分的第一位字符常量寫入LCD}虛數(shù)(虛空){無符號(hào)長(zhǎng)我;i=(633154888/f)*10;N=i-150000;托=N; }無效舒2(無效){無符號(hào)長(zhǎng)我;i=(1453017962/f)*20;N=i-150000;tor=N;延遲1ms();W=1; }無效鍵掃描(無效){無符號(hào)長(zhǎng)我;無符號(hào)字符B;如果((P1&0x0f)!=0x0f){延遲(50); 如果(S1==0){如果(B<6)B++;否則B=0;}如果(B==1){如果(S2==0){如果(G<900)G=G+100;否則G=0;}如果(S3==0){如果(G>0)G=G-100;否則G=900;}顯示4();}如果(B==2){如果(S2==0){如果(G<990)G=G+10;否則G=0;}if(S3==0){if(G>0)G=G-10;否則G=990;}顯示4();}如果(B==3){如果(S2==0){if(G<999)G++;否則G=0;}if(S3==0){if(G>0)G--;否則G=999;}顯示4();}如果(B==4){如果(S2==0){如果(A<90)A=A+10;否則A=0;}if(S3==0){if(A>0)A=A-10;否則A=90;}顯示5();}如果(B==5){如果(S2==0){if(A<99)A++;否則A=0;}if(S3==0){if(A>0)A--;否則A=99;}顯示5();}如果(B==6){如果(S2==0){if(C<20)C++;否則C=0;}if(S3==0){if(C>0)C--;否則C=19;}顯示3();} 如果(S4==0) {if(J<3)J++;否則J=0;} if(J==1){display8();L=(G+0.01*A);}if(J==2){display6();L=(G+0.01*A)*1000;}if(J==3){display7();L=(G+0.01*A)*1000000;}顯示15(B); i=L*C*0.01; H=L+i; V=鋰; if((N>=100*V)&&(N<=100*H))顯示_T();否則display_F() }}第6章測(cè)試計(jì)劃和測(cè)試結(jié)果6.1測(cè)試計(jì)劃1.硬件測(cè)試用NE555連接一個(gè)簡(jiǎn)單的電路測(cè)量電阻的頻率圖6-1NE555振蕩器電路圖2.軟件模擬測(cè)試使用Proteus軟件模擬電阻測(cè)量和顯示圖6-2程序仿真圖3、軟硬件聯(lián)調(diào)6.2測(cè)試條件和儀器測(cè)試條件:多次檢查,仿真電路和硬件電路必須與系統(tǒng)原理圖完全一致,檢查無誤,保證硬件電路無虛焊。測(cè)試設(shè)備:數(shù)字示波器、數(shù)字萬用表、穩(wěn)壓電源。6.3測(cè)試結(jié)果與分析6.3.1測(cè)試結(jié)果(數(shù)據(jù))1.電阻測(cè)量結(jié)果實(shí)際電阻值測(cè)量電阻值錯(cuò)誤100歐元文件二十二21.80.9%5453.41.1%1K文件4.2K4.23K0.7%9.69K9.7K0.1%10K文件21.3K21,4K0.4%96.5K97.2K0.7%10M文件10M9.94M0.6%2.耐藥篩選結(jié)果默認(rèn)電阻值篩選周長(zhǎng)過濾器阻力篩選精度500K450K-550K500K100%20K18K-20K19.95K99.75%3.電位器隨旋轉(zhuǎn)角度變化轉(zhuǎn)角反抗轉(zhuǎn)角反抗7.5832751.49K1590682.51.56K22.5982901.64K301.05K97.51.71K37.51.12K1051.78K451.20K112.51.86K52.51.27K1201.93K601.34K127.51.97K67.51.43K1352.04K6.3.2測(cè)試分析與結(jié)論根據(jù)以上測(cè)試數(shù)據(jù),可以得出以下結(jié)論:1、可測(cè)量電阻的阻值,可測(cè)量100Ω、1kΩ、10kΩ、10MΩ量程。2、可自動(dòng)顯示小數(shù)點(diǎn)及單位。因?yàn)轭l率測(cè)量門值為0.05秒,所以測(cè)量速率遠(yuǎn)大于5次/秒。3、可實(shí)現(xiàn)100Ω、1kΩ、10kΩ三個(gè)量程的自動(dòng)切換功能。4、具有自動(dòng)電阻篩選功能,可檢測(cè)是否符合篩選要求。5、可自動(dòng)測(cè)量并顯示電位器周長(zhǎng)隨角度變化。整個(gè)測(cè)量時(shí)間在10秒以內(nèi),測(cè)量點(diǎn)為24個(gè)點(diǎn)。綜上所述在本次設(shè)計(jì)中,主要功能指標(biāo)已經(jīng)完成,如下:1、可測(cè)量電阻的阻值,可測(cè)量100Ω、1kΩ、10kΩ、10MΩ量程。2、可自動(dòng)顯示小數(shù)點(diǎn)及單位。因?yàn)轭l率測(cè)量門值為0.05秒,所以測(cè)量速率遠(yuǎn)大于5次/秒。3、可實(shí)現(xiàn)100Ω、1kΩ、10kΩ三個(gè)量程的自動(dòng)切換功能。4、具有自動(dòng)電阻篩選功能,可檢測(cè)是否符合篩選要求。5、可自動(dòng)測(cè)量并顯示電位器周長(zhǎng)隨角度變化。整個(gè)測(cè)量時(shí)間在10秒以內(nèi),測(cè)量點(diǎn)為24個(gè)點(diǎn)。二、通過本次設(shè)計(jì),總結(jié)出幾點(diǎn)經(jīng)驗(yàn):1、最好同時(shí)做軟件和硬件電路。前幾天不做軟件,等到最后才焊板。如果有問題,沒有時(shí)間去改變它。這是我參加時(shí)發(fā)生的事情?;蛘咭部梢栽诿姘迳暇毩?xí)?;蛟S有人可以用仿真軟件來仿真,但畢竟是仿真,有時(shí)候還是和實(shí)際相差很大。無論如何,直到最后,您都無法制作印刷電路板。2、團(tuán)隊(duì)成員分工好,最大限度發(fā)揮整個(gè)團(tuán)隊(duì)的能力,經(jīng)常討論,讓三個(gè)人互相了解進(jìn)度,同時(shí)也輕松應(yīng)對(duì)各種負(fù)責(zé)人模塊。3、賽前準(zhǔn)備:準(zhǔn)備一兩個(gè)MCU最小系統(tǒng)(最好有下載口,支持在線編程)、5V/12V穩(wěn)壓電源和顯示面板等小模塊,編寫各個(gè)模塊的程序。.比如7段數(shù)碼管的顯示(建議用串口省掉單片機(jī)的I/O口,比如用74LS164或者74HC595,我當(dāng)時(shí)用了兩顆74HC595芯片,一顆用于位選擇一個(gè)用于數(shù)字)這可以節(jié)省很多時(shí)間。4、由于前期各個(gè)模塊板已經(jīng)完成,具體的板需要在比賽過程中進(jìn)行改進(jìn),以滿足問題的要求。個(gè)人認(rèn)為單面板畫PCB板好,焊板好。使用焊接芯片時(shí)可以使用的插座。這樣可以防止芯片在焊接過程中被焊接,盡可能地使用芯片。賽前準(zhǔn)備一些常用的設(shè)備。5、比賽前,應(yīng)從圖書館借一些書籍,以方便比賽。6.賽前一定要盡量寫一兩篇論文。您至少應(yīng)該閱讀一些論文并了解格式??梢砸粋€(gè)人負(fù)責(zé)論文,以后大家一起修,也可以一個(gè)人負(fù)責(zé)自己的模塊,最后總結(jié)。7、比賽時(shí)間為4天3夜。時(shí)間還很緊,但也要注意休息。你必須堅(jiān)持在這些日子里,并且能夠堅(jiān)持下去。8.最后,無論你贏與否,你總能從參與中學(xué)到很多東西。最后,你需要總結(jié)更多。每次工作結(jié)束后,總結(jié)好與不好的地方,方便以后的工作和學(xué)習(xí)。參考[1]清遠(yuǎn)計(jì)算機(jī)工作室Protel99SE原理圖及PCB與仿真[M]機(jī)械工業(yè)2009[2]任元、吳勇數(shù)字電子技術(shù)基金會(huì)[M]機(jī)械工業(yè)2009[3]譚浩強(qiáng)C語(yǔ)言程序設(shè)計(jì)[M]清華大學(xué)2010全國(guó)大學(xué)生電子設(shè)計(jì)大賽第九屆全國(guó)大學(xué)生電子設(shè)計(jì)大賽組委會(huì)獲獎(jiǎng)作品評(píng)選[M]理工大學(xué)2010[5]全國(guó)大學(xué)生電子設(shè)計(jì)大賽全國(guó)大學(xué)生電子設(shè)計(jì)大賽組委會(huì)獲獎(jiǎng)作品匯編[M]理工大學(xué)2004[6]高繼翔全國(guó)大學(xué)生電子設(shè)計(jì)大賽實(shí)訓(xùn)系列課程[M]電子工業(yè)2008[7]鑫洪霞單片機(jī)原理與C51編程基礎(chǔ)教程[M]清華大學(xué)2010[8]雷芙蓉,曉琳,郝51單片機(jī)通用模塊設(shè)計(jì)查詢手冊(cè)[M]清華大學(xué)2010[9]胡燁PROTEL99SE電路設(shè)計(jì)與仿真教程[M]機(jī)械工業(yè)2005至在這個(gè)設(shè)計(jì)中,首先我覺得全國(guó)大學(xué)生電子競(jìng)賽委員會(huì)給了我們這個(gè)鍛煉自己的機(jī)會(huì)。其次,我覺得學(xué)校給我們提供了這個(gè)發(fā)展平臺(tái)。比賽的負(fù)責(zé)老師和本次比賽的負(fù)責(zé)老師華老師在她的悉心指導(dǎo)下完成了這個(gè)畢業(yè)設(shè)計(jì)。她豐富的專業(yè)知識(shí)、博愛、謙遜的品質(zhì)和嚴(yán)謹(jǐn)、細(xì)致、一絲不茍的作風(fēng)是我工作和學(xué)習(xí)的。例子。他有說服力的教義和不拘一格的思想給了我無窮的靈感。通過短短幾個(gè)月的畢業(yè)設(shè)計(jì),我在基礎(chǔ)理論知識(shí)、軟件操作技能、獨(dú)立思考能力等方面都有了很大的進(jìn)步。同時(shí),老師也經(jīng)常教我一些為人處事的原則。,在增長(zhǎng)見識(shí)的同時(shí),收獲了很多人生哲理。在此向老師表示衷心的感謝!本論文從選題、程序設(shè)計(jì)到畢業(yè)論文的整個(gè)過程都傾注了老師的辛勤工作。再次向她表示衷心的感謝和誠(chéng)摯的敬意!最后,感謝本次電子設(shè)計(jì)大賽的隊(duì)友王源、黃志金、賴博。因?yàn)檫@是大家共同努力的結(jié)果,沒有團(tuán)隊(duì)的配合,是不可能在這么長(zhǎng)的時(shí)間內(nèi)完成任務(wù)的。每個(gè)人都付出了努力和汗水。您向我解釋并幫助我完成了比賽中的工作。衷心感謝您!附錄附錄1零件清單電容AT89S525pcs33320MCU卡座520120接口排針10320微動(dòng)開關(guān)50104207805100.1uF20pcs781210pcs10uF50pcsNE5555pcs0.33uF20pcs8-pin芯片底座5pcs33pF20pcs12HMZ晶振10pcs2200uF10pcs1602液晶顯示器4pcs4700uF6pcs12864液晶顯示器1pcs47uF20開關(guān)5100uF20pcs4.7K滑動(dòng)變阻器1pc電阻1N4148201Ω5個(gè)805010個(gè)200Ω10855010500Ω10件1K100個(gè)2K20個(gè)10K100個(gè)47K10個(gè)5M10附錄2:電路原理圖圖1電路原理圖附錄3:電路PCB圖圖2555PCB圖31602液晶電路板圖412864液晶電路板附錄4:源程序#include<reg51.h>//包含單片機(jī)寄存器的頭文件#include<intrins.h>//包含_nop_()函數(shù)定義的頭文件///////////////////////////////////////////////////#defineuchar無符號(hào)字符#defineunitunsignedint#defineulongunsignedlongucharT0count=0;//T0計(jì)數(shù)位標(biāo)志;無符號(hào)字符碼數(shù)字[10]={"0123456789"};//定義字符數(shù)組來顯示數(shù)字無符號(hào)字符代碼Str[]={"RES="};//表示顯示阻力無符號(hào)長(zhǎng)tor; //電阻返回值無符號(hào)長(zhǎng)f; //測(cè)試頻率無符號(hào)長(zhǎng)k; //電阻返回值*100無符號(hào)整數(shù)整數(shù);//存儲(chǔ)整數(shù)部分無符號(hào)字符12月;//存儲(chǔ)整數(shù)小數(shù)部分無符號(hào)長(zhǎng)R;//存儲(chǔ)電阻值無符號(hào)字符C;//錯(cuò)誤值無符號(hào)整數(shù)G;//輸入整數(shù)位無符號(hào)字符A;//輸入小數(shù)位無符號(hào)長(zhǎng)H;無符號(hào)長(zhǎng)L;無符號(hào)長(zhǎng)V;無符號(hào)字符J;無符號(hào)長(zhǎng)N;/************************************************************************************以下是液晶模組的操作流程************************************************************************************/位S1=P1^0; //功能切換位S2=P1^1; //位切換位S3=P1^2; //數(shù)字的加減法位S4=P1^3; //在電阻的整數(shù)位和小數(shù)位之間切換位RS=P2^6;//寄存器選擇位,定義RS位為P2.0管腳位RW=P2^5;//讀寫選擇位,定義RW位為P2.1管腳位E=P2^7;//使能信號(hào)位,定義E位為P2.2管腳位BF=P0^7;//忙標(biāo)志位,定義BF位為P0.7管腳位W=P1^0;/*******************************************************功能:延遲1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以認(rèn)為是1毫秒*********************************************************/無效延遲1ms(){無符號(hào)字符i,j; 對(duì)于(i=0;i<10;i++) 對(duì)于(j=0;j<33;j++) ; }/*******************************************************功能:延遲幾毫秒入口參數(shù):n*********************************************************/voiddelaynms(無符號(hào)字符n){無符號(hào)字符i; for(i=0;i<n;i++) 延遲1ms();}/*******************************************************功能:判斷液晶模塊的忙碌狀態(tài)返回值:結(jié)果。結(jié)果=1,忙;結(jié)果=0,不忙*********************************************************/位忙測(cè)試(無效){位結(jié)果; RS=0;//按照規(guī)定,當(dāng)RS為低電平,RW為高電平時(shí),可讀取狀態(tài)RW=1;E=1;//E=1,只能讀寫內(nèi)容_nop_();//無操作_nop_();_nop_();_nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 結(jié)果=BF;//將忙碌標(biāo)志級(jí)別分配給結(jié)果E=0;//恢復(fù)E為低電平返回結(jié)果;}/*******************************************************功能:將模式設(shè)置命令或顯示地址寫入液晶模塊入口參數(shù):ddict*********************************************************/voidWriteInstruction(無符號(hào)字符指令){而(忙測(cè)試()==1);//忙時(shí)等待 RS=0;//按照規(guī)定,當(dāng)RS和R/W同時(shí)為低時(shí),可以寫命令 RW=0; E=0;//E設(shè)置為低電平(根據(jù)表8-6,寫命令時(shí),E為高脈沖,//就是讓E從0到1的正躍遷,所以要先設(shè)置“0” _nop_(); _nop_();//兩個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 P0=聽寫;//向P0口致數(shù)據(jù),即寫命令或地址 _nop_(); _nop_(); _nop_(); _nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 E=1;//E設(shè)置為高電平 _nop_(); _nop_(); _nop_(); _nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 E=0;//當(dāng)E從高電平跳到低電平時(shí),液晶模塊開始執(zhí)行命令}/*******************************************************功能:指定字符顯示的實(shí)際地址入口參數(shù):x*********************************************************/無效寫入地址(無符號(hào)整數(shù)x){寫指令(x|0x80);//顯示位置的確定方法指定為“80H+地址碼x”}/*******************************************************功能:向液晶模塊寫入數(shù)據(jù)入口參數(shù):y(是一個(gè)字符常量)*********************************************************/無效寫入數(shù)據(jù)(無符號(hào)字符y){而(忙測(cè)試()==1); RS=1;//RS為高電平,RW為低電平,可寫入數(shù)據(jù) RW=0; E=0;//E設(shè)置為低電平//就是讓E從0到1的正躍遷,所以要先設(shè)置“0” P0=y;//向P0口致數(shù)據(jù),即向LCD模塊寫入數(shù)據(jù) _nop_(); _nop_(); _nop_();_nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 E=1;//E設(shè)置為高電平 _nop_(); _nopi); _nop_(); _nop_();//四個(gè)機(jī)器周期無操作,給出硬件響應(yīng)時(shí)間 E=0;//當(dāng)E從高電平跳到低電平時(shí),液晶模塊開始執(zhí)行命令}/*******************************************************功能功能:初始化LCD的顯示模式*********************************************************/無效液晶顯示器(無效){延遲(15);//延遲15ms,第一次寫命令時(shí)要給LCD更長(zhǎng)的響應(yīng)時(shí)間寫指令(0x38);//顯示模式設(shè)置:16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間寫指令(0x38); 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間 寫指令(0x38);//連續(xù)三次保證初始化成功 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間 寫指令(0x0c);//顯示模式設(shè)置:顯示開啟,無光標(biāo),光標(biāo)不閃爍 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間 寫指令(0x06);//顯示模式設(shè)置:光標(biāo)右移,字符不動(dòng) 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間 寫指令(0x01);//清屏命令清除上一次顯示 延遲(5);//延遲5ms,給硬件一點(diǎn)響應(yīng)時(shí)間}voiddis(void) //計(jì)算頻率顯示{f=T0計(jì)數(shù)*65536+TH0*256+TL0;//計(jì)算0.05秒內(nèi)的脈沖數(shù)f=f*20;}/****************************************************************************下面是電阻顯示的解釋********************************************************************************//*******************************************************功能:顯示電阻符號(hào)*********************************************************/無效顯示電壓(無效){無符號(hào)字符i; 寫地址(0x00);//寫入顯示地址,將顯示在第二行第一列 我=0;//從第一個(gè)字符開始顯示 while(Str[i]!='\0')//只要不寫結(jié)束標(biāo)記,就繼續(xù)寫 { 寫入數(shù)據(jù)(Str[i]);//將字符常量寫入LCD 我++;//指向下一個(gè)字符 } }/*******************************************************功能:顯示電阻單位(n)*********************************************************/無效 顯示_F(無效){ 寫地址(0x0a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('F');//將字符常量寫入LCD}無效 顯示8(無效){ 寫地址(0x4a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('n');//將字符常量寫入LCD }無效 顯示_T(無效){ 寫地址(0x0a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('T');//將字符常量寫入LCD }無效 顯示_N(無效){ 寫地址(0x08);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('n');//將字符常量寫入LCD }/*******************************************************功能:顯示電阻單位(k)*********************************************************/無效 顯示_k(無效){ 寫地址(0x08);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('k');//將字符常量寫入LCD }/*******************************************************功能:顯示電阻單位(M)*********************************************************/無效 顯示_M(無效){ 寫地址(0x08);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('M');//將字符常量寫入LCD }無效 顯示6(無效){ 寫地址(0x4a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('K');//將字符常量寫入LCD }無效 顯示7(無效){ 寫地址(0x4a);//寫入顯示地址,將顯示在第2行第13列 寫入數(shù)據(jù)('M');//將字符常量寫入LCD }/*******************************************************功能:顯示電阻值入口參數(shù):x*********************************************************/無效顯示1(無符號(hào)整數(shù)x){ 無符號(hào)整數(shù)i,j,n; 我=x/100;//取數(shù)百 j=(xi*100)/10;//取十個(gè) n=(xi*100-j*10); //取一位數(shù) 寫地址(0x04);//寫入顯示地址,在第1行第7列? 寫入數(shù)據(jù)(數(shù)字[i]);//將百位字符常量寫入LCDWriteData('.');//將小數(shù)點(diǎn)的字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[n]);//將百位字符常量寫入LCD}無效顯示11(無符號(hào)整數(shù)x){ 無符號(hào)整數(shù)i,j,n; 我=x/100;//取數(shù)百 j=(xi*100)/10;//取十個(gè) n=(xi*100-j*10); //取一位數(shù) 寫地址(0x04);//寫入顯示地址,將顯示在第1行第7列 寫入數(shù)據(jù)(數(shù)字[i]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將百位字符常量寫入LCDWriteData('.');//將小數(shù)點(diǎn)的字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[n]);//將百位字符常量寫入LCD}無效顯示12(無符號(hào)整數(shù)x){ 無符號(hào)整數(shù)i,j,n; 我=x/100;//取數(shù)百 j=(xi*100)/10;//取十個(gè) n=(xi*100-j*10); //取一位數(shù) 寫地址(0x04);//寫入顯示地址,將顯示在第1行第7列 寫入數(shù)據(jù)(數(shù)字[i]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將百位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[n]);//將百位字符常量寫入LCD}/*******************************************************功能:顯示電阻的小數(shù)部分入口參數(shù):x*********************************************************/無效顯示3(){ 無符號(hào)字符i,j;i=C/10;//取十位(小數(shù)點(diǎn)后第一位) j=C%10;//取一位(小數(shù)點(diǎn)后第二位)寫地址(0x4c); //寫入顯示地址,將顯示在第一行第十四列 寫入數(shù)據(jù)('E'); 寫入數(shù)據(jù)(數(shù)字[i]);//將小數(shù)部分的第一位字符常量寫入LCD 寫入數(shù)據(jù)(數(shù)字[j]);//將小數(shù)部分的第一位字符常量寫入LCD}無效顯示4(){ 無符號(hào)整數(shù)i,j,n,m; i=G/100;//取數(shù)百 j=(Gi*100)/10;//取十個(gè) n=(Gi*100-j*10); //取一位數(shù) 寫地址(0x40);//寫入顯示地址,將顯示在第二行第二列 for(m=0;m<=3;m++)寫入數(shù)據(jù)(Str[m]); 寫地址(0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論