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

正文內(nèi)容

畢業(yè)設(shè)計論文_基于單片機的數(shù)字溫度計設(shè)計-免費閱讀

2024-09-29 10:37 上一頁面

下一頁面
  

【正文】 //處理溫度數(shù)據(jù) BEEP()。h++) //開機顯示 0000 { display[h]=0。 } else { beep=0。 if(add==0) { 畢業(yè)設(shè)計論文 _基于單片機的數(shù)字溫度計設(shè)計 while(!add) scan()。 while(!set) scan()。 display[1]=horl%10。 //次高位為 0 時不顯示 } 畢業(yè)設(shè)計論文 _基于單片機的數(shù)字溫度計設(shè)計 } if(n){display[3]=0x0b。 // 存入小數(shù)部分顯示值 display[4]=tem4。 // 兩字節(jié)合成一個整型變量。 delay(1)。 delay(6)。 _nop_()。i0。0x01。_nop_()。 //6 us presence=DQ。} } } } ow_reset(void) //DS18B20 復(fù)位函數(shù) { char presence=1。//十位 case 3: dm=table_dm[display[3]]。//小數(shù) case 1: dm=table_dm1[display[1]]。t)。 uchar scale。 //溫度減 int temp1=0。 //溫度輸入口 sbit L1=P2^0。整個系統(tǒng)的軟件編程就是通過 C語言對 AT89C52實現(xiàn)其控制功能。 采用 protues 軟件對電路仿真,可以得到預(yù)期效果。程序流程圖如圖 所示。四位數(shù)碼管的顯 示電路如圖 所示,從左到右依次是百位,十位,個位,十分位。另外需要一個與門實現(xiàn)與中斷端口的連接。 DS18B20 外形及管腳排列如圖 和表 33所示 [5]。其中,按鍵電平復(fù)位是通過使復(fù)位端經(jīng)電阻與 VCC電源接通而實現(xiàn)的,而按鍵脈沖復(fù)位則是利用 RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的。單片機作為主控制器,數(shù)字溫度傳感器 DS18B20 作為測溫元件,傳感器 DS18B20 可以讀取被測量溫度值,進行轉(zhuǎn)換,從而用 4 位共陽極 LED 數(shù)碼管來顯示轉(zhuǎn)換后的溫度值,可以設(shè)定溫度的上下限報警功能, 實現(xiàn)報警提示。以 4位數(shù)碼管為顯示器件,利用單片機的 P0 口和電阻排來驅(qū)動4 位數(shù)碼管的顯示;利用單片機的 來驅(qū)動溫度傳感器 DS18B20 測溫;報警電路利用三極管放大作用驅(qū)動報警器報警;按鍵是利用單片機的 P1口和上拉 電阻來驅(qū)動工作 復(fù)位電路設(shè)計 復(fù)位電路有上電自動復(fù)位和按鍵手動復(fù)位兩種方式。電容 C1 和 C2 的主要作用是幫助振蕩器起振,且振蕩器大小對振蕩頻率有微調(diào)作用,在 80C51 系列中電容的大小 30 皮法。 3 VDD 可選擇的 VDD 引腳。顯示當前溫度。其程序流程圖如圖 示: 發(fā) DS18B20 復(fù)位命令 9 字節(jié)完 結(jié)束 移入溫度暫存器 讀取操作、 CRC 校驗 發(fā)讀取溫度命令 CRC 校驗正 Y Y Y N N 畢業(yè)設(shè)計論文 _基于單片機的數(shù)字溫度計設(shè)計 圖 讀出溫度子程序流程圖 溫度轉(zhuǎn)換命令子程序 溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當采用 12 位分辨率時轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用 1s 顯示程序延時法等待轉(zhuǎn)換的完成。顯示當前溫度。 圖 初始置零仿真 6. 結(jié)果分析與心得體會 經(jīng)過系統(tǒng)的整體調(diào)試,本設(shè)計達到了規(guī)定的設(shè)計要求:能用數(shù)碼管直接顯示、能自由設(shè)定溫度上下限報警值和實現(xiàn)報警。 盡管本次設(shè)計還不是很完善,但這為我以后的設(shè)計之路積累了寶貴的經(jīng)驗。 //蜂鳴器 sbit set=P1^4。 uchar sign。 //讀出溫度暫放 uchar data display[5]={0x00,0x00,0x00,0x00,0x00}。L4=0。L2=0。w3=0。 delay(50)。 for(i=8。 _nop_()。 畢業(yè)設(shè)計論文 _基于單片機的數(shù)字溫度計設(shè)計 } uchar read_byte(void) //DS18B20 讀 1 字節(jié)函數(shù) //從總線上取 1 個字節(jié) { uchar i。 DQ=0。 _nop_()。 write_byte(0xcc)。 //讀溫度值的高字節(jié) temp=temp_data[1]。} // 負溫度求補碼 ,標志位置 1 display[4]=temamp。 //個位 數(shù)據(jù) r=display[1]+display[2]*10+display[3]*100。 display[3]=display[3]amp。 //負溫度時最高位顯示 } } void keyscan() //按鍵查詢程序 { int temp1。 } if(dec==0) { while(!dec) scan()。 } if(temp1=3) { temp1=0。 L1=0。h100。 } else keyscan()。 //Skip ROM write_byte(0x44)。 L3=0。 low=1。 if(add==0) { while(!add) scan()。 //最高位為 0 時不顯示 if(!display[2]) { display[2]=0x0a。n=1。 // 取后兩位數(shù)據(jù)暫存 display[2]=display[1]/10。 if(tem6348) // 溫度值正負判斷 {tem=65536tem。 temp_data[0]=read_byte()。 } read_temp() //讀出溫度函數(shù) { ow_reset()。 _nop_()。 _nop_()。 //右移 1 位 } DQ=1。 _nop_()。 } DQ=1。 _nop_()。L1=1。L3=1。j4。 uchar table_dm1[]={0xbf,0x86,0xdb,0xcf, //共陰 LED 段碼表 0 1 2 3 4 5 6 7 8 9 不亮 畢業(yè)設(shè)計論文 _基于單片機的數(shù)字溫度計設(shè)計 0xe6,0xed,0xfd,0x87, 0xff,0xef}。 uchar r。 //數(shù)碼管 3 sbit L4=P2^3。 本次設(shè)計還存在許多不完善的方面。 圖 數(shù)碼管仿真圖 圖 溫度傳感器的仿真效果圖 溫度報警線設(shè)置仿真 如圖 是第一次按下 K1 鍵顯示的上限溫度報警值,此時按 K2或 K3 鍵分別對上限溫度2 2 . 0DQ2V C C3G ND1U2DS 1 8 B 2 0K3K2K1C13 0 p fC23 0 p fX1CR Y S T A LR11 0 kC31 0 u FR24 .7 kR34 .7 kR44 .7 kX T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1