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

正文內(nèi)容

基于單片機(jī)的爐溫控制系統(tǒng)設(shè)計畢業(yè)設(shè)計-資料下載頁

2025-06-30 17:41本頁面

【導(dǎo)讀】電阻爐是通過電流流過電阻。體產(chǎn)生熱量來加熱或熔化物料的一種電爐。電阻爐廣泛地應(yīng)用在化工、冶金等行業(yè)。工業(yè)生產(chǎn)中具有重要的意義。本設(shè)計采用單片機(jī)作為數(shù)據(jù)處理與控制單元,以電阻爐作為控制對象,用熱電偶作為測量元件,該系統(tǒng)利用K型熱電偶溫度傳感器,把。機(jī)STC89C52內(nèi)進(jìn)行PID運算,同時可以通過鍵盤調(diào)節(jié)PID參數(shù)。經(jīng)PID運算后,比例調(diào)節(jié)輸出量改。變晶閘管控制量,變晶閘管的導(dǎo)通角,從而控制電阻爐的加熱強(qiáng)度。

  

【正文】 // 13 14 15 16 unsigned char l_key=0x0。 //定義變量,存放鍵值 unsigned char l_keyold=0xFF。 //做為按鍵松開否的憑證 uchar qian,bai,shi,ge。 void delay(uint i) 。 void ReadKey(void)。 void led(uchar t)。 void delay_50ms(unsigned int t)。 uint t。 uint zlPID()。 uint temperature。 //** 功能: 50MS 延時程序 //**************************************************************/ void delay_50ms(unsigned int t) { unsigned int j。 for(。t0。t) for(j=50。j0。j) {。} } // void delay(uint i) { for(。i0。t) {。} } //*************顯示程序 *******************// void fbyte(uchar byte) { uchar num,c。 num=a[byte]。 for(c=0。c8。c++) { CLK=0。 DAT=numamp。0x01。 //保留最低一位 ,并發(fā)送 CLK=1。 num=1。 //將八位數(shù)據(jù)在每個上升沿后,自動右移一位,目的是將八位數(shù)據(jù)按位發(fā)送 } 物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計 29 } void led(uchar t) { static uchar j,b[4]。 b[1]=t/100。 b[2]=t/10%10。 b[3]=t%10。 b[0]=0。 for(j=0。j4。j++) { fbyte(b[j])。 //分別發(fā)送四位 LED 數(shù)碼管的顯示數(shù)據(jù) } delay_50ms(1000)。 } /************ MAX6675 函數(shù) ************/ //采集并返回 uint read(void) { unsigned char i。 unsigned int dat_temp,dat_6675。 dat_temp=0。 dat_6675=0。 CS=1。 delay(100)。 SCK=1。 CS=0。 delay(100)。 SCK=0。 for(i=0。i16。i++) { SCK=1。 dat_temp=dat_temp1。 if(SO==1) dat_temp=dat_temp|0x01。 SCK=0。 } CS=1。 dat_tempamp。=0x04。 dat_temp=dat_temp1。 dat_temp=dat_temp4。 dat_temp=dat_temp/4。 物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計 30 dat_6675 =dat_temp。 return dat_6675。 } //==================PID 子程序 ====================// uint zlPID(uint sk) { float K,I,D。 //比例增量 ,積分增量 ,微分增量 ek=gdsk。 //偏差計算 if(ek==0||ek2) { pk=0。} else {K=kp/20*(ekek_1)。 //計算比例計算增量 D=kd/20*(ek2*ek_1+ek_2)+*D_1。 //計算微分計算增量 if((ek100)||(ek100)) I=0。 //積分分離 else I=ki/20*ek。 ph=K+I+D。 //PID 增量 pk=pk_1+ph。 } return((uint)pk)。 } //====================鍵盤掃描子程序 ====================// //掃描鍵盤 獲取鍵值 void ReadKey(void) //分三個部份來理解, { unsigned char i,j,key。 //**************第一部份,掃描讀取鍵值 ******************************/ key=0xff。 //設(shè)定初值 KEY4_4=0xfe。 //第一行掃描 if(KEY4_4!=0xfe) key=KEY4_4。 KEY4_4=0xfd。 //第二行 if(KEY4_4!=0xfd) key=KEY4_4。 KEY4_4=0xfb。 //第三行 if(KEY4_4!=0xfb) key=KEY4_4。 KEY4_4=0xf7。 //第四行 物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計 31 if(KEY4_4!=0xf7) key=KEY4_4。 KEY4_4=0XFF。 //復(fù)位接口 /**************** 第 二 部 份 , 檢 測 是 否 干 擾 或 無 按 鍵 按 下********************/ if (key==0xff){ //如果讀取不到接口的值 l_keyold=0xff。 return。 } /****************第三部份,檢測是否新按鍵按下,獲取新的鍵盤編碼值*******/ if(l_keyold!=key){ //檢測是否為新的鍵被按下 l_keyold=key。 //保存鍵碼做為下次檢測 for(i=0。i17。i++){ //查表獲得相應(yīng)的鍵號存放 l_key 變 量中 if (key==key_tab[i]){ l_key=i。 switch(i) {case 0x77:key1()。break。 case 0x7B:key2()。break。 case 0x7D:key3()。break。 case 0x7E:key4()。break。 case 0xB7:key5()。break。 case 0xBB:key6()。break。 case 0xBD:break。 case 0xBE:break。 case 0xD7:break。 case 0xDB:break。 case 0xDD:break。 case 0xDE:break。 case 0xE7:break。 case 0xEB:break。 case 0xED:break。 case 0xEE:break。 } } } //轉(zhuǎn)換的鍵號放于 l_key 變量中,主程序就可以檢測此變量做相應(yīng)外理 } //====================按鍵處理子程序 =====================// void key1(void) //自動鍵 {flag=0。flags=0。flagk=1。} 物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計 32 void key2(void) //手動鍵 {flag=1。flags=1。flagk=1。} void key3(void) //參數(shù)鍵 {flag=2。flagk=0。flags=1。} void key4(void) //選擇鍵 {flag=3。 if(flags==0) { if(flag2==0){flag2=1。} else {flag2=!flag2。} } else if(flagk==0) { if(flag11) {flag1=0。} else {flag1++。} } } void key5(void) //增加鍵 { if(flag1==1) {pk_1++。} else if((flag==3)amp。(flags==0)) {geiding++。} else if(((flag==2)||(flag==3))amp。amp。(flag1==0)amp。amp。(flagk==0)) {kp++。} else if(((flag==2)||(flag==3))amp。amp。(flag1==1)amp。amp。(flagk==0)) {ki++。} else if(((flag==2)||(flag==3))amp。amp。(flag1==2)amp。amp。(flagk==0)) {kd++。} } void key6(void) //減小鍵 { if(flag==1) {pk_1。} else if((flag==3)amp。(flags==0)) {geiding。} else if(((flag==2)||(flag==3))amp。amp。(flag1==0)amp。amp。(flagk==0)) {kp。} else if(((flag==2)||(flag==3))amp。amp。(flag1==1)amp。amp。(flagk==0)) {ki。} else if(((flag==2)||(flag==3))amp。amp。(flag1==2)amp。amp。(flagk==0)) {kd。} } 物理科學(xué)與工程技術(shù)學(xué)院畢業(yè)設(shè)計 33 void main() { while(1) { t=read()。 zlPID()。 if(t300) {P1_7=0。} keysm()。 led(t)。 } }
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1