




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、理工大學(xué)計(jì)算機(jī)學(xué)院課程設(shè)計(jì)單片機(jī)系統(tǒng)設(shè)計(jì)班級(jí)計(jì)科1104姓名學(xué)號(hào)指導(dǎo)教師業(yè)德韓慧二一四年十一月日.課程設(shè)計(jì)任務(wù)書及成績(jī)?cè)u(píng)定課題名稱_溫度測(cè)試系統(tǒng)設(shè)計(jì)_I、題目的目的和要求:利用溫度傳感器和MSP430單片機(jī)設(shè)計(jì)一個(gè)溫度測(cè)試系統(tǒng),將測(cè)試結(jié)果(十進(jìn)制)在LED上顯示出來,并定義一個(gè)保持按鍵,當(dāng)按下該鍵時(shí),將目前測(cè)試值保持不變(按鍵不動(dòng)作時(shí)為正常丈量顯示)。溫度顯示格式為:XXX。、設(shè)計(jì)進(jìn)度及達(dá)成狀況日期容11.10選用題目,進(jìn)行資料收集和系統(tǒng)剖析工作11.14進(jìn)行獨(dú)自程序設(shè)計(jì)以及達(dá)成獨(dú)自接口電路11.16將所有程序綜歸并進(jìn)行整體程序調(diào)試和連結(jié)整體接口電路11.18書寫課程設(shè)計(jì)報(bào)告并寫下有關(guān)問題總結(jié)
2、11.20進(jìn)行課程設(shè)計(jì)辯論,并打印上交.、主要參照文件及資料MSP430系列16位低功耗單片機(jī)原理及應(yīng)用DS18B20溫度傳感器的使用智能儀器原理及應(yīng)用學(xué)科部主任業(yè)德、成績(jī)?cè)u(píng)定:設(shè)計(jì)成績(jī):(教師填寫)指導(dǎo)老師:(署名)二年代日.目錄I、題目的目的和要求:2II、設(shè)計(jì)進(jìn)度及達(dá)成狀況2III、主要參照文件及資料3、成績(jī)?cè)u(píng)定:3目錄.4本次課程設(shè)計(jì)的目的和意義5設(shè)計(jì)題目.6系統(tǒng)的主要功能、作用以及主要技術(shù)性能指標(biāo)7整體設(shè)計(jì)方案、工作和構(gòu)成原理8系統(tǒng)設(shè)計(jì).11設(shè)計(jì)總結(jié).22作品的使用或操作說明23設(shè)計(jì)圖紙或圖表.24.本次課程設(shè)計(jì)的目的和意義課程設(shè)計(jì)是讓我嫻熟掌握了課本上的一些理論知識(shí),課程設(shè)計(jì)也是一
3、個(gè)學(xué)習(xí)新知識(shí)、穩(wěn)固加深所學(xué)課本理論知識(shí)的過程,它培育了我們綜合運(yùn)用知識(shí)的能力,獨(dú)立思慮和解決問題的能力。加深我們對(duì)單片機(jī)原理與應(yīng)用課程的理解.設(shè)計(jì)題目溫度測(cè)試系統(tǒng)設(shè)計(jì):利用溫度傳感器DS18B20和MSP430單片機(jī)設(shè)計(jì)一個(gè)溫度測(cè)試系統(tǒng),將測(cè)試結(jié)果(十進(jìn)制)在LED上顯示出來,并定義一個(gè)保持按鍵,當(dāng)按下該鍵時(shí),將目前測(cè)試值保持不變(按鍵不動(dòng)作時(shí)為正常丈量顯示)。溫度顯示格式為:XXX。.系統(tǒng)的主要功能、作用以及主要技術(shù)性能指標(biāo)系統(tǒng)的主要功能是單片機(jī)及時(shí)從溫度傳感器讀取溫度數(shù)據(jù)信息,并在數(shù)碼管顯示,同時(shí)掃描能否有保持按鍵按下,假如按下則不再持續(xù)從溫度傳感器讀取溫度數(shù)據(jù)信息,保持溫度值不變。作用是
4、能夠及時(shí)讀取環(huán)境中的溫度信息,供用戶查察,同時(shí)當(dāng)用戶需要察看某溫度時(shí),能夠按下按鍵保持溫度不變。主要技術(shù)指標(biāo):基本圍0-99精度偏差小于0.5LED數(shù)碼直讀顯示掃描按鍵保持?jǐn)?shù)值.整體設(shè)計(jì)方案、工作和構(gòu)成原理數(shù)字溫度計(jì)設(shè)計(jì)方案論證方案一因?yàn)楸驹O(shè)計(jì)是測(cè)溫電路,能夠使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流收集過來,進(jìn)行A/D變換后,就能夠用單片機(jī)進(jìn)行數(shù)據(jù)的辦理,在顯示電路上,就能夠?qū)⒈粶y(cè)溫度顯示出來,這類設(shè)計(jì)需要用到A/D變換電路,感溫電路比較麻煩。方案二從而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,因此這是特別簡(jiǎn)單想到,因此能夠采納一只溫度傳感器DS1
5、8B20,此傳感器,能夠很簡(jiǎn)單直接讀取被測(cè)溫度值,進(jìn)行變換,就能夠知足設(shè)計(jì)要求。從以上兩種方案,很簡(jiǎn)單看出,采納方案二,電路比較簡(jiǎn)單,軟件設(shè)計(jì)也比較簡(jiǎn)單,故采納了方案二。主控制器單片機(jī)采納MSP430單片機(jī),辦理能力強(qiáng),功耗低,實(shí)現(xiàn)該功能僅需一個(gè)按鍵,8位數(shù)碼管顯示,以及DS18B20溫度傳感器。顯示電路:顯示電路采納8位共陰LED數(shù)碼管,從P4口輸出段碼。圖一整體設(shè)計(jì)框圖溫度傳感器:DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體企業(yè)最新推出的一種改良型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件對(duì)比,它能直接讀出被測(cè)溫度,而且可依據(jù)實(shí)質(zhì)要求經(jīng)過簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。DS18
6、B20的性能特色以下:獨(dú)到的單線接口僅需要一個(gè)端口引腳進(jìn)行通訊;多個(gè)DS18B20能夠并聯(lián)在唯一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;不必外面器件;可經(jīng)過數(shù)據(jù)線供電,電壓圍為3.05.5;零待機(jī)功耗;溫度以9或12位數(shù)字;.用戶可定義報(bào)警設(shè)置;報(bào)警搜尋命令辨別并標(biāo)記超出程序限制溫度(溫度報(bào)警條件)的器件;負(fù)電壓特征,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不可以正常工作;DS18B20部構(gòu)造框圖如圖2所示。64位ROM的構(gòu)造開始8位是產(chǎn)品種類的編號(hào),接著是每個(gè)器件的唯一的序號(hào),共有48位,最后8位是前面56位的CRC查驗(yàn)碼,這也是多個(gè)DS18B20能夠采納一線進(jìn)行通訊的原由。溫度報(bào)警觸發(fā)器和,可經(jīng)過軟
7、件寫入戶報(bào)警上下限。DS18B20溫度傳感器的部?jī)?chǔ)存器還包含一個(gè)高速暫存和一個(gè)非易失性的可電擦除的EERAM。高速暫存RAM的構(gòu)造為8字節(jié)的儲(chǔ)存器,構(gòu)造如圖3所示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)和的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置存放器,它的容用于確立溫度值的數(shù)字變換分辨率。DS18B20工作時(shí)存放器中的分辨率變換為相應(yīng)精度的溫度數(shù)值。該字節(jié)各位的定義如圖3所示。低5位向來為1,是工作模式位,用于設(shè)置DS18B20在工作模式仍是在測(cè)試模式,DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去變動(dòng),R1和R0決定溫度變換的精度位數(shù),來設(shè)置分辨率。溫度傳感器連結(jié)以下列
8、圖所示,DQ引腳與單片機(jī)的P5.3相連:.系統(tǒng)設(shè)計(jì)接口電路設(shè)計(jì),程序設(shè)計(jì)(程序框圖和程序清單及說明)其余有關(guān)的理論剖析和計(jì)算接口電路設(shè)計(jì):主控制器MSP430溫度傳感器.保持按鍵數(shù)碼管電路.程序框圖:整體設(shè)計(jì)流程圖讀取溫度傳感器數(shù)據(jù)流程圖.數(shù)碼管溫度顯示程序設(shè)計(jì):/*定義引腳*#defineLED8PORTP2OUT/P2接8個(gè)LED燈#defineLED8SELP2SEL/P2接8個(gè)LED燈#defineLED8DIRP2DIR/P2接8個(gè)LED燈#defineDATAPORTP4OUT/數(shù)據(jù)口所在端口P4#defineDATASELP4SEL/數(shù)據(jù)口功能存放器,控制功能模式#defineD
9、ATADIRP4DIR/數(shù)據(jù)口方向存放器#defineCTRPORTP6OUT/控制線所在的端口P6#defineCTRSELP6SEL/控制口功能存放器,控制功能模式#defineCTRDIRP6DIR/控制口方向存放器#defineDCTR0P6OUT&=BIT4/數(shù)碼管段控制位信號(hào)置低#defineDCTR1P6OUT|=BIT4/數(shù)碼管段控制位信號(hào)置高#defineWCTR0P6OUT&=BIT3/數(shù)碼管位控制位信號(hào)置低#defineWCTR1P6OUT|=BIT3/數(shù)碼管位控制位信號(hào)置高#defineKEYPORTP1OUT/按鍵所在的端口P1#defineKEYSELP1SEL/控
10、制口功能存放器,控制功能模式#defineKEYDIRP1DIR/控制口方向存放器#defineKEYINP1IN/鍵盤掃描判斷需要讀取IO口狀態(tài)值ucharkey=0 xFF;/鍵值變量uinttemp_value;floattruetemp;.uinttemp,A1,A2,A3;/定義的變量,顯示數(shù)據(jù)辦理/*共陰數(shù)碼管顯示的斷碼表*uchartable=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;/*系統(tǒng)時(shí)鐘初始化*voidClock_Init
11、()uchari;BCSCTL1&=XT2OFF;/翻開XT2振蕩器BCSCTL2|=SELM1+SELS;/MCLK為8MHZ,SMCLK為8MHZdoIFG1&=OFIFG;/清楚振蕩器錯(cuò)誤標(biāo)記for(i=0;i100;i+)_NOP();while(IFG1&OFIFG)!=0);/假如標(biāo)記位1,則持續(xù)循環(huán)等候IFG1&=OFIFG;/*MSP430部看門狗初始化*voidWDT_Init()WDTCTL=WDTPW+WDTHOLD;/封閉看門狗/*MSP430IO口初始化*voidPort_Init()LED8SEL=0 x00;/設(shè)置IO口為一般I/O模式,此句可省LED8DIR=0
12、 xFF;/設(shè)置IO口方向?yàn)檩敵鯨ED8PORT=0 xFF;/P2口初始設(shè)置為FFDATASEL=0 x00;/設(shè)置IO口為一般I/O模式,此句可省DATADIR=0 xFF;/設(shè)置IO口方向?yàn)檩敵鯠ATAPORT=0 xFF;/P4口初始設(shè)置為FFCTRSEL=0 x00;/設(shè)置IO口為一般I/O模式,此句可省CTRDIR|=BIT3+BIT4+BIT2;/設(shè)置IO口方向?yàn)檩敵?控制口在P63,P64CTRPORT=0 xFF;/P6口初始設(shè)置為FFKEYSEL=0 x00;/設(shè)置IO口為一般I/O模式,此句可省KEYDIR=0 x0F;/高四位輸入模式,低四位輸出模式,外面上拉電阻KEY
13、PORT=0 xF0;/初始值0 xF0/*74HC573控制數(shù)碼管動(dòng)向掃描鍵值顯示函數(shù)*voidDisplay_Key(ucharnum)uchari,j;j=0 x01;/此數(shù)據(jù)用來控制位選for(i=0;i8;i+)/8個(gè)數(shù)碼管挨次顯示DCTR1;/控制數(shù)碼管段數(shù)據(jù)的74HC573的LE管腳置高WCTR1;/控制數(shù)碼管位的74HC573的LE管腳置高.DATAPORT=j;/設(shè)置要顯示的位,也就是哪一個(gè)數(shù)碼管亮WCTR0;/鎖存位數(shù)據(jù),下邊奉上段數(shù)據(jù)此后,就顯示出來了DATAPORT=tablenum;/送要顯示的數(shù)據(jù),這里是鍵值DCTR0;/鎖存段數(shù)據(jù),數(shù)碼管亮一個(gè)時(shí)間片晌j=j1;/
14、移位,準(zhǔn)備進(jìn)行下一位的顯示delay_us(500);/顯示一個(gè)時(shí)間片晌,會(huì)影響亮度和閃耀性Close_LED();/顯示完8個(gè)數(shù)碼管后封閉數(shù)碼管顯示,不然可能致使各個(gè)數(shù)碼管亮度不一致/*鍵盤掃描子程序,采納逐鍵掃描的方式*ucharKey_Scan(void)ucharkey_check;ucharkey_checkin;key_checkin=KEYIN;/讀取IO口狀態(tài),判斷能否有鍵按下key_checkin&=0 xF0;/障蔽掉低四位的不確立值if(key_checkin!=0 xF0)/IO口值發(fā)生變化則表示有鍵按下delay_ms(20);/鍵盤消抖,延時(shí)20MSkey_chec
15、kin=KEYIN;/再次讀取IO口狀態(tài)if(key_checkin!=0 xF0)/確立能否真實(shí)的有鍵按下key_check=KEYIN;/有鍵按下,讀取端口值switch(key_check&0 xF0)/判斷是哪個(gè)鍵按下case0 xE0:key=1;break;case0 xD0:key=2;break;case0 xB0:key=3;break;case0 x70:key=4;break;elsekey=0 xFF;/無鍵按下,返回FFreturnkey;/*74HC573控制數(shù)碼管動(dòng)向掃描顯示函數(shù),顯示收集到的溫度*voidDisplay_DS18B20(uintdata_b,ui
16、ntdata_s,uintdata_g)uchari,j;j=0 x01;/此數(shù)據(jù)用來控制位選for(i=0;i3;i+)/用后3位數(shù)碼管來顯示DCTR1;WCTR1;DATAPORT=j;WCTR0;.j=(j1);DATAPORT=0 x00;/前5位都不顯示,送數(shù)據(jù)00即可DCTR0;delay_ms(2);DCTR1;/開始顯示第6位,即十位WCTR1;DATAPORT=j;WCTR0;j=(j1);/DATAPORT=tableA1;DATAPORT=tabledata_b;DCTR0;delay_ms(1);DCTR1;/開始顯示個(gè)位WCTR1;DATAPORT=j;WCTR0;j
17、=(j1);/DATAPORT=tableA2|0 x80;/顯示小數(shù)點(diǎn)DATAPORT=tabledata_s|0 x80;/顯示小數(shù)點(diǎn)DCTR0;delay_ms(1);DCTR1;/開始顯示小數(shù)點(diǎn)后邊的數(shù)據(jù)WCTR1;DATAPORT=j;WCTR0;j=(j1);/DATAPORT=tableA3;DATAPORT=tabledata_g;DCTR0;delay_ms(1);DCTR1;/開始顯示溫度單位WCTR1;DATAPORT=j;WCTR0;j=(j1);/DATAPORT=tableA3;DATAPORT=0 x63;DCTR0;delay_ms(1);DCTR1;/開始顯示
18、溫度單位WCTR1;DATAPORT=j;WCTR0;j=(j480uS)if(i)return0 x00;elsereturn0 x01;/*DS18B20讀一個(gè)字節(jié)函數(shù)*unsignedchards1820_read_byte(void)unsignedchari;unsignedcharvalue=0;for(i=8;i!=0;i-)value=1;DQ_OUT;DQ_CLR;delay_us(4);/*延時(shí)4uSDQ_SET;DQ_IN;delay_us(10);/*延時(shí)10uSif(DQ_R)value|=0 x80;delay_us(60);/*延時(shí)60uSreturn(value
19、);./*向18B20寫一個(gè)字節(jié)函數(shù)*/*DS18B20字節(jié)寫入函數(shù)*/voidds1820_write_byte(unsignedcharvalue)unsignedchari;for(i=8;i!=0;i-)DQ_OUT;DQ_CLR;delay_us(4);/延時(shí)4uSif(value&0 x01)DQ_SET;delay_us(80);/延時(shí)80uSDQ_SET;/位結(jié)束value=1;/*發(fā)送溫度變換命令*/*啟動(dòng)ds1820變換*/voidds1820_start(void)DS18B20_Reset();ds1820_write_byte(0 xCC);/勿略地點(diǎn)ds1820_w
20、rite_byte(0 x44);/啟動(dòng)變換/*DS8B20讀取溫度信息*unsignedintds1820_read_temp(void)unsignedinti;unsignedcharbuf9;DS18B20_Reset();ds1820_write_byte(0 xCC);/勿略地點(diǎn)ds1820_write_byte(0 xBE);/讀取溫度for(i=0;i9;i+)bufi=ds1820_read_byte();i=buf1;i=8;i|=buf0;temp_value=i;temp_value=(uint)(temp_value*0.625);/不是乘以0.0625的原由是為了把
21、小數(shù)點(diǎn)后一位數(shù)據(jù)也轉(zhuǎn)變?yōu)槟軌蝻@示的數(shù)據(jù)/比方溫度自己為27.5度,為了在后續(xù)的數(shù)據(jù)辦理程序中得到BCD碼,我們先放大到275/而后在顯示的時(shí)候確立小數(shù)點(diǎn)的地點(diǎn)即可,就能顯示出27.5度了.returni;/*溫度數(shù)據(jù)辦理函數(shù)*voiddata_do(uinttemp_d)A3=temp_d%10;/分出百,十,和個(gè)位temp_d/=10;A2=temp_d%10;A1=temp_d/10;/*辦理溫度數(shù)據(jù)*voidhandletemp()ds1820_start();/啟動(dòng)一次變換ds1820_read_temp();/讀取溫度數(shù)值data_do(temp_value);/辦理數(shù)據(jù),獲得要顯示
22、的值truetemp=0.1*temp_value;/judgeAlarm();/判斷能否觸發(fā)警報(bào)/已將其增添至按鍵程序/*顯示溫度*voidshowtemp()ucharj;for(j=0;j100;j+)Display_DS18B20(A1,A2,A3);/顯示溫度值/delay_ms(100);/延時(shí)100ms/*主程序*voidmain(void)ucharflag1,flag2,flag3,flag4;/uintkey_store=0 x00;/沒有按鍵按下時(shí),默認(rèn)顯示1WDT_Init();/看門狗初始化Clock_Init();/時(shí)鐘初始化Port_Init();/端口初始化,用
23、于控制IO口輸入或輸出/Close_LED();DS18B20_Reset();/復(fù)位D18B20delay_ms(100);/延時(shí)100mswhile(1)Key_Scan();/鍵盤掃描,看能否有按鍵按下if(key!=0 xff)/假如有按鍵按下,則顯示該按鍵鍵值14switch(key)case1:LED8PORT=0 xfc;flag1=1;flag2=0;flag3=0;flag4=0;break;/對(duì)溫度數(shù)據(jù).辦理判斷警報(bào),而后顯示,handletemp();showtemp();case2:LED8PORT=0 xf3;flag1=0;flag2=1;flag3=0;flag4=0;break;/溫度數(shù)據(jù)辦理判斷警報(bào),封閉顯示,節(jié)儉電源,handletemp();C
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店展廳出租協(xié)議書范本
- 茶藝館茶藝培訓(xùn)與茶藝師就業(yè)合作協(xié)議
- 商業(yè)地產(chǎn)車位租賃與廣告合作合同
- 股權(quán)激勵(lì)解除及部分股權(quán)轉(zhuǎn)讓與公司業(yè)績(jī)補(bǔ)償合同
- 房屋捐贈(zèng)使用協(xié)議書范本
- 委托拆除圍擋協(xié)議書范本
- 合作雙方的協(xié)議書范本
- 股權(quán)激勵(lì)財(cái)務(wù)設(shè)計(jì)與咨詢合同
- 廠房產(chǎn)權(quán)交易居間傭金協(xié)議
- 甜品店租賃及產(chǎn)品研發(fā)合作合同
- 2025年如何設(shè)計(jì)沙鋼項(xiàng)目可行性研究報(bào)告技術(shù)工藝+設(shè)備選型+財(cái)務(wù)概算+廠區(qū)規(guī)劃
- 終止保潔合同協(xié)議
- 鋁粉加工合同協(xié)議
- 違規(guī)違紀(jì)警示案例
- 酒店禁煙控制管理制度
- 加班飯管理制度
- 社保繳納免責(zé)協(xié)議書
- 2025年中國(guó)自動(dòng)鍋蓋行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 江蘇省海安縣財(cái)政局會(huì)計(jì)服務(wù)中心事業(yè)單位招聘招考27人題庫(kù)及完整答案【網(wǎng)校專用】
- 新人教版數(shù)學(xué)五年級(jí)下冊(cè)第二單元《因數(shù)和倍數(shù)》教材解讀
- 人教英語九年級(jí)單詞表
評(píng)論
0/150
提交評(píng)論