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

正文內(nèi)容

基于stc89c52單片機的溫度控制系統(tǒng)設(shè)計-資料下載頁

2025-11-03 15:03本頁面

【導(dǎo)讀】具有體積小、操作簡單、造價合理的特點而被廣泛采用。測溫采用DS18B20,產(chǎn)自美國DALLAS公司,是單線數(shù)字溫度傳感器,十分復(fù)雜費時費力,通過DS18B20則可以節(jié)省很多時間人力。溫范圍適中,在很多地方可以應(yīng)用。通過自行設(shè)置溫度上下限,可應(yīng)用于農(nóng)。本設(shè)計以STC89C52為核心,設(shè)計制作具有LCD顯示溫度控制系統(tǒng)。高于溫度范圍最大值,繼電器控制加。熱電路斷開,停止加熱,從而保證控制環(huán)境溫度處于設(shè)置范圍內(nèi)。事項,和功能模塊組合到一起后上電調(diào)試遇到的問題和解決方法。課題的研究背景及意義-------------------------------------------1. 設(shè)計的主要任務(wù)和目標-------------------------------------------1. 系統(tǒng)整體功能設(shè)計框圖-------------------------------------------3

  

【正文】 55. 5456. [3] 胡漢才 . 單片機原理及其接口技術(shù)學(xué)習(xí)輔導(dǎo)與實踐教程 [M]. 清華大學(xué)出版社 , 2020. [4] 徐愛鈞 , 彭秀華 . 單片機高級語言 C51 應(yīng)用程序設(shè)計 [M]. 電子工業(yè)出版社 , 1998. [5] 張智換編著 .計算機檢測及控制 .杭州:浙江科學(xué)技術(shù)出版社, 2020 年 . [6] 張靖,劉少強編 .檢測技術(shù)與系統(tǒng)設(shè)計 .北京:中國電力出版社, 2020 年 . [7] 唐露新主編 .傳感與檢測技術(shù) .北京:科學(xué)出版社, 2020 年 . [8] 康華光主編 .電子技術(shù)基礎(chǔ)(數(shù)字部分) .北京:高等教育出版社, . [9] 康華光主編 .電子技術(shù)基礎(chǔ)(模擬部分) .北京:高等教育出版社, . [10] 楊帆主編 .傳感器技術(shù) .西安:西安電子科技出版社, . 基于單片機的溫度控制系統(tǒng)設(shè)計 34 致 謝 首先要感謝母校,在這里我度過了人生中愉快的四年,留下了很多美好的回憶,在這里不僅僅學(xué)到理論知識,更學(xué)到很多為人處世的道理, 衷心感謝輪機各位老師在大學(xué)四年給我的教誨、幫助、與鼓勵 , 你們的言傳身教對我們?nèi)蘸蟮陌l(fā)展有著深遠的影響 本論文完成首先要感謝我的導(dǎo)師王瑩老師, 每次答疑都占用了老師很多休息的時間, 老師對 方案設(shè)計方向性問題的糾正,讓我少走了很多彎路, 讓我對設(shè)計方案的利弊分析能力得以提升, 論文的準備規(guī)劃到修改,老師都給予了細心的指導(dǎo) , 由于論文的整體思路有問題,周六休息的時間老師還特地趕到學(xué)校,為我指正問題,這讓我內(nèi)心十分感動。 還要感謝我的同學(xué)黃傳忠, 不懂的問題都給予耐心的解答,軟件編程一直都是我的薄弱項,沒有老師和同學(xué)的答疑解惑 ,設(shè)計很難進行。 最后感謝四年大學(xué)生活中所有在學(xué)習(xí)生活上 幫助過我的老師、同學(xué),你們的幫助我將銘記于心 1 附錄一 程序 / ********1602 字符型液晶顯示 ********/ include include define uchar unsigned char //unsigned char 1 個字節(jié) 8 位 用 uchar代替 define uint unsigned int //unsigned int 2 個字節(jié) 16 位 用 uint代替 sbit rs=P1^2。 // 端口與 RS 位連接 sbit lcden=P1^0。 // 端口與使能端連接 sbit rw=P1^1。 // 端口與 RW 位連接 sbit DateBus=P1^3。、 // 端口作為數(shù)據(jù)總線 sbit JDQ=P1^5。 // 端口為繼電器控制端口 uchar table1[]=CCDZ MCU。 //液晶顯示器第一行輸出的內(nèi)容 uchar table2[]=1234567654321。 //液晶顯示器第二行輸出的內(nèi)容 uchar digit[11]=0123456789。 sbit waizd0=P3^2。 sbit waizd1=P3^3。 uchar num=25。 uchar DHTflag。 unsigned char shiZ,wenZ,SubDHT。 uchar temp,key=39。 39。 uchar dis_key[19],key_flag=0,key_begin=0。 char key_num。 uchar dis_key_ws_flag。 char LCD_address=0。 uint count。 uchar temperature[6]。 2 uchar zhengshu。 uchar xiaoshu。 uint time。 /************************************************************************* 函數(shù)功能:延時 *************************************************************************/ void delay(uint x) //延時函數(shù) { uint a,b。 for(a=x。a0。a) for(b=10。b0。b)。 } void delay1(uint x) //延時函數(shù) 1 { uint a,b。 for(a=x。a0。a) for(b=100。b0。b)。 } void Delay_10us(void) { _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 3 _nop_()。 _nop_()。 } void delay_ms(uint ms) // 毫秒級延時 (AT89C52 @ ) { uint ti。 while(ms) { for(ti=0。ti112。ti++)。 } } /************************* 定時器 0 初始化****************************/ void Timer0_init() { TMOD=0x01。 TH0=(6553650000)/256。 TL0=(6553650000)%256。 EA=1。 ET0=1。 TR0=1。 EA=1。//全局中斷開 EX0=1。//外部中斷 0 開 IT0=1。//邊沿觸發(fā) EX1=1。//外部中斷 1 開 IT1=1。//邊沿觸發(fā) } /************************************************************************* 4 函數(shù)功能:寫指令數(shù)據(jù)到 LCD rs:數(shù)據(jù) /命令寄存器選擇 1:選擇數(shù)據(jù)寄存器 0:選擇命令寄存器 rw:讀 /寫選擇 1:進行讀操作 0:進行寫操作 lcden:使能端 由 1 跳變成 0 時,液晶模塊執(zhí)行命令 *************************************************************************/ void write_(uchar ) { P2=。 rs=0。 rw = 0。 lcden=0。 delay(10)。 lcden=1。 delay(10)。 lcden=0。 } /************************************************************************* 函數(shù)功能:寫顯示數(shù)據(jù)到 LCD rs:數(shù)據(jù) /命令寄存器選擇 1:選擇數(shù)據(jù)寄存器 0:選擇命令寄存器 rw:讀 /寫選擇 1:進行讀操作 0:進行寫操作 lcden:使能端 由 1 跳變成 0 時,液晶模塊執(zhí)行命令 *************************************************************************/ void write_date(uchar date) { P2=date。 rs=1。 rw = 0。 lcden=0。 5 delay(10)。 lcden=1。 delay(10)。 lcden=0。 } /************************************************************************* 函數(shù)功能:寫地址數(shù)據(jù)到 LCD x:0x00 第一行 0x40 第二行 *************************************************************************/ void LCD_WriteAddress(uchar x) { write_(x|0x80)。 } /************************************************************************* 函數(shù)功能:寫一個字節(jié)數(shù)據(jù)到 LCD *************************************************************************/ void LCD_DispalyOneByte(uchar addr,uchar dat) { uchar n[3] = {0,0,0}。 //臨時數(shù)據(jù)緩沖數(shù)組 。 n[0] = dat/100。 //顯示字節(jié)的百位 。 n[1] = dat%100/10。 //顯示字節(jié)的十位 。 n[2] = dat%10。 //顯示字節(jié)的個位 。 LCD_WriteAddress(addr)。 //寫入顯示地址 。 write_date(digit[n[0]])。 //顯示百位 。 6 write_date(digit[n[1]])。 //顯示十位 。 write_date(digit[n[2]])。 //顯示個位 。 } /************************************************************************* 函數(shù)功能:寫兩個字節(jié)數(shù)據(jù) 到 LCD *************************************************************************/ void LCD_DispalyTwoByte(uchar addr,uint dat) { uchar n[5] = {0,0,0,0,0}。 //臨時數(shù)據(jù)緩沖數(shù)組 。 n[0] = dat/10000。 //顯示字節(jié)的萬位 。 n[1] = dat%10000/1000。 //顯示字節(jié)的千位 。 n[2] = dat%1000/100。 //顯示字節(jié)的百位 。 n[3] = dat%100/10。 //顯示字節(jié)的十位 。 n[4] = dat%10。 //顯示字節(jié)的個位 。 LCD_WriteAddress(addr)。 //寫入顯示地址 。 write_date(digit[n[0]])。 //顯示萬位 。 write_date(digit[n[1]])。 //顯示千位 。 write_date(digit[n[2]])。 //顯示百位 。 write_date(digit[n[3]])。 //顯示十位 。 write_date(digit[n[4]])。 //顯示個位 。 } /************************************************************************* 函數(shù)功能:寫一個字節(jié)數(shù)據(jù)到 LCD *************************************************************************/ void LCD_DispalyRGY(uchar addr,uchar dat) { 7 uchar n[3] = {0,0,0}。 //臨時數(shù)據(jù)緩沖數(shù)組 。 n[0] = dat%100/10。 //顯示字節(jié)的十位 。 n[1] = dat%10。 //顯示字節(jié)的個位 。 LCD_WriteAddress(addr)。 //寫入顯示地址 。 write_date(digit[n[0]])。 //顯示百位 。 write_date(digit[n[1]])。 //顯示十位 。 } /************************************************************************* 函數(shù)功能:寫字符串到 LCD *************************************************************************/ void LCD_DispalyString(uchar addr,char *dat) //顯示字符串 { uchar Char。 LCD_WriteAddress(addr)。 //寫入顯示地址 。 for(Char=*dat。*dat!=39。\039。dat++) { Char=*dat。 write_
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1