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

正文內(nèi)容

基于單片機的排隊管理系統(tǒng)畢業(yè)論文(編輯修改稿)

2025-08-14 19:07 本頁面
 

【文章內(nèi)容簡介】 AT89C51 芯片的各引腳功能 [11]為: P0 口:這組引腳共有 8 條, 為最低位。這 8 個引腳有兩種不同的功 能,分別適用于不同的情況,第一種情況是 89C51 不帶外存儲器, P0 口可以為通用I/O 口使用, 用于傳送 CPU 的輸入 /輸出數(shù)據(jù),這時輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是 89C51 帶片外存儲器, 在 CPU 訪問片外存儲器時先傳送片外存儲器的低 8 位地址,然后傳送 CPU 對片外存儲器的讀 /寫數(shù)據(jù)。 P0 口為開漏輸出,在作為通用 I/O 使用時,需要在外部用電阻上拉。 P1 口:這 8 個引腳和 P0 口的 8 個引腳類似, 為最高位, 為最低位,當(dāng) P1 口作為通用 I/O 口使用時, 的功能和 P0 口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。 P2 口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用 I/O 口使用,它的第一功能和 P0 口引腳的第二功能相配合,用于輸出片外存儲器的高 8 位地址,共同選中片外存儲器單元,但并不是像 P0 口那樣傳送存儲器的讀 /寫數(shù)據(jù)。 P3 口:這組引腳的第一功能和其余三個端口的第一功能相同,第二功能為控制功能,每個引腳并不完全相同,如下表 21 所示: 表 21 P3口各位的第二功能 P3 口各位 第二功能 RXT(串行口輸入) TXD(串行口輸出) /INT0(外部中斷 0 輸入) /INT1(外部中斷 1 輸入 ) 基于單片機的排隊管理系統(tǒng) 8 T0(定時器 /計數(shù)器 0 的外部輸入) T1(定時器 /計數(shù)器 1 的外部輸入) /WR(片外數(shù)據(jù)存儲器寫允許) /RD(片外數(shù)據(jù)存儲器讀允許 ) Vcc 為 +5V 電源線, Vss 接地。 ALE:地址鎖存允許線,配合 P0 口的第二功能使用,在訪問外部存儲器時,89C51 的 CPU 在 引腳線去傳送 隨后而來的片外存儲器讀 /寫數(shù)據(jù)。在不訪問片外存儲器時, 89C51 自動在 ALE 線上輸出頻率為 1/6 震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時鐘源或定時脈沖使用。 /EA: 片外存儲器訪問選擇線,可以控制 89C51 使用片內(nèi) ROM 或使用片外ROM, 當(dāng) /EA=1 的時候 ,允許使用片內(nèi) ROM, 當(dāng) /EA=0 的時候 ,只使用片外ROM。 /PSEN:片外 ROM 的選通線,在訪問片外 ROM 時, 89C51 自動在 /PSEN 線上產(chǎn)生一個負脈沖,作為片外 ROM 芯片的讀選通信號。 RST:復(fù)位線,可以使 89C51 處于復(fù)位 (即初始化 )工 作狀態(tài)。通常 89C51 復(fù)位有自動上電復(fù)位和人工按鍵復(fù)位兩種。 XTAL1 和 XTAL2:片內(nèi)震蕩電路輸入線,這兩個端子用來外接石英晶體和微調(diào)電容,即用來連接 89C51 片內(nèi) OSC(震蕩器 )的定時反饋回路。 AT89C51 提供以下標(biāo)準(zhǔn)功能: 4KB 的 Flash 閃速存儲器, 128B 內(nèi)部 RAM, 32個 I/O 口線,兩個 16 位定時 /計數(shù)器,一個 5 向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)震蕩器及時鐘電路,同時, AT89C51 可降至 0Hz 靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止 CPU 的工作,但允許 RAM,定時 /計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存 RAM 中的內(nèi)容,但震蕩器停止工作并禁止其他所有工作直到下一個硬件復(fù)位。 單片機系統(tǒng)的相關(guān)電路 復(fù)位 電路 單片機在啟動運行時都需要復(fù)位,使 CPU 和系統(tǒng)中的其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。 MCS51 單片機有一個復(fù)位引腳 RST[11],采用施密特觸發(fā)輸入。當(dāng)震蕩器起振后,只要該引腳上出現(xiàn) 2 個機器周期以上的高電平即可確保時器件復(fù)位。復(fù)位完成后,如果 RST 端繼續(xù)保持高電平, MCS51就一直處于 復(fù)位狀態(tài),只要 RST 恢復(fù)低電平后,單片機才能進入其他工作狀態(tài)。單片機的復(fù)位方式有上電自動復(fù)位和手動復(fù)位兩種,圖 6 是 51 系列單片機統(tǒng)常用的上電復(fù)位和手動復(fù)位組合電路,只要 Vcc 上升時間不超過 1ms,它們都能很好基于單片機的排隊管理系統(tǒng) 9 的工作。 復(fù)位電路如圖 24 所示。 圖 24 單片機復(fù)位電路 時鐘發(fā)生電路 單片機中 CPU 每執(zhí)行一條指令,都必須在統(tǒng)一的時鐘脈沖的控制下嚴格按時間節(jié)拍進行,而這個時鐘脈沖是單片機控制中的時序電路發(fā)出的。 CPU 執(zhí)行一條指令的各個微操作所對應(yīng)時間順序稱為單片機的時序。 MCS51 單片機芯 片內(nèi)部有一個高增益反相放大器,用于構(gòu)成震蕩器, XTAL1 為該放大器的輸入端, XTAL2為該放大器輸出端,但形成時鐘電路還需附加其他電路。本設(shè)計系統(tǒng)采用內(nèi)部時鐘方式,利用單片機內(nèi)部的高增益反相放大器,外部電路簡,只需要一個晶振和 2 個電容即可,如圖 25 所示。 圖 25 單片機時鐘發(fā)生電路 電路中的器件選擇可以通過計算和實驗確定,也可以參考一些典型電路 [12]的參數(shù),電路中,電容器 C1 和 C2 對震蕩頻率有微調(diào)作用,通常的取值范圍是 30177。10pF,在這個系統(tǒng)中選擇了 33pF;石英晶振選擇范圍最高可選 24MHz,它決定了單片機電路產(chǎn)生的時鐘信號震蕩頻率,在本系統(tǒng)中選擇的是 12MHz,因而時鐘信號的震蕩頻率為 12MHz。 顯示模塊 顯示模塊采用的是 四個 二 位 一體的數(shù)碼管 ,如圖 26 所示。 基于單片機的排隊管理系統(tǒng) 10 圖 26 顯示模塊圖 LED 是發(fā)光二極管顯示器的縮寫。 LED 由于結(jié)構(gòu)簡單、價格便宜、與單片機接口方便等優(yōu)點而得到廣泛應(yīng)用。 LED 顯示器 即數(shù)碼管 是由若干個發(fā)光二極管組成顯示字段的顯示器件。在單片機中使用最多的是七段數(shù)碼顯示器。七段數(shù)碼 管 由8 個發(fā)光二極管組成顯示字段,其中 7 個長條形的發(fā)光二極管排列成“日”字形,另一個圓點形的發(fā) 光二極管在顯示器的右下角作為顯示小數(shù)點用,其通過不同的組合可用來顯示各種數(shù)字。 數(shù)碼管概述 數(shù)碼管 是一種半導(dǎo)體發(fā)光器件,其基本單元是 發(fā)光二極管 。能顯示 2 個數(shù)碼 管叫 四位 數(shù)碼管。數(shù)碼管按段數(shù)分為 七段數(shù)碼管 和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光 二極管 單元(多一個小數(shù)點顯示);按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和 共陰極數(shù)碼管 。 共陽極數(shù)碼管 是指將所有發(fā)光二極管的陽極接到一起形成公共陽極 (COM)的數(shù)碼管。 其 在應(yīng)用時應(yīng)將公共極 COM 接到 +5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點 亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。 共陰極數(shù)碼管 是指將所有發(fā)光二極管的陰極接到一起形成公共陰極 (COM)的數(shù)碼管。 共陰極數(shù)碼管 在應(yīng)用時應(yīng)將公共極 COM 接到地線GND 上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。 原理圖及引腳圖 對于一位數(shù)碼管對應(yīng)的端名稱及排列如下圖所示 基于單片機的排隊管理系統(tǒng) 11 圖 27 一位數(shù)碼管引腳端名 稱 內(nèi)部的工作原理即如下面兩圖所示。每個段其實就是一個發(fā)光二極管,導(dǎo)通即亮。下面的示例圖都以共陽極數(shù)碼管為例,共陰極數(shù)碼管原理相同,只是二極管方向相反。 圖 28 共陽極數(shù)碼管內(nèi)部電路 而 四位 數(shù)碼管即相當(dāng)于 4 個一位的數(shù)碼管段選并聯(lián)而陰極(共陰數(shù)碼管)或陽極(共陽數(shù)碼管),則分別作為位選端。 LED 數(shù)碼管是單片機控制系統(tǒng)中最常見的顯示器件之一,一般用來顯示處理結(jié)果或輸入輸出信號的狀態(tài)。數(shù)碼管顯示是一個系統(tǒng)工程中必不可少的人機交互環(huán)節(jié),因此關(guān)于數(shù)碼管的驅(qū)動也就是系統(tǒng)工程中的一個重要的環(huán)節(jié)。數(shù)碼管的驅(qū)動分為動態(tài)驅(qū)動和靜態(tài)驅(qū)動兩種。所謂靜態(tài) 驅(qū)動,就是指無論多少位 LED 數(shù)碼管,同時處于顯示狀態(tài)。動態(tài)顯示驅(qū)動是指無論在任何時刻只有一個 LED 數(shù)碼管處于顯示狀態(tài),及單片機采用“掃描”方式控制各個數(shù)碼管輪流顯示。 將數(shù)碼管每個 LED 燈對應(yīng)單片機的一個 I/O 口。通過單片機的 P 口來控制LED 燈的亮和滅。 I/O 口之間互相獨立,需要用 I/O 口直接控制 LED。動態(tài)顯示將數(shù)碼管的每個引腳一對一連接在一起接單片機的數(shù)據(jù),而將各個數(shù)碼管的公共端單獨送至單片機的 I/O 口進行片選。此外,在此基礎(chǔ)上,用單片機與三極管來驅(qū)動數(shù)碼管,從而實現(xiàn)數(shù)碼管的動態(tài)顯示。 數(shù) 碼管的譯碼方式 譯碼方式是指由顯示字符轉(zhuǎn)換得到對應(yīng)的字段碼的方式,對于 LED 數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種 [8]。 硬件譯碼是指利用專門的硬件電路來實現(xiàn)顯示字符碼的轉(zhuǎn)換。 基于單片機的排隊管理系統(tǒng) 12 軟件譯碼就是編寫軟件譯碼程序,通過譯碼程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序。 表 22 共陰極字段碼表 顯示字符 共陰極字段碼 0 3FH 1 06H 2 5BH 3 4FH 4 66H 5 6DH 6 7DH 7 07H 8 7FH 9 6FH 本設(shè)計系統(tǒng)中為了簡化硬件線路 設(shè)計,數(shù)碼管譯碼采用軟件編程來實現(xiàn)。由于本設(shè)計采用的是共陰極數(shù)碼管,其對應(yīng)的字符和字段碼如表 23 所示(本系統(tǒng)采用的是共陰極的數(shù)碼管)。 數(shù)碼管與單片機接口設(shè)計 由于單片機的并行口不能直接驅(qū)動 數(shù)碼管 ,所以,在一般情況下,必須采用專用的驅(qū)動電路芯片 [8],使之產(chǎn)生足夠大的電流, 數(shù)碼管 才能正常工作 。 如果驅(qū)動電路能力差,即負載能力不夠時,顯示器亮度就低,而且驅(qū)動電路長期在超負荷下運行容易損壞,因此, 數(shù)碼管 的驅(qū)動電路設(shè)計是一個非常重要的問題。 數(shù)碼管的驅(qū)動通常分為兩種:靜態(tài)驅(qū)動和動態(tài)顯示。 靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機的 I/O 端口進行驅(qū)動,或者使用如 BCD 碼二 十進制譯碼器譯碼進行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用 I/O 端口多,如驅(qū)動 5 個數(shù)碼管靜態(tài)顯示則需要 58=40 根 I/O 端口來驅(qū)動,一個 89S51 單片機可用的 I/O 端口才 32 個,實際應(yīng)用時必須增加譯碼驅(qū)動器進行驅(qū)動,增加了硬件電路的復(fù)雜性。 數(shù)碼管動態(tài)顯示接口是單片機中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的 8 個顯示筆劃 “ a,b,c,d,e,f,g,dp” [7]的同名端連在一起,另外為每個數(shù)碼管的公共極 COM 增加 位選通控制電路,位選通由各自獨立的 I/O 線控制,當(dāng)單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個基于單片機的排隊管理系統(tǒng) 13 數(shù)碼管會顯示出字形,取決于單片機對位選通 COM 端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的 COM 端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點亮?xí)r間為 1~ 2ms[7],由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡 管實際上各位數(shù)碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的 I/O 端口,而且功耗更低。 所以為了簡化電路,本系統(tǒng)在數(shù)碼管驅(qū)動電路的設(shè)計上,利用單片機 P0 口上外接的上拉電阻來實現(xiàn),即將數(shù)碼管的 AG 段顯示引腳和 DP 小數(shù)點顯示引腳并聯(lián)到 P0 口與上拉電阻之間,這樣,就可以加大 P0 口作為輸出口的驅(qū)動能力,使得數(shù)碼管能按照正常的亮度顯示出數(shù)字。 整體的電路原理圖設(shè)計 整體原理圖如圖 29 所示 [8]: 圖 29 系統(tǒng) 總電路圖 基于單片機的排隊管理系統(tǒng) 14 第 3 章 系統(tǒng)軟件 部分 設(shè)計 對于 單片機 控制的系統(tǒng) ,軟件和硬件 同樣重要 ,硬件 僅 解決了信號輸入輸出問題,軟件 完成對數(shù)據(jù) 的處理、傳送、存儲、顯示等, 是系統(tǒng)的控制和處理核心。 單片機在推廣應(yīng)用的初期,主要使用匯編語言,這是因為當(dāng)時的開發(fā)工具只能支持匯編語言。隨著硬件技術(shù)的發(fā)展,單片機的程序設(shè)計語言從匯編語言過渡到高級語言 C 已經(jīng)成為時代的潮流。 C 語言是一種通用的程序設(shè)計語言,其代碼效率高、數(shù)據(jù)類型及運算符豐富,并具有良好的程序結(jié)構(gòu),適用于各種應(yīng)用程序設(shè)計。 支持 51 單片機 用的 C 語言編程的編譯器主要有兩種: Franklin C51 編譯器和Keil C51 編譯器,我們簡稱 C51。 C51 是專為 51 單片機 開發(fā)的一種高性能的 C 編譯器。由 C51 產(chǎn)生的目的代碼的運行速度極高,所需存儲空間極小,完全可以和匯編語言媲美。 本論文中 所有程序的編譯均 采用德國 Keil Software[9]公司開發(fā)的Keil C51 編譯器 [7]。 排隊管理系統(tǒng) 的主程序 本 論文 排隊管理系統(tǒng) 測試流程 如下圖 所示,主要包含了系統(tǒng)初始化 部分 、 A/D轉(zhuǎn)換部分、顯示部分 。 主程序框圖如圖 31 所示 圖 31 主程序框圖 基于單片機的排隊管理系統(tǒng) 15 初始化程序 初始化,
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1