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

正文內(nèi)容

基于51單片機(jī)的點滴輸液報警器的設(shè)計與實現(xiàn)畢業(yè)論文(編輯修改稿)

2024-08-23 07:17 本頁面
 

【文章內(nèi)容簡介】 為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。第815腳:D0D7為8位雙向數(shù)據(jù)線。第16腳:背光源正極。第17腳:背光源負(fù)極。LCD1602是16字*2行的字符型液晶模塊。與數(shù)碼管相比該模塊有如下一些優(yōu)點。(1)程序簡單,如果用數(shù)碼管動態(tài)顯示,會占用很多時間來刷新顯示,而1602自動完成此功能。 (2)位數(shù)多,可顯示32位,32個數(shù)碼管體積相當(dāng)龐大了。(3)顯示內(nèi)容豐富,可顯示所有數(shù)字,字母,符號等192種ASCII碼對應(yīng)的字符。 使用STC89C52作為控制器,LCD1602晶體為顯示器,利用1602LCD中的存儲器中的存儲器自建立16*2的點陣字符來顯示數(shù)據(jù),紅外對管用來檢測液體信息。本系統(tǒng)各個器件一起工作時的電路如43所示。圖43 系統(tǒng)工作的電路圖 circuit diagram of the system PCB板視圖如圖44所示。圖 44 系統(tǒng)PCB板視圖 PCB system board view接收電路由紅外接收管,電阻和三極管組成,如圖43。Q2接收到紅外信號后,經(jīng)過三極管Q2進(jìn)行第一級放大,然后經(jīng)過各個電阻,最后得到紅外信號。因為在沒有物體通過紅外對管時,不會引起紅外光線的變化,反向電流很?。ǎ?,也就是暗電流,當(dāng)有物體通過紅外對管時,引起紅外光線的變化,攜帶能量的紅外線光子進(jìn)入PN結(jié)后,把能量傳給共價鍵上的束縛電子,使部分電子掙脫共價鍵,從而產(chǎn)生電子,就會引起紅外對管中電流的變化,在經(jīng)過電路放大后,最后經(jīng)過單片機(jī)處理得到數(shù)據(jù),在顯示器中顯示出來。紅外對管中紅外發(fā)射電路由電阻R4和一個二極管組成【9】,如圖43所示。 圖 43 紅外對管控制電路Fig. 43 infrared tube control circuit無液滴落下時,接收管與發(fā)射管正對,接收管接收到的光強(qiáng)較強(qiáng),有液滴滴下時,下落中的水滴對紅外光有較強(qiáng)的漫反射、吸收及一定的散射作用,導(dǎo)致接收光強(qiáng)的較大改變,接收管接收到的信號經(jīng)一級施密特觸發(fā)器,送單片機(jī)的中斷口,據(jù)此就可以正確的探測出液滴的滴落。解決了因液體透明而使得發(fā)射不明顯的問題。蜂鳴器是一體化結(jié)構(gòu)的電子訊響器,采用直流的電壓供電,廣泛應(yīng)用于計算機(jī)、汽車電子設(shè)備、電話機(jī)、定時器、打印機(jī)、復(fù)印機(jī)、報警器、電子玩具等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器發(fā)聲原理:電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動振動膜發(fā)聲,因此需要一定電流才能驅(qū)動它,單片機(jī)的I/O引腳輸出的電流比較小,單片機(jī)輸出的TTL電平基本上不能驅(qū)動蜂鳴器,因此需要增加一個電流放大電路。通過一個三極管來放大驅(qū)動蜂鳴器。如圖44所示:,電源直接給蜂鳴器供電,三極管飽和導(dǎo)通,使它發(fā)出鳴叫【10】。在單片機(jī)組成的小系統(tǒng)中,有的需要人機(jī)交互功能,按鍵是最常見的輸入方式。在單片機(jī)應(yīng)用系統(tǒng)當(dāng)中,按鍵主要有兩種形式:直接按鍵; 矩陣編碼鍵盤。直接按鍵的每個按鍵都單獨接到單片機(jī)的一個I/O口上,直接按鍵則可通過判斷按鍵端口的電位就可以識別按鍵操作;而矩陣鍵盤通過行列交叉按鍵編碼進(jìn)行識別。那么,本系統(tǒng)采用的就是直接按鍵。需要注意的是,在用單片機(jī)對鍵盤處理的時候涉及到了一個重要過程,那就是鍵盤的去抖動。這里說的抖動是機(jī)械的抖動,是當(dāng)鍵盤在未按到按下的臨界區(qū)產(chǎn)生的電平不穩(wěn)定正?,F(xiàn)象,并不是在按鍵時通過注意可以避免的。這種抖動一般在20~200毫秒之間,這種不穩(wěn)定電平的抖動時間對于人來說太快了,而對于時鐘是微秒級的單片機(jī)而言則是慢長的。為了提高系統(tǒng)的穩(wěn)定,必須去除或避開它。目前的技術(shù)有硬件去抖動和軟件去抖動,硬件去抖動就是用部分電路對抖動部分加之處理,但是實現(xiàn)的難度較大又會提高了成本。軟件去抖動不是去掉抖動,而是避開抖動部分的時間,等鍵盤穩(wěn)定了再對其處理。這里只研究軟件去抖動,實現(xiàn)方法是先查尋按鍵當(dāng)有低電平出現(xiàn)時立即延時20~200毫秒以避開抖動(經(jīng)典值為20毫秒),延時結(jié)束后再讀一次I/O口的值,這一次的值如果為1表示低電平的時間不到10~200毫秒,視為干擾信號。當(dāng)讀出的值是0時則表示有按鍵按下,則調(diào)用相應(yīng)的處理程序。單片機(jī)與鍵盤的接口圖如圖45所示。 圖44 蜂鳴器內(nèi)部電路圖 圖45 單片機(jī)與鍵盤的接口圖 Fig. 44buzzer internal circuit diagram interface diagram of the microcontroller and keyboard本系統(tǒng)中的蜂鳴器是當(dāng)沒有液體或者液體速度超過設(shè)置的速度時發(fā)出鳴叫,來達(dá)到報警的作用。它可以把電信號轉(zhuǎn)換成人們可以聽到的聲信號,是一種可以集成到開發(fā)板上面的非常簡單的裝置。鍵盤用來設(shè)置液體流速,預(yù)先設(shè)置一個速度報警值,當(dāng)超速時報警,操作非常簡單。5 軟件設(shè)計 軟件設(shè)計原則軟件設(shè)計是控制和協(xié)調(diào)計算機(jī)以及外部設(shè)備,支持應(yīng)用的軟件開發(fā)和運行的重要條件,是不需要用戶干預(yù)的各種程序的集合。主要功能是調(diào)度、監(jiān)控和維護(hù)計算機(jī)系統(tǒng),負(fù)責(zé)管理計算機(jī)系統(tǒng)中各種獨立的硬件,使得它們可以協(xié)調(diào)工作。軟件設(shè)計原則指導(dǎo)軟件設(shè)計,軟件設(shè)計重要性表現(xiàn)在軟件的質(zhì)量。軟件設(shè)計描述了軟件是如何被分解和集成為組件,也描述了組件之間的接口以及組件之間是如何發(fā)揮軟件構(gòu)建功能的。為保證軟件質(zhì)量給出以下原則。(1)使各個模塊之間和與外部環(huán)境之間接口的復(fù)雜性盡量地減??;(2)有分層的組織結(jié)構(gòu),以便于對軟件各個構(gòu)件進(jìn)行控制;(3)形成有獨立功能特征的模塊(模塊化);(4)具有性質(zhì)不同、可區(qū)分的數(shù)據(jù)和過程描述(表達(dá)式);(5)軟件系統(tǒng)的可靠性。用軟件系統(tǒng)規(guī)模越做越大就會越復(fù)雜,其可靠性越來越難保證。軟件可靠性意味著軟件在測試運行過程中避免可能發(fā)生故障的能力,且發(fā)生故障后,有解脫和排除故障的能力。應(yīng)用本身對系統(tǒng)運行的可靠性要求也越來越高,軟件系統(tǒng)的可靠性也會直接關(guān)系到設(shè)計自身的聲譽(yù)和生存發(fā)展競爭的能力。硬件可靠性和軟件可靠性區(qū)別在于:前者為物理機(jī)理衰變和老化所致,而前者是由設(shè)計和實現(xiàn)的錯誤所致。所以軟件的可靠性必須在設(shè)計階段就確定,在生產(chǎn)和測試階段再考慮就會困難了。(6)軟件系統(tǒng)的健壯性。指軟件對于規(guī)范要求以外的輸入能判斷出這個輸入不符合規(guī)范,并能有合理處理方式。軟件健壯性是個比較模糊的概念,但卻是非常重要的軟件外部量度標(biāo)準(zhǔn)。軟件設(shè)計的健壯與否反應(yīng)了分析設(shè)計和編碼人員的水平。(7)容易理解,軟件的可理解性是可靠性和可修改性的前提。它并不僅是文檔清晰可讀的問題,更要求軟件本身具有簡單的結(jié)構(gòu)。這在很大程度上取決設(shè)計者的洞察力與創(chuàng)造性,以及對設(shè)計對象掌握的透徹程度,當(dāng)然它還依賴于設(shè)計工具和方法的適當(dāng)運用。(8)效率性,軟件的效率性一般用程序執(zhí)行時間和所占用的內(nèi)存容量來度量。在達(dá)到原理要求功能指標(biāo)前提下,程序運行所需時間愈短和占用存儲容量愈小,則效率愈高。要想得到一個滿意的設(shè)計結(jié)果,不僅要有基本設(shè)計原則的指導(dǎo),還要有系統(tǒng)化的設(shè)計方法和嚴(yán)格的評審機(jī)制相結(jié)合才能達(dá)到預(yù)想的目的。 主程序設(shè)計 主程序是整個程序設(shè)計的主體,是一個程序的入口,也是整個系統(tǒng)中最重要的環(huán)節(jié),程序執(zhí)行會先執(zhí)行主程序,然后根據(jù)主程序中的方法調(diào)用,來調(diào)用相應(yīng)的子程序,來實現(xiàn)相應(yīng)的功能。主程序主要負(fù)責(zé)各個子程序模塊的執(zhí)行順序、時序以及它們之間的關(guān)系。圖51 系統(tǒng)工作流程圖Fig. 51 system workflow diagram主程序通過系統(tǒng)的自檢以及調(diào)用各種子程序模塊,從而實現(xiàn)系統(tǒng)的初始化,進(jìn)行數(shù)據(jù)顯示、數(shù)據(jù)處理、按鍵處理、參數(shù)傳遞、產(chǎn)生控制信號等功能。主程序流程如圖 52 所示。子程序的實現(xiàn)都是通過主程序的調(diào)用來實現(xiàn)的,系統(tǒng)子程序模塊包括:數(shù)據(jù)顯示子程序、報警程序等。 系統(tǒng)啟動程序設(shè)計嵌入式系統(tǒng)資源有限,程序通常都固化在ROM中運行。在ROM中程序執(zhí)行前,需要對系統(tǒng)硬件和軟件的運行環(huán)境進(jìn)行初始化,這些工作由匯編語言編寫的啟動程序完成。啟動程序是嵌入式程序的開頭部分,應(yīng)與應(yīng)用程序一起固化在ROM中,并首先在系統(tǒng)上運行。它應(yīng)包含進(jìn)各模塊中可能出現(xiàn)的所有段類,并合理安排它們次序。寫好啟動程序是設(shè)計好嵌入式程序的關(guān)鍵,系統(tǒng)啟動程序所執(zhí)行的操作依賴于正在開發(fā)其軟件的系統(tǒng)。一般流程如下: (1)設(shè)置入口指針,啟動程序首先須定義入口指針,而且整個應(yīng)用程序只有一個入口指針。(2)設(shè)置中斷向量,如果ROM定位在0地址,向量表包含一系列指令跳轉(zhuǎn)到中斷服務(wù)程序,否則向量必須動態(tài)初始化??梢栽趩映绦蛑刑砑右欢未a,使其運行時將向量表拷貝到0地址開始的存儲器空間。對于各種未用中斷,使其指向一個只含返回指令的函數(shù),以防止錯誤中斷引起系統(tǒng)的混亂。(3)初始化堆棧與寄存器,系統(tǒng)堆棧初始化取決于用戶使用了哪些中斷,以及系統(tǒng)需要處理哪些錯誤的類型。一般來說管理者堆棧必須要設(shè)置,如果使用IRQ中斷,則IRQ堆棧也須設(shè)置。如果系統(tǒng)應(yīng)用程序是運行在用戶模式下,可在此處將系統(tǒng)改為用戶模式并初始化用戶的堆棧指針。 (4)初始化存儲器系統(tǒng),有些芯片可以通過寄存器編程初始化存儲器系統(tǒng),而對于較復(fù)雜的系統(tǒng)通常集成有MMU來管理內(nèi)存空間。 (5)初始化C語言所需要的存儲器空間,為正確運行應(yīng)用程序,在初始化的時候應(yīng)將系統(tǒng)需要的存儲空間進(jìn)行初始化。 (6)呼叫C程序,啟動程序在準(zhǔn)備完成后,就可以呼叫C程序,用來實現(xiàn)相應(yīng)的功能。 晶體顯示程序設(shè)計1.模塊程序描述該模塊主要是通過單片機(jī)來對1602液晶的寄存器進(jìn)行寫操作,首先是選通1602液晶的寫命令引腳,這通過對1602液晶的第4引腳寫入低電平來選擇命令信號,由于本次的設(shè)計主要是對1602液晶的寫操作,通過單片機(jī)對1602液晶寫入不同的命令后,實現(xiàn)對1602的初始化了;初始化1602完成后,需要對1602液晶選通寫命令信號線,然后單片機(jī)對1602寫入當(dāng)前液晶顯示的指針(地址),寫入地址之后,通過單片機(jī)置1602的第4管腳為高電平后,這時1602選擇的是數(shù)據(jù)的操作了,之后通過單片機(jī)對1602寫入不同的數(shù)據(jù)。其中1602的第5管腳是操作的選通信號,每次的操作都需要通過單片機(jī)的I/O對其置高電平才有效[3]。2.功能該模塊是用來顯示系統(tǒng)中的一些重要數(shù)據(jù)的,采用1602晶體16列*2行來顯示系統(tǒng)中液體的流速和設(shè)置的速度,非常直觀,而且操作簡單。3.流程邏輯晶體顯示模塊的程序流程圖如圖53: 圖53 晶體顯示模塊程序流程圖 crystal display module program flow chart4.程序編寫【11】 (1)定義LCD1602的管腳,包括RS,R/W,E。這里的定義是指這些管腳分別接在單片機(jī)哪些I/O口上。 (2)顯示初始化,在一步進(jìn)行初始化和設(shè)置顯示模式等操作。 (3)設(shè)置顯示的地址(寫顯示字符的位置)。 (4)寫顯示字符的數(shù)據(jù),以顯示字符。LCD1602初始化子程序:void init() //完全按照要求初始化流程來,中間省略了一步寫指令38H{delay(15)。write(0x38,0)。delay(5)。write(0x38,0)。write(0x08,0)。write(0x01,0)。write(0x06,0)。write(0x0c,0)。}顯示字符串子程序:void display_lcd_text(uchar y,uchar x,uchar table[]) //Y,X同上字符顯示,table[]字符串?dāng)?shù)組{uchar z=0。uchar t。t=strlen(table)+x。 // 求得字符串長度加上起始列位置while(xt) //功能為LCD顯示到字符串最后一個字符,防止字符串{ //沒有16個字符,從而不夠位產(chǎn)生亂碼;display_lcd_byte(y,x,table[z])。 //逐位顯示數(shù)組內(nèi)字符x++。z++。}}6 系統(tǒng)測試與運行 測試方案嵌入式系統(tǒng)是指軟硬件耦合系統(tǒng),把軟硬件分離開來,建立嵌入式系統(tǒng)軟件相對獨立的運行環(huán)境是一個關(guān)鍵,而要把硬件分離開來,建立嵌入式軟件的獨立運行環(huán)境需帶著與其相關(guān)的硬件特征,這種硬件特征隨著測試目的的不同而有所區(qū)別。將黑盒測試的測試設(shè)計與白盒測試的過程結(jié)果結(jié)合起來可進(jìn)行灰盒甚至是透明盒子測試。黑盒測試著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對軟件界面和軟件功能進(jìn)行測試;白盒測試以源代碼為測試對象,除對軟件進(jìn)行通常的結(jié)構(gòu)分析和質(zhì)量度量等靜態(tài)分析,主要進(jìn)行動態(tài)測試。黑盒和白盒測試結(jié)合將從軟件外部特征和內(nèi)部結(jié)構(gòu)兩方面實現(xiàn)軟件全方位的測試。對嵌入式軟件的測試,測試性能和測試定位精度是一個平衡,對嵌入式軟件的測試是一個對其施加干擾的過程,如果想得到定位就有可能喪失性能的準(zhǔn)確性。本系統(tǒng)按階段分可以分為4個階段,單元測試,集成測試,確認(rèn)測試和系統(tǒng)測試。點滴紅外報警器系統(tǒng)測試案例如表61:表61 系統(tǒng)測試用例Table 61 system tests case模塊測試用例描述操作過程及數(shù)據(jù)預(yù)期結(jié)果實際結(jié)果用例類別紅外對管檢測是否有液體本系統(tǒng)是用手模擬的液滴,在紅外發(fā)射管和紅外接收管之間如果手沒有放,就相當(dāng)于沒有液體,手放上時,就相當(dāng)于有液體。手沒放時,報警器報警,手放上時,報警器不響。手沒放時,報警器報警,手放上時,報警器不響。功能點測試液體的的流速可以先設(shè)置一個流速,紅外對管測試液體的速度當(dāng)液體的速度超過設(shè)置的速度時,報警器報警。當(dāng)液體的速度超過設(shè)置的速度時,報警器報警。功能點1602液晶示 顯示液體的滴數(shù)用手模擬液滴,通過紅外對管。手通過一次,液晶顯示的數(shù)字增加一手通過一次,液晶顯示的數(shù)字增加一功能點顯示液體的流速用手模擬液滴,通過紅外對管。手通過一次,液晶顯示的數(shù)字增加1手通過一次,液晶顯示的數(shù)字增加1功能點鍵盤  設(shè)置液體的流速按鍵
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1