帶溫度顯示的電子鐘_第1頁
帶溫度顯示的電子鐘_第2頁
帶溫度顯示的電子鐘_第3頁
帶溫度顯示的電子鐘_第4頁
帶溫度顯示的電子鐘_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

關于帶溫度顯示的電子鐘目錄1.設計任務及要求2.產品功能概述3.工作原理及設計思路4.主要模塊程序及描述5.總結第2頁,共35頁,2024年2月25日,星期天設計任務(1)通過查閱相關資料,深入了解電子鐘的組成結構和工作原理;(2)學習有關動態(tài)顯示方式及原理;(3)復習“MCS-51單片機原理及C語言程序設計”,掌握其接口擴展,如:顯示、鍵盤等;(4)設計具有報時報溫功能電子鐘的原理圖,構建硬件平臺;(5)采用匯編或C語言編寫應用程序并調試通過;(6)制作出樣機并測試達到功能和技術指標要求;(7)寫出設計報告。第3頁,共35頁,2024年2月25日,星期天產品功能:設計產品實現一個依據時段可變顯示亮度電子鐘,具體如下:(1)能夠實現基本時鐘的走時,顯示范圍是00:00:00——23:59:59。能夠實現時鐘的調整,通過按鍵可以對“時”位和“分”位進行加1調節(jié),并能當加至最大值時能重新歸零。(2)能夠實現當前室溫的測量功能,并在數碼管上予以顯示(3)能夠實現年月日的顯示與切換。(4)能夠實現溫度的顯示與切換。

第4頁,共35頁,2024年2月25日,星期天1.系統結構框圖單片機DS1302芯片DS18B20其他模塊數碼顯示模塊第5頁,共35頁,2024年2月25日,星期天電路圖第6頁,共35頁,2024年2月25日,星期天IO定義sbitDQ=P1^3;//DS18B20I/Osbitled=P1^0;SbitT-RST=P3^5;//ds1302-5SbitT-IO=P3^4;//ds1302-6SbitT-CLK=P3^6;//ds1302-7SbitACC0=ACC^0;SbitACC7=ACC^7;Sbitup=P3^1;//4Sbitdown=P3^2;//8Sbitset=P3^0;//0Sbitc=P3^3;//C第7頁,共35頁,2024年2月25日,星期天2.程序流程圖開始初始化是否按c鍵時間顯示顯示日期是否按c鍵顯示溫度是否按c鍵是是是否否否注釋:調整程序包含其中第8頁,共35頁,2024年2月25日,星期天3.主要器件介紹(1)溫度傳感器DS18B201.1、適應電壓范圍更寬,電壓范圍:3.0~5.5V1.2、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊1.3、DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內1.4、溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃1.5、測量結果直接輸出數字溫度信號,以"一線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力第9頁,共35頁,2024年2月25日,星期天圖:封裝圖,內部結構圖,溫度格式表第10頁,共35頁,2024年2月25日,星期天RAM指令表:溫度變換:44H,啟動DS1820進行溫度轉換,12位轉換時最長為750ms(9位為93.75ms)。結果存入內部9字節(jié)RAM中。讀暫存器:0BEH,讀內部RAM中9字節(jié)的內容寫暫存器:4EH,發(fā)出向內部RAM的3、4字節(jié)寫上、下限溫度數據命令,緊跟該命令之后,是傳送兩字節(jié)的數據。復制暫存器:48H,將RAM中第3、4字節(jié)的內容復制到EEPROM中。

重調EEPROM:0B8H將EEPROM中內容恢復到RAM中的第3、4字節(jié)。讀供電方式:0B4H讀DS1820的供電模式。寄生供電時DS1820發(fā)送“0”,外接電源供電DS1820發(fā)送“1”。

第11頁,共35頁,2024年2月25日,星期天序號名稱引腳功能描述1GND地信號2DQ數據輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。3VDD可選擇的VDD引腳。當工作于寄生電源時,此引腳必須接地。表1

DS18B20詳細引腳功能描述DS18B20的性能特點如下:●獨特的單線接口僅需要一個端口引腳進行通信;●多個DS18B20可以并聯在惟一的三線上,實現多點組網功能;●無須外部器件;●可通過數據線供電,電壓范圍為3.0~5.5V;●零待機功耗;●溫度以9或12位數字;●用戶可定義報警設置;●報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;●負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作;第12頁,共35頁,2024年2月25日,星期天DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結構為8字節(jié)的存儲器,結構如圖3所示。頭2個字節(jié)包含在工作模式還是在測試模式,DS18B20出廠時該位被設置為0,用戶要去改動,R1和R0決定溫度轉換的精度位數,來設置分辨率。測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復位時被刷新。第5個字節(jié),為配置寄存器,它的內容用于確定溫度值的數字轉換分辨率。DS18B20工作時寄存器中的分辨率轉換為相應精度的溫度數值。該字節(jié)各位的定義如圖3所示。低5位一直為1,TM是工作模式位,用于設置DS18B20溫度LSB溫度MSBTH用戶字節(jié)1TL用戶字節(jié)2配置寄存器保留保留保留CRC

圖3

DS18B20字節(jié)定義第13頁,共35頁,2024年2月25日,星期天DS18B20的測溫原理器件中低溫度系數晶振的振蕩頻率受溫度的影響很小,用于產生固定頻率的脈沖信號送給減法計數器1;高溫度系數晶振隨溫度變化其振蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入。器件中還有一個計數門,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖進行計數進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將-55℃所對應的一個基數分別置入減法計數器1、溫度寄存器中,計數器1和溫度寄存器被預置在-55℃所對應的一個基數值。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時,溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環(huán)直到減法計數器計數到0時,停止溫度寄存器的累加,此時溫度寄存器中的數值就是所測溫度值。其輸出用于修正減法計數器的預置值,只要計數器門仍未關閉就重復上述過程,直到溫度寄存器值大致被測溫度值。

第14頁,共35頁,2024年2月25日,星期天初始化復位:voidset_18b20(){uchara;DQ=1;a=1;while(--a);DQ=0;a=113;while(--a);while(--a);//750us的延時

DQ=1;a=30;while(--a);if( DQ==0){a=240;led=0;while(--a);}

}第15頁,共35頁,2024年2月25日,星期天voidwrite_18b20(uchardate)//寫1個字節(jié){uchari,a;for(i=8;i>0;i--){DQ=0;a=7;while(--a);DQ=date&0x01;//00000001a=25;while(--a);date=date>>1;DQ=1;

}}第16頁,共35頁,2024年2月25日,星期天ucharread_18b20(){uchari,a,temp;;for(i=8;i>0;i--) {temp=temp>>1;DQ=0; a=3; while(--a);DQ=1;a=2; while(--a);if(DQ)temp=temp|0x80;//1000000a=15; while(--a);

}

return(temp);}第17頁,共35頁,2024年2月25日,星期天voiddisplay(){

uchartempintbai,tempintshi,tempintge,xiaoq,xiaob,xiaos,xiaog;

tempintbai=tempint/100;tempintshi=tempint%100/10;tempintge=tempint%10;xiaoq=tempdf%10000/1000;xiaob=tempdf%1000/100;xiaos=tempdf%100/10;xiaog=tempdf%10;第18頁,共35頁,2024年2月25日,星期天P0=0x00;P2=1;P0=EL[tempintbai];delay(20);

P0=0x00;P2=2;P0=EL[tempintshi];delay(20);

P0=0x00;P2=3;P0=EL[tempintge]|0x80;delay(20);P0=0x00;P2=4;P0=EL[xiaoq];delay(20);P0=0x00;P2=5;P0=EL[xiaob];delay(20);P0=0x00;P2=6;P0=EL[xiaos];delay(20);P0=0x00;P2=7;P0=EL[xiaog];delay(4);

if(f==1){P2=0;P0=0x40;delay(20);}}第19頁,共35頁,2024年2月25日,星期天(2)DS13021DS1302的結構及工作原理DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘芯片,它可以對年、月、日、周日、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達2.5~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。內部有一個31×8的用于臨時性存放數據的RAM寄存器。第20頁,共35頁,2024年2月25日,星期天1.1引腳功能表及內部結構圖第21頁,共35頁,2024年2月25日,星期天引腳功能如表1所示。第22頁,共35頁,2024年2月25日,星期天1.2DS1302的控制字節(jié)說明DS1302的控制字如圖2所示。控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入到DS1302中位6如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據;位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。1.3復位通過把輸入驅動置高電平來啟動所有的數據傳送。輸入有兩種功能:首先,接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,提供了終止單字節(jié)或多字節(jié)數據的傳送手段。當為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中置為低電平,則會終止此次數據傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在Vcc≥2.5V之前,必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。第23頁,共35頁,2024年2月25日,星期天1.4數據輸入輸出在控制指令字輸入后的下一個SCLK時鐘的上升沿時數據被寫入DS1302,數據輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0位至高位7,數據讀寫時序見圖3。第24頁,共35頁,2024年2月25日,星期天DS1302寫入操作:voidwrite_byte(ucharda){uchari;ACC=da;//10000001for(i=8;i>0;i--){T_IO=ACC0; T_CLK=0;T_CLK=1;ACC=ACC>>1;//01000000}}DS1302讀取操作:ucharread_byte(void){

uchari;for(i=0;i<8;i++)//00000001假設ACC=00000000{ACC=ACC>>1;//01000000 T_CLK=1; T_CLK=0;ACC7=T_IO;//10000000}return(ACC);}第25頁,共35頁,2024年2月25日,星期天voidwrite_1302(ucharaddr,ucharda){T_RST=0;//停止工作

T_CLK=0;T_RST=1;//重新工作

write_byte(addr);//寫入地址

write_byte(da);T_RST=0;T_CLK=1;}ucharread_1302(ucharaddr){uchartemp;T_RST=0;//停止工作

T_CLK=0;T_RST=1;//重新工作

write_byte(addr);//寫入地址

temp=read_byte();T_RST=0;T_CLK=1;//停止工作

return(temp);}第26頁,共35頁,2024年2月25日,星期天4.顯示說明如上圖,最左邊顯示為時,中間為分,最右邊為秒當按一次‘0’時,只顯示時并進入時調整,當按兩次‘0’時,只顯示分并進入分調整。按下三次‘0’后,回到最初狀態(tài)。按下一次‘c’后,會進入日期顯示,再次按下進入溫度顯示,三次后回到時間顯示狀態(tài)。13-52-45第27頁,共35頁,2024年2月25日,星期天5.鍵盤控制說明‘0鍵’為時鐘設置、時分切換、保存按鈕‘4鍵’為加按鈕‘8鍵’為減按鈕‘c’為時間,日期,溫度切換按鈕第28頁,共35頁,2024年2月25日,星期天主程序及時間顯示調整第29頁,共35頁,2024年2月25日,星期天日期顯示調整第30頁

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論