freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

電子式拉力計的設計-資料下載頁

2025-06-30 07:54本頁面
  

【正文】 設計終于接近尾聲。在此次畢業(yè)設計中,我收益良多。對本專業(yè)的認知有了更深刻的理解。同時在設計過程中我也深感不足,幸得徐理英老師的耐心指導。使得我能及時彌補在專業(yè)上的不足,順利的做完這份畢業(yè)設計。我本次的畢業(yè)設計設計涉及了單片機技術、傳感器技術、LCD顯示技術。先設計的過程中我學習到了很多。在最初的方案里,開始是硬件中的單片機我是打算在AT89C51和MSP430中選取。然后通過查閱資料發(fā)現(xiàn),如果采用AT89C51方案則需要外接一個A/D轉換器。這樣不僅會增加成本,而且會增強電路的復雜度,不利于拉力計精確度的提升。在AT89C51方案之后我又考慮了使用MSP430芯片來設計拉力計,和AT89C51比起來,MSP430內部集成了一個12位的A/D轉換器,因此能大大降低電路的復雜度。但是MSP430雖然功能強大,外設豐富。但是成本也是非常的高。最后在折中之下,我選擇了也自帶8路10位A/D轉換器的ATmega16AVR單片機來設計電子式拉力計。而在軟件方面,本設計使用了模塊化的設計方法,并使用了C語言來編寫源程序。因為第一次獨立編寫這種復雜程度的程序,并且還有一些元器件需要熟悉,因此在軟件設計上所花費的時間非常多?;厥桌τ嫷脑O計過程,會發(fā)現(xiàn)整個設計過程還是一個學習的過程。這也意味著畢業(yè)是我們另一段學習的開始。而此次設計的電子式拉力計,個人認為還算結構簡單,操作方便。同時也滿足了基本的功能需求,成本也比較低廉。但總的來說整個設計比較粗陋,軟件方面源程序編寫的也不夠精簡,產(chǎn)生了大量冗余。這些都是因為沒有實際的工程經(jīng)驗造成,因此在離開學校后我還要不斷加強學習,提高自己的實踐能力,培養(yǎng)系統(tǒng)的思考問題和解決問題的能力。經(jīng)歷了兩個多月的實習,我深刻的體會到知識不僅僅要從書本中學習,更要從實踐中去學習,甚至實踐中學到的知識是要多于在書本上學到的。參考文獻[1] 廖紅華,[J].電工技術,2007,01:13[2] 陳磊,[J].自動化儀表,2003,05:37[3] [J].測控技術,2000,04:1718[4] [J].現(xiàn)代測量與實驗室管理2006,04:812[5] [M].北京:北京航空航天大學出版社,1995:2538.[6] [J] .自動化信息,2004,44(8):1725.[7] [M].北京:機械工業(yè)出版社,2002:1518.[8] [M].北京:中國計量出版社,1993:2324.[9] Xiao Y,Xiaoke pressure minisensor made of monocrystalline silicon and the measurement of its sensitivity coefficient[J].Journal of Wuhan University of .,2005,20(4):135137.(外文翻譯)[10] [M].北京:清華大學出版社,2003:206212.[11] [M].北京:清華大學出版社,2003.[12] (六)[J].電子制作,2005,7:6366.[13] 孫力,[J].:4547.[14] [M] .北京:北京航空航天大學出版社,2006:208220.[15] Li acquisition,analysis and applications of multisensor integration[J].ENGINEERING SCIENCES,2010,8(1):1222[16] [D].電子科技大學,2008.[17] MPS430 微處理器的電子推拉力計的設計與實現(xiàn)[D].電子科技大學,2008致謝首先,我要向我的畢設指導老師XXX老師表示最誠摯的感謝和無比的敬意。本文從選題到外文文獻的查閱,再到開題報告和論文提綱的撰寫,X老師都傾注了大量的心血和精力。沒有X老師的殷殷指導,我此次畢業(yè)設計不可能完成的這么順利。她在設計過程中適時的給予的指導是此次畢業(yè)設計得以成功的關鍵。而在學術上,X老師深厚的理論基礎,嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風,都讓我收益匪淺,是我終生學習的榜樣和典范。其次我要感謝和我同是X老師指導的X同學,是她在我實習的時候及時將一些畢業(yè)設計過程中的最新情況和注意事項及時轉告了我,讓我即使不在學校也能及時的跟上畢業(yè)設計的進度。衷心感謝在我漫長的求學生涯中,我的父母、朋友對我的支持和鼓勵,他們永遠是我前進的精神動力。最后,誠摯地感謝為評閱本論文而付出辛勤勞動的各位老師。感謝您們的指導和批評!附錄A 電子式拉力計硬件原理圖附錄B 電子式拉力計軟件源程序//*****要求量程為50N和500N,精度為%1*****includeincludedefine LCM_Data PORTBdefine Busy 0x80 //用于檢測LCM狀態(tài)字中的Busy標識unsigned int Busyc。unsigned char num[]={0123456789EROKN:ST}。unsigned char p[9] 。void delay(unsigned int x)。 //延時float adc(void)。void process(float a)。 //數(shù)據(jù)處理函數(shù)void WriteDataLCM(unsigned char WDLCM)。 //寫數(shù)據(jù)void WriteCommandLCM(unsigned char WCLCM,unsigned int Busyc)。 //寫指令,BuysC為0時忽略忙檢測unsigned char ReadStatusLCM(void)。 //讀狀態(tài)void LCMInit(void)。 //LCM初始化unsigned char ReadDataLCM(void)。 //讀數(shù)據(jù)void displayonechar(unsigned X, unsigned char Y, unsigned char DData)。 //按指定位置顯示一個字符void displayerror(void)。//*****顯示ERROR*****void displayrst(void)。//****顯示復位RST*****void display50r(void)。//*****顯示量程50N,R:50N*****void display50(float a)。//*****測量值=50顯示*****void display500r(void)。//*****顯示量程500N,R:5KN*****void display500(float a)。//*****測量值介于50和500間顯示*****void portandreginit(void)。//*****端口初始化*****//*****延時子程序*****void delay(unsigned int x) //DELAY{unsigned int i。 for(。x!=0。x) { for(i=0。i1000。i++) {。} }}//*****AD轉換程序*****float adc(void) //ADC_CONVERT PROGRAM{unsigned int t1,t2。 float a。 t1=ADCL。 t2=ADCH。 t2=(t28)+t1。 a=t2*。//將數(shù)據(jù)轉換為小數(shù)形式 return(a)。}//*****將數(shù)據(jù)轉換為小數(shù)形式*****void process(float a) //數(shù)據(jù)處理函數(shù){unsigned int i,c,d。 float b。 //小數(shù)部分 i=(int)a。 p[0]=i/10000。 //萬位 i=i%10000。 p[1]=i/1000。 //千位 i=i%1000。 p[2]=i/100。 //百位 i=i%100。 p[3]=i/10。 //十位 p[4]=i%10。 //各位 p[5]=46。 //小數(shù)點 b=ap[0]*10000p[1]*1000p[2]*100p[3]*10p[4]。 b=b*1000。 c=(int)b。 p[6]=c/100。 c=c%100。 d=c/10。 c=c%10。 if(c=5){p[7]=d+1。} else p[7]=d。 }//*****液晶寫數(shù)據(jù)*****void WriteDataLCM(unsigned char WDLCM) //寫數(shù)據(jù){ ReadStatusLCM()。 //檢測忙 PORTB=WDLCM。 PORTD=0x01。 delay(10)。 PORTD=0x05。}//*****液晶寫指令*****void WriteCommandLCM(unsigned char WCLCM,unsigned int Busyc) //寫指令,BuysC為0時忽略忙檢測{ if(Busy) {ReadStatusLCM()。} //根據(jù)需要檢測忙 PORTB=WCLCM。 PORTD=0x00。 delay(10)。 PORTD=0x04。}//*****液晶讀狀態(tài)*****unsigned char ReadStatusLCM(void) //讀狀態(tài){ PORTB=0xFF。 PORTD=0x02。 delay(10)。 PORTD=0x06。 while (LCM_Data amp。 Busy)。 //檢測忙信號 return(LCM_Data)。}//*****液晶初始化*****void LCMInit(void) //LCM初始化{ PORTB=0x00。 WriteCommandLCM(0x38,0)。 //三次顯示模式設置,不檢測忙信號 delay(1)。 WriteCommandLCM(0x38,0)。 delay(1)。 WriteCommandLCM(0x38,0)。 delay(1)。 WriteCommandLCM(0x38,1)。 //顯示模式設置,開始要求每次檢測忙信號 WriteCommandLCM(0x08,1)。 //關閉顯示 WriteCommandLCM(0x01,1)。 //顯示清屏 WriteCommandLCM(0x06,1)。 // 顯示光標移動設置 WriteCommandLCM(0x0C,1)。 // 顯示開及光標設置}//*****液晶讀數(shù)據(jù)*****unsigned char ReadDataLCM(void) //讀數(shù)據(jù){ PORTD=0x03。 delay(10)。 PORTD=0x07。 return(LCM_Data)。}//*****顯示單個字符*****void displayonechar(unsigned X, unsigned char Y, unsigned char DData) //按指定位置顯示一個字符{ Yamp。=0x1。 Xamp。=0xF。 //限制X不能大于15,Y不能大于1 if (Y) X|=0x40。 //當要顯示第二行時地址碼+0x40。 X|=0x80。 // 算出指令碼 WriteCommandLCM(X,0)。 //這里不檢測忙信號,發(fā)送地址碼 WriteDataLCM(DData)。}//*****顯示ERROR*****void displayerror(void){displayonechar(1,0,num[10])。 //E displayonechar(2,0,num[11])。 //R displayonechar(3,0,num[11])。 //R displayonechar(4,0,num[12])。 //O displayonechar(5,0,num[11])。 //R} //****顯示復位RST*****void displayrst(void){displayonechar(1,0,num[11])。 //R displayonechar(2,0,num[16])。 //S displayonechar(3,0,num[17])。 //T}//*****顯示量程50N,R:50N*****void display50r(void){displayonechar(8,0,num[11])。 //R displayonechar(9,0,num[15])。 //: displayonechar(10,0,num[5])。 //5 displayonechar(11,0,num[0])。 //0 displayonechar(12,0,num[14])。 //N}//*****測量值=50顯示*****void display50(float a){ if(a=10) //測量值大于10 {displayonechar(3,1,p[3])。 //十位 displayonechar(4,1,p[4])。 //各位 displayonechar(5,1,p[5])。 //小數(shù)點 displayonechar(6,1,p[6])。 //十分位 displayonechar(7,1,p[7])。 //百分位 displayonechar(8,1,p[8])。} //N if(a
點擊復制文檔內容
規(guī)章制度相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1