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

正文內(nèi)容

基于89c52單片機的溫度測量系統(tǒng)設(shè)計-資料下載頁

2025-10-14 10:38本頁面

【導(dǎo)讀】電子信息工程專業(yè)學(xué)生。設(shè)計分為硬件電路設(shè)計和軟件設(shè)計兩部分,其中硬件部分使用Proteus進(jìn)行搭建,在構(gòu)成單片機最小系。統(tǒng)的基礎(chǔ)上進(jìn)行功能擴展,并在其上進(jìn)行電路的連接和仿真,實現(xiàn)系統(tǒng)的溫度測量功能,軟件部分則是。用Proteus和Keil聯(lián)調(diào)的方式最終完成軟硬件的設(shè)計過程,在仿真的過程中,可以控制溫度傳感器。DS18B20的溫度值,模擬真實條件下,溫度的測取工作。系統(tǒng)所顯示的結(jié)果最終使用數(shù)碼管進(jìn)行顯示,

  

【正文】 給予了精心的指導(dǎo),才最終 順利完成 論文 。 感謝 電子信息工程專業(yè) 的各位同學(xué),與他們的交流使我受益頗多。最后要感謝我的家人以及我的朋友們對我的理解、支持、鼓勵和幫助,正是因為有了他們,我所做的一切才更有意義;也正是因為有了他們,我才有了追求進(jìn)步的勇氣和信心。 時間的倉促及自身專業(yè)水平的不足,整篇論文肯定存在尚未發(fā)現(xiàn)的缺點和錯誤。懇請閱讀此篇論文的老師、同學(xué),多予指正,不勝感激! 參考文獻(xiàn): [1] 李學(xué)禮 .基于 Proteus 的 8051 單片機實例教程 [M].1 版 .北京:電子工業(yè)出版社 .2020 年 6月 [2] 那彥 .電子及通信專業(yè)畢業(yè)設(shè)計寶典 [M].1 版 .西安:西安電子科技大學(xué)出版社 .2020 年 3 月 [3] 張毅剛 .彭喜元 .姜守達(dá) .喬立巖 .新編 MCS51 單片機應(yīng)用設(shè)計 [M].3 版 .哈爾濱 : 哈爾濱工業(yè)大學(xué) 出版社, 2020 年 4 月 [4] 羅強 .基于單片機的嵌入式工程開發(fā)詳解 [M].1 版 .北京:電子工業(yè)出版社 .2020 年 1 月 [5] 趙佩華 . DS1820 在單片機溫度測控中的應(yīng)用 [N].上海電機學(xué)院學(xué)報 , 2020 年 12 月 附錄 A 溫度測量系統(tǒng)單片機 C 程序 include include include sbit seg1=P2^0。 sbit seg2=P2^1。 sbit seg3=P2^2。 sbit DQ=P1^3。 sfr dataled=0x80。 //P0 口數(shù)據(jù)送數(shù)碼管 unsigned int temp。 unsigned char flag,count,num。 unsigned char code tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。//數(shù)碼管段碼表 unsigned char str[6]。 unsigned int ReadTemperature(void)。 void Init_DS18B20(void)。 unsigned char ReadOneChar(void)。 void WriteOneChar(unsigned char dat)。 void delay(unsigned int i)。 main() { unsigned char TempH,TempL。 num=0。 13 TMOD=0x01。 //定時器設(shè)置 TH0=0xef。 TL0=0x00。 IE=0x82。 TR0=1。 P2=0x00。 while(1) { if(flag==1){ temp=ReadTemperature()。 if(tempamp。0xf800){ str[0]=0x40。 //負(fù)號標(biāo)志 temp=~temp。 temp+=1。} // 取反加 1 else str[0]=0。 TempH=temp4。 TempL=tempamp。0x0F。 TempL=TempL*6/10。 //小數(shù)近似處理 flag=0。 str[1]=tab[TempH/100]。 //百位 str[2]=tab[(TempH%100)/10]。 //十位 str[3]=tab[(TempH%100)%10]|0x80。//個位 ,小數(shù)點 str[4]=tab[TempL]。 str[5]=0x39。} //C 符號 */ } } void time(void) interrupt 1 using 1 { TH0=0xef。//定時器重裝值 TL0=0x00。 num++。 if (num==5) { num=0。 flag=1。//標(biāo)志位有效 } count++。 if(count==1){ P2=0。 dataled=str[0]。} if(count==2){ P2=1。 dataled=str[1]。} if(count==3){ 14 P2=2。 dataled=str[2]。} if(count==4){ P2=3。 dataled=str[3]。} if(count==5){ P2=4。 dataled=str[4]。} if(count==6){ P2=5。 dataled=str[5]。 count=0。} } void delay(unsigned int i) { while(i)。 } unsigned int ReadTemperature(void) { unsigned char a=0。 unsigned int b=0。 unsigned int t=0。 Init_DS18B20()。 WriteOneChar(0xcc)。 // 跳過讀序號列號的操作 WriteOneChar(0x44)。 // 溫度轉(zhuǎn)換 delay(200)。 Init_DS18B20()。 WriteOneChar(0xcc)。 //跳過讀序號列號的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀 9 個寄存器) 前兩個就是溫度 a=ReadOneChar()。 //低位 b=ReadOneChar()。 //高位 b=8。 t=a+b。 return(t)。 } void Init_DS18B20(void) { DQ = 0。 //單片機將 DQ 拉低 delay(80)。 //精確延時大于 480us DQ = 1。 //拉高總線 delay(15)。 } void WriteOneChar(unsigned char dat) { unsigned char i=0。 15 for (i=0。 i8。 i++) { DQ = 0。 DQ = datamp。0x01。 delay(5)。 DQ = 1。 dat=1。 } delay(5)。 } unsigned char ReadOneChar(void) { unsigned int i。 unsigned char dat = 0。 for (i=0。i8。i++) { DQ = 0。 dat=1。 DQ = 1。 if(DQ) dat|=0x80。 delay(5)。 } return(dat)。 }
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1