單片機(jī)課程設(shè)計(jì)論文多物體重量自動(dòng)測(cè)試系統(tǒng)設(shè)計(jì)_第1頁(yè)
單片機(jī)課程設(shè)計(jì)論文多物體重量自動(dòng)測(cè)試系統(tǒng)設(shè)計(jì)_第2頁(yè)
單片機(jī)課程設(shè)計(jì)論文多物體重量自動(dòng)測(cè)試系統(tǒng)設(shè)計(jì)_第3頁(yè)
單片機(jī)課程設(shè)計(jì)論文多物體重量自動(dòng)測(cè)試系統(tǒng)設(shè)計(jì)_第4頁(yè)
單片機(jī)課程設(shè)計(jì)論文多物體重量自動(dòng)測(cè)試系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、鄭州輕工業(yè)學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書(shū)題目 多物體重量自動(dòng)測(cè)試系統(tǒng)設(shè)計(jì)專(zhuān)業(yè)、班級(jí) 學(xué)號(hào) 姓名 主要內(nèi)容、基本要求、主要參考資料等:主要內(nèi)容及基本要求設(shè)計(jì)一個(gè)重量(0500克)自動(dòng)測(cè)試系統(tǒng),要求該系統(tǒng)能自動(dòng)測(cè)試物體的重量并能顯示測(cè)量數(shù)據(jù)。另外,可設(shè)置擴(kuò)展功能,如:鍵盤(pán)輸入,打印等,要求完成以下幾個(gè)環(huán)節(jié):1檢索資料,論證方案2設(shè)計(jì)系統(tǒng)硬件電路圖,要求采用抗干擾措施3畫(huà)出主要程序流程圖4編寫(xiě)主要程序5完成課程設(shè)計(jì)說(shuō)明書(shū)主要參考資料: 智能儀器,程德福,北京:機(jī)械工業(yè)出版社,2005智能儀器原理及應(yīng)用,趙茂泰,北京:電子工業(yè)出版社,2004單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航,靳達(dá),北京:人民郵電出版社,20

2、04基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),沈紅衛(wèi),北京:電子工業(yè)出版社,2005完 成 期 限:2008.1.7 - 2008.1.11指導(dǎo)教師簽名: 專(zhuān)業(yè)負(fù)責(zé)人簽名: 2008年 1 月 4 日目 錄摘 要-11 硬件組成-11.1 硬件結(jié)構(gòu)框圖-11.2 各部分硬件電路實(shí)現(xiàn)-11.2.1 前端信號(hào)處理-21.2.2 a/d轉(zhuǎn)換器-31.2.3 lcd顯示接口電路-52 軟件組成-62.1 流程圖-62.2 軟件說(shuō)明-8總 結(jié)-8參考書(shū)目-8附 錄-9摘 要本系統(tǒng)采用單片機(jī)80c51為控制核心,實(shí)現(xiàn)多物體重量自動(dòng)測(cè)試系統(tǒng)的基本控制功能。系統(tǒng)的硬件部分包括最小系統(tǒng)板,數(shù)據(jù)采集、人機(jī)交互界面三大部分。

3、最小系統(tǒng)部分主要是擴(kuò)展了外部數(shù)據(jù)存儲(chǔ)器,數(shù)據(jù)采集部分由壓力傳感器、信號(hào)的前級(jí)處理和a/d轉(zhuǎn)換部分組成。12864點(diǎn)陣式液晶顯示。1、硬件組成:1.1、硬件結(jié)構(gòu)框圖:圖1 硬件結(jié)構(gòu)框圖1.2、各部分硬件電路實(shí)現(xiàn)主控電路以80c51為核心擴(kuò)展32k ram;單片機(jī)使用6m晶振,p0口外接上拉電阻,增大了帶負(fù)載能力;a12a15接74ls138譯碼器,輸出作外部片選信號(hào)。 擴(kuò)展了幾個(gè)接口用于其它部分于單片機(jī)的通信1.2.1 前端信號(hào)處理ina126構(gòu)成的放大器及濾波電路:圖2 放大器及濾波器通過(guò)調(diào)節(jié)的阻值來(lái)改變放大倍數(shù)。微弱信號(hào)vi1和vi2被分別放大后從ina126的第6腳輸出。a/d轉(zhuǎn)換器icl

4、7135的輸入電壓變化范圍是-2v+2v,傳感器的輸出電壓信號(hào)在020mv左右,因此放大器的放大倍數(shù)在200300左右,可將接成的滑動(dòng)變阻器。由于icl7135對(duì)高頻干擾不敏感,所以濾波電路主要針對(duì)工頻及其低次諧波引入的干擾。因?yàn)閴毫π盘?hào)變化十分緩慢,所以濾波電路可以把頻率做得很低。1.2.2 a/d轉(zhuǎn)換器基于icl7135的a/d轉(zhuǎn)換器實(shí)現(xiàn)電路:圖3 a/d轉(zhuǎn)換器實(shí)現(xiàn)電路由于icl7135內(nèi)部沒(méi)有振蕩器,所以需要外接。但a/d轉(zhuǎn)換器精度與時(shí)鐘頻率的漂移無(wú)關(guān)。正向積分時(shí)間t1和反向積分時(shí)間t2按相同比例增加并不影響測(cè)量的結(jié)果。icl7135的時(shí)鐘頻率典型值為200khz最高允許為1200khz

5、,時(shí)鐘頻率越高,轉(zhuǎn)換速度越快。每輸出一位bcd碼的時(shí)間為200個(gè)時(shí)鐘周期,選通脈沖位于數(shù)據(jù)脈沖的中部,如果時(shí)鐘頻率太高,則數(shù)據(jù)的接受程序還沒(méi)有接受完畢,數(shù)據(jù)就已經(jīng)消失了??紤]到此系統(tǒng)頻率要求不是太高,且單片機(jī)的工作頻率也不是很高,因此我們?nèi)r(shí)鐘頻率的典型值:200khz。由于頻率比較低,對(duì)時(shí)鐘漂移要求不高,采用阻容方式實(shí)現(xiàn)了。如下:圖4 a/d轉(zhuǎn)換器振蕩電路此外icl7135外部還需要外接積分電阻、積分電容,但a/d轉(zhuǎn)換器精度與外接的積分電阻、積分電容的精度無(wú)關(guān),故可以降低對(duì)元件質(zhì)量的要求。不過(guò)積分電容和積分電容的介質(zhì)損耗會(huì)影響到a/d轉(zhuǎn)換器的精度,所以應(yīng)采用介質(zhì)損耗較小的聚丙乙烯電容icl7

6、135還需要外接基準(zhǔn)電源,這是因?yàn)樾酒瑑?nèi)部的基準(zhǔn)源一般容易受到溫度的影響,而基準(zhǔn)電源的變化會(huì)直接影響轉(zhuǎn)換精度。所以當(dāng)精度要求較高時(shí),應(yīng)采用外接基準(zhǔn)源。一般接其典型值1v。1.2.4 lcd顯示接口電路.圖5 lcd顯示接口電路lcd復(fù)位信號(hào)通過(guò)反相器接到單片機(jī)的reset上,上電或手動(dòng)復(fù)位時(shí)將隨單片機(jī)同時(shí)復(fù)位。由于復(fù)位后并行口輸出高電平,lcd處于選中狀態(tài),此時(shí)lcd將輸出內(nèi)部狀態(tài)字,將會(huì)影響數(shù)據(jù)總線上的數(shù)據(jù)傳輸。所以外接一個(gè)反相器。2、軟件組成:2.1、流程圖主程序流程如圖所示:主程序流程如圖中斷服務(wù)程序流程圖如下:中斷服務(wù)程序流程圖2.2 軟件說(shuō)明由于涉及到大量數(shù)據(jù)的運(yùn)算,程序不宜采用匯編

7、語(yǔ)言,c語(yǔ)言大大縮短了開(kāi)發(fā)時(shí)間,且程序可讀性非常好。程序中對(duì)ad采入的數(shù)據(jù)進(jìn)行了數(shù)字濾波,進(jìn)一步減小ad讀入數(shù)據(jù)的誤差???結(jié)單片機(jī)課程設(shè)計(jì)是一次理論聯(lián)系實(shí)際的訓(xùn)練,它在我們大學(xué)生活中占有重要的地位。   就我個(gè)人而言,我希望能通過(guò)這次課程設(shè)計(jì)為將來(lái)工作進(jìn)行一次適應(yīng)性訓(xùn)練,從中鍛煉自己分析問(wèn)題、解決問(wèn)題的能力,為今后自己的研究生生活打下一個(gè)良好的基礎(chǔ)。但是這次課程設(shè)計(jì)的確顯得有點(diǎn)心有余而力不足:最重要的就是基本知識(shí)問(wèn)題,由于平時(shí)只對(duì)書(shū)本知識(shí)進(jìn)行學(xué)習(xí),對(duì)單片機(jī)技術(shù)的實(shí)際應(yīng)用沒(méi)有太多的關(guān)注,導(dǎo)致在拿到課題的時(shí)候,有些束手無(wú)策,后來(lái)對(duì)相關(guān)知識(shí)進(jìn)行了復(fù)習(xí),才找到了思路。從這次設(shè)計(jì)也

8、可以看出一些問(wèn)題:1.心態(tài):應(yīng)該保持認(rèn)真的態(tài)度,堅(jiān)持冷靜獨(dú)立的解決問(wèn)題2.基本:認(rèn)真學(xué)好基本知識(shí),扎實(shí)自己的基本知識(shí),使面對(duì)問(wèn)題時(shí)不會(huì)遇到很多挫折,從而打擊自己的信心,結(jié)果使自己很浮躁,越來(lái)越不想搞這設(shè)計(jì),故應(yīng)該好好學(xué)習(xí)基本知識(shí),一步一步的來(lái),不要急功近利!總的說(shuō)來(lái),雖然在這次設(shè)計(jì)中自己學(xué)到了很多的東西,取得一定的成績(jī),但同時(shí)也存在一定的不足和缺陷,我想這都是這次設(shè)計(jì)的價(jià)值所在,以后的日子以后自己應(yīng)該更加努力認(rèn)真,以冷靜沉著的心態(tài)去辦好每一件事情!參考書(shū)目:?jiǎn)纹⑿陀?jì)算機(jī)原理與接口技術(shù) 科學(xué)出版社 高鋒著c+程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)教程天津大學(xué)出版社 趙國(guó)瑞 主編附 錄主控電路圖電子秤的信號(hào)采集

9、、處理、顯示的程序.#include <reg52.h>#include<absacc.h> /ad控制線#define ad_244 xbyte0xbfff;sbit ad_stb=p33; /ad轉(zhuǎn)換器的26管腳,strbsbit ad_start=p11; /lcd控制線sbit lcd_di=p17;sbit lcd_rw=p12;sbit lcd_e=p10;/7289控制線sbit cs7289=p13;sbit clk7289=p14;sbit dio7289=p15;/sbit key7289=p16; /7289查詢方式sbit key7289=p32

10、; /7289中斷方式sbit baoja=p35;/7289子程序void ini_7289(void);void send7289(short);short receive(void);void keyin(void);/lcd子程序void ini_lcd(void);void lcdd_send(short);void lcdi_send(short);void chk_busy(void);/ad子程序void ad(void);void baojing(void);void ini();void error1(void);void nop1()void change(s)int d

11、ealy; /全局變量short dot=0; /小數(shù)點(diǎn)標(biāo)志bit list=0;short qb=0;char xdata shuju7=""short xdata bcd5;char xdata s116="單價(jià): 元"char xdata s216="重量: kg"char xdata s316="金額: 元"*void main()short i,j; long int x,z; int y; int xdata duilie3=0; p1=0xff; ini_lcd(); /初始化lcd lcdi_sen

12、d(0x8a); /lcd命令字ini_7289(); /初始化7289 pizhong=ad1(); lcdi_send(0x1); /總清 屏 ini(); /初始頁(yè)面 lcdi_send(0x1); /總清 屏 ea=1;ex0=1; /中斷 /ex1=1; /ad_start=1; while(1) if(list)lcdi_send(0x80); /顯示單位名稱 for(i=0;i<16;i+) lcdd_send(message3i); for(i=0;i<4;i+) s1i=shangpinxi; x=qingdan01; d_change(x); change(s1

13、); lcdi_send(0x90); for(i=0;i<16;i+) lcdd_send(s1i); x=qingdan02; /顯示重量 d_change(x); change(s2); s210=s29;s29='.' if(s28=32) s28=0x30; lcdi_send(0x88); for(i=0;i<16;i+) lcdd_send(s2i); x=qingdan03; d_change(x); change(s3); lcdi_send(0x98); for(i=0;i<16;i+) lcdd_send(s3i); for(j=1;j&

14、lt;qb;j+) while(key7289); x=qingdanj2; d_change(x); change(s2); /顯示數(shù)據(jù) s210=s29; s29='.' if(s28=32) s28=0x30; lcdi_send(0x90); for(i=0;i<16;i+) lcdd_send(s2i); x=qingdanj1; d_change(x); change(s1); x=qingdanj0; for(i=0;i<4;i+) s1i=shangpinxi; lcdi_send(0x80); for(i=0;i<16;i+) lcdd_se

15、nd(s1i); while(key7289=0); while(key7289); d_change(zongjia); change(s4); lcdi_send(0x80); for(i=0;i<16;i+) lcdd_send(s4i); lcdi_send(0x90); for(i=0;i<16;i+) lcdd_send(bianhaoi); lcdi_send(0x88); for(i=0;i<16;i+) lcdd_send(message5i); lcdi_send(0x98); for(i=0;i<16;i+) lcdd_send(riqii); l

16、ist=0; while(key7289=0); while(key7289=1); while(key7289=0); ea=1;ex0=1; else y=0; /* duilie2=duilie1; /數(shù)字濾波 duilie1=duilie0; y=ad1(); duilie0=y>>1; x=duilie0; x=x<<1; x=x+duilie1+duilie2; zhongliang=ad1(); shizhong=zhongliang-pizhong; /數(shù)據(jù)轉(zhuǎn)換 x=danjiash; jine1=shizhong*x; jine=jine1/1000;

17、 d_change(shizhong); change(s2); /顯示數(shù)據(jù) s210=s29; s29='.' if(s28=32) s28=0x30; lcdi_send(0x90); for(i=0;i<16;i+) lcdd_send(s2i); d_change(danjiash); change(s1); for(i=0;i<4;i+) s1i=shangpinshi; lcdi_send(0x80); for(i=0;i<16;i+) lcdd_send(s1i); d_change(jine); change(s3); lcdi_send(0x

18、88); for(i=0;i<16;i+) lcdd_send(s3i); d_change(zongjia); change(s4); lcdi_send(0x98); for(i=0;i<16;i+) lcdd_send(s4i); lcdi_send(0x98); /while(1); /lcd子程序void ini_lcd() /lcd初始化子程序 lcdi_send(0x30); lcdi_send(0x1); /總清 lcdi_send(0xc); lcdi_send(0x2); /光標(biāo)右移,ac+1void lcdd_send(short x) /lcd發(fā)送數(shù)據(jù)子程序

19、chk_busy(); nop1(); lcd_di=1;lcd_rw=0;lcd_e=0; p0=x; for(dealy=0;dealy<5;dealy+);/ lcd_e=1; x=x; p0=0xff;void lcdi_send(short x) /lcd發(fā)送指令子程序chk_busy(); nop1(); lcd_di=0;lcd_rw=0;lcd_e=0; p0=x; for(dealy=0;dealy<5;dealy+);/ lcd_e=1; x=x; p0=0xff; void chk_busy()short i=0xff; while(i&0x80) l

20、cd_di=0; lcd_rw=1; lcd_e=0; i=p0; lcd_e=1; /7289子程序void ini_7289()short i; cs7289=1; key7289=1; dio7289=1; /7289初始化子程序 for(i=0;i<50;i+) for(dealy=0;dealy<5000;dealy+); /延時(shí)25ms send7289(0xa4); cs7289=1;void send7289(short x) /7289發(fā)送數(shù)據(jù)子程序short i,j=1; cs7289=0; for(dealy=0;dealy<6;dealy+); /延時(shí)

21、50us for(i=7;i>=0;i-) j=j<<i; dio7289=x&j; j=1;j=1;clk7289=1; for(dealy=0;dealy<1;dealy+) ; /延時(shí)10us clk7289=0; for(dealy=0;dealy<1;dealy+) ; /延時(shí)10us dio7289=0;short receive() /7289接收數(shù)據(jù)子程序short i,x=0; dio7289=1; for(dealy=0;dealy<6;dealy+); /延時(shí)50us for(i=0;i<=7;i+) clk7289=1; for(dealy=0;dealy<1;dealy+); /延時(shí)10us x=x<<1; if(dio7289)x+; clk7289=0; for(dealy=0;dealy<1;dealy+); /延時(shí)10us dio7289=0; return(x);/ad/ad子程序int ad1()short k,x; int ad_zhi=0,xz; ea=0; ad_start=1; for(k=0;k<5;k+) while(ad_stb); x=ad_244; x=x&0xf; ad_zhi=ad_zhi*10+

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論