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

正文內(nèi)容

基于單片機的病床呼叫系統(tǒng)-閱讀頁

2025-06-06 12:50本頁面
  

【正文】 式順序排放。從控制電路到列驅(qū)動器的數(shù)據(jù)傳輸可以采用并列方式或串行方式。當(dāng)列數(shù)很多時,并列傳輸?shù)姆桨甘遣豢扇〉?[10]。但是,串行傳輸過程較長,數(shù)據(jù)按順序一位一位地輸出給列驅(qū)動器,只有當(dāng)一行的各列數(shù)據(jù)都以傳輸?shù)轿恢?,這一行的各列才能并行地進行顯示。對于串行傳輸方式來說,列數(shù)據(jù)準(zhǔn)備時間可能相當(dāng)長,在行掃描周期確定的情況下留給行顯示的時間就太少了,以致影 響到 LED 的亮度。即在顯示本行各列數(shù)據(jù)的同時,傳送下一列數(shù)據(jù)。經(jīng)過上述分析,就可以歸納出列驅(qū)動器電路應(yīng)具有的功能。這樣,本行已準(zhǔn)備好的數(shù)據(jù)打入并行鎖存器進行顯示時,串并移位寄存器就可以準(zhǔn)備下一行的列數(shù)據(jù),而不會影響本行的顯示。從語言結(jié)構(gòu)及其與單片機的關(guān)系兩方面可分為三大類:分別是機器語言、匯編語言和高級語言。由于計算機只能識別二進制代碼,因此,這種語言與計算機的關(guān)系最為直接,計算機能夠快速識別并立即執(zhí)行,響應(yīng)速度最快。 匯編語言 匯編語言是一種用助記符來表示的面 向機器的程序設(shè)計語言。這種語言比機器語言更加直觀、易懂、易用,且便于記憶。 高級語言 高級語言是一種面向過程且獨立于計算機硬件結(jié)構(gòu)的通用計算機語言。 單片機 C 語言的特點 ① 對單片機的指令系統(tǒng)不要求了解,僅要求對單片機的存儲結(jié)構(gòu)有初步的了解。 ③ 程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),可使程序 結(jié)構(gòu)化。 ⑤ 編程及程序調(diào)試時間顯著縮短,從而提高效率。 單片機 C 語言使用的編程軟件 編程軟件 Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機 C 語言軟件開發(fā)系統(tǒng),與匯編相比, C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。******畢業(yè)設(shè)計 10 運行 Keil 軟件需要 WIN9 NT、 WIN20 WINXP 等操作系統(tǒng)。 仿真軟件 Proteus 是英國 Labcenter 公司開發(fā)的電路分析與實物仿真軟件。 4 基于單片機的病床呼叫系統(tǒng)的設(shè)計實現(xiàn) 系統(tǒng)總體設(shè)計 功能要求 本課題主攻方向是使系統(tǒng)實現(xiàn)以下目的: ① 任一病房(共 16 張)呼叫,醫(yī)護值班室馬上能響應(yīng)并顯示病房號; ② 顯示病房床號; ③ 若有多個病床呼叫就循環(huán)顯示; ④ 處理完畢后清除記錄; ⑤ 顯示器不重復(fù)顯示按一次以上的病床號 設(shè)計方案 用 8051 自身接口實現(xiàn)數(shù)碼管靜態(tài)顯示和鍵盤掃描 , 使用 8051 單片微機外加作地址鎖存用的四塊三態(tài)鎖存器 74LS373 芯片和一塊 74LS138 芯片可構(gòu)成一個完整的最小微機電路。 總體結(jié)構(gòu)框圖 本設(shè)計是基于 AT89C51 單片機設(shè)計的病房呼叫系統(tǒng)設(shè)計,該系統(tǒng)就是以 Atmel 公司的 AT89C51 單片機作為主控器,包括鍵盤輸入電路,顯示電路,以及晶振復(fù)位電路等來實現(xiàn)病房呼叫系統(tǒng)。采用上電加按鈕復(fù)位,因為本系統(tǒng)設(shè)計考慮到該系統(tǒng)比較重要,所以除了采用上電復(fù)位的方式外,應(yīng)該還有按鈕復(fù)位備用復(fù)位方式以防止系統(tǒng)死機時能。本系統(tǒng)采用內(nèi)部方式,在 XTAL1和 XTAL2 端外接石英晶體作為定時元件,內(nèi)部反相放大器自激振蕩,產(chǎn)生時鐘。電容采用 30pF 電容。 行掃描法的原理 : 行掃描法識別閉合 鍵的原理如下:先使第 0 行接地,其余行為高電平,然后看第 0行是否有鍵閉 合 ,這是通過檢查列線電位來實現(xiàn)的,即在第 0 行接地時,看是否有條列線變成低電平。此后,再將第1 行接地,然后檢測列線中是否有變?yōu)榈碗娖降木€。在掃描過程中,當(dāng)發(fā)現(xiàn)某一行有鍵閉合時,也就是列線輸入中有一位為 0 時,便在掃描中途退出,而將輸入值進行移位,從而確定閉合鍵所在的列線位置。將行線和一個并行接口相接, CPU 每次使并行輸出接口的某一位為 0,便相當(dāng)于將某一行線接地,而其他位為 1,則相當(dāng)于使其他行線處于高電平。 從上面的原理中知道,程控掃描法是由程序控制鍵掃描的方法。其方法是使所有的行輸出均為低電平,然后從端口 A 讀XTAL1 XTAL2 單 片 機 C1 C2 ******畢業(yè)設(shè)計 13 入列值 。 ②去除鍵抖動。 ③若有鍵閉合,則求出閉合鍵的鍵值 . 求鍵值的方法是對鍵盤逐行掃描。 行反轉(zhuǎn)法也是識別閉合鍵的常用方法,它的原理如下所述。圖 是行反轉(zhuǎn)法的工作示意圖: 圖 行反轉(zhuǎn)法連接圖 從圖中可以看到,用行反轉(zhuǎn)法識別閉合鍵時,要將行線接一個并行口,先讓它工作為輸出方式,將列線接到一個并行口,先讓它工作在輸出方式。如果此時有某一個鍵被按下,則必定會使某一列線值為 0,然后,程序再對兩個并行端口進行方式設(shè)置,使接行線的并行端口工作在輸出方式,而使接列線的并行端口工作在輸出方式,并且將剛才讀得的列線值從所接的并行端口輸出,再讀取行線的輸入值,那么,在閉合鍵所在的 行線上的值必定為 0。在鍵盤設(shè)計時,除了以鍵碼的識別以外,還有抖動問題需要解決 [13]。 顯示電路設(shè)計 在 LED 的點陣顯示中,已經(jīng)詳細(xì)介紹了顯示的原理,此外還需要知道顯示驅(qū)動程序。 然后顯示驅(qū)動程序查詢當(dāng)前燃亮的行號,從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。圖 為顯示驅(qū)動程序(顯示屏掃描函數(shù))流程圖 : ******畢業(yè)設(shè)計 15 圖 顯示驅(qū)動流程圖 圖 控制按鍵 控制電路設(shè)計 三個控制按鍵分別接 , , 口(如圖 所示),當(dāng)有呼叫發(fā)出時,值班室人員收到相應(yīng)信息后,可按下“響應(yīng)按鈕”,單片機執(zhí)行中斷程序。 系統(tǒng)軟件設(shè)計 設(shè)計的軟件環(huán)境簡介 Keil c 對 于 AT89C51 的控制設(shè)計,以 Keil c 軟件編程環(huán)境,以 proteus 軟件為電路仿真設(shè)計環(huán)境。 Keil c 軟件界面,如圖 所示: 進入中斷 定時器賦初 讀取行號并增加 1 送新行顯示數(shù)據(jù) 消隱 切換顯示數(shù)據(jù) 發(fā)送新行號,打開顯示 退出中斷 Down Proteus ISIS Proteus ISIS 是英國 Labcenter 公司開發(fā)的電路分析與實物仿真軟件。 該軟件的特點是: ( 1)全部滿足我們提出的單片機軟件仿真系統(tǒng)的標(biāo)準(zhǔn),并在同類產(chǎn)品中具有明顯的優(yōu)勢。 ( 3)目前支持的單片機類型有: ARM7 系列、 68000 系列、 8051 系列、 AVR 系列、PIC12 系列、 PIC16 系列、 PIC18 系列、 Z80 系列、 HC11 系列以及各種外圍芯片。 總之,該軟件是一款集單片機和 SPICE 分析于一身的仿真軟件,功能極其強大 ,可仿真 ARM、 5 AVR、 PIC[15]。 ******畢業(yè)設(shè)計 17 圖 電路仿真界面 運行 Proteus 程序后,進入軟件的主界面。 系統(tǒng)程序設(shè)計 系統(tǒng)主程序設(shè)計的流程如圖 所示: ******畢業(yè)設(shè)計 18 圖 系統(tǒng)主程序設(shè)計的流 程 主程序程序描述: 首先對各存儲單元初始化,設(shè)定定時初值,接著判斷清零鍵,看是否按下,若按下,則清零,然后繼續(xù)掃描鍵盤,如掃描到鍵盤有鍵按下,則調(diào)用計數(shù)顯示子程序,循環(huán)顯示病床號時,要判斷標(biāo)志位是否為 1,若為 1,則表示已經(jīng)按下,則不響應(yīng),如為 0,則調(diào)用循環(huán)顯示病床號子程序,循環(huán)顯示病床號,接著定時一秒。 顯示電路流程圖 圖 按鍵總數(shù)顯示程序流程圖 圖 按鍵循環(huán)顯示子程序 顯示程序描述 ( 1)按下鍵總數(shù)顯示子程序描述(圖 按鍵總數(shù)顯示程序流程圖) 把按鍵數(shù)存儲單總元( COUNTER)的值經(jīng)過 BCD 調(diào)整后十位和個位分別送( 7AH)( 7BH),調(diào)用顯示子程序顯示按鍵總數(shù)。 系統(tǒng)的 調(diào)試 與結(jié)果 系統(tǒng)調(diào)試工作是系統(tǒng)開發(fā)過程中必不可少的一個過程,一個完整的控制系統(tǒng)調(diào)試包含控制系統(tǒng)的硬件聯(lián)調(diào)、軟件聯(lián)調(diào)、系統(tǒng)仿真、仿真燒錄和現(xiàn)場安裝調(diào)試等幾個環(huán)節(jié)。所有的調(diào)試通過后,要進行現(xiàn)場運行并能持續(xù)一定的時間,待其中未發(fā)現(xiàn)故障后,方可驗收合格,才算完成了整個系統(tǒng)的設(shè)計工 作 調(diào)試界面顯示 下面是我們通過 Proteus 軟件編程,使對應(yīng)的軟件仿真模塊變成可視化的控制界面: 圖 系統(tǒng)初始化界面 圖 按下 8 鍵后界面 圖 按下 3 鍵后顯示界面 圖 按下 OK 鍵后顯示界面 結(jié)果分析 啟動電源,顯示屏顯示 0000,在按下 8 號鍵時,界下部分顯示病床(即 8 號病床呼叫);界面上部分代表共有 一個病床按下,在起始位置顯示(循環(huán)顯示);如果現(xiàn)在不按清零鍵,再按下 3 號鍵時,按鍵號循環(huán)顯示 ,可以看出該系統(tǒng)具有記憶功能,以至于不會忽略之前按下的按鍵;圖 反映了控制電路的可行性,按 up 鍵向后選一房間(呼叫病房), down 向前選一房間(呼叫病房), ok 則去房間 .。通過 PROTEUS 軟件仿真,能達到上述******畢業(yè)設(shè)計 20 結(jié)論,滿足課題目目的,達到要求。 在設(shè)計的過程中遇到了很多問題,發(fā)現(xiàn)了自己的不足之處, 有很多沒有學(xué)習(xí) , 如Proteus 仿真知識及操作,還有單片機的 C 語言編程;有些軟件 掌握得不夠牢固,比如說 wave 仿真不熟練 ;通過此次學(xué)習(xí),進一步加強了我的理解,同時提高了我獨立自學(xué)的能力。此次設(shè)計讓我從中學(xué)到很多東西。設(shè)計以后,才更加深刻感受到自己的學(xué)習(xí)只是理論部分,而且很多時候不能付諸實踐。 但是由于本人水平有限,整個設(shè)計仍有很多不足之處,如程序不夠完善、靈活,顯示可以采用液晶 LCD 模塊,還有可以采用無線 NRF2401 射頻模塊及其無線擴展功能等等。 最后,在 指導(dǎo) 老師和 同組 同學(xué)的身上我學(xué)得到很多實用的知識, 特別感謝指導(dǎo)老師給予的幫助,還用同學(xué)之間的資源共享。這三年給我留下很多美好的記憶,同時接受很多優(yōu)秀老師的教育,和很多同學(xué)的幫助。從拿到畢業(yè)設(shè)計的題目,之后便開始整理材料,這期間,在圖書館里找到很多有關(guān)書籍。最后開始整體的實驗,雖然其中經(jīng)歷很多的失敗。設(shè)計的系統(tǒng)雖不是那么完善,但也是從知識到實踐的轉(zhuǎn)換。時光短暫,但給我留下很多深刻的印象,這是第一次獨立自主的做設(shè) 計。通過此次設(shè)計, 對我今后的學(xué)習(xí)和工作******畢業(yè)設(shè)計 21 必將 有很大的 幫助 。 //num 為當(dāng)前顯示值, N 為總顯示值 /******************************主函數(shù) **********************************/ void main() { uchar j。 ******畢業(yè)設(shè)計 23 TH0=(6553645000)/256。 TR0=1。 EA=1。 while(1) { if(P3_2==0) { if(Nq) q++。 P3_1=1。//延時子程序 P3_1=0。 while(P3_3==0)。 delay10ms(10)。 } if(P3_4==0) { N。jN。 b[N]=0。 while(P3_4==0)。 P3_1=1。 P3_1=0。 if(m!=key) { m=key。 N++。 delay10ms(10)。 } } } /************************中斷服務(wù)子程序 ******************************/ void timer0() interrupt 1 using 1//T0 中斷 { TH0=(6553650000)/256。 if(d==0) ******畢業(yè)設(shè)計 25 display1(N,b[num],b[q])。 if(ys==100) { num++。 } else if(ys105) { d=0。 } if(numN) num=0。 /****************************延時子程序 ********************************/ void delay10ms(uchar d) { unsigned char i,j,k。k0。i0。j0。 } } /******************************點陣顯示子程序 **************************/ void display1(uchar x,uchar s,uchar p) ******畢業(yè)設(shè)計 26 { uchar i,j=0,k,m=0,n=0,w[2],y[2],z[2]。 w[1]=s%10。 y[1]=x%10。z[1]=p%10。i16
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1