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

正文內(nèi)容

基于89s52的飲水機(jī)加熱控制系統(tǒng)課程設(shè)計(jì)-閱讀頁(yè)

2024-09-17 19:58本頁(yè)面
  

【正文】 sbit g1=P2^7。 char temp=0xff。//加熱模式 1 的計(jì)時(shí) 20 分鐘需要循環(huán)次數(shù) ui bs。//用于給 bs 裝初值 uc xz=0。//選擇的加熱模式 0123 uc pd。//方式 2 記錄環(huán)境溫度, ys char t0。 //延時(shí)程序 void delay1us(ui i) //延時(shí) 2us 的延時(shí)程序 { while(i)。 while(i) { for(j=0。j++)。 uc b。 b=temp%10。 P0=~num[a]。 單片機(jī)設(shè)計(jì)報(bào)告 15 g1=0。 P0=~num[b]。 g2=0。 dq=1。 dq=0。 // 延時(shí) 480us dq=1。 // 延時(shí) 80 微秒 a=dq。 // 等待總線恢復(fù) // a 值, 0 為正常, 1 為故障 } //對(duì) DS 寫數(shù)據(jù) void DS_write(uc dat) {uc i=0。i0。 dq= datamp。 delay1us(5)。 dat=1。 for(i=8。i) { dq=0。 dq=1。 } delay1us(4)。 } 單片機(jī)設(shè)計(jì)報(bào)告 16 //檢測(cè)溫度 char temp_read() {uc a=0,b=0。 char k=0。 //復(fù)位 DS_write(0xCC)。 delay1us(100)。 DS_write(0xCC)。 delay1us(100)。//溫度高字節(jié)放在 a b=DS_read()。 //, 12480000,把低字節(jié)高四位的數(shù)左移 4 位并補(bǔ) 0 ,注意這里原本是高位在后低位在前 //看不懂請(qǐng)查閱內(nèi)部放置位置資料 temp+=(aamp。//0000,16,32,64,S 把高字節(jié)的低四位后移 4 位,并加上低字節(jié)的高四位 //于是得到權(quán)為 1,2,4,8,16,32,64,s 的二進(jìn)制數(shù), s 為正負(fù)判斷位 //溫度數(shù)值轉(zhuǎn)換 //把倒放的溫度轉(zhuǎn)化為正常的十進(jìn)制 for(j=0。j++) //把高位在后低位在前的溫度值轉(zhuǎn)換成低位在后高位在前 {z[j]=tempamp。 i=_crol_(i,1)。 } temp=k。 //把溫度顯示在數(shù)碼管上 return temp。 //設(shè)置 tt0 來(lái)記錄環(huán)境溫度,為方便作業(yè)的驗(yàn)收才弄的,實(shí)際可去掉 //以下如果有 ys 字眼的表示都是為驗(yàn)收才設(shè)置的 temp_read()。 tt0=temp_read()。 //jd 為 0 時(shí)繼電器線圈導(dǎo)通,開(kāi)始加熱 單片機(jī)設(shè)計(jì)報(bào)告 17 jr=0。 //熄滅待機(jī) led 燈 while(temp_read()tt0+2)。 //繼電器線圈截止 jr=1。 //點(diǎn)亮待機(jī) led while(1) {while(temp_read()tt0+1)。 jr=0。 while(temp_read()tt0+2)。 jr=1。 } } //加熱模式 1:時(shí)間段加熱(間隔 30*xmin) void heat1() {TMOD=0X01。 TL0=(6553550000)%256。 EA=1。 ET0=1。 } void tt() interrupt 1 { t。 t=200。 dj=1。 //為定時(shí)器重新賦初值 TL0=(6553550000)%256。 jr=1。 } } //加熱模式 2:保溫 65 度左右 void heat2() {uc tt2。 temp_read()。 tt2=temp_read()。 jd=0。 dj=1。 jd=1。 dj=0。 uc tt3。//設(shè)置中斷 EX1=1。 temp_read()。 tt3=temp_read()。 //xz 為 0 時(shí)階段 0 jd=0。 dj=1。 jd=1。 dj=0。 jd=0。 dj=1。 jd=1。 dj=0。 //把 xz 加 1,下面進(jìn)入階段 1 pd=1。 //跳出這次的 switch,再進(jìn)行判斷 case 1: //與階段 0 主要是需要加熱時(shí)的溫度更低了,即加熱間隔時(shí)長(zhǎng)變長(zhǎng) while(temp_read()tt3+4amp。xz)。 jr=0。} while(temp_read()tt3+6amp。xz)。 jr=1。} if(pd) xz++。 case 2: while(temp_read()tt3+3amp。xz)。 jr=0。} while(temp_read()tt3+6amp。xz)。 jr=1。} if(pd) xz++。 case 3: while(temp_read()tt3amp。xz)。 jr=0。} 單片機(jī)設(shè)計(jì)報(bào)告 20 while(temp_read()tt3+6amp。xz)。 jr=1。} if(pd) xz++。//系統(tǒng)進(jìn)入待機(jī)狀態(tài),不再監(jiān)測(cè)溫度和加熱 } } } void int1() interrupt 2 //發(fā)現(xiàn)有人用水時(shí),重新進(jìn)入階段 0,模式 3 重新啟動(dòng) { xz=0。 } //加熱模式選擇函數(shù) void way() {uc p。 //不知道為什么弄的都是消抖程序,有很多種,這里是其中一種方式 if(k1==0) {while(k1==0)。 if(k2==0) ms++。//就是就是一個(gè) ms%=3 的指令 ,ms 超過(guò) 3 時(shí)回到 0,范圍只喲 03 } switch(ms)//顯示當(dāng)前 ms 對(duì)應(yīng)的工作模式,并點(diǎn)亮對(duì)應(yīng) led 燈 {case 0:led0=0。 led2=1。 p=1。 case 1:led0=1。 led2=1。p=1。 case 2:led0=1。 led2=0。p=1。 單片機(jī)設(shè)計(jì)報(bào)告 21 case 3:led0=1。 led2=1。p=1。 } } delay1ms(15)。//用于判斷是否有選擇了工作模式,有的話跳 出這個(gè)模式選擇程序 } } //主控制函數(shù) void main() {way()。 case 1:heat1()。 case 3:hea
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1