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

正文內(nèi)容

商用智能節(jié)水淋浴器的設(shè)計與實現(xiàn)畢業(yè)論文-閱讀頁

2025-07-07 16:53本頁面
  

【正文】 圖。IE和IE2是中斷允許寄存器,IP/IPH/IP2/IP2H可以對10個中斷源設(shè)置4級優(yōu)先級。 //外部中斷低電平觸發(fā) IPH=0X05。//中斷優(yōu)先級為INT0 INT1 T0 IE=0X9F。//按鍵點亮sum++。delay(1000)。}//*********************外部中斷1****************************void Int1_Routine(void) interrupt 2{ uint m,n。//按鍵點亮 wendu_set++。 p1_1=1。 流量計及其調(diào)試方法要實現(xiàn)在服務(wù)端實時顯示剩余水量,在上位機端實時顯示已用的水量,就要對水量進行測量,直接測量剩余水量水量和已用水量幾乎是不可行的,本設(shè)計的解決方案是利用流量計實時得對流量進行測量,從而得出水量信息,使用的流量計如下圖: 流量計該流量計屬于渦輪流量計,當(dāng)有水流通過是內(nèi)部渦輪轉(zhuǎn)動產(chǎn)生脈沖信號,該脈沖信號可以直接通過單片機的定時/計數(shù)接口進行計數(shù),通過計數(shù)的多少來衡量通過的水量,這樣就可以確定剩余的水量(設(shè)定水量遞減)和已用的水量(遞加)。因為本設(shè)計只是為了驗證方案可行性和技術(shù)可靠性,所以并沒有仔細計算水量與脈沖數(shù)量的對應(yīng)關(guān)系,這樣可以使實驗效果比較好。連接方式如下圖: 流量計與單片機連接方式STC12C5A60S2的定時器0和1與傳統(tǒng)的8051單片機完全兼容,此外,兩路PWM可以再實現(xiàn)兩個16位定時/計數(shù)器。定時/計數(shù)器的核心部件是一個加法(也有減法)器,對脈沖進行計數(shù),只是脈沖的來源不同,定時器的脈沖來自于系統(tǒng)時鐘(每個系統(tǒng)周期或者12個系統(tǒng)周期得到一個技術(shù)脈沖)。定時/計數(shù)器0和1都有4種工作狀態(tài),模式0是13位定時/計數(shù)器,模式1是16位定時/計數(shù)器,模式2是8位自動重裝定時/計數(shù)器,模式3是兩個8位的定時/計數(shù)器。名稱寄存器地址作用定時器/計數(shù)器控制寄存器TCON88H定時器0和1的中斷標志位和運行控制位定時器/計數(shù)器工作模式寄存器TMOD89H定時器0和1的開關(guān),和工作模式選擇計數(shù)值低位TL08AH計數(shù)值低位計數(shù)值低位TL18BH計數(shù)值低位計數(shù)值高位TH08CH計數(shù)值高位計數(shù)值高位TH18DH計數(shù)值高位輔助寄存器AUXR8EH定時器脈沖源是否分頻(1T或者12T?) 與定時/計數(shù)器相關(guān)寄存器TCON中的TR0和TR1分別是定時/計數(shù)器T0和T1的運行控制位,置1開始計數(shù)(當(dāng)然門控位得打開)。TMOD的8位分別屬于T0與T1,GATE為門控位,配合TR決定定時器的工作與否,C/T決定是定時器方式還是計數(shù)器方式,M1和M0選擇4中工作模式。AUXR的B1和B6分別決定定時器0和定時器1的時鐘速度,置0則速度是傳統(tǒng)8051單片機的速度,即系統(tǒng)時鐘的12分頻。下面是定時器模塊的初始化代碼和功能測試代碼:main(){ TMOD|=0X06。 //保證計數(shù)50次溢出中斷 TL0=0XD0。//開啟中斷使能:TO T1 INT0 INT1,但不開啟AD轉(zhuǎn)換中斷和串口中斷 TCON|=0X10。//全滅 while(1) { if(sum==1)p1_0=0。 if(sum==3)p1_2=0。 if(sum==5)p1_4=0。 }}void Timer0_Routine(void) interrupt 1{ sum++。 紅外模塊的測試系統(tǒng)的紅外出水功能所用的傳感器就是下圖所示的紅外模塊: 紅外模塊該模塊的全程叫紅外避障模塊,有紅外發(fā)射管和紅外接收管,通電之后,發(fā)射管不斷發(fā)送紅外線,若遇到障礙物,紅外線反射回來被接收管接受到,經(jīng)過處理之后在輸出引腳返回低電平。該模塊有三根引線,VCC、GND、和信號輸出端,通過模塊上的可調(diào)電阻可以調(diào)節(jié)感應(yīng)的距離(調(diào)節(jié)發(fā)射功率)。main(){ if(hongwai!=1) { P1 = 0x00。 //置P1口為高電平,燈滅}}測試時,用手靠近模塊的發(fā)射管與接收管,模塊探測到障礙物后,指示燈會亮起,同時在OUT腳返回低電平,單片機檢測到低電平后使P1口的指示燈全部點亮,相反,如果沒有障礙物時,P1口的指示燈全部滅掉,現(xiàn)象比較明顯 繼電器模塊及其調(diào)試在本設(shè)計中,加熱器、水泵、上水電機都需要繼電器來控制,尤其是水泵,一個普通的繼電器模塊還不行,水泵屬于大電感器件,通上交流電之后,對弱電設(shè)備的影響很大,所以設(shè)計采用了用不同繼電器控制固態(tài)繼電器(無觸點、無線圈),來實現(xiàn)對水泵的控制。繼電器模塊采用了普通的250V AC繼電器,5個引腳,線圈兩引腳、一個公共端,一個常開觸點,一個常閉觸電。接線圖如下: 繼電器模塊電路圖圖中有兩個需要注意的地方,一個是三極管,三極管一般有兩種作用,放大和開關(guān)作用。第二個是上拉電阻,經(jīng)過試驗,IO口不能把8050的基極打開,驅(qū)動能力不行,只有通過外接上拉電阻的方式來提高驅(qū)動能力,這樣在程序中給I0口置1,5V電源就能直接給基極上電。為了消除交流電對弱電設(shè)備的影響,本設(shè)計采用了無觸點、無線圈的固態(tài)繼電器。用隔離器實現(xiàn)了控制端與負載端的隔離,輸入端用微小的信號,就可以達到直接驅(qū)動大電流(交流)負載。如下圖: 固態(tài)繼電器固態(tài)繼電器的測試與電磁繼電器不同,在輸入端加3—32V電壓之后,不能在輸出端用萬用表測量,必須接上交流負載測試,試驗中直接接上了水泵,輸入端用IO口的5V電壓驅(qū)動不了,用系統(tǒng)板子上的5V也驅(qū)動不了,甚至系統(tǒng)板上的12V電壓因為負載比較多,也不能驅(qū)動它,所以解決方案是固態(tài)繼電器輸入端接直流電源2的12V,普通繼電器控制固態(tài)繼電器輸入端的通斷,從而實現(xiàn)了對水泵的控制。 //高電平接通main(){ if(hongwai!=1) //檢測到障礙物時返回低電平 { P1 = 0x00。繼電器閉合,固態(tài)繼電器導(dǎo)通,水泵工作 } else{ P1=0xff。 }}測試時,用手靠近紅外模塊,檢測到障礙物后,模塊上指示燈亮起,系統(tǒng)板上P1口指示燈點亮,繼電器“啪”一聲閉合,水泵工作,把手拿開后,指示燈滅,P1口指示燈也滅,水泵停止工作。我們知道單片機雖然已經(jīng)發(fā)展得非常成熟,但是其數(shù)碼管顯示電路一直是單片機的一個沉重負擔(dān),驅(qū)動的數(shù)碼管一旦數(shù)量多,就會占用大量的IO口,擠占其它部件的工作空間,直到MAX7219芯片出現(xiàn),這樣的局面才得以改觀。如果用MAX7219幫忙的話,只用三根根I/O口就可以完成任務(wù),而且用MAX7219做的顯示模塊理論上可以無限級聯(lián),真的就是這樣的神奇。下面是模塊的電路: 數(shù)碼管模塊電路圖工作原理:MAX7219是美信公司生產(chǎn)的串行輸入/輸出共陰極顯示驅(qū)動器。最重要的是對于每一個顯示位都可以進行單獨尋址,不需要重填其它位不需要刷新,這使得編程非常靈活。16位串行數(shù)據(jù)格式D1512為任意值,D11—D8(4位)為14個內(nèi)部寄存器的地址,D7—D0為給制定寄存器的數(shù)據(jù)。MAX7219共有14個可以尋址的內(nèi)部寄存器。數(shù)字寄存器為一片8*8的靜態(tài)ROM。通過地址給8個數(shù)字寄存器其中之一賦值,可以讓8個數(shù)碼管之一點亮。寄存器的地址和數(shù)據(jù)與功能的對應(yīng)關(guān)系如下圖: 7219的寄存器及其地址可以通過對譯碼控制寄存器賦值對數(shù)據(jù)寄存器中數(shù)據(jù)是否譯碼。 7219數(shù)據(jù)非譯碼方式下的對應(yīng)關(guān)系圖在本設(shè)計中,使用了7219的譯碼模式,使用比較方便。該模塊與單片機的連接方式如下: 7219模塊連接圖對數(shù)碼管的測試難點在于對7219工作方式理解后,如何編程使其能夠正常工作。 // 顯示緩存區(qū)//****************控制MAX7219函數(shù)聲明********************void delay(uint t)。//向MAX7219寫入一字節(jié)數(shù)據(jù)void WriteWord(uint addr,uint num)。//MAX7219初始化設(shè)置/* 主函數(shù) */void main(void){ float sum=。 uint a。 uint c。 InitDisplay ()。 // 開始顯示測試,點亮所有LED delay(1500)。 // 退出顯示測試模式 while(sum) { sum=。 a=sum1/1000。 b+=0x80。 d=sum1%10。 //滅掉 WriteWord (Digit0,0x0f)。 WriteWord (Digit3,b)。 WriteWord (Digit5,d)。 WriteWord (Digit7,0x0f)。 // while(1)。 // 設(shè)置掃描界限 WriteWord (DecodeMode,DecodeDigit)。 // 設(shè)置亮度 WriteWord (ShutDown,NormalOperation)。 _nop_()。 _nop_()。 _nop_()。 // 鎖存進相應(yīng)寄存器}//*************向MAX7219寫入字節(jié)(8位)********************void SendChar (uint ch){ uint i,temp。 for (i=0。i++) { temp=champ。 ch=ch1。 CLK=0。 } else { DIN=0。 CLK=1。 while(t) { /* 對于12M時鐘,約延時1ms */ for (i=0。i++) {} }}上述程序運行時前兩個和后兩個數(shù)碼管滅掉,中間四個數(shù)碼管。水位探測原理:浮球開關(guān)如果采用吊裝的方式(探測端朝下),當(dāng)水沒有沒過探頭的時候,開關(guān)是閉合的,水沒過探頭之后開關(guān)斷開,這樣就可以通過兩個浮球開關(guān)的狀態(tài)來感知水位的高低。一直抽水到高水位開關(guān)斷開。我們不是讓水位保持在一個固定的水準,所以需要狀態(tài)標志位來記錄正常水位是正在上升還是正在下降,上升時的正常水位應(yīng)該繼續(xù)打開水泵,而下降時的正常水位則要降低到低水位一下是水泵工作,這一點將在變成中有所體現(xiàn),在實現(xiàn)溫度調(diào)節(jié)功能的時候用到過。 //高水位測量sbit shuiwei_low=P0^5。 //水位控制繼電器int shuiwei_flag=0。amp。//打開抽水電機shuiwei_flag=1。amp。//關(guān)閉抽水電機Shuiwei_flag=0。amp。amp。}If(shuiwei_high==0amp。shuiwei_low!=0amp。shuiwei_flag==1)//上升中的正常水位Jidianqi3=1。 KEIL開發(fā)環(huán)境Keil C51開發(fā)環(huán)境是ARM公司出品的單片機C語言開發(fā)工具,自帶仿真器,支持匯編和C語言設(shè)計,編程規(guī)則易學(xué)易用,是廣大單片機愛好者的必備軟件之一。在稍后彈出的窗口中選擇CPU的型號,本設(shè)計中使用的是STC的51單片機,所以CPU型號選擇generic中的8051。.。 keil 啟動界面 新建工程界面 選擇CPU 工程配置(晶振頻率和輸出HEX文件) 編譯連接 STCISP燒錄工具在開發(fā)環(huán)境編程完畢之后,把該代碼文件導(dǎo)入單片機才是關(guān)鍵,STC系列單片機的一大優(yōu)點就是不需要專用的下載器,直接使用燒錄軟件配合串行通信就可以把代碼下載進入單片機中去。然后選擇單片機類型,本系統(tǒng)為STC12C5A60S2,選擇COM口,打開相應(yīng)的HEX文件,然后選擇下載按鈕下載(先斷電),出現(xiàn)如Error! Reference source not found.,再上電(即所謂冷上電),即可把可執(zhí)行文件HEX寫入到單片機內(nèi),Error! Reference source not ,下載成功后界面如Error! Reference source not 。但是計算出的波特率誤差率不能超過3%,所以我們手工計算通常需要反復(fù)驗證。 波特率計算器 串口調(diào)試助手在調(diào)試串行口通信時,在缺少上位機程序的情況下,串口調(diào)試助手是一個很不錯的工具,在主界面選擇COM口、選擇波特率與數(shù)據(jù)格式,就可以發(fā)送并接受通信內(nèi)容,并能夠選擇十六進制和字符形式的發(fā)送接收并顯示。從學(xué)習(xí)到自己設(shè)計出控制系統(tǒng)軟件,深入的理解了VB的編程方法,能熟練使用VB對串口進行操作的控件MSCCOM和VB對數(shù)據(jù)庫的數(shù)據(jù)訪問控件ADO DATA。自從微軟推出了VB之后,窗口設(shè)計的難度大大降低,使用VB進行系統(tǒng)開發(fā)的人也直線增加,它給想設(shè)計窗口程序的程序員提供了非常好的途徑。如我在窗體上添加一個按鈕button,修改它的屬性改名叫“點擊”,這樣按鈕顯示的名稱就是“點擊”,雙擊進去之后就從窗體設(shè)計區(qū)到了代碼編輯區(qū),就可以直接對按鈕的click時間進行函數(shù)編寫,運行時按鈕被點擊時,該函數(shù)將執(zhí)行,就像觸發(fā)了一次中斷。添加MSCOMM部件要點擊Microsoft m. Control 。 VB的編程界面VB的工作模式有設(shè)計模式、運行模式、中斷模式三種。 VB窗體設(shè)計界面 VB代碼編輯界面 MSCCOM串行通信控件標簽、文本框、按鈕等控件的使用方法就不再敘述了,按照對象、屬性、事件、方法的思想編程也很簡單,BASIC語言也十分
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1