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

正文內(nèi)容

基于單片機(jī)的數(shù)字溫度計的設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文-資料下載頁

2025-06-27 19:27本頁面
  

【正文】 設(shè)計要求:能用數(shù)碼管直接顯示、能自由設(shè)定溫度上下限報警值和實現(xiàn)報警。由于本設(shè)計采用了集成溫度傳感器,這樣不僅減少了硬件電路的設(shè)計與調(diào)試,并且此溫度傳感元件的集成性能比傳統(tǒng)的元件要優(yōu)越得多,這樣簡化了電路的設(shè)計難度還降低了產(chǎn)品的價格。本設(shè)計還可以實現(xiàn)高低溫報警功能,因此能夠適用于多種場合。本課題所設(shè)計的數(shù)字溫度計包括硬件組成和軟件的設(shè)計。該系統(tǒng)在硬件設(shè)計上主要是通過其核心控制器件STC89C52將采集到的數(shù)字溫度值經(jīng)單片機(jī)處理得到相應(yīng)的溫度值,送到4位數(shù)碼管進(jìn)行顯示,以數(shù)字形式顯示測量的溫度。整個系統(tǒng)的軟件編程就是通過C語言對STC89C52實現(xiàn)其控制功能,整個系統(tǒng)結(jié)構(gòu)緊湊,簡單可靠,操作靈活,功能強(qiáng)大,性價比相對較高。通過理論探討和實際實驗驗證,得出以下結(jié)論:(1) 本系統(tǒng)采用溫度傳感器DS18B20取代傳統(tǒng)的模擬傳感器進(jìn)行溫度測量,簡化了系統(tǒng)前端數(shù)據(jù)采集本分的結(jié)構(gòu),降低了成本,且實踐證明效果很好,穩(wěn)定、可靠(2) 本次設(shè)計還存在許多不完善的方面。在整個設(shè)計過程中,由于難度的原因,系統(tǒng)實現(xiàn)的功能有限,與市場上同類產(chǎn)品存在相當(dāng)?shù)牟罹?;在編程方面,雖然采用C語言編程,但是對其的理解不夠透徹,還存在很大的提升空間。結(jié)論本次設(shè)計主要是通過STC89C52單片機(jī)為核心設(shè)計的一款數(shù)字溫度計,該溫度計不僅能夠?qū)崟r測量溫度值顯示出來還能夠設(shè)定溫度上下限進(jìn)行監(jiān)控,若溫度高于設(shè)定上限值或低于下限值,則報警電路將進(jìn)行報警。硬件方面本設(shè)計采用的是STC89C52單片機(jī)為核心的數(shù)字溫度計,包含了利用溫度傳感器DS18B20的測溫電路、外接鍵盤、顯示電路、繼報警電路、復(fù)位電路和晶振電路。以DS18B20為主要測溫元件進(jìn)行實時監(jiān)控溫度值。以4位數(shù)碼管為顯示器件,利用單片機(jī)的P0口和上拉電阻來驅(qū)動4位數(shù)碼管的顯示;;報警電路利用三極管放大作用驅(qū)動報警器報警;按鍵是利用單片機(jī)的P1口和上拉電阻來驅(qū)動工作。軟件方面本次設(shè)計利用Protues軟件對系統(tǒng)進(jìn)行仿真,利用Keil C51 軟件對系統(tǒng)進(jìn)行編程。C語言設(shè)計了溫度的讀、寫程序,并利用程序?qū)崟r對顯示電路進(jìn)行更新操作。本次設(shè)計編寫了外接鍵盤的動作程序,能夠感應(yīng)外接鍵盤的動作情況對系統(tǒng)做出一系列相應(yīng)的調(diào)整和動作。系統(tǒng)包含了通過外接鍵盤設(shè)定一個基準(zhǔn)值的程序,能夠比較基準(zhǔn)值并通過比較之后的結(jié)果對外圍電路產(chǎn)生相應(yīng)的控制。系統(tǒng)硬件系統(tǒng)硬件使用51單片機(jī)以及一些外圍電路,其中51單片機(jī)的外圍接口資源占用較少,有明顯的資源浪費現(xiàn)象,還需要進(jìn)行進(jìn)一步的改進(jìn)以及功能的提升和拓展。4個控制支路分別占用單片機(jī)4個獨立端口,可以適當(dāng)考慮合并處理來節(jié)約單片機(jī)的接口以及將電路和程序進(jìn)行一步簡單化。系統(tǒng)軟件系統(tǒng)在單片機(jī)初始化之后控制端口還有短暫的誤動作情況;報警電路有時不能正確的報警,需要改進(jìn)程序;外接鍵盤按鈕按下的瞬間無法立即判斷電平變化并作出相應(yīng)動作;溫度的測量與顯示范圍有限并且精度不是非常高。在此需要對系統(tǒng)程序進(jìn)行調(diào)整,還有待進(jìn)一步的優(yōu)化和改進(jìn)。致謝通過這一階段的努力,我的畢業(yè)論文《基于單片機(jī)的數(shù)字溫度計》終于完成了,這意味著大學(xué)生活即將結(jié)束。在大學(xué)階段,我在學(xué)習(xí)上和思想上都受益非淺,這除了自身的努力外,與各位老師、同學(xué)和朋友的關(guān)心、支持和鼓勵是分不開的。值此之際,感謝老師給了我很大的幫助,同時也離不開很多同學(xué)的熱心幫助,是他們在我遇到難題的時候給了我啟發(fā)。通過本次畢業(yè)設(shè)計,我在專業(yè)知識、專業(yè)技能和解決問題方法方面得到很大的提高。更深入了解并掌握了傳感器的基本理論知識, 并在單片機(jī)實際電路開發(fā)和常用編程設(shè)計思路掌握方面有了一定程度的掌握,盡管本次設(shè)計還不是很完善,但這為我以后的設(shè)計之路積累了寶貴的經(jīng)驗。參考文獻(xiàn)[1] 李全利,仲偉峰,徐軍著.《單片機(jī)原理及應(yīng)用》.北京:清華大學(xué)出版社,2006.[2] 沈德金 陳粵初.《單片機(jī)接口電路與應(yīng)用程序?qū)嵗?北京航天航空大學(xué)出版社,1990.[3] .《微型計算機(jī)控制技術(shù)》.電子工業(yè)出版社,2003.[4] (第三版).北京:清華大學(xué)出版社,2005.[5] (簡明修訂版).杭州:北京航空航天大學(xué)出版社,1998.[6] (第三版) .北京:高等教育出版社,2006.[7] (第五版) .北京:高等教育出版社,2006.[8] 王勇 葉敦范.《基于AT89S51 的便攜式實時溫度檢測儀》.選自《儀表技術(shù)與傳感器》,2006.[9] 于永,戴佳,:電子工業(yè)出版社,2007.[10] Su Kai,Liu Qingguo, Chen Guoping. Principle and design of MCS51 Singlechip Industry Press, 2003.[11] Li Weidi,Guo Qiang. Application technology of LCD Publishing House of Electronics Industry, 2000.[12] G Jiang M Zhang, X Xie, S on temperature control of DS18B2[J].Control Engineering of China, 2003.[13] Lou Jian’an Liang Xiaolin Feng Changjiang etc. A Missile Storage Battery Charging Instrument based on 80C196KC Single Chip 5th International Symposium on Test and Measurement. Shenzhen, Guangdong China,2003.[14] omas Architecture and Logic Design[J].McGrawHill Inc.,附錄1 全部程序清單include define uint unsigned intdefine uchar unsigned char //宏定義define SET P3_1 //定義調(diào)整鍵define DEC P3_2 //定義減少鍵define ADD P3_3 //定義增加鍵define BEEP P3_6 //定義蜂鳴器define ALAM P1_2 //定義燈光報警define DQ P3_7 //定義DS18B20總線I/O bit shanshuo_st。 //閃爍間隔標(biāo)志bit beep_st。 //蜂鳴器間隔標(biāo)志sbit DIAN = P0^5。 //小數(shù)點uchar x=0。 //計數(shù)器signed char m。 //溫度值全局變量uchar n。 //溫度值全局變量uchar set_st=0。 //狀態(tài)標(biāo)志signed char shangxian=38。 //上限報警溫度,默認(rèn)值為38signed char xiaxian=5。 //下限報警溫度,默認(rèn)值為5//uchar code LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff}。uchar code LEDData[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B}。//============================================================================================//====================================DS18B20=================================================//============================================================================================/*****延時子程序*****/void Delay_DS18B20(int num){ while(num) 。}/*****初始化DS18B20*****/void Init_DS18B20(void){ unsigned char x=0。 DQ = 1。 //DQ復(fù)位 Delay_DS18B20(8)。 //稍做延時 DQ = 0。 //單片機(jī)將DQ拉低 Delay_DS18B20(80)。 //精確延時,大于480us DQ = 1。 //拉高總線 Delay_DS18B20(14)。 x = DQ。 //稍做延時后,如果x=0則初始化成功,x=1則初始化失敗 Delay_DS18B20(20)。}/*****讀一個字節(jié)*****/unsigned char ReadOneChar(void){ unsigned char i=0。 unsigned char dat = 0。 for (i=8。i0。i) { DQ = 0。 // 給脈沖信號 dat=1。 DQ = 1。 // 給脈沖信號 if(DQ) dat|=0x80。 Delay_DS18B20(4)。 } return(dat)。}/*****寫一個字節(jié)*****/void WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 Delay_DS18B20(5)。 DQ = 1。 dat=1。 }}/*****讀取溫度*****/unsigned int ReadTemperature(void){ unsigned char a=0。 unsigned char b=0。 unsigned int t=0。 float tt=0。 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0x44)。 //啟動溫度轉(zhuǎn)換 Init_DS18B20()。 WriteOneChar(0xCC)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器 a=ReadOneChar()。 //讀低8位 b=ReadOneChar()。 //讀高8位 t=b。 t=8。 t=t|a。 tt=t*。 t= tt*10+。 //放大10倍輸出并四舍五入 return(t)。}//=====================================================================================//=====================================================================================//=====================================================================================/*****延時子程序*****/void Delay(uint num){ while( num )。}/*****初始化定時器0*****/void InitTimer(void){ TMOD=0x1。 TH0=0x3c。 TL0=0xb0。 //50ms(晶振12M)}/*****讀取溫度*****/void check_wendu(void){ uint a,b,c。 c=ReadTemperature()5。 //獲取溫度值并減去DS18B20的溫漂誤差 a=c/100。 //計算得到十位數(shù)字 b=c/10a*10。 //計算得到個位數(shù)字 m=c/10。 //計算得到整數(shù)位 n=ca*100b*10。 //計算得到小數(shù)位 if(m0){m=0。n=0。} //設(shè)置溫度顯示上限 if(m99){m=99。n=9。} //設(shè)置溫度顯示上限 }/*****顯示開機(jī)初始化等待畫面*****/void Disp_init(void) { P0 = ~0x80。 //顯示 P2 = 0x7F。 Delay(200)。 P2 = 0xDF。 Delay(200)。 P2 = 0xF7。 Delay(200)。 P2 = 0xFD。 Delay(200)。 P2 = 0xFF。 //關(guān)閉顯示}/****
點擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1