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

正文內(nèi)容

基于ds18b20數(shù)字溫度計的終稿畢業(yè)論文-閱讀頁

2025-07-12 17:16本頁面
  

【正文】 能夠節(jié)省大量的I/O端口,而且功耗更低。每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此,所以它不能顯示圖形。1602LCD的特性(1)+5V電壓,對比度可調(diào)。(3)提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。(5)內(nèi)建有160個57點陣的字型的字符發(fā)生器CGROM。(7)字符型LCD1602通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線VCC(15腳)和地線(16腳),: 液晶1602引腳表1602液晶模塊內(nèi)部的控制器共有11條控制指令,: 1602的控制指令 指令1:清顯示,光標(biāo)復(fù)位到地址00H位置。指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移,S:屏幕上所有文字是否左移或者右移。指令4:顯示開關(guān)控制。指令5:光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。指令6:功能設(shè)置命令 DL:高電平時為8位總線,低電平時為4位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。(將一個字符分成5*8點陣,一次寫入一行,8行就組成一個字符)指令8:置顯示地址,第一行為:80H——8FH,第二行為:C0H——CFH。指令10:寫數(shù)據(jù)。 顯示電路: 1602液晶接線圖液晶屏的軟件編程控制操作主要包含初始化,寫指令和寫數(shù)據(jù)三個部分。寫入到液晶屏后能直接顯示出來的結(jié)果就屬于數(shù)據(jù)。軟件方面,兩種方案的軟件設(shè)計都比較容易實現(xiàn)。4 系統(tǒng)程序的設(shè)計 系統(tǒng)設(shè)計內(nèi)容系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序和顯示數(shù)據(jù)刷新子程序等。溫度測量每1秒進行一次。在讀出時須進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。在本程序設(shè)計中,采用1s顯示程序延時法等待轉(zhuǎn)換的完成。: 計算溫度子程序流程圖 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖器的顯示數(shù)據(jù)進行刷新操作,當(dāng)最高數(shù)據(jù)顯示位為0時,將符號顯示位移入下一位。DS18B20的轉(zhuǎn)換精度為9~12位,為了提高精度采用12位。 ,一個十進制與二進制間有很明顯的關(guān)系,就是把二進制的高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個字節(jié)的二進制化為十進制后,就是溫度值的百、十、個位字節(jié),所以二進制值范圍是0~F,(0~15倍)。實際應(yīng)用不必這么高的精度,采用1位數(shù)碼管來顯示小數(shù),℃。這條命令允許總線控制器獨到DS18B20的8位系列編碼、唯一的序列號和8位CRC碼。如果總線上有不止一個從機,則當(dāng)所有從機試圖同時傳送信號時就會發(fā)生數(shù)據(jù)沖突(漏極開路連在一起形成相“與”的效果)。(4)Search ROM[0F0H]。搜索ROM命令允許總線控制器用排除法識別總線上的所有從機的64位編碼。這條命令的流程與Search ROM相同。報警條件定義為溫度高于TH或低于TL。(6)Write Scratchpad[4EH]??梢栽谌魏螘r刻發(fā)出復(fù)位命令來中止寫入。這條命令讀取暫存器的內(nèi)容。如果不想讀完所有字節(jié),則控制器可以在任何時間發(fā)出復(fù)位命令來中止讀取。這條命令把暫存器的內(nèi)容拷貝到DS18B20的E178。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于把暫存器拷貝到E178。如果使用寄生電源,則總線控制器必須在這條命令發(fā)出后立即啟動強上拉,并最少保持10ms。這條命令啟動一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而DS18B20又忙于做時間轉(zhuǎn)換,則DS18B20將在總線上輸出0;如果溫度轉(zhuǎn)換成功,則輸出1。(10)Recall E178。這條命令把報警觸發(fā)器里的值拷貝回暫存器。若在這條命令發(fā)出之后發(fā)出讀數(shù)據(jù)隙,器件會輸出溫度轉(zhuǎn)換忙的標(biāo)識:0表示忙;1表示完成。若把這條命令發(fā)給DS18B20后發(fā)出讀時間隙,器件會返回它的電源模式0:0表示寄生電源;1表示外部電源。軟件程序使用keil2軟件進行編程與編譯,Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。: STCISP的操作界面圖 性能分析 性能測試可用制作的溫度計和已有的成品溫度計同時進行測量比較?!嬉詢?nèi)。 DS18B20溫度計還可以在高低溫報警、遠(yuǎn)距離多點測溫控制等方面進行應(yīng)用開發(fā),但在實際設(shè)計中應(yīng)注意一下問題: ①,總線上掛接點數(shù)較多且同時進行轉(zhuǎn)換時要考慮增加總線驅(qū)動,可用單片機端口在溫度轉(zhuǎn)換時導(dǎo)通一個MOSFET供電。 ③在DS18B20測溫程序設(shè)計中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號。這一點在進行DS18B20硬件連接和軟件設(shè)計時要給予一定的重視。同時,感謝所有任課老師和所有同學(xué)在這四年來給自己的幫助和關(guān)愛,是他們教會了我專業(yè)知識,教會了我如何學(xué)習(xí),教會了我如何做人。在大學(xué)階段,我在學(xué)習(xí)上和思想上都受益匪淺,這除了自身的努力外,與各位老師、同學(xué)和朋友的關(guān)系、支持和鼓勵是分不開的。參考文獻[1][J/OL]. [2][J/OL]. [3](第2版)[M].北京:清華大學(xué)出版社,2004:4975.[4]樓然苗,胡佳文,李光飛,劉玉良,俞紅杰,[M].杭州:浙江大學(xué)出版社,2010:127148[5]劉雨剛,洪炳林,[J].國外電子元器件,2006(12):3537.[6]黃亞,[J].國外電子元器件,2007(10):4749.[7][M].北京:電子工業(yè)出版社,2004:5975.[8]談根林,李慧文,汪慶寶,[M].北京:計量出版社,1983:89105.[9] 樓然苗,[M].北京:北京航空航天大學(xué)出版社,2007:4655.[10](第2版)[M].北京:高等教育出版社,2007:6880.附錄 數(shù)字溫度計的實物圖include include //_nop_()。sbit rw=P1^1。sfr lcd=0x80。 unsigned char data temp_data[2] = {0x00,0x00} 。unsigned char code ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04, 0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09} 。 for(j=0。j++)。 enable=0。 rs=0。 delayms(100)。busy)。}/*寫指令函數(shù)*/void write_instruction(uchar x){checkbusy()。 rw=0。 lcd=x。 delayms(20)。 }/*寫單個數(shù)據(jù)的函數(shù)*/void write_data(uchar x){checkbusy()。rw=0。enable=1。enable=0。}/*寫入正串字符串函數(shù)*/void write_string(uchar x,uchar *p){ write_instruction(x)。 delayms(100)。 if (x++==0x8f) {write_instruction(0xc0)。 delayms(10)。 delayms(10)。 delayms(10)。}void delay(unsigned int a){ while(a)。 delay(8)。 /*拉低,復(fù)位*/ delay(200)。 /*釋放總路線*/ delay(5)。 } while(1) { if(DQ==1) /*當(dāng)總線回復(fù)高電平后,才跳出子函數(shù)*/ { return(0)。 } }}void write(unsigned char a) /*從低位寫到高位*/{ unsigned int i,j。i8。 /**/ j=aamp。 // DQ=j。/*,使數(shù)據(jù)被采用*/ DQ=1。 delay(1)。 DQ=0。 DQ=1。/*讀得數(shù)據(jù)*/ delay(20)。 /*延時60US,后拉高*/ return(onebit)。 /*讀onebyte(一字節(jié))溫度數(shù)據(jù)*/ for(i=0。i++) { b=readonebit()。 } return(onebyte)。write(0xcc)。temp_data[0]=readbyte()。initial()。write(0x44)。0x0f 。 //查表得小數(shù)位的值 display[4]=((temp_data[0]amp。0x0f)4) 。 display[1]=display[4]%100 。 display[1]=display[1]%10+0x30 。 if(display[2]==0x30) //次高位為0,不顯示 display[2]=0x20 。 write_data(display[3])。 write_data(display[1])。 write_data(display[0])。 Disp_Temperatu
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1