




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE0單片機(jī)原理及應(yīng)用課程設(shè)計(jì)報(bào)告課題名稱帶溫度顯示的紅外遙控?cái)?shù)字鐘專業(yè)電氣自動(dòng)化班級(jí)B1031學(xué)號(hào)29姓名武XX指導(dǎo)教師謝XX2012-6-4目錄1.設(shè)計(jì)題目及要求……………………12.設(shè)計(jì)方案……………12.1主控制器型……………………12.2DS1302實(shí)時(shí)顯示時(shí)間的軟硬件……………22.3顯示方案………………………22.4報(bào)警方案………………………22.5鍵盤接口的選擇………………32.6紅外通信的基本原理…………32.6.1紅外通信接口的硬件電路設(shè)計(jì)………32.6.2紅外發(fā)送器及原理……………………32.6.3紅外遙控電路原理分析………………4主要電路與程序設(shè)計(jì)………………53.1系統(tǒng)硬件的結(jié)構(gòu)框圖…………53.2單片機(jī)最小系統(tǒng)設(shè)計(jì)…………53.3溫度電路設(shè)計(jì)…………………63.4顯示電路設(shè)計(jì)…………………63.5聲光報(bào)警電路…………………63.6實(shí)時(shí)時(shí)鐘模塊…………………73.7紅外線接收電路………………74.軟件設(shè)計(jì)……………84.1總模塊的流程圖………………84.2部分主要模塊的流程圖………94.3溫度轉(zhuǎn)換核心及其算法……………………11 4.3.1DS18B20的內(nèi)部結(jié)構(gòu)…………………114.3.2DS18B20的內(nèi)存結(jié)構(gòu)…………………114.3.3DS18B20的測溫功能…………………114.3.4溫度轉(zhuǎn)換算法及分析………………125.調(diào)試結(jié)果記錄及分析……………155.1數(shù)碼管顯示的測試方法和結(jié)果……………155.2DS18B20的測試方法和結(jié)果………………165.3鍵盤程序的測試方法和結(jié)果………………165.4RS232模塊的測試方法和結(jié)果……………165.5產(chǎn)品最終調(diào)試………………16結(jié)論………………16參考文獻(xiàn)…………172.5鍵盤接口的選擇在實(shí)際應(yīng)用中,要求設(shè)定的上下限溫度溫值會(huì)隨著實(shí)際情況的需要變化而變化,因此,就要根據(jù)實(shí)際的情況來改變系統(tǒng)的溫度設(shè)定值。作為一個(gè)系統(tǒng),一旦做成產(chǎn)品后,就很難通過對程序的修改來完成對各項(xiàng)初值的設(shè)定,因而只有用按鍵的方式來重新對溫度值進(jìn)行設(shè)置。鍵盤有獨(dú)立式和行列式兩種,獨(dú)立式鍵盤適用于簡單的鍵盤設(shè)置中,行列式鍵盤適用于復(fù)雜的鍵盤設(shè)置中。對于該系統(tǒng)中只需要簡單的對溫度進(jìn)行上、下限值設(shè)置,因而我們選用獨(dú)立式鍵盤,這樣的鍵盤編程簡單、可靠2.6紅外通信的基本原理紅外通信是利用950nm近紅外波段的紅外線作為傳遞信息的媒體,即通信信道。發(fā)送端采用脈時(shí)調(diào)制(PPM)方式,將二進(jìn)制數(shù)字信號(hào)調(diào)制成某一頻率的脈沖序列,并驅(qū)動(dòng)紅外發(fā)射管以光脈沖的形式發(fā)送出去;接收端將接收到的光脈轉(zhuǎn)換成電信號(hào),再經(jīng)過放大。濾波等處理后送給解調(diào)電路進(jìn)行解調(diào),還為二進(jìn)制數(shù)字信號(hào)后輸出。2.6.1紅外通信接口的硬件電路設(shè)計(jì)單片機(jī)本身并不具備紅外通信接口,但可以利用單片機(jī)的串行接口與片外的紅外發(fā)射和接收電路,組成一個(gè)應(yīng)用于單片機(jī)系統(tǒng)的紅外串行通信接口。2.6.2紅外發(fā)送器及原理簡而言之,紅外通信的實(shí)質(zhì)就是對二進(jìn)制數(shù)字信號(hào)進(jìn)行調(diào)制與解調(diào),以便利用紅外信道進(jìn)行傳輸;紅外通信接口就是針對紅外信道的調(diào)制解調(diào)器。紅外發(fā)送器電路包括脈沖振蕩器。驅(qū)動(dòng)管T1和T2.紅外發(fā)射管D1和D2等部分。其中脈沖振蕩器由NE555定時(shí)器。電阻(R1.R2)和電容(C1.C2)組成,用以產(chǎn)生38kHz的脈沖序列作為載波信號(hào);紅外發(fā)射管D1和D2選用Vishay公司生產(chǎn)的TSAL6238,用來向外發(fā)射950nm的紅外光束。紅外發(fā)送器的工作原理為:串行數(shù)據(jù)由單片機(jī)的串行輸出端TXD送出并驅(qū)動(dòng)T1管,數(shù)位“0”使T1管導(dǎo)通,通過T2管調(diào)制成38kHz的載波信號(hào),并利用兩個(gè)紅外發(fā)射管D1和D2以光脈沖的形式向外發(fā)送。數(shù)位“1”使T1管截止,紅外發(fā)射管D1和D2不發(fā)射紅外光。若傳送的波特率設(shè)為1200bps,則每個(gè)數(shù)位“0”對應(yīng)32個(gè)載波脈沖調(diào)制信號(hào)的時(shí)序,如圖2-1所示。圖2-1遙控連發(fā)信號(hào)波形紅外接收接收模塊是一個(gè)三端元件,使用單電源+5V電源,具有功耗低??垢蓴_能力強(qiáng),靈敏度高。其內(nèi)部結(jié)構(gòu)框圖如圖2-2所示。圖2-2紅外遙控系統(tǒng)框圖用于紅外線遙控電子鐘的遙控器包括至少一個(gè)按鍵、紅外線發(fā)射部分以及分別與按鍵和紅外線發(fā)射部分相連的遙控器控制電路,其中所述按鍵分別表示電子鐘的各調(diào)節(jié)功能。受紅外線遙控的電子鐘包括顯示面、電子鐘控制電路,還包括接收上述遙控器發(fā)來的各種發(fā)光信號(hào)并將發(fā)光信號(hào)傳遞給電子鐘控制電路的紅外線接收部分,而且電子鐘控制電路還設(shè)有檢測來自紅外線接收部分的信號(hào)并執(zhí)行信號(hào)所表示的電子鐘的各調(diào)節(jié)功能的程序。2.6.3紅外遙控電路原理分析當(dāng)紅外遙控器按下時(shí),紅外接收頭接收到紅外信號(hào),單片機(jī)產(chǎn)生中斷,在中斷程序進(jìn)行紅外解碼,再按解碼值判斷哪個(gè)按鍵按下。通過按鍵值對時(shí)間進(jìn)行設(shè)置。單片機(jī)通過讀取時(shí)鐘芯片1302,數(shù)據(jù)完成時(shí)間顯示功能,顯示部分采用數(shù)碼管顯示,可以分別顯示年,月,日,時(shí),分,秒,星期及溫度。3.主要電路與程序設(shè)計(jì)3.1系統(tǒng)硬件的結(jié)構(gòu)框圖根據(jù)時(shí)間和紅外遙控電子鐘設(shè)計(jì)的實(shí)際要求和設(shè)計(jì)方案的論證,系統(tǒng)主要由AT89S51及相關(guān)的復(fù)位電路組成的單片機(jī)最小系統(tǒng)、由DS18B20構(gòu)成感溫測溫模塊、由液晶顯示屏LED128*64顯示模塊、由蜂鳴器及LED發(fā)光二級(jí)管組成聲光報(bào)警單元、獨(dú)立式鍵盤輸入模塊5部分電路組成。另外為了不浪費(fèi)單片機(jī)剩余資源,同時(shí)顯示出采集器采集溫度實(shí)時(shí)性,在此特增加了DS1302實(shí)時(shí)時(shí)鐘模塊與用于上位機(jī)電腦通信的MAX232電平轉(zhuǎn)換驅(qū)動(dòng)模塊。綜上述實(shí)際總體方案電路關(guān)系框圖如圖3-1所示:圖3-1總體方案電路關(guān)系框圖3.2單片機(jī)最小系統(tǒng)設(shè)計(jì)單片機(jī)作為主控制器,主要是處理各個(gè)部分重要的數(shù)并據(jù)協(xié)調(diào)各個(gè)模塊正常工作的關(guān)鍵部件。AT89S51單片機(jī)具有4個(gè)8為I/O口;本設(shè)計(jì)中主要是用了P0口顯示模塊的數(shù)據(jù)接口;P2口的P2.5、P2.6、P2.7位作為液晶屏的使能接口;P1口的P1.0、P1.1、P1.2位分別接實(shí)時(shí)鐘ds1302的復(fù)位、時(shí)鐘、數(shù)據(jù)引腳;P1口P1.3位作為集成數(shù)字溫度傳感器ds18b20的數(shù)據(jù)接口,用來對ds18b20進(jìn)行讀寫操作;在此特別說明雖然P0內(nèi)部沒有上拉電阻,但是在本設(shè)計(jì)中只是做為液晶顯示屏的數(shù)據(jù)總線或地址總線;可以省去上拉電阻不接。At89s51單片機(jī)接上相應(yīng)的電源和時(shí)鐘,組成單片最小系統(tǒng)系統(tǒng)如圖3-2所示。圖3-2單片最小系統(tǒng)3.3溫度電路設(shè)計(jì)DS18B20采用一線傳輸協(xié)議,可以使用外部電源工作方式也可以采用寄生電源工作方式,本設(shè)計(jì)中采用外部電源工作模式,具體電路如圖3-3:圖3-3外部電源工作模式3.4顯示電路設(shè)計(jì)數(shù)碼管顯示電路如圖3-4:3.5聲光報(bào)警電路本電路由發(fā)光二極管和蜂鳴器構(gòu)成如圖2-5:圖3-4數(shù)碼管顯示圖3-5聲光報(bào)警電路3.6實(shí)時(shí)時(shí)鐘模塊本模塊由DS1302時(shí)鐘芯片加晶振組成具體電路如圖3-6所示:3.7紅外線接收電路如圖3-7所示是電路的紅外線接收電路。圖3-6實(shí)時(shí)時(shí)鐘電路圖3-7紅外線接收電路4.軟件設(shè)計(jì)本系統(tǒng)的執(zhí)行方法是循環(huán)查詢加中斷執(zhí)行來顯示和控制時(shí)間和溫度的。鍵盤掃描程序是用循環(huán)查詢的辦法,與上位機(jī)通信采用中斷的方法;這樣可以進(jìn)一步節(jié)省單片機(jī)的CPU資源,也可以保證實(shí)時(shí)響應(yīng)外部輸入。4.1總模塊的流程圖總模塊流程圖如4-1所示:圖4-1總模塊的流程圖4.2部分主要模塊的流程圖讀取溫度DS18B20模塊的流程如圖4-2所示:圖4-2讀取溫度流程圖4.3溫度轉(zhuǎn)換核心及其算法4.3.1DS18B20的內(nèi)部結(jié)構(gòu)DS18B20的內(nèi)部結(jié)構(gòu)功能模塊如圖3-3所示,主要有四部分組成,64位光刻ROM、溫度傳感器、非易失性溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。R0M中的64位序列號(hào)是出廠前被光刻好的,他可以看作是該DSISB20的地址序列碼,每個(gè)DSI8B20的64位序列號(hào)均不相同。高低溫報(bào)警觸發(fā)器TH和TL,配置寄存器均由一個(gè)字節(jié)的E2PROM組成,使用一個(gè)存儲(chǔ)器功能命令可對TH,TL或配置寄存器寫入。配置寄存器中R1,R0決定溫度轉(zhuǎn)換的精度位數(shù):R1R0=’00’,9位精度,最大轉(zhuǎn)換時(shí)間為93.75ms;R1R0=‘01’,10位精度,最大轉(zhuǎn)換時(shí)間為187.5ms;R1R0=‘10’,11位精度,最大轉(zhuǎn)換時(shí)間為375ms;R1R0=’11’,12位精度,最大轉(zhuǎn)換時(shí)間為750ms;未編程時(shí)默認(rèn)為12位精度。本系統(tǒng)采用的也是12位的精度。4.3.2DS18B20的內(nèi)存結(jié)構(gòu) DSI8B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM(便箋式的內(nèi)部存儲(chǔ)器)和一個(gè)非易失性的可電擦除的EEPROM,后者存放高溫和低溫觸發(fā)器TH,TL和結(jié)構(gòu)寄存器。便箋存儲(chǔ)器包含了9個(gè)連續(xù)字節(jié)(0~8),前兩個(gè)字節(jié)是測得的溫度信息,字節(jié)0的內(nèi)容是溫度的低8位,字節(jié)1是溫度的高8位,字節(jié)2是TH(溫度上限報(bào)警),字節(jié)3是TL(溫度下限報(bào)警),字節(jié)4是配置寄存器,用于確定輸出分辨率9到12位。第5、6、7個(gè)字節(jié)是預(yù)留寄存器,用于內(nèi)部計(jì)算。字節(jié)8是冗余檢驗(yàn)字節(jié),校驗(yàn)前面所有8個(gè)字節(jié)的CRC碼,可用來保證通信正確。4.3.3DS18B20的測溫功能 當(dāng)DSI8B20接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的0,1字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。溫度值格式,其中“S”為標(biāo)志位,對應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。DSI8B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與TH做比較,若T>TH或T<TL,則將該器件內(nèi)的告警標(biāo)志置位,并對主機(jī)發(fā)出的告警搜索命令做出響應(yīng)。DSl8B20工作過程中的協(xié)議:初始化->ROM操作命令->存儲(chǔ)器操作命令->處理數(shù)據(jù)(1)初始化單總線上的所有處理均從初始化開始(2)ROM操作品令總線主機(jī)檢測到DSl820的存在便可以發(fā)出ROM操作命令之一這些命令如:
指令
代碼ReadROM(讀ROM)
[33H]MatchROM(匹配ROM)
[55H]SkipROM(跳過ROM]
[CCH]SearchROM(搜索ROM)
[F0H]Alarmsearch(告警搜索)
[ECH](3)存儲(chǔ)器操作命令
指令
代碼WriteScratchpad(寫暫存存儲(chǔ)器)
[4EH]ReadScratchpad(讀暫存存儲(chǔ)器)
[BEH]CopyScratchpad(復(fù)制暫存存儲(chǔ)器)
[48H]ConvertTemperature(溫度變換)
[44H]RecallEPROM(重新調(diào)出)
[B8H]ReadPowersupply(讀電源)
[B4H]4.3.4溫度轉(zhuǎn)換算法及分析由于DS18B20轉(zhuǎn)換后的代碼并不是實(shí)際的溫度值,所以要進(jìn)行計(jì)算轉(zhuǎn)換。溫度高字節(jié)(MSByte)高5位是用來保存溫度的正負(fù)(標(biāo)志為S的bit11~bit15),高字節(jié)(MSByte)低3位和低字節(jié)來保存溫度值(bit0~bit10)。其中低字節(jié)(LSByte)的低4位來保存溫度的小數(shù)位(bit0~bit3)。由于本程序采用的是0.0625的精度,小數(shù)部分的值,可以用后四位代表的實(shí)際數(shù)值乘以0.0625,得到真正的數(shù)值,數(shù)值可能帶幾個(gè)小數(shù)位,所以采取小數(shù)舍入,保留一位小數(shù)即可。也就說,本系統(tǒng)的溫度精確到了0.1度。算法核心:首先程序判斷溫度是否是零下,如果是,則DS18B20保存的是溫度的補(bǔ)碼值,需要對其低8位(LSByte)取反加一變成原碼。處理過后把DS18B20的溫度Copy到單片機(jī)的RAM中,里面已經(jīng)是溫度值的Hex碼了,然后轉(zhuǎn)換Hex碼到BCD碼,分別把小數(shù)位,個(gè)位,十位,百位的BCD碼存入RAM中。由于百位沒有用,默認(rèn)情況是置為0A,在顯示屏上沒有任何顯示。溫度算法核心代碼//*******************************ds18b20sbitDQ=P1^7;//定義通信端口//延時(shí)函數(shù)voiddelay(unsignedinti){while(i--);}//初始化函數(shù)Init_DS18B20(void){ unsignedcharx=0; DQ=1;//DQ復(fù)位 delay(8);//稍做延時(shí) DQ=0;//單片機(jī)將DQ拉低 delay(80);//精確延時(shí)大于480us DQ=1;//拉高總線 delay(14); x=DQ;//稍做延時(shí)后如果x=0則初始化成功x=1則初始化失敗 delay(20);}//讀一個(gè)字節(jié)ReadOneChar(void){ unsignedchari=0; unsignedchardat=0; for(i=8;i>0;i--) { DQ=0;//給脈沖信號(hào) dat>>=1; DQ=1;//給脈沖信號(hào) if(DQ) dat|=0x80; delay(4); } return(dat);}//寫一個(gè)字節(jié)WriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;delay(5);DQ=1;dat>>=1;}//delay(4);}//讀取溫度ReadTemperature(void) unsignedchara=0; unsignedcharb=0; unsignedintt=0; Init_DS18B20(); WriteOneChar(0xCC);//跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0x44);//啟動(dòng)溫度轉(zhuǎn)換 Init_DS18B20(); WriteOneChar(0xCC);//跳過讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE);//讀取溫度寄存器等(共可讀9個(gè)寄存器)前兩個(gè)就是溫度 a=ReadOneChar(); b=ReadOneChar(); t=b; t<<=8; t=t|a; t=t*0.625;//有效位到小數(shù)點(diǎn)后1位 return(t);}//ds18b20結(jié)束5.調(diào)試結(jié)果記錄及分析為了提高調(diào)試的效率和成功率,我采用了先分別調(diào)試各單元模塊,再進(jìn)行整機(jī)調(diào)試的方法來調(diào)試。5.1數(shù)碼管顯示的測試方法和結(jié)果把編寫的程序通過單片機(jī)仿真軟件進(jìn)行測試,如果在測試過程中,能夠通過數(shù)碼管顯示屏正常顯示讀取時(shí)間的信息,那么說明子程序編寫正確;如果測試中,顯示的結(jié)果與我們要求的不一致,那說明程序在編寫中出現(xiàn)錯(cuò)誤,就應(yīng)該修改子程序,直到能正確讀取時(shí)間信息為止。5.2DS18B20的測試方法和結(jié)果 利用仿真軟件不斷修改DS18B20仿真元件的溫度實(shí)際值,結(jié)果顯示的與之相同,說明讀溫度顯示程序編寫正確。5.3鍵盤程序的測試方法和結(jié)果把編寫的鍵盤程序通過單片機(jī)仿真軟件進(jìn)行測試,在測試過程中,能夠?qū)崿F(xiàn)時(shí)間的調(diào)整(自加、自減)功能,那么說明該子程序編寫正確;如果測試的結(jié)果與要求的不一致,那么就應(yīng)該修改該子程序,直到正確為止,在修改過程中,不必去改動(dòng)其它部分程序。5.4RS232模塊的測試方法和結(jié)果將RS232的發(fā)送與接收端相互短接起來;利用串口調(diào)試助手發(fā)送一串字符,如果馬上在調(diào)試助手的接收窗口中接收到剛才發(fā)送的字符,說明通信正確可以進(jìn)行通信。5.5產(chǎn)品最終調(diào)試在分別調(diào)試成功每一個(gè)部分的程序后,我們就可以把整個(gè)系統(tǒng)的程序進(jìn)行調(diào)試,還是用單片機(jī)仿真軟件調(diào)試,在調(diào)試中,該程序能按照系統(tǒng)預(yù)定的步驟運(yùn)行,那么說明程序編寫正確;如果
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度教育培訓(xùn)機(jī)構(gòu)教育行業(yè)數(shù)據(jù)服務(wù)協(xié)議
- 二零二五年度農(nóng)業(yè)科技文職人員聘用協(xié)議
- 2025年度茶樓合作經(jīng)營協(xié)議書:茶樓與茶藝茶具研發(fā)中心的合作合同
- 二零二五年度知識(shí)產(chǎn)權(quán)質(zhì)押合同解除與資金返還協(xié)議
- 2025年度船舶租賃與船舶技術(shù)咨詢服務(wù)協(xié)議
- 2025年度超市轉(zhuǎn)讓與智能化升級(jí)改造合作協(xié)議
- 2025年度智能化社區(qū)物業(yè)委托經(jīng)營管理合同
- 專業(yè)資格教育培訓(xùn)合作協(xié)議
- 新型儲(chǔ)能技術(shù)應(yīng)用開發(fā)合作協(xié)議
- 行路難:古典詩詞中的壯志情懷教案
- 《中國潰瘍性結(jié)腸炎診治指南(2023年)》解讀
- CSC-103微機(jī)線路成套保護(hù)裝置檢驗(yàn)作業(yè)指導(dǎo)書
- 叉車日常維護(hù)保養(yǎng)檢查記錄表
- 鐵路橋梁工程各工序工效分析
- 2022《文創(chuàng)產(chǎn)品的設(shè)計(jì)》PPT演示文稿
- 介入科制度匯編
- 鍍鋅管理論重量表常用
- 鐵總計(jì)統(tǒng)【2017】177號(hào)關(guān)于進(jìn)一步加強(qiáng)鐵路建設(shè)項(xiàng)目征地拆遷工作和費(fèi)用管理的指導(dǎo)意見
- 電子技術(shù)基礎(chǔ)與技能-(3)
- 部編版四年級(jí)下冊語文第二單元課文教材分析及全部教案
- 美術(shù)開學(xué)第一課(課堂PPT)
評(píng)論
0/150
提交評(píng)論