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

正文內(nèi)容

基于單片機(jī)的電阻爐溫度控制系統(tǒng)設(shè)計(jì)大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)論文理工類(lèi)-資料下載頁(yè)

2025-07-27 02:46本頁(yè)面
  

【正文】 )當(dāng)設(shè)定溫度小于實(shí)際溫度,說(shuō)明溫度已超調(diào),故電熱絲不工作,使其降溫。參考文獻(xiàn)[1] 楊世興.郭秀才監(jiān)測(cè)監(jiān)控系統(tǒng).中國(guó)電力出版社,2007[2] 丁鎮(zhèn)生.傳感器及傳感技術(shù)應(yīng)用.電子工業(yè)出版社,2002[3] 陳良光.劉劍亮.DS18X20在多點(diǎn)測(cè)溫中的編碼優(yōu)化技術(shù).電子工業(yè)出版社,2001[4] 陳潤(rùn)泰、許琨編.檢測(cè)技術(shù)與智能儀表.長(zhǎng)沙:中南工業(yè)大學(xué)出版社,1998[5] 蔡美琴等.MCS一51系列單片機(jī)系統(tǒng)及其應(yīng)用.北京:高等教育出版社,1999[6] 劉迎春、葉湘濱.傳感器原理設(shè)計(jì)與應(yīng)用(第三版).長(zhǎng)沙:國(guó)防科技大學(xué)出版社,1997[7] 戴佳.51單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)典型實(shí)例.北京:中國(guó)電力出版社,2005[8] 范風(fēng)強(qiáng).單片機(jī)語(yǔ)言C51應(yīng)用實(shí)戰(zhàn)集錦.北京:電子工業(yè)出版社,2005 [9] 謝宜仁.:人民郵電出版社,2003[10] 趙晶.Protel99高級(jí)應(yīng)用.北京:人民郵電出版社,2000[11] 沙占友.智能化集成溫度傳感器原理與應(yīng)用.北京:機(jī)械工業(yè)出版社,2002[12] 付家才.單片機(jī)控制工程實(shí)踐技術(shù).北京:化學(xué)工業(yè)出版社,2004致 謝經(jīng)過(guò)三個(gè)月的學(xué)習(xí)和試驗(yàn),終于完成了我的畢業(yè)設(shè)計(jì)。看著自己辛勤的成果,心里非常高興。在這期間遇到了很多從來(lái)都沒(méi)有遇到過(guò)的問(wèn)題,但是通過(guò)自己的努力和老師、同學(xué)的幫助最后把它們一一解決了。其中在蔣麗英老師的精心安排和指導(dǎo)下,對(duì)題目有了較深入的理解,也嘗到了電路系統(tǒng)設(shè)計(jì)的艱辛。在本次設(shè)計(jì)中我在各個(gè)環(huán)節(jié)中都做到了深入實(shí)際,動(dòng)手實(shí)踐,不僅對(duì)我們學(xué)過(guò)的理論知識(shí)進(jìn)行了一次全面的復(fù)習(xí)和鞏固,而且還在電子電路、單片機(jī)等方面拓展了我們的知識(shí)面,為將來(lái)的實(shí)際工作打下良好的基礎(chǔ),特別是在分析問(wèn)題,解決問(wèn)題的方面得到了良好的鍛煉機(jī)會(huì),受益匪淺。由于本人水平和經(jīng)驗(yàn)有限,在設(shè)計(jì)的過(guò)程中難免存在一些不足甚至一些錯(cuò)誤,敬請(qǐng)各位老師和同學(xué)批評(píng)指正。最后,向我的指導(dǎo)教師蔣麗英老師表示誠(chéng)摯的感謝,同時(shí),也向幫助過(guò)我的同學(xué)們表示感謝!附錄Ⅰ 程序清單includeincludeincludeinclude define CIRCLE 100define uchar unsigned chardefine uint unsigned int。struct PID { unsigned int SetPoint。 // 設(shè)定目標(biāo) Desired Value unsigned int Proportion。 // 比例常數(shù) Proportional Const unsigned int Integral。 // 積分常數(shù) Integral Const unsigned int Derivative。 // 微分常數(shù) Derivative Const unsigned int LastError。 // Error[1] unsigned int PrevError。 // Error[2] unsigned int SumError。 // Sums of Errors }。 struct PID spid。 // PID Control Structure unsigned int rout。 // PID Response (Output) unsigned int rin。 // PID Feedback (Input) typedef unsigned char BYTE。typedef unsigned int WORD。typedef bit BOOL 。sbit key1=P3^2。 //定義按鍵位置sbit key2=P3^3。sbit key3=P3^4。sbit key4=P3^5。sbit key5=P3^6。sbit key6=P3^7。sbit rs = P1^0。sbit rw = P1^1。sbit ep = P1^2。sbit pwm=P1^5。 //sbit DQ=P1^3。//ds18b20 信號(hào)引腳即DQsfr dataled=0x80。//顯示數(shù)據(jù)端口 即P2口為段選碼輸入口uchar temp。//溫度變量unsigned char set_temper=30。 unsigned char high_time。unsigned int s。 uchar flag_get,count,num,counter。 //溫度讀取標(biāo)志位、中斷次數(shù)變量,t0中斷次數(shù)以讀取溫度值, t1中斷次數(shù)以控制周期和pwm的占空比。char const table[]={100,80,70,60,50,40,30,20,0}。//高電平時(shí)間查表ucharcode tab[]={0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,0x20,0xA0,0x60,0x25,0x3C,0x23,0x34,0x74,0xF7,0xFF}。//,0x88,0x83,0xC6,0xA1,0x86,0x8E}。//共陽(yáng)led顯示段碼1~15段碼表uchar shi,ge,danwei,dang,dang_dis。 // 定義溫度十位、個(gè)位、攝氏度單位、及檔位變量名稱(chēng),及顯示檔位的查表變量void delay1(uchar MS)。// 延時(shí)函數(shù)unsigned char ReadTemperature(void)。//讀溫度子函數(shù)void Init_DS18B20(void)。// DS18B20初始化unsigned char ReadOneChar(void)。//讀字節(jié)子函數(shù)void WriteOneChar(unsigned char dat)。//寫(xiě)字節(jié)子函數(shù)void delay(unsigned int i)。//延時(shí)//void del(unsigned int)。void drive_moto()。//由P1低四位輸出控制信號(hào)void initial()。unsigned int TempBuffer[5]。BYTE code dis1[] = {Temperature:}。BYTE code dis2[] = {Set_Temper:}。BYTE code dis3[] = {0123456789}。BYTE code dis4[] = 0xdf。BYTE code dis5[] = {C}。delay2(BYTE ms){ BYTE i。 while(ms) { for(i = 0。 i i++) { _nop_()。 _nop_()。 _nop_()。 _nop_()。 } }}BOOL lcd_bz(){ // 測(cè)試LCD忙碌狀態(tài) BOOL result。 rs = 0。 rw = 1。 ep = 1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 result = (BOOL)(P0 amp。 0x80)。 ep = 0。 return result。 }lcd_wcmd(BYTE cmd){ // 寫(xiě)入指令數(shù)據(jù)到LCD while(lcd_bz())。 rs = 0。 rw = 0。 ep = 0。 _nop_()。 _nop_()。 P0 = cmd。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep = 1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep = 0。 }lcd_pos(BYTE pos){ //設(shè)定顯示位置 lcd_wcmd(pos | 0x80)。}lcd_wdat(BYTE dat) { //寫(xiě)入字符顯示數(shù)據(jù)到LCD while(lcd_bz())。 rs = 1。 rw = 0。 ep = 0。 P0 = dat。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep = 1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 ep = 0。 }lcd_init(){ //LCD初始化設(shè)定 lcd_wcmd(0x38)。 // delay2(1)。 lcd_wcmd(0x0c)。 // delay2(1)。 lcd_wcmd(0x06)。 // delay2(1)。 lcd_wcmd(0x01)。 //清除LCD的顯示內(nèi)容 delay2(1)。}void initial(){EA=1。TMOD=0x11。//定時(shí)器設(shè)置皆工作在16定時(shí)計(jì)數(shù)器模式TH0=0xef。//T0賦初值TL0=0xf0。TH1=(655361000)/256。//T1賦初值TL1=(655361000)%256。ET1=1。ET0=1。TR0=1。TR1=1。P2=0xff。 count=0。counter=0。//pwm占空比控制變量//IP=0x08。 //T1優(yōu)先級(jí)高于T0 ,后來(lái)證明此語(yǔ)句是多余的,因?yàn)楫?dāng)加入此句后反/////而pwm調(diào)速和溫度檢測(cè)都變得有點(diǎn)不穩(wěn)定。}void delay(unsigned int i)//延時(shí)函數(shù){ while(i)。 }//18b20初始化函數(shù),檢測(cè)總線上是否有從屬器件DS的存在,若存在則通訊成功void Init_DS18B20(void){ unsigned char x=0。 DQ = 1。 //DQ復(fù)位 delay(8)。 //稍做延時(shí) DQ = 0。 //單片機(jī)將DQ拉低 delay(80)。 //延時(shí) 大于 480us DQ = 1。 //拉高總線 delay(10)。 x=DQ。 //稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗,因?yàn)镈Q復(fù)位成功的回答信號(hào)即存在信號(hào)是低電平 delay(5)。}//讀一個(gè)字節(jié)ROMunsigned char ReadOneChar(void){unsigned char i=0。unsigned char dat = 0。for (i=8。i0。i) { DQ = 0。 // 給脈沖信號(hào) dat=1。 DQ = 1。 // 給脈沖信號(hào) if(DQ) dat|=0x80。// delay(5)。 } return(dat)。}//寫(xiě)一個(gè)字節(jié)void WriteOneChar(unsigned char dat){ unsigned char i=0。 for (i=8。 i0。 i) { DQ = 0。 DQ = datamp。0x01。 delay(5)。 DQ = 1。 dat=1。 }delay(5)。}//讀取溫度unsigned char ReadTemperature(void){unsigned char a=0。unsigned char b=0。unsigned char t=0。Init_DS18B20()。// 復(fù)位WriteOneChar(0xCC)。 // 跳過(guò)讀序號(hào)列號(hào)的操作WriteOneChar(0x44)。 // 啟動(dòng)溫度轉(zhuǎn)換delay(100)。Init_DS18B20()。 //每次操作前都要進(jìn)行復(fù)位WriteOneChar(0xCC)。 //跳過(guò)讀序號(hào)列號(hào)的操作 WriteOneChar(0xBE)。 //讀取溫度寄存器等(共可讀9個(gè)寄存器) 前兩個(gè)就是溫度a=ReadOneChar()。b=ReadOneChar()。s=(unsigned int)(aamp。0x0f)。 b=4。//取高字節(jié)的第四位,因?yàn)楦咚奈粸榉?hào)位:1111為負(fù),0000為正,b+=(aamp。0xf0)4。//忽略小數(shù)位,取a的高四位,與b的相加就是此時(shí)所測(cè)得到整數(shù)溫度值t=b。return(t)。//返回溫度值給這個(gè)函數(shù)}void printf(){ BYTE i。 delay2(10)。 lcd_pos(0x00)。 // 設(shè)置顯示位置為第一行的第5個(gè)字符 i = 0。 while(dis1[i] != 39。\039。) { // 顯示字符wele! lcd_wdat(dis1[i])。 i++。 } lcd_pos(0x40)。 // 設(shè)置顯示位置為第二行第二個(gè)字符 i = 0。 while(dis2[i] != 39。\039。) { lcd_wdat(dis2[i])。 // 顯示字符 i++。 } TempBuffer[0]=temp/10。 //十位 TempBuffer[1]=temp%10。 //個(gè)位 lcd_pos(0x0c)。 lcd_wdat(dis3[TempBuffer[0]])。 //測(cè)試溫度十位 lcd_pos(0x0d)。 lcd_wdat(dis3[TempBuffer[1]])。 //測(cè)試溫度個(gè)位 lcd_pos(0x0e)。 lcd_wdat(dis4[0])。 lcd_pos(0x0f)。 lcd_wdat(dis5[0])。
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1