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

正文內(nèi)容

基于單片機的恒溫水箱控制系統(tǒng)的軟件設(shè)計畢業(yè)論文-資料下載頁

2025-06-22 02:21本頁面
  

【正文】 窗之誼和手足之情,我將終生難忘。師生之情,血濃于水的感情將陪伴我度過一生,這將是我前進(jìn)、成長的階梯。今天的努力必定換來叨天的豐收,在未來的學(xué)習(xí)和研究過程中,我將以更加豐厚的成果來答謝曾經(jīng)關(guān)心、幫助和支持過我的所有領(lǐng)導(dǎo)、老師、同學(xué)和朋友。再一次向所有幫助過我的人們表示最誠摯的謝意,謝謝你們!畢業(yè)論文(設(shè)計)29參考文獻(xiàn)[1] 朱衛(wèi)華,洪鎮(zhèn)南,熱處理爐群的溫控系統(tǒng)設(shè)計[J] . 電工技術(shù). 2022, 4[2] 鄧生明 .中溫箱式電阻爐微機控制系統(tǒng)設(shè)計[J]. 機電工程技術(shù)。2022, 10;39~40[3]趙麗娟、邵欣編著《基于單片機的溫度監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)》機械制造。2022[4]Alan . DiscreteTime Signal Processing Pearson Education。 3rd Revised edition 2022 [5],:機械工業(yè)出版社, 2022[6] U. Tietze Ch. Schenk. Electronic Circuits, Handbook for Design and Application. New York: SpringerVerlag, berlin, 2022[7]郭天祥. 新概念 51 單片機 C 語言教程——入門、提高、開發(fā)、拓展[M].北京:電子工業(yè)出版社,2022[8]楊欣等. 51 單片機應(yīng)用實例詳解[M].北京:清華大學(xué)出版社,2022[9]于微波,張德江. 計算機控制系統(tǒng)[M]. 北京: 高等教育出版社, 2022[10]彭偉. 單片機 C 語言程序設(shè)計實訓(xùn) 100 例——基于 8051+Proteus 仿真[M] .北京: 電子工業(yè)出版社, 2022[11][M].北京:北京航空航天大學(xué)出版社,2022[12]杜方迅、董興法、歐揚、[J].南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2022. 23(7);3269.畢業(yè)論文(設(shè)計)30附錄 1 電路圖畢業(yè)論文(設(shè)計)31附錄 2 程序include include define uchar unsigned chardefine uint unsigned int//聲明與 ADC 相關(guān)的特殊寄存器 sfr ADC_CONTR =0xBC。 //ADC 控制寄存器 sfr ADC_RES =0xBD。 //ADC 轉(zhuǎn)換結(jié)果寄存器高 8 位 sfr P1ASF =0x9D。 //P1 口第二功能控制寄存器//定義 ADC_CONTR 的操作常量define ADC_POWER 0x80 //ADC 電源控制位define ADC_FLAG 0x10 //ADC 轉(zhuǎn)換結(jié)束標(biāo)志位define ADC_START 0x08 //ADC 開始控制位define ADC_SPEEDLL 0x00 //540 個時鐘周期sbit DS=P3^3。 //定義 DS18B20 接口sbit buffer=P2^7。 //定義蜂鳴器sbit key1=P2^3。 //定義按鍵+5sbit key2=P2^4。 //定義按鍵5sbit key3=P2^5。 //定義按鍵改變溫度sbit key4=P2^6。int temp。 uchar flag1,a。 uint b。 typedef unsigned char BYTE。 typedef unsigned int WORD。 void display(unsigned char *lp,unsigned char lc)。//數(shù)字的顯示函數(shù); lp 為//指向數(shù)組的地址,lc 為顯示的個數(shù)void delay()。//延時子函數(shù),5 個空指令codeunsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x08,0x00}。//共陰數(shù)碼管 09 _ 空表unsigned char l_tmpdate[8]={0,0,10,0,0,0,0,0}。//定義數(shù)組變量,并賦值畢業(yè)論文(設(shè)計)321,//2,3,4,5,6,7,8,就是本程序顯示的八個數(shù)int tmp(void)。void tmpchange(void)。void tmpwritebyte(uchar dat)。uchar tmpread(void)。bit tmpreadbit(void)。void dsreset(void)。void delayb(uint count)。void InitADC()。void Delay(WORD n)。void key()。void delay10ms()。c=50。void main() //主函數(shù){ uchar i。 int l_tmp。 while(1) {key()。 tmpchange()。 //溫度轉(zhuǎn)換l_tmp=tmp()。if(l_tmp0)l_tmpdate[0]=10。 //判斷溫度為負(fù)溫度,前面加else{l_tmpdate[0]=temp/1000。 //顯示百位,這里用 1000,是因為我們之前乖以//10 位了if(l_tmpdate[0]==0)l_tmpdate[0]=12。//判斷溫度為正溫度且沒有上百,前//面不顯示}畢業(yè)論文(設(shè)計)33if(c80amp。a900)buffer=0。 //如果溫度超過 80 或液位超過一米報警else{buffer=1。} l_tmp=temp%1000。 l_tmpdate[1]=l_tmp/100。//獲取十位 l_tmp=l_tmp%100。 l_tmpdate[2]=l_tmp/10。//獲取個位 l_tmpdate[3]=11。 l_tmpdate[4]=l_tmp%10。//獲取小數(shù)第一位 l_tmpdate[5]=b/100。 //獲取液位百位 b=b%100。 l_tmpdate[6]=b/10。 //獲取液位十位 l_tmpdate[7]=b%10。 //獲取液位個位 for(i=0。i10。i++) //循環(huán)輸出 10 次,提高亮度 {display(l_tmpdate,5)。} }}void adc_isr()interrupt 5 using 1 //ADC 中斷服務(wù)子程序{ADC_CONTRamp。=!ADC_FLAG。//清除 ADC 中斷標(biāo)志位,amp。=按位與后賦值,!邏輯非a=ADC_RES。 //結(jié)果存入數(shù)組b=(a/256)*100。ADC_CONTR=0x88。}void InitADC() //初始 ADC 特殊寄存器{P1ASF=0X01。 //設(shè)置 口作為模擬輸入口ADC_RES=0。 //清除先前的結(jié)果ADC_CONTR=0x88。 //設(shè)置 ADC 速度和通道Delay(2)。 //ADC 上電延遲}畢業(yè)論文(設(shè)計)34void key(){ if(key3==0) {delay10ms()。if(key3==0){if(key1==0){delay10ms()。if(key1==0)c=c+5。while(!key1)。}if(key2==0){delay10ms()。if(key2==0)c=c5。while(!key2)。}} }}void display(unsigned char *lp,unsigned char lc)//顯示{unsigned char i。 //定義變量P2=0。 //端口 2 為輸出P2=P2amp。0xF8。 //將 P1 口的前 3 位輸出 0,對應(yīng) 138 譯門輸入腳,全//0 為第一位數(shù)碼管for(i=0。ilc。i++){ //循環(huán)顯示P0=table[lp[i]]。 //查表法得到要顯示數(shù)字的數(shù)碼段delay()。 //延時 5 個空指令畢業(yè)論文(設(shè)計)35if(i==7) //檢測顯示完 8 位否,完成直接退出,不讓 P1 口再加//1,否則進(jìn)位影響到第四位數(shù)據(jù)break。P0=0。 //清 0 端口,準(zhǔn)備顯示下位P2++。 //下一位數(shù)碼管}}void delay(void) //空 5 個指令{_nop_()。_nop_()。_nop_()。_nop_()。_nop_()。}void delayb(uint count) //delay{ uint i。 while(count) { i=200。 while(i0) i。 count。 }}void dsreset(void) //DS18B20 初始化{ uint i。 DS=0。 i=103。 while(i0)i。 DS=1。 i=4。 while(i0)i。畢業(yè)論文(設(shè)計)36}bit tmpreadbit(void) // 讀一位{ uint i。 bit dat。 DS=0。i++。 //小延時一下 DS=1。i++。i++。 dat=DS。 i=8。while(i0)i。 return (dat)。}uchar tmpread(void) //讀一個字節(jié){ uchar i,j,dat。 dat=0。 for(i=1。i=8。i++) { j=tmpreadbit()。 dat=(j7)|(dat1)。 //讀出的數(shù)據(jù)最低位在最前面,這樣剛好 //一個字//節(jié)在 DAT 里 } return(dat)。 //將一個字節(jié)數(shù)據(jù)返回}void tmpwritebyte(uchar dat) { //寫一個字節(jié)到 DS18B20 里 uint i。 uchar j。 bit testb。 for(j=1。j=8。j++) { testb=datamp。0x01。畢業(yè)論文(設(shè)計)37 dat=dat1。 if(testb) // 寫 1 部分 { DS=0。 i++。i++。 DS=1。 i=8。while(i0)i。 } else { DS=0。 //寫 0 部分 i=8。while(i0)i。 DS=1。 i++。i++。 } }}void tmpchange(void) //發(fā)送溫度轉(zhuǎn)換命令{ dsreset()。 //初始化 DS18B20 delayb(1)。 //延時 tmpwritebyte(0xcc)。 // 跳過序列號命令 tmpwritebyte(0x44)。 //發(fā)送溫度轉(zhuǎn)換命令}int tmp() //獲得溫度{ float tt。 uchar a,b。 dsreset()。 delayb(1)。 tmpwritebyte(0xcc)。 畢業(yè)論文(設(shè)計)38 tmpwritebyte(0xbe)。 //發(fā)送讀取數(shù)據(jù)命令 a=tmpread()。 //連續(xù)讀兩個字節(jié)數(shù)據(jù) b=tmpread()。 temp=b。 temp=8。 temp=temp|a。 //兩字節(jié)合成一個整型變量。 tt=temp*。 //得到真實十進(jìn)制溫度值,因為 DS18B20//可以精確到 度,所以讀回數(shù)據(jù)的最低位代表的是// 度。 temp=tt*10+。 //放大十倍,這樣做的目的將小數(shù)點后第一位//也轉(zhuǎn)換為可顯示數(shù)字,同時進(jìn)行一個四舍五入操作。 return temp。 //返回溫度值}void Delay(WORD n) //軟件延遲{WORD x。while(n){x=5000。while(x)。}}void delay10ms() //延遲 10ms { uchar a,b。 for(a=10。a0。a) for(b=60。b0。b)。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1