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

正文內(nèi)容

商用智能節(jié)水淋浴器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-資料下載頁(yè)

2025-06-22 16:53本頁(yè)面
  

【正文】 管7寄存器define Digit7 0x08 // 數(shù)碼管8寄存器define DecodeMode 0x09 // 譯碼模式寄存器define Intensity 0x0a // 亮度寄存器define ScanLimit 0x0b // 掃描位數(shù)寄存器define ShutDown 0x0c // 低功耗模式寄存器define DisplayTest 0x0f // 顯示測(cè)試寄存器define ShutdownMode 0x00 // 低功耗方式define NormalOperation 0x01 // 正常操作方式define ScanDigit 0x07 // 掃描位數(shù)設(shè)置,顯示8位數(shù)碼管define DecodeDigit 0xff // 譯碼設(shè)置,8位均為BCD碼define IntensityGrade 0x0a // 亮度級(jí)別設(shè)置define TestMode 0x01 // 顯示測(cè)試模式define TextEnd 0x00 // 顯示測(cè)試結(jié)束,恢復(fù)正常工作模式uchar DisBuffer[8]={0,0,0,0,0,0,0,0}。 // 顯示緩存區(qū)//****************控制MAX7219函數(shù)聲明********************void delay(uint t)。//毫秒延時(shí)基準(zhǔn)程序void SendChar(uint ch)。//向MAX7219寫(xiě)入一字節(jié)數(shù)據(jù)void WriteWord(uint addr,uint num)。//向MAX7219寫(xiě)一字的數(shù)據(jù)void InitDisplay(void)。//MAX7219初始化設(shè)置/* 主函數(shù) */void main(void){ float sum=。 uint sum1=0。 uint a。 uint b。 uint c。 uint d。 InitDisplay ()。 // MAX7219初始化 WriteWord(DisplayTest,TestMode)。 // 開(kāi)始顯示測(cè)試,點(diǎn)亮所有LED delay(1500)。 // WriteWord (DisplayTest,TextEnd)。 // 退出顯示測(cè)試模式 while(sum) { sum=。 sum1=sum*100。 a=sum1/1000。 b=sum1%1000/100。 b+=0x80。//顯示小數(shù)點(diǎn) c=sum1%100/10。 d=sum1%10。 WriteWord (Digit1,0x0f)。 //滅掉 WriteWord (Digit0,0x0f)。 WriteWord (Digit2,a)。 WriteWord (Digit3,b)。 WriteWord (Digit4,c)。 WriteWord (Digit5,d)。 WriteWord (Digit6,0x0f)。 WriteWord (Digit7,0x0f)。 delay(1500)。 // while(1)。 } }//*********************** MAX7219初始化 ******************void InitDisplay (void){ WriteWord (ScanLimit,ScanDigit)。 // 設(shè)置掃描界限 WriteWord (DecodeMode,DecodeDigit)。 // 設(shè)置譯碼模式 WriteWord (Intensity,IntensityGrade)。 // 設(shè)置亮度 WriteWord (ShutDown,NormalOperation)。 // 設(shè)置為正常工作模式}//**************向MAX7219寫(xiě)入字(16位)*****************************void WriteWord (uint addr,uint num){ LOAD=0。 _nop_()。 SendChar(addr)。 _nop_()。 SendChar(num)。 _nop_()。 LOAD=1。 // 鎖存進(jìn)相應(yīng)寄存器}//*************向MAX7219寫(xiě)入字節(jié)(8位)********************void SendChar (uint ch){ uint i,temp。 _nop_()。 for (i=0。i8。i++) { temp=champ。0x80。 ch=ch1。 if(temp) { DIN=1。 CLK=0。 CLK=1。 } else { DIN=0。 CLK=0。 CLK=1。 } }}//******************延時(shí)t毫秒**************************************void delay(uint t){ uint i。 while(t) { /* 對(duì)于12M時(shí)鐘,約延時(shí)1ms */ for (i=0。i125。i++) {} }}上述程序運(yùn)行時(shí)前兩個(gè)和后兩個(gè)數(shù)碼管滅掉,中間四個(gè)數(shù)碼管。 浮球開(kāi)關(guān)及其自動(dòng)上水功能編程設(shè)計(jì)中使用兩個(gè)水位計(jì)(浮球開(kāi)關(guān))探測(cè)高低水位,實(shí)現(xiàn)高水位報(bào)警,低水位自動(dòng)上水的功能,硬件上需要兩個(gè)浮球開(kāi)關(guān)、一個(gè)水泵、一個(gè)蓄水池,但是由于keil開(kāi)發(fā)環(huán)境有2K的代碼限制,本設(shè)計(jì)硬件具備但是沒(méi)有具體去實(shí)現(xiàn)這個(gè)功能,下面將敘述自動(dòng)上水功能的實(shí)現(xiàn)。水位探測(cè)原理:浮球開(kāi)關(guān)如果采用吊裝的方式(探測(cè)端朝下),當(dāng)水沒(méi)有沒(méi)過(guò)探頭的時(shí)候,開(kāi)關(guān)是閉合的,水沒(méi)過(guò)探頭之后開(kāi)關(guān)斷開(kāi),這樣就可以通過(guò)兩個(gè)浮球開(kāi)關(guān)的狀態(tài)來(lái)感知水位的高低。: 浮球開(kāi)關(guān) 水位測(cè)量涉及的硬件如上圖所示,在系統(tǒng)運(yùn)行時(shí),水位低(水沒(méi)有沒(méi)過(guò)低水位開(kāi)關(guān)),,這樣上水水泵通電,開(kāi)始抽水。一直抽水到高水位開(kāi)關(guān)斷開(kāi)。水泵停止工作后,淋浴器工作時(shí)水位降低,在高水位與低水位之間。我們不是讓水位保持在一個(gè)固定的水準(zhǔn),所以需要狀態(tài)標(biāo)志位來(lái)記錄正常水位是正在上升還是正在下降,上升時(shí)的正常水位應(yīng)該繼續(xù)打開(kāi)水泵,而下降時(shí)的正常水位則要降低到低水位一下是水泵工作,這一點(diǎn)將在變成中有所體現(xiàn),在實(shí)現(xiàn)溫度調(diào)節(jié)功能的時(shí)候用到過(guò)。編程如下:sbit shuiwei_high=P0^4。 //高水位測(cè)量sbit shuiwei_low=P0^5。 //低水位測(cè)量sbit jidianqi3=P0^7。 //水位控制繼電器int shuiwei_flag=0。//低水位標(biāo)志if(shuiwei_high==0amp。amp。shuiwei_low==0)//水位過(guò)低{jidianqi3=1。//打開(kāi)抽水電機(jī)shuiwei_flag=1。}If(shuiwei_high!=0amp。amp。shuiwei_low!=0)//水位高{Jidianqi3=0。//關(guān)閉抽水電機(jī)Shuiwei_flag=0。//清除低水位標(biāo)志}If(shuiwei_high==0amp。amp。shuiwei_low!=0amp。amp。shuiwei_flag==0)//下降中的正常水位{Jidianqi3=0。}If(shuiwei_high==0amp。amp。shuiwei_low!=0amp。amp。shuiwei_flag==1)//上升中的正常水位Jidianqi3=1。//繼續(xù)抽水到高水位 4 系統(tǒng)軟件系統(tǒng)使用的軟件主要有KEIL開(kāi)發(fā)環(huán)境、STCISP燒錄工具、VB、在串口調(diào)試的時(shí)候還用到了串口調(diào)試助手、波特率計(jì)算器。 KEIL開(kāi)發(fā)環(huán)境Keil C51開(kāi)發(fā)環(huán)境是ARM公司出品的單片機(jī)C語(yǔ)言開(kāi)發(fā)工具,自帶仿真器,支持匯編和C語(yǔ)言設(shè)計(jì),編程規(guī)則易學(xué)易用,是廣大單片機(jī)愛(ài)好者的必備軟件之一。下面介紹KEIL的使用方法,雙擊桌面按鈕,主界面啟動(dòng)后,點(diǎn)擊Project菜單,在下拉菜單中選中New Project 選項(xiàng)定義工程名,如Error! Reference source not found.,需要注意:每個(gè)工程會(huì)產(chǎn)生很多文件,建立一個(gè)新工程最好建立一個(gè)新的文件夾。在稍后彈出的窗口中選擇CPU的型號(hào),本設(shè)計(jì)中使用的是STC的51單片機(jī),所以CPU型號(hào)選擇generic中的8051。除此此外還要在option for target 選擇工程的基本配置,輸出HEX二進(jìn)制文件等等。.。建好一個(gè)工程后點(diǎn)擊“文件”在下拉菜單中選擇NEW,建立代碼文件,與工程文件保存在相同的文件夾下,之后將代碼文件添加到工程目錄下才能進(jìn)行編譯連接等操作,需要注意的是自己編寫(xiě)的頭文件也要與工程放在同一個(gè)文件夾下,而且要添加到工程目錄下,環(huán)境自帶有傳統(tǒng)8051的頭文件,里面定義了一些寄存器和函數(shù),如果有沒(méi)有的寄存器可以自行添加,使用sbit 和sfr語(yǔ)句定義即可,為了方便編程給寄存器定義別名也可以在這里進(jìn)行。 keil 啟動(dòng)界面 新建工程界面 選擇CPU 工程配置(晶振頻率和輸出HEX文件) 編譯連接 STCISP燒錄工具在開(kāi)發(fā)環(huán)境編程完畢之后,把該代碼文件導(dǎo)入單片機(jī)才是關(guān)鍵,STC系列單片機(jī)的一大優(yōu)點(diǎn)就是不需要專用的下載器,直接使用燒錄軟件配合串行通信就可以把代碼下載進(jìn)入單片機(jī)中去。STCISP是免安裝的程序,雙擊其圖標(biāo),打開(kāi)STCISP。然后選擇單片機(jī)類型,本系統(tǒng)為STC12C5A60S2,選擇COM口,打開(kāi)相應(yīng)的HEX文件,然后選擇下載按鈕下載(先斷電),出現(xiàn)如Error! Reference source not found.,再上電(即所謂冷上電),即可把可執(zhí)行文件HEX寫(xiě)入到單片機(jī)內(nèi),Error! Reference source not ,下載成功后界面如Error! Reference source not 。 等待上電界面 正在下載 下載成功 波特率計(jì)算器在用STC的51單片機(jī)實(shí)現(xiàn)串行通信時(shí),需要進(jìn)行波特率的計(jì)算,給相應(yīng)的寄存器賦值,如果使用定時(shí)器1作為波特率發(fā)生器,那么應(yīng)該使用TH1和TL1賦值,如果使用獨(dú)立波特率發(fā)生器,那么應(yīng)該給BRT寄存器賦值。但是計(jì)算出的波特率誤差率不能超過(guò)3%,所以我們手工計(jì)算通常需要反復(fù)驗(yàn)證。宏晶公司給我們提供了一款波特率計(jì)算軟件,即波特率計(jì)算器,輸入要求,能夠計(jì)算出初始化函數(shù),直接粘貼即可。 波特率計(jì)算器 串口調(diào)試助手在調(diào)試串行口通信時(shí),在缺少上位機(jī)程序的情況下,串口調(diào)試助手是一個(gè)很不錯(cuò)的工具,在主界面選擇COM口、選擇波特率與數(shù)據(jù)格式,就可以發(fā)送并接受通信內(nèi)容,并能夠選擇十六進(jìn)制和字符形式的發(fā)送接收并顯示。串口調(diào)試助手可以單獨(dú)下載也可以直接使用STCISP軟件自帶的串口調(diào)試工具,它在串口調(diào)試中起到了至關(guān)重要的作用。 串口調(diào)試工具 Visual Basic VB編程是典型的面向?qū)ο蟮木幊?,在可視化的環(huán)境下,能很方便設(shè)計(jì)出操作界面,編程的思想是:對(duì)象(控件)、屬性、事件、方法。從學(xué)習(xí)到自己設(shè)計(jì)出控制系統(tǒng)軟件,深入的理解了VB的編程方法,能熟練使用VB對(duì)串口進(jìn)行操作的控件MSCCOM和VB對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)訪問(wèn)控件ADO DATA。視窗操作系統(tǒng)推出后,計(jì)算機(jī)的使用就大大改觀了,一切都在可視化的環(huán)境進(jìn)行,它的構(gòu)成也是按照真實(shí)世界的模式,隨著它的發(fā)展,軟件開(kāi)發(fā)也越來(lái)越接近于真實(shí)世界。自從微軟推出了VB之后,窗口設(shè)計(jì)的難度大大降低,使用VB進(jìn)行系統(tǒng)開(kāi)發(fā)的人也直線增加,它給想設(shè)計(jì)窗口程序的程序員提供了非常好的途徑。在編程時(shí),我們只需要考慮在窗體這個(gè)體現(xiàn)功能的地方加入什么樣的功能對(duì)象,設(shè)置對(duì)象有什么樣的屬性,這個(gè)對(duì)象能夠觸發(fā)什么樣的事件,事件要執(zhí)行什么樣的方法代碼。如我在窗體上添加一個(gè)按鈕button,修改它的屬性改名叫“點(diǎn)擊”,這樣按鈕顯示的名稱就是“點(diǎn)擊”,雙擊進(jìn)去之后就從窗體設(shè)計(jì)區(qū)到了代碼編輯區(qū),就可以直接對(duì)按鈕的click時(shí)間進(jìn)行函數(shù)編寫(xiě),運(yùn)行時(shí)按鈕被點(diǎn)擊時(shí),該函數(shù)將執(zhí)行,就像觸發(fā)了一次中斷。常用的控件有文本框、按鈕、標(biāo)簽等,在工具箱中默認(rèn)的是一些常用的控件,如果要實(shí)現(xiàn)更多的功能,還需要自己動(dòng)手添加空間,在主菜單電機(jī)工程,再點(diǎn)擊部件,手動(dòng)添加即可。添加MSCOMM部件要點(diǎn)擊Microsoft m. Control 。要添加ADO控件,就要在部件中添加Microsoft ADO data control 。 VB的編程界面VB的工作模式有設(shè)計(jì)模式、運(yùn)行模式、中斷模式三種。有窗體設(shè)計(jì)界面和代碼編輯界面三種。 VB窗體設(shè)計(jì)界面 VB代碼編輯界面 MSCCOM串行通信控件標(biāo)簽、文本框、按鈕等控件的使用方法就不再敘述了,按照對(duì)象、屬性、事件、方法的思想編程也很簡(jiǎn)單,BASIC語(yǔ)言也十分容易上手。下面將敘述MSCC
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1