![簡易自動電阻測試儀-畢業(yè)論文設(shè)計_第1頁](http://file4.renrendoc.com/view/5ecb568407a1c6f01e0be3cdd2a104fc/5ecb568407a1c6f01e0be3cdd2a104fc1.gif)
![簡易自動電阻測試儀-畢業(yè)論文設(shè)計_第2頁](http://file4.renrendoc.com/view/5ecb568407a1c6f01e0be3cdd2a104fc/5ecb568407a1c6f01e0be3cdd2a104fc2.gif)
![簡易自動電阻測試儀-畢業(yè)論文設(shè)計_第3頁](http://file4.renrendoc.com/view/5ecb568407a1c6f01e0be3cdd2a104fc/5ecb568407a1c6f01e0be3cdd2a104fc3.gif)
![簡易自動電阻測試儀-畢業(yè)論文設(shè)計_第4頁](http://file4.renrendoc.com/view/5ecb568407a1c6f01e0be3cdd2a104fc/5ecb568407a1c6f01e0be3cdd2a104fc4.gif)
![簡易自動電阻測試儀-畢業(yè)論文設(shè)計_第5頁](http://file4.renrendoc.com/view/5ecb568407a1c6f01e0be3cdd2a104fc/5ecb568407a1c6f01e0be3cdd2a104fc5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGE嘉興職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)題目名稱:簡易自動電阻測試儀姓名:所在分院:機(jī)電與汽車分院專業(yè)班級:自動化101班指導(dǎo)教師:二O一三年四月二十六日PAGE1目錄1.方案選擇 11.1.可編程邏輯控制器(PLC) 11.2.利用振蕩電路與單片機(jī)結(jié)合 11.3.利用并聯(lián)繼電器和單片機(jī)結(jié)合 11.4.小結(jié) 12.硬件設(shè)計 22.1.整體設(shè)計 22.2.AT89C51最小系統(tǒng) 32.3.電源 32.4.AD轉(zhuǎn)換模塊 42.5.電阻測量模塊 52.6.鍵盤輸入 63.軟件設(shè)計 63.1.主程序流程圖 64.參數(shù)計算 75.結(jié)果仿真分析與測試 75.1.仿真分析 75.2.測試分析 8總結(jié) 9致謝 10I簡易自動電阻測試儀摘要在電子設(shè)計中,電阻是最基本的元件,經(jīng)常要對它的值進(jìn)行測量。而在某些場合,對測量精度要求很高。因此,設(shè)計可靠,安全,便捷的電阻測試儀具有極大的現(xiàn)實(shí)必要性。硬件設(shè)計中,采用以MCS-51單片機(jī)為核心的硬件電路。利用四個繼電器做量程轉(zhuǎn)化電路,選擇相應(yīng)的量程范圍,再將電阻的值通過AD轉(zhuǎn)化轉(zhuǎn)化為數(shù)字信號,通過51單片機(jī)測量之,再通過對應(yīng)關(guān)系計算出參數(shù)值,最后顯示在1602上。軟件設(shè)計中,采用Keil4編寫C語言代碼,包括量程轉(zhuǎn)化電路,AD轉(zhuǎn)換模塊,輔助裝置連接模塊,顯示模塊。最后,采用protues7.7進(jìn)行整體仿真,仿真結(jié)果滿足題目要求。關(guān)鍵詞51單片機(jī);繼電器;1602液晶屏;電路;protues7.7仿真-1.方案選擇電阻測試儀的設(shè)計可用多種方案完成,例如使用可編程邏輯控制器(PLC)、振蕩電路與單片機(jī)結(jié)合、繼電器與單片機(jī)結(jié)合等等來實(shí)現(xiàn)。在設(shè)計前對各種方案進(jìn)行了比較。1.1.可編程邏輯控制器(PLC)應(yīng)用廣泛,它能夠非常方便地集成到工業(yè)控制系統(tǒng)中。其速度快,體積小,可靠性和精度都較好,在設(shè)計中可采用PLC對硬件進(jìn)行控制,但是用PLC實(shí)現(xiàn)價格相對昂貴,因而成本過高。1.2.利用振蕩電路與單片機(jī)結(jié)合利用555多諧振蕩電路將電阻參數(shù)轉(zhuǎn)化為頻率,把模擬量近似的轉(zhuǎn)換為數(shù)字量,頻率f是單片機(jī)很容易處理的數(shù)字量,測量阻值較小的電阻時測量精度高,但是測量范圍只有1Ω~300kΩ,量程不夠。1.3.利用并聯(lián)繼電器和單片機(jī)結(jié)合因?yàn)闇y量范圍至少要達(dá)到10MΩ,并聯(lián)繼電器的方法能達(dá)到這個要求,而且單片機(jī)構(gòu)成的應(yīng)用系統(tǒng)有較大的可靠性,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),且應(yīng)用系統(tǒng)有較高的軟、硬件利用系數(shù)。單片機(jī)具有可編程性,硬件的功能描述可完全在軟件上實(shí)現(xiàn),而且設(shè)計時間短,成本低,可靠性高。1.4.小結(jié)綜上所述,1.3利用并聯(lián)繼電器和單片機(jī)結(jié)合制作電阻測試儀更為簡便可行,而且成本比較低廉。所以,我將采用這種方法來制作簡易自動電阻測試儀。2.硬件設(shè)計2.1.整體設(shè)計 硬件電路以51單片機(jī)為核心,可分為四個模塊:控制模塊、測量模塊、AD轉(zhuǎn)換模塊、顯示模塊。設(shè)計框圖如圖2-1:被被測電阻測量電路AD轉(zhuǎn)換51單片機(jī)數(shù)字顯示圖2-1設(shè)計框圖各模塊功能和選擇理由如下:控制模塊:采用89C51,控制測量量的切換,1602的顯示,控制步進(jìn)電機(jī)驅(qū)動電位器。51單片機(jī)運(yùn)用廣泛技術(shù)成熟,可操作性強(qiáng)。測量模塊:我們采用并聯(lián)4個繼電器作為100Ω、1kΩ、10kΩ、10MΩ4個量程的選擇開關(guān)。AD轉(zhuǎn)換模塊:該模塊的功能為將測量參數(shù)轉(zhuǎn)化為數(shù)字信號。MAX187具有外接元件少,輸入阻抗高,功耗低,電源電壓范圍寬,精度高等特點(diǎn),并且具有自動校零和自動極性轉(zhuǎn)換功能,只要外接少量的阻容件即可構(gòu)成一個完整的A/D轉(zhuǎn)換器,顯示模塊:采用1602顯示。優(yōu)點(diǎn)是方便讀取數(shù)據(jù),接線簡單。2.2.AT89C51最小系統(tǒng)設(shè)計核心AT89C51最小系統(tǒng)開發(fā)板電路圖如圖2-2所示。圖2-2AT89C51最小系統(tǒng)2.3.電源共2個電源,一個2V如圖3,另一個7.3V如圖4。圖2-32V電源圖2-47.3V電源2.4.AD轉(zhuǎn)換模塊AD轉(zhuǎn)換電路如圖5。圖2-5AD轉(zhuǎn)換電路2.5.電阻測量模塊電阻測量模塊電路如圖6所示:該模塊分為六檔,一檔為100Ω,二檔為1kΩ、三檔為10kΩ、四檔為100kΩ、五檔為1MΩ、六檔為10MΩ。圖2-6測量模塊電路2.6.鍵盤輸入8個按鍵的功能分別為:菜單:進(jìn)入菜單。個位、十位、百位:調(diào)整相應(yīng)數(shù)位上的數(shù)值,范圍為0~9。單位:可以調(diào)整單位,有Ω、kΩ、kΩ、MΩ四個選擇。誤差:誤差調(diào)整范圍為0%~0.9%小數(shù)點(diǎn)位置:可以在百位十位之間、十位個位之間或各位后的三個位置調(diào)整。3.軟件設(shè)計3.1.主程序流程圖在電阻測試儀的設(shè)計中,為于直觀性,在1602上顯示被測參數(shù)的選擇,主程序流程圖如圖3所示。首先插入被測元件,開關(guān)打開以后,進(jìn)行復(fù)位,之后單片機(jī)根據(jù)按鍵類別啟動相應(yīng)的參數(shù)測試程序,測試完畢后將結(jié)果送1602顯示。圖3-1主程序流程圖4.參數(shù)計算電阻的計算:(4-1)(R為精確電阻,為參考電壓,為讀數(shù)) 5.結(jié)果仿真分析與測試5.1.仿真分析繼電器能正常工作,說明測量模塊設(shè)計正確。。單片機(jī)計數(shù)器的最高頻率不能高于晶振頻率的二十四分之一,頻率太低又會使計數(shù)不準(zhǔn),而產(chǎn)生誤差。因此,電阻值的選取十分重要,不能使震蕩頻率過高或過低??傮w仿真后,1602能正確顯示所測量得數(shù)據(jù),證明軟件設(shè)計正確。由于電路的一些參數(shù)影響,導(dǎo)致理論值和實(shí)際值之間存在誤差,于是我對程序中的計算公式作了一定的修正。修正后,誤差減小到要求的誤差范圍內(nèi)。本設(shè)計硬件電路簡單,便于實(shí)現(xiàn),雖然精度不是很高,但在一般場合已經(jīng)夠用。單片機(jī)控制程序采用C語言編寫,思路清晰。系統(tǒng)的軟件部分是系統(tǒng)實(shí)現(xiàn)各種工作狀態(tài)的關(guān)鍵。在Keil4的平臺上,通過各個模塊的調(diào)試,可以確保軟件無錯,能正常執(zhí)行。5.2.測試分析進(jìn)過多次測量計算調(diào)整誤差,得到的測試結(jié)果如表1:表5-1測試結(jié)果量程被測電阻測量值誤差量程為100Ω單位:Ω67.7567.06-1.0%50.9651.290.6%14.9414.27-4.5%量程為1kΩ單位:kΩ0.8020.8040.2%0.7620.760-0.3%0.6220.616-0.9%0.5580.556-0.4%0.4650.4690.7%0.3850.3860.4%0.3220.322-0.2%0.1480.1501.0%量程為10kΩ時單位:kΩ6.786.66-1.7%5.535.550.4%3.863.890.7%3.303.331.0%量程為10MΩ單位:MΩ9.859.991.4%0.980.991.1%0.390.39-0.6%總結(jié)本次設(shè)計已完成一下四點(diǎn):(1)測量量程為100Ω、1kΩ、10kΩ、10MΩ四檔。測量準(zhǔn)確度為±(1%讀數(shù)+2字)。(2)3位數(shù)字顯示(最大顯示數(shù)必須為999),能自動顯示小數(shù)點(diǎn)和單位,測量速率大于5次/秒。(3)100Ω、1kΩ、10kΩ三檔量程具有自動量程轉(zhuǎn)換功能。(4)具有自動電阻篩選功能。即在進(jìn)行電阻篩選測量時,用戶通過鍵盤輸入要求的電阻值和篩選的誤差值;測量時,儀器能在顯示被測電阻阻值的同時,給出該電阻是否符合篩選要求的指示。致謝在本論文完成之際,首先要向我的導(dǎo)師王進(jìn)滿老師致以誠摯的謝意。在論文的寫作過程中,王老師給了我許許多多的幫助。在王老師的悉心指導(dǎo)中,我學(xué)到了扎實(shí)的專業(yè)知識。在此我謹(jǐn)向王同時,我要感謝我們學(xué)院給我們授課的各位老師,正是由于他們的傳道、授業(yè)、解惑,讓我學(xué)到了專業(yè)知識,并從他們身上學(xué)到了如何求知治學(xué)、如何為人處事。我也要感謝嘉興職業(yè)技術(shù)學(xué)院,讓我的大學(xué)生活豐富多姿,為我的人生留下精彩的一筆,學(xué)無止境。明天,將是我終身學(xué)習(xí)另一天的開始。由于水平有限,此篇設(shè)計論文難免存在一些錯誤,希望各位批閱者不吝賜教。在此向大家表示衷心的感謝!參考文獻(xiàn)[1]王松武.電子測量儀器原理及應(yīng)用(1).哈爾濱工程大學(xué)出版社,2004.[2]林占江.電子測量技術(shù).電子工業(yè)出版社,2007.[3]林占江.電子測量儀器原理與使用.電子工業(yè)出版社,2006.[4]譚浩強(qiáng).C語言程序設(shè)計(第三版).清華大學(xué)出版社,2005.[5]李朝青.單片機(jī)原理及接口技術(shù).北京航空航天大學(xué)出版社,2005.[6]秦實(shí)宏.單片機(jī)原理與應(yīng)用技術(shù)[M].北京:中國水利水電出版社,2005[7]姜立東.嵌入式系統(tǒng)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2006[8]楊欣.電路設(shè)計與仿真[M].北京:清華大學(xué)出版社,2006[9]樓然苗.51系列單片機(jī)設(shè)計實(shí)例[M].北京:航空航天大學(xué)出版社,2004[10]盧艷軍.單片機(jī)基本原理及應(yīng)用系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2005附錄一:元件清單列表:元件名稱:數(shù)量:SRD-05VCD-SL-C繼電器6單片機(jī)最小系統(tǒng)1RT1602C1Max1871178051LM3581TL4312三極管6穩(wěn)壓二極管58196104電容15V4.7uf電容2可調(diào)電阻10211k電阻12k電阻15.1k電阻210k電阻1100Ω電阻1按鍵8導(dǎo)線、引腳若干附錄二:程序#include"reg52.h"#defineuintunsignedint#defineucharunsignedchar#defineLCM_DataP0//數(shù)據(jù)接口sbitLCM_E=P1^7;//1602控制端接口sbitLCM_RW=P1^6;sbitLCM_RS=P1^5;sbitjd1=P0^0;//調(diào)節(jié)量程繼電器控制端sbitjd2=P0^1;sbitjd3=P0^2;sbitjd4=P0^3;sbitjd5=P0^4;sbitjd6=P0^5;sbitAD_CLK=P1^0;//AD控制接口sbitAD_CS=P1^1;sbitAD_OUT=P1^2;ucharLCD_b[4]={0};//存放AD轉(zhuǎn)換數(shù)據(jù)的數(shù)組ucharLCD_c[7]={0};//存放顯示的電阻值ucharLCD_r[7]={0}; //存放顯示設(shè)置的電阻值ucharRx[5]={0};//存放篩選中測定實(shí)際電阻的值ucharRs[5]={0};bitflag_c=0; //s=0測量s=1篩選bits=0;ucharunit;//單位判斷標(biāo)準(zhǔn)sbitkey1=P3^0;sbitkey2=P3^1;sbitkey3=P3^2;sbitkey4=P3^3;sbitkey5=P3^4;sbitkey6=P3^5;sbitkey7=P3^6;sbitkey8=P3^7;uintk1,k2,k3,k4,k5,k6,k7=2,k8;uchardanwei,ge,shi,bai,wucha;uintbai_Rx,shi_Rx,ge_Rx;uintRset,Rtest;uintRxx;voidLCM_WriteData(ucharWDLCM);voidLCM_WriteCommand(ucharWCLCM,BuysC);ucharLCM_ReadData(void);ucharLCM_ReadStatus(void);voidLCM_Init(void);voidDisplayOneChar(ucharX,ucharY,ucharDData);voidDisplayListChar(ucharX,ucharY,ucharcode*DData);voidDelay5Ms(void);voidDelay400Ms(void);voidkey();voidcount_Rx();voidcompare();voiddelay(uintx){uchari;while(x--)for(i=0;i<120;i++);}voiddelays(unsignedchara){unsignedchari;while(a--)for(i=0;i<100;i++);}/***********AD轉(zhuǎn)換程序****************************/uintadc(void){uchari;uinttemp=0;AD_CS=1;delays(3);AD_CLK=0;delays(3);AD_CS=0;delays(3);while(AD_OUT==0);//delays(100);AD_CLK=1;delays(3);AD_CLK=0;delays(3);temp=temp^AD_OUT;for(i=0;i<11;i++){AD_CLK=1;delays(3);AD_CLK=0;delays(3);temp=temp<<1;temp=temp^AD_OUT;}AD_CLK=1;delays(3);AD_CLK=0;delays(3);AD_CS=1;delays(3);returntemp;}/*************AD轉(zhuǎn)換數(shù)值的顯示數(shù)字轉(zhuǎn)換程序*************/voiddata_cov(uinta){charflag=0; {LCD_b[0]=a/1000;if(LCD_b[0]==0){flag=1;LCD_b[0]='';}else{flag=0;LCD_b[0]=LCD_b[0]+'0';}LCD_b[1]=a/100%10;if(LCD_b[1]==0&&flag==1){flag=1;LCD_b[1]='';}else{flag=0;LCD_b[1]=LCD_b[1]+'0';}LCD_b[2]=a/10%10;if(LCD_b[2]==0&&flag==1){flag=1;LCD_b[2]='';}else{flag=0;LCD_b[2]=LCD_b[2]+'0';}LCD_b[3]=a%10;if(LCD_b[3]==0&&flag==1){flag=1;LCD_b[3]='0';}else{flag=0;LCD_b[3]=LCD_b[3]+'0';}} Rxx=(a-2000)>>1; if(unit==1)LCD_c[0]=Rxx/100;if(unit==2)LCD_c[0]=Rxx/1000;if(unit==3)LCD_c[0]=Rxx/100;if(unit==4) LCD_c[0]=Rxx/1000;if(unit==5)LCD_c[0]=Rxx/1000;if(unit==6)LCD_c[0]=Rxx/100;if(LCD_c[0]==0){flag=1;LCD_c[0]='0';}else{flag=0;LCD_c[0]=LCD_c[0]+'0';}LCD_c[1]=Rxx/100%10;if(LCD_c[1]==0&&flag==1){flag=1;LCD_c[1]='0';}else{flag=0;LCD_c[1]=LCD_c[1]+'0';}LCD_c[2]=Rxx/10%10;if(LCD_c[2]==0&&flag==1){flag=1;LCD_c[2]='0';}else{flag=0;LCD_c[2]=LCD_c[2]+'0';}LCD_c[3]=Rxx%10;if(LCD_c[3]==0&&flag==1){flag=1;LCD_c[3]='0';}else{flag=0;LCD_c[3]=LCD_c[3]+'0';}if(unit==1){LCD_c[0]=LCD_c[0];LCD_c[1]=LCD_c[1];LCD_c[3]=LCD_c[2];LCD_c[2]='.';LCD_c[4]='';LCD_c[5]='';LCD_c[6]=0xf4;}if(unit==2){LCD_c[0]='';LCD_c[1]=LCD_c[1];LCD_c[2]=LCD_c[2];LCD_c[3]=LCD_c[3];LCD_c[4]='';LCD_c[5]='';LCD_c[6]=0xf4;}if(unit==3){LCD_c[0]=LCD_c[0];LCD_c[2]=LCD_c[1];LCD_c[3]=LCD_c[2];LCD_c[1]='.';LCD_c[4]='';LCD_c[5]='K';LCD_c[6]=0xf4;}if(unit==4){LCD_c[0]=LCD_c[0];LCD_c[2]=LCD_c[1];LCD_c[3]=LCD_c[2];LCD_c[1]='.';LCD_c[4]='';LCD_c[5]='M';LCD_c[6]=0xf4;}if(unit==5){LCD_c[0]=LCD_c[0];LCD_c[2]=LCD_c[1];LCD_c[3]=LCD_c[2];LCD_c[1]='.';LCD_c[4]='';LCD_c[5]='M';LCD_c[6]=0xf4;}if(unit==6){LCD_c[0]=LCD_c[0];LCD_c[2]=LCD_c[1];LCD_c[3]=LCD_c[2];LCD_c[1]='.';LCD_c[4]='';LCD_c[5]='M';LCD_c[6]=0xf4;}}/************自動更換量程程序******************************/voidpan(){uintj; unit=1; jd1=1;jd2=0;jd3=0;jd4=0; jd5=0; jd6=0;delay(100);j=adc();if(j>4000){delay(10);unit=2;jd1=0;jd2=1;jd3=0;jd4=0; jd5=0; jd6=0;delay(100);j=adc();if(j>4000){delay(10); unit=3;jd1=0;jd2=0;jd3=1;jd4=0; jd5=0; jd6=0;delay(100);j=adc();if(j>4000){delay(10); unit=4;jd1=0;jd2=0;jd3=0;jd4=1; jd5=0;jd6=0;delay(100);j=adc(); }if(j>4000){delay(10); unit=5;jd1=0;jd2=0;jd3=0;jd4=0; jd5=1;jd6=0;delay(100);j=adc(); }if(j>4000){delay(10); unit=6;jd1=0;jd2=0;jd3=0;jd4=0; jd5=0;jd6=1;delay(100);j=adc(); }}}data_cov(j);}/****************************1602A寫數(shù)據(jù)函數(shù)**************************//*函數(shù)原型:voidLCM_WriteData(ucharWDLCM)/*函數(shù)功能:1602A寫數(shù)據(jù)/**********************************************************************/voidLCM_WriteData(ucharWDLCM){LCM_ReadStatus();//檢測忙LCM_Data=WDLCM;LCM_RS=1;LCM_RW=0;LCM_E=0;//若晶振速度太高可以在這后加小的延時LCM_E=0;//延時LCM_E=1;}/****************************1602A寫指令函數(shù)**************************//*函數(shù)原型:voidLCM_WriteCommand(ucharWCLCM,BuysC)/*函數(shù)功能:1602A寫指令/**********************************************************************/voidLCM_WriteCommand(ucharWCLCM,BuysC)//BuysC為0時忽略忙檢測{if(BuysC)LCM_ReadStatus();//根據(jù)需要檢測忙LCM_Data=WCLCM;LCM_RS=0;LCM_RW=0;LCM_E=0;LCM_E=0;LCM_E=1;}/****************************1602A讀數(shù)據(jù)函數(shù)**************************//*函數(shù)原型:ucharLCM_ReadData(void)/*函數(shù)功能:1602A讀數(shù)據(jù)/*輸出參數(shù):1602A返回的數(shù)據(jù)/**********************************************************************/ucharLCM_ReadData(void){LCM_RS=1;LCM_RW=1;LCM_E=0;LCM_E=0;LCM_E=1;return(LCM_Data);}/****************************1602A讀狀態(tài)函數(shù)**************************//*函數(shù)原型:ucharLCM_ReadData(void)/*函數(shù)功能:1602A讀狀態(tài)/*輸出參數(shù):1602A返回的狀態(tài)/**********************************************************************/ucharLCM_ReadStatus(void){LCM_Data=0xFF;LCM_RS=0;LCM_RW=1;LCM_E=0;LCM_E=0;LCM_E=1;while(LCM_Data&0x80);//檢測忙信號return(LCM_Data);}/****************************1602A初始化函數(shù)**************************//*函數(shù)原型:voidLCM_Init(void)/*函數(shù)功能:1602A初始化/**********************************************************************/voidLCM_Init(void){LCM_Data=0;LCM_WriteCommand(0x38,0);//三次顯示模式設(shè)置,不檢測忙信號Delay5Ms();LCM_WriteCommand(0x38,0);Delay5Ms();LCM_WriteCommand(0x38,0);Delay5Ms();LCM_WriteCommand(0x38,1);//顯示模式設(shè)置,開始要求每次檢測忙信號LCM_WriteCommand(0x08,1);//關(guān)閉顯示LCM_WriteCommand(0x01,1);//顯示清屏LCM_WriteCommand(0x06,1);//顯示光標(biāo)移動設(shè)置LCM_WriteCommand(0x0C,1);//顯示開及光標(biāo)設(shè)置}/******************1602A按指定位置顯示一個字符函數(shù)**********************//*函數(shù)原型:voidDisplayOneChar(ucharX,ucharY,ucharDData)/*函數(shù)功能:1602A按指定位置顯示一個字符/*輸入?yún)?shù):X坐標(biāo)Y坐標(biāo)要顯示的字符/**********************************************************************/voidDisplayOneChar(ucharX,ucharY,ucharDData){Y&=0x1;X&=0xF;//限制X不能大于15,Y不能大于1if(Y)X|=0x40;//當(dāng)要顯示第二行時地址碼+0x40;X|=0x80;//算出指令碼LCM_WriteCommand(X,0);//這里不檢測忙信號,發(fā)送地址碼LCM_WriteData(DData);}/*******************1602A按指定位置顯示一串字符函數(shù)*********************//*函數(shù)原型:voidDisplayListChar(ucharX,ucharY,ucharcode*DData)/*函數(shù)功能:1602A按指定位置顯示一個字符/*輸入?yún)?shù):X坐標(biāo)Y坐標(biāo)要顯示字符串的首地址/**********************************************************************/voidDisplayListChar(ucharX,ucharY,ucharcode*DData){ucharListLength;ListLength=0;Y&=0x1;X&=0xF;//限制X不能大于15,Y不能大于1while(DData[ListLength]>0x20)//若到達(dá)字串尾則退出{if(X<=0xF)//X坐標(biāo)應(yīng)小于0xF{DisplayOneChar(X,Y,DData[ListLength]);//顯示單個字符ListLength++;X++;}}}/********************5ms延時函數(shù)************************//*函數(shù)原型:voidDelay5Ms(void)/*函數(shù)功能:5ms延時/**********************************************************************/voidDelay5Ms(void){unsignedintTempCyc=5552;while(TempCyc--);}/********************400ms延時延時函數(shù)************************//*函數(shù)原型:voidDelay400Ms(void)/*函數(shù)功能:400ms延時延時/**********************************************************************/voidDelay400Ms(void){ucharTempCycA=5;unsignedintTempCycB;while(TempCycA--){TempCycB=7269;while(TempCycB--);}}voidkey(){P3=0xff;if(key1==0) {delay(100); while(key1==0); s=~s; if(s!=0){LCM_WriteCommand(0x01,1); DisplayListChar(0,0,"startselect"); } else {LCM_WriteCommand(0x01,1); count_Rx(); compare(); if(flag_c==1) {DisplayListChar(6,1,"wrong"); } else {DisplayListChar(6,1,"right"); } } }if(s!=0){if(key2==0) { delay(100); while(key2==0); ++k2; ge=k2; if(k2==10)k2=0; LCM_WriteCommand(0x01,1); DisplayListChar(0,0,"gewei:"); DisplayOneChar(8,0,ge+0x30); delay(100); } if(key3==0) {delay(100); while(key3==0); ++k3; shi=k3; if(k3==10)k3=0; LCM_WriteCommand(0x01,1); DisplayListChar(0,0,"shiwei:"); DisplayOneChar(8,0,shi+0x30); delay(100); }if(key4==0) { delay(100); while(key4==0); ++k4; bai=k4; if(k4==10)k4=0; LCM_WriteCommand(0x01,1); DisplayListChar(0,0,"baiwei:"); DisplayOneChar(8,0,bai+0x30); delay(100); }if(key5==0) {delay(100); while(key5==0); ++k5; if(k5==4)k5=0; switch(k5) {case1:{danwei='';}break; case2:{danwei='K';}break; case3:{
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物理科技在智能交通系統(tǒng)中的應(yīng)用
- 現(xiàn)代藝術(shù)與設(shè)計趨勢創(chuàng)新與變革
- 現(xiàn)代營銷中的用戶體驗(yàn)設(shè)計
- 環(huán)境科學(xué)與未來綠色發(fā)展的結(jié)合策略
- 國慶節(jié)紅色電影活動方案
- Unit7《Lesson 26 I Love My Family》(說課稿)-2024-2025學(xué)年北京版(2024)英語三年級上冊
- 2024-2025學(xué)年高中地理 第4章 旅游與區(qū)域的發(fā)展 章末分層突破說課稿 中圖版選修3
- Unit 7 Happy Birthday!(說課稿)-2024-2025學(xué)年譯林版(三起)(2024)英語三年級上冊
- 2024年屆九年級歷史上冊 第11課 開辟新時代的“宣言”說課稿2 北師大版001
- 《18 初始機(jī)器人》說課稿-2023-2024學(xué)年清華版(2012)信息技術(shù)一年級下冊
- 醫(yī)院消防安全培訓(xùn)課件
- 質(zhì)保管理制度
- 《00541語言學(xué)概論》自考復(fù)習(xí)題庫(含答案)
- 2025年機(jī)關(guān)工會個人工作計劃
- 人事測評理論與方法-課件
- 最新卷宗的整理、裝訂(全)課件
- 城市旅行珠海景色介紹珠海旅游攻略PPT圖文課件
- 小學(xué) 三年級 科學(xué)《觀測風(fēng)》教學(xué)設(shè)計
- JJF1664-2017溫度顯示儀校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- 第二講共振理論、有機(jī)酸堿理論
- 高考英語聽力必備場景詞匯精選(必看)
評論
0/150
提交評論