基于單片機(jī)的排隊(duì)管理系統(tǒng)_第1頁(yè)
基于單片機(jī)的排隊(duì)管理系統(tǒng)_第2頁(yè)
基于單片機(jī)的排隊(duì)管理系統(tǒng)_第3頁(yè)
基于單片機(jī)的排隊(duì)管理系統(tǒng)_第4頁(yè)
基于單片機(jī)的排隊(duì)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、大連海事大學(xué)裝訂線畢 業(yè) 論 文二一四年六月基于單片機(jī)的排隊(duì)管理系統(tǒng)專業(yè)班級(jí): 通信工程1班 姓 名: 徐 夢(mèng) 陽(yáng) 指導(dǎo)教師: 劉 劍 橋 信息科學(xué)技術(shù)學(xué)院摘 要本設(shè)計(jì)是基于單片機(jī)為核心,由主控制器、按鍵、發(fā)光二極管、數(shù)碼管顯示電路等部分構(gòu)成的一套排隊(duì)叫號(hào)系統(tǒng)。該系統(tǒng)是以排隊(duì)抽號(hào)順序?yàn)楹诵?,客戶利用客戶端排?hào),工作人員利用叫號(hào)端叫號(hào);通過(guò)顯示器及時(shí)顯示當(dāng)前所叫號(hào)數(shù),客戶及時(shí)了解排隊(duì)信息,通過(guò)合理的程序結(jié)構(gòu)來(lái)執(zhí)行排隊(duì)叫號(hào)。以提高排隊(duì)等待效率,解決排隊(duì)秩序混亂,前擁后擠等現(xiàn)象,實(shí)現(xiàn)排隊(duì)自動(dòng)化,規(guī)范化。通過(guò)該系統(tǒng)的使用,客戶不必為排隊(duì)浪費(fèi)大量精力,便于管理排隊(duì)秩序,同時(shí)適應(yīng)信息時(shí)代管理數(shù)字化的要求,

2、提高服務(wù)水平與質(zhì)量。該系統(tǒng)利用單片機(jī)進(jìn)行控制,通過(guò)串行通信方式傳輸處理數(shù)據(jù);通過(guò)按鍵取號(hào),在數(shù)碼管上顯示排隊(duì)的號(hào)碼;通過(guò)按鍵叫號(hào),在數(shù)碼管上顯示叫到的號(hào)碼,由發(fā)光二極管閃爍來(lái)提示客戶。本系統(tǒng)采用單片機(jī)進(jìn)行控制,利用數(shù)碼管顯示,提示的人機(jī)交互界面,模擬排隊(duì)管理系統(tǒng),科學(xué)地處理各種排隊(duì)情況。操作簡(jiǎn)便,控制靈活,顯示清晰,制作成本低,性價(jià)比較高。關(guān)鍵詞:?jiǎn)纹瑱C(jī);排隊(duì)叫號(hào);串行通信;數(shù)碼管顯示ABSTRACTThis design is a calling-queuing system based on SCM(single chip microcomputer)as the core, includ

3、ing other parts such as the main controller, buttons, light-emitting diode, digital tube display circuit. The system is based on line Queue number, the customers using the client to get number while the staff using queue system. The customers can understand queuing information in time through the di

4、splay. Using the reasonable structure of program to perform the line number, it can improve the efficiency of waiting in line, deal with the phenomenon such as out of order and crowed. This system can realize automation and standardization. By the use of this system, the customer dont have to waste

5、time to line up, the managers are easy to control the line, whats more, this system meets the requirements of digital information management and improves the level of service and quality.The system uses SCM to control, serial communication mode to transmission data. And through the number keys get n

6、umbers which show on the digital tube, through keys to call numbers which show on another digital tube, the customer get information rely on the Flashing light-emitting diode. The work uses SCM, digital tube, human-computer interaction interface to simulate the queuing management system, deal w

7、ith all kinds of queuing situation scientifically, with a series of advantages such as easy operation, flexible control, low cost and high cost performance. Keywords: SCM;Queue;Serial Communications;Digital display;目 錄第1章 緒論11.1 基于單片機(jī)排隊(duì)管理系統(tǒng)的應(yīng)用11.2排隊(duì)管理系統(tǒng)的功能簡(jiǎn)介21.2.1 排隊(duì)管理系統(tǒng)的流程框圖21.2.2 排隊(duì)管理系統(tǒng)的使用說(shuō)明21.3 本

8、論文研究的目的和意義2第2章 系統(tǒng)硬件電路設(shè)計(jì)32.1 系統(tǒng)硬件設(shè)計(jì)思路概述32.1.1 系統(tǒng)硬件設(shè)計(jì)框圖32.1.2 系統(tǒng)功能分析及設(shè)計(jì)要求32.2微處理器介紹32.2.1 MCS-51單片機(jī)的特點(diǎn):42.2.2 MCS-51單片機(jī)的結(jié)構(gòu)42.2.3 MCS-51單片機(jī)接口功能52.2.4單片機(jī)最小系統(tǒng)介紹52.3 數(shù)據(jù)處理模塊62.3.1 AT89C51單片機(jī)性能介紹62.3.2 AT89C51外部引腳功能62.3.3 單片機(jī)系統(tǒng)的相關(guān)電路82.4 顯示模塊92.4.1 數(shù)碼管概述102.4.2 原理圖及引腳圖102.4.3 數(shù)碼管的譯碼方式112.4.4 數(shù)碼管與單片機(jī)接口設(shè)計(jì)122.5

9、 整體的電路原理圖設(shè)計(jì)13第3章 系統(tǒng)軟件部分設(shè)計(jì)143.1排隊(duì)管理系統(tǒng)的主程序143.2 初始化程序153.3 運(yùn)行程序分析163.3.1 設(shè)置變量程序163.3.2 排隊(duì)程序173.3.3 叫號(hào)程序17第4章 系統(tǒng)運(yùn)行及硬件調(diào)試194.1 keil程序調(diào)試及proteus仿真194.1.1 proteus功能及使用概述194.1.2 調(diào)試過(guò)程中的問(wèn)題及解決方案204.2 仿真結(jié)果及功能實(shí)現(xiàn)214.3 實(shí)物完成及實(shí)物調(diào)試224.3.1 電路板實(shí)物測(cè)試結(jié)果234.3.2 數(shù)碼管亮度不夠的解決方案234.3.3 設(shè)計(jì)過(guò)程中的問(wèn)題和解決辦法234.4 實(shí)物完成實(shí)際應(yīng)用25第5章 全文總結(jié)及展望26

10、參 考 文 獻(xiàn)28致 謝29附錄 系統(tǒng)程序1基于單片機(jī)排隊(duì)管理系統(tǒng)第1章 緒論1.1 基于單片機(jī)排隊(duì)管理系統(tǒng)的應(yīng)用近年來(lái),隨著科學(xué)技術(shù)的迅猛發(fā)展和人們生活水平的日益提高,各行各業(yè)特別是服務(wù)行業(yè)的競(jìng)爭(zhēng)也逐漸激烈。服務(wù)質(zhì)量作為體現(xiàn)企業(yè)的公眾形象、服務(wù)理念、管理水平的標(biāo)準(zhǔn)已越來(lái)越受到服務(wù)和被服務(wù)雙方所關(guān)注,而營(yíng)業(yè)窗口正是代表銀行、醫(yī)院、電信、稅務(wù)、工商等企業(yè)服務(wù)質(zhì)量的重要場(chǎng)所。隨著服務(wù)行業(yè)業(yè)務(wù)量的增長(zhǎng)及業(yè)務(wù)種類的增加,營(yíng)業(yè)廳的排隊(duì)問(wèn)題也更加的突出。長(zhǎng)期以來(lái),人們?cè)阢y行、醫(yī)院、電信、稅務(wù)、工商等營(yíng)業(yè)大廳里前擁后擠、雜亂無(wú)章地排隊(duì)等候,有時(shí)一站就是一個(gè)多小時(shí),這已是司空見(jiàn)慣的現(xiàn)象,極大地影響了消費(fèi)者的心

11、情。員工坐著服務(wù)、客戶站著等待的服務(wù)方式與“用戶就是上帝”的服務(wù)宗旨完全背道而馳。對(duì)于營(yíng)業(yè)廳的服務(wù)質(zhì)量差,越來(lái)越多的人感覺(jué)到不滿意,因此提高營(yíng)業(yè)廳的服務(wù)質(zhì)量、解決因排隊(duì)帶來(lái)的疲勞、煩感、創(chuàng)造更加高效、人性化服務(wù)環(huán)境已成為當(dāng)前急需解決的現(xiàn)實(shí)問(wèn)題。設(shè)計(jì)智能輕松的排隊(duì)服務(wù)系統(tǒng),解決因排隊(duì)引起的種種問(wèn)題,顯得尤為重要,因此本文針對(duì)以上問(wèn)題設(shè)計(jì)了一套基于51單片機(jī)的排隊(duì)機(jī)叫號(hào)系統(tǒng)。本系統(tǒng)可以真正模擬人們的排隊(duì)過(guò)程,通過(guò)排號(hào)的順序給出相應(yīng)的業(yè)務(wù)號(hào)碼,通過(guò)叫號(hào)的形式來(lái)接受服務(wù),而在這期間人們可以在等候室等候,等候室提供座椅和報(bào)紙期刊,舒緩顧客等待的急躁情緒,使人們能夠舒適的等候排隊(duì),真正做到了高科技化服務(wù)體

12、系。本文基于單片機(jī)的排隊(duì)叫號(hào)系統(tǒng),由客戶端和主機(jī)終端組成,有LCD大屏幕顯示號(hào)碼,讓客戶知道自己現(xiàn)在所排到的號(hào)碼以及現(xiàn)在接受的服務(wù)的號(hào)碼,并有叫號(hào)指示燈提醒客戶,讓客戶知道什么時(shí)候被叫到去辦理業(yè)務(wù),方便快捷,可以滿足日常的服務(wù)行業(yè)排隊(duì)叫號(hào),所以非常有意義。1.2排隊(duì)管理系統(tǒng)的功能簡(jiǎn)介1.2.1 排隊(duì)管理系統(tǒng)的流程框圖圖1-1排隊(duì)管理系統(tǒng)的整個(gè)流程1.2.2 排隊(duì)管理系統(tǒng)的使用說(shuō)明客戶進(jìn)入營(yíng)業(yè)廳之后,到排號(hào)機(jī)處點(diǎn)下排號(hào)按鍵,數(shù)碼管上將會(huì)顯示出該客戶目前所排的待接受服務(wù)的號(hào)碼,客戶知道號(hào)碼后然后進(jìn)入休息區(qū)等候,然后等待柜員叫號(hào),叫到的人員到柜臺(tái)去辦理業(yè)務(wù),辦理完畢后離開(kāi)。整套流程井然有序,提高了營(yíng)

13、業(yè)廳的服務(wù)質(zhì)量、解決了因排隊(duì)帶來(lái)的疲勞、煩感、創(chuàng)造更加高效、人性化服務(wù)環(huán)境已成為當(dāng)前急需解決的現(xiàn)實(shí)問(wèn)題,設(shè)計(jì)智能輕松的排隊(duì)服務(wù)系統(tǒng),解決因排隊(duì)引起的種種問(wèn)題,顯得尤為重要。1.3 本論文研究的目的和意義近年來(lái),隨著科學(xué)技術(shù)的迅猛發(fā)展和人們生活水平的日益提高,各行各業(yè)特別是服務(wù)行業(yè)的競(jìng)爭(zhēng)也逐漸激烈。隨著服務(wù)行業(yè)業(yè)務(wù)量的增長(zhǎng)及業(yè)務(wù)種類的增加,營(yíng)業(yè)廳的排隊(duì)問(wèn)題也更加的突出。因此,提高營(yíng)業(yè)廳的服務(wù)質(zhì)量、解決因排隊(duì)帶來(lái)的疲勞、煩感、創(chuàng)造更加高效、人性化服務(wù)環(huán)境已成為當(dāng)前急需解決的現(xiàn)實(shí)問(wèn)題。設(shè)計(jì)智能輕松的排隊(duì)服務(wù)系統(tǒng),解決因排隊(duì)引起的種種問(wèn)題,顯得尤為重要,因此本文針對(duì)以上問(wèn)題設(shè)計(jì)了一套基于51單片機(jī)的排

14、隊(duì)機(jī)叫號(hào)系統(tǒng)。本系統(tǒng)可以使人們?cè)诘群蚴业群?,等候室提供座椅和?bào)紙期刊,舒緩顧客等待的急躁情緒,使們能夠舒適的等候排隊(duì),真正做到了高科技化服務(wù)體系。第2章 系統(tǒng)硬件電路設(shè)計(jì)2.1 系統(tǒng)硬件設(shè)計(jì)思路概述按鍵電源復(fù)位電路主控系統(tǒng)排號(hào)顯示叫號(hào)顯示圖2-1系統(tǒng)硬件設(shè)計(jì)框圖一個(gè)很好的叫號(hào)系統(tǒng),它的功能設(shè)計(jì)首先要符合用戶的習(xí)慣,同時(shí)操作方便,易學(xué),易用。本系統(tǒng)由鍵盤輸入系統(tǒng)、單片機(jī)系統(tǒng)、屏幕顯示系統(tǒng)及叫號(hào)提示系統(tǒng)組成,系統(tǒng)分為兩個(gè)部分:排號(hào)部分和叫號(hào)部分,其控制核心為AT89C51單片機(jī),選用此單片機(jī)編程簡(jiǎn)單,開(kāi)發(fā)工具便于使用,能很好的滿足排隊(duì)排號(hào)的控制數(shù)據(jù)處理。排號(hào)部分和叫號(hào)部分采用一塊LCD液晶顯示器,

15、這樣顯示數(shù)據(jù)直觀,便于客戶理解,排號(hào)部分輸入只需使用一個(gè)排號(hào)按鍵即可,便于客戶操作,叫號(hào)部分包括三個(gè)叫號(hào)系統(tǒng),三個(gè)窗口數(shù)字不重復(fù),交替增加,提高了辦公服務(wù)的效率,系統(tǒng)還帶有復(fù)位按鍵,操作簡(jiǎn)單、方便。2.2微處理器介紹單片機(jī)的出現(xiàn)使現(xiàn)代科學(xué)技術(shù)研究得到了質(zhì)的飛躍,可以毫不夸張地說(shuō),它給現(xiàn)代工業(yè)領(lǐng)域帶來(lái)了一次新的技術(shù)革命。目前,單片機(jī)以其高可靠性、高性能價(jià)格比,在工業(yè)控制系統(tǒng)、智能化儀器儀表、辦公自動(dòng)化、日常生活用品等諸多領(lǐng)域得到極為廣泛的應(yīng)用,并已走入普通家庭,從洗衣機(jī)、微波爐到音響、汽車,到處都可見(jiàn)到單片機(jī)的蹤影。由于單片機(jī)技術(shù)在各個(gè)領(lǐng)域正得到越來(lái)越廣泛的應(yīng)用,世界上許多集成電路生產(chǎn)廠家相繼推

16、出了各種類型的單片機(jī)。如單片機(jī)家族中的主流產(chǎn)品MCS51系列,還有最近推出的PIC和凌陽(yáng)系列都是比較優(yōu)秀的單片機(jī)芯片,是構(gòu)建我們不同的設(shè)計(jì)系統(tǒng)的最佳選擇。早期單片機(jī)大多結(jié)構(gòu)體系,指令復(fù)雜,指令代碼、周期數(shù)不統(tǒng)一、指令運(yùn)行很難實(shí)現(xiàn)流水線操作,大大阻礙了運(yùn)行速度的提高。例如MCS51系列單片機(jī),時(shí)鐘頻率12MHz時(shí),單周期指令運(yùn)行速度僅1秒。雖然單片機(jī)對(duì)運(yùn)行速度要求遠(yuǎn)不如通用計(jì)算機(jī)系統(tǒng)或數(shù)字信號(hào)處理對(duì)指令運(yùn)行速度的要求,但速度的提高會(huì)帶來(lái)許多好處,并拓寬單片機(jī)應(yīng)用領(lǐng)域。一方面可獲得很高的指令運(yùn)行速度,另方面,在相同的運(yùn)行速度下,可大大降低時(shí)鐘頻率,有利于獲得良好的電磁兼容效果。專用單片機(jī)是專門針對(duì)

17、某一類產(chǎn)品系統(tǒng)要求而設(shè)計(jì)的。使用專用單片機(jī)可最大限度地簡(jiǎn)化系統(tǒng)結(jié)構(gòu),使資源利用效率最高。在大批量使用時(shí)有可觀的經(jīng)濟(jì)效益和可靠性效益。專用單片機(jī)發(fā)展的基礎(chǔ)是半導(dǎo)體集成工藝和微電子設(shè)計(jì)技術(shù)。采用模塊化標(biāo)準(zhǔn)單元的快速設(shè)計(jì)及快速半導(dǎo)體集成工藝,將加速專用單片機(jī)的發(fā)展。2.2.1 MCS-51單片機(jī)的特點(diǎn):(1)小巧靈活、成本低、易于產(chǎn)品化。能組裝成各種智慧式測(cè)控設(shè)備及智能儀器儀表。(2)可靠性好,應(yīng)用范圍廣。單片機(jī)芯片本身是按工業(yè)測(cè)控環(huán)境要求設(shè)計(jì)的,抗干擾性強(qiáng),能適應(yīng)各種惡劣的環(huán)境,這是其它機(jī)種無(wú)法比擬的。(3)易擴(kuò)展,很容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),控制功能強(qiáng)。單片機(jī)的邏輯控制功能很強(qiáng),指令系統(tǒng)有各種

18、控制功能指令,可以對(duì)邏輯功能比較復(fù)雜的系統(tǒng)進(jìn)行控制。(4)具有通訊功能,可以很方便地實(shí)現(xiàn)多機(jī)和分布式控制,形成控制網(wǎng)絡(luò)和遠(yuǎn)程控制。正是由于51系列單片機(jī)具有以上優(yōu)點(diǎn),所以成為本次畢業(yè)設(shè)計(jì)所選用的處理器。2.2.2 MCS-51單片機(jī)的結(jié)構(gòu)AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可反復(fù)擦除100次。從工作原理上講,單片機(jī)是一種微型計(jì)算機(jī),一種“程序存儲(chǔ)式”計(jì)算機(jī)1。它是在一塊硅片上集成中央處理器(CPU)、隨機(jī)內(nèi)存(RAM)、程序內(nèi)存(ROM或EPROM)、定時(shí)/計(jì)數(shù)器以及各種I/O接口,就是集在芯片上的計(jì)

19、算機(jī)。 圖2-2 MCS-51單片機(jī)的結(jié)構(gòu)2.2.3 MCS-51單片機(jī)接口功能單片微控制器簡(jiǎn)稱單片機(jī),是在一塊集成了CPU中央處理器的芯片、ROM程序存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、RAM數(shù)據(jù)存儲(chǔ)器和多種功能的I/O輸入/輸出接口等一臺(tái)微型計(jì)算機(jī)。其包含計(jì)算機(jī)所需要的基本功能部件。其可以完成各種功能和函數(shù)中復(fù)雜的運(yùn)算、通信、邏輯控制等功能。單片機(jī)的最小系統(tǒng)是單片機(jī)運(yùn)行的最低保障,簡(jiǎn)單說(shuō)就是單片機(jī)能正常工作和實(shí)現(xiàn)功能所必須的組成部分。可解釋為使用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。單片機(jī)的最小系統(tǒng)應(yīng)該包括單片機(jī)、時(shí)鐘電路、復(fù)位電路和輸入/輸出設(shè)備。AT89S51單片機(jī)是完全集成的混合信號(hào)片上系統(tǒng)型M

20、CU,片內(nèi)具有64KB、可在系統(tǒng)編程的Flash,4352字節(jié)的片內(nèi)RAM。其他外設(shè)主要有:12/10位或8位ADC;2個(gè)12位DAC;3個(gè)模擬捕捉/比較器;硬件實(shí)現(xiàn)SPI/SMBus和UART串口三種接口同時(shí)支持,對(duì)于系統(tǒng)的可擴(kuò)展性非常有利;單片機(jī)AT89S51共包含通用的16位定時(shí)器5個(gè);其具有6個(gè)可編輯計(jì)數(shù)器/定時(shí)器陣列的捕捉/比較模塊;單片機(jī)內(nèi)還包含看門狗定時(shí)器、溫度傳感器和VDD監(jiān)視器4。2.2.4單片機(jī)最小系統(tǒng)介紹單片機(jī)最小系統(tǒng)即是單片機(jī)運(yùn)行的最基本電路,最小系統(tǒng)中的組成缺一不可。最小系統(tǒng)主要是有三部分組成,其中包括單片機(jī)、復(fù)位電路、時(shí)鐘電路等幾部分組成。這幾部分是單片機(jī)系統(tǒng)必不可

21、少的,既然被稱為單片機(jī)最小系統(tǒng),他的每一部分都是單片機(jī)系統(tǒng)必不可少的部分,單片機(jī)是一切控制的核心,他負(fù)責(zé)單片機(jī)軟件的運(yùn)行,協(xié)調(diào)各個(gè)硬件電路之間的協(xié)調(diào)運(yùn)行。軟件代碼需要燒寫(xiě)在單片機(jī)內(nèi),供電后,單片機(jī)運(yùn)行程序集可開(kāi)始運(yùn)行,隨著事項(xiàng)相應(yīng)功能。單片機(jī)又稱單片微控制器是在一塊芯片中集成了CPU中央處理器、RAM數(shù)據(jù)存儲(chǔ)器、ROM程序存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器和多種功能的I/O輸入/輸出接口等一臺(tái)計(jì)算機(jī)所需要的基本功能部件,從而可以完成復(fù)雜的運(yùn)算、邏輯控制、通信等功能。單片機(jī)最小系統(tǒng)就是讓單片機(jī)能正常工作并發(fā)揮其功能時(shí)所必須的組成部分也可理解為是用最少的元件組成的單片機(jī)可以工作的系統(tǒng)2。隨著電子技術(shù)的迅速發(fā)展

22、,特別是隨著大規(guī)模集成電路產(chǎn)生而出現(xiàn)的微型計(jì)算機(jī),給人類生活帶來(lái)了根本性的改變。單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī)。它是把組成微型計(jì)算機(jī)的各功能部件像中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、I/O接口電路、定時(shí)器/計(jì)數(shù)器以及串行通訊接口等部件制作在一塊集成芯片中,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。由于它的結(jié)構(gòu)與指令功能都是按照工業(yè)控制要求設(shè)計(jì)的,故又叫單片微控制器。2.3 數(shù)據(jù)處理模塊2.3.1 AT89C51單片機(jī)性能介紹數(shù)據(jù)處理模塊由單片機(jī)系統(tǒng)完成,在這里我采用的是美國(guó)ATMEL公司生產(chǎn)的AT89C513。它是一款低電壓,高性能CMOS8位單片機(jī),片內(nèi)含有4KB的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器

23、和128字節(jié)的隨機(jī)存儲(chǔ)器。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容,由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,它為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51的性能:與MCS-51成品指令系統(tǒng)完全兼容;4KB可編程閃速存儲(chǔ)器;壽命:1000次寫(xiě)/擦循環(huán);數(shù)據(jù)保留時(shí)間:10年;全靜態(tài)工作:0-24MHz;三級(jí)程序存儲(chǔ)器鎖定;128*8B內(nèi)部RAM;32個(gè)可編程I/O口線;2個(gè)16位定時(shí)/計(jì)數(shù)器;5個(gè)中斷源;可編程串行UART通道;片內(nèi)震蕩器和掉電模式。 2.3.2

24、 AT89C51外部引腳功能AT89C51采用PDIP封裝形式,引腳配置如圖2-3所示。圖2-3 AT89C51的引腳圖AT89C51芯片的各引腳功能11為:P0口:這組引腳共有8條,P0.0為最低位。這8個(gè)引腳有兩種不同的功能,分別適用于不同的情況,第一種情況是89C51不帶外存儲(chǔ)器,P0口可以為通用I/O口使用,P0.0-P0.7用于傳送CPU的輸入/輸出數(shù)據(jù),這時(shí)輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89C51帶片外存儲(chǔ)器,P0.0-P0.7在CPU訪問(wèn)片外存儲(chǔ)器時(shí)先傳送片外存儲(chǔ)器的低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀

25、/寫(xiě)數(shù)據(jù)。P0口為開(kāi)漏輸出,在作為通用I/O使用時(shí),需要在外部用電阻上拉。P1口:這8個(gè)引腳和P0口的8個(gè)引腳類似,P1.7為最高位,P1.0為最低位,當(dāng)P1口作為通用I/O口使用時(shí),P1.0-P1.7的功能和P0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。P2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用I/O口使用,它的第一功能和P0口引腳的第二功能相配合,用于輸出片外存儲(chǔ)器的高8位地址,共同選中片外存儲(chǔ)器單元,但并不是像P0口那樣傳送存儲(chǔ)器的讀/寫(xiě)數(shù)據(jù)。P3口:這組引腳的第一功能和其余三個(gè)端口的第一功能相同,第二功能為控制功能,每個(gè)引腳并不完全相同,如下表2-1

26、所示:表2-1 P3口各位的第二功能P3口各位第二功能P3.0RXT(串行口輸入)P3.1TXD(串行口輸出)P3.2/INT0(外部中斷0輸入)P3.3/INT1(外部中斷1輸入)P3.4T0(定時(shí)器/計(jì)數(shù)器0的外部輸入)P3.5T1(定時(shí)器/計(jì)數(shù)器1的外部輸入)P3.6/WR(片外數(shù)據(jù)存儲(chǔ)器寫(xiě)允許)P3.7/RD(片外數(shù)據(jù)存儲(chǔ)器讀允許)Vcc為+5V電源線,Vss接地。ALE:地址鎖存允許線,配合P0口的第二功能使用,在訪問(wèn)外部存儲(chǔ)器時(shí),89C51的CPU在P0.0-P0.7引腳線去傳送隨后而來(lái)的片外存儲(chǔ)器讀/寫(xiě)數(shù)據(jù)。在不訪問(wèn)片外存儲(chǔ)器時(shí),89C51自動(dòng)在ALE線上輸出頻率為1/6震蕩器頻

27、率的脈沖序列。該脈沖序列可以作為外部時(shí)鐘源或定時(shí)脈沖使用。/EA:片外存儲(chǔ)器訪問(wèn)選擇線,可以控制89C51使用片內(nèi)ROM或使用片外ROM,當(dāng)/EA=1的時(shí)候,允許使用片內(nèi)ROM, 當(dāng)/EA=0的時(shí)候,只使用片外ROM。/PSEN:片外ROM的選通線,在訪問(wèn)片外ROM時(shí),89C51自動(dòng)在/PSEN線上產(chǎn)生一個(gè)負(fù)脈沖,作為片外ROM芯片的讀選通信號(hào)。RST:復(fù)位線,可以使89C51處于復(fù)位(即初始化)工作狀態(tài)。通常89C51復(fù)位有自動(dòng)上電復(fù)位和人工按鍵復(fù)位兩種。XTAL1和XTAL2:片內(nèi)震蕩電路輸入線,這兩個(gè)端子用來(lái)外接石英晶體和微調(diào)電容,即用來(lái)連接89C51片內(nèi)OSC(震蕩器)的定時(shí)反饋回路。

28、AT89C51提供以下標(biāo)準(zhǔn)功能:4KB的Flash閃速存儲(chǔ)器,128B內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路,同時(shí),AT89C51可降至0Hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止其他所有工作直到下一個(gè)硬件復(fù)位。 2.3.3 單片機(jī)系統(tǒng)的相關(guān)電路2.3.3.1 復(fù)位電路單片機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。

29、MCS-51單片機(jī)有一個(gè)復(fù)位引腳RST11,采用施密特觸發(fā)輸入。當(dāng)震蕩器起振后,只要該引腳上出現(xiàn)2個(gè)機(jī)器周期以上的高電平即可確保時(shí)器件復(fù)位。復(fù)位完成后,如果RST端繼續(xù)保持高電平,MCS-51就一直處于復(fù)位狀態(tài),只要RST恢復(fù)低電平后,單片機(jī)才能進(jìn)入其他工作狀態(tài)。單片機(jī)的復(fù)位方式有上電自動(dòng)復(fù)位和手動(dòng)復(fù)位兩種,圖6是51系列單片機(jī)統(tǒng)常用的上電復(fù)位和手動(dòng)復(fù)位組合電路,只要Vcc上升時(shí)間不超過(guò)1ms,它們都能很好的工作。復(fù)位電路如圖2-4所示。圖2-4 單片機(jī)復(fù)位電路2.3.3.2 時(shí)鐘發(fā)生電路單片機(jī)中CPU每執(zhí)行一條指令,都必須在統(tǒng)一的時(shí)鐘脈沖的控制下嚴(yán)格按時(shí)間節(jié)拍進(jìn)行,而這個(gè)時(shí)鐘脈沖是單片機(jī)控制

30、中的時(shí)序電路發(fā)出的。CPU執(zhí)行一條指令的各個(gè)微操作所對(duì)應(yīng)時(shí)間順序稱為單片機(jī)的時(shí)序。MCS-51單片機(jī)芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成震蕩器,XTAL1為該放大器的輸入端,XTAL2為該放大器輸出端,但形成時(shí)鐘電路還需附加其他電路。本設(shè)計(jì)系統(tǒng)采用內(nèi)部時(shí)鐘方式,利用單片機(jī)內(nèi)部的高增益反相放大器,外部電路簡(jiǎn),只需要一個(gè)晶振和2個(gè)電容即可,如圖2-5所示。圖2-5 單片機(jī)時(shí)鐘發(fā)生電路電路中的器件選擇可以通過(guò)計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路12的參數(shù),電路中,電容器C1和C2對(duì)震蕩頻率有微調(diào)作用,通常的取值范圍是30±10pF,在這個(gè)系統(tǒng)中選擇了33pF;石英晶振選擇范圍最高可選

31、24MHz,它決定了單片機(jī)電路產(chǎn)生的時(shí)鐘信號(hào)震蕩頻率,在本系統(tǒng)中選擇的是12MHz,因而時(shí)鐘信號(hào)的震蕩頻率為12MHz。2.4 顯示模塊顯示模塊采用的是四個(gè)二位一體的數(shù)碼管,如圖2-6所示。圖2-6顯示模塊圖LED是發(fā)光二極管顯示器的縮寫(xiě)。LED由于結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、與單片機(jī)接口方便等優(yōu)點(diǎn)而得到廣泛應(yīng)用。LED顯示器即數(shù)碼管是由若干個(gè)發(fā)光二極管組成顯示字段的顯示器件。在單片機(jī)中使用最多的是七段數(shù)碼顯示器。七段數(shù)碼管由8個(gè)發(fā)光二極管組成顯示字段,其中7個(gè)長(zhǎng)條形的發(fā)光二極管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,其通過(guò)不同的組合可用來(lái)顯示各種數(shù)字。2.4.1

32、數(shù)碼管概述數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。能顯示2個(gè)數(shù)碼管叫四位數(shù)碼管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)極數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。其在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)

33、某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。2.4.2 原理圖及引腳圖對(duì)于一位數(shù)碼管對(duì)應(yīng)的端名稱及排列如下圖所示圖2-7一位數(shù)碼管引腳端名稱內(nèi)部的工作原理即如下面兩圖所示。每個(gè)段其實(shí)就是一個(gè)發(fā)光二極管,導(dǎo)通即亮。下面的示例圖都以共陽(yáng)極數(shù)碼管為例,共陰極數(shù)碼管原理相同,只是二極管方向相反。圖2-8 共陽(yáng)極數(shù)碼管內(nèi)部電路而四位數(shù)碼管即相當(dāng)于4個(gè)一位的數(shù)碼管段選并聯(lián)而陰極(共陰數(shù)碼管)或陽(yáng)極(共陽(yáng)數(shù)碼管),則分別作為位選端。LED數(shù)碼管是單片機(jī)控制系統(tǒng)中最常見(jiàn)的顯示器件之一,一般用來(lái)顯示處理結(jié)果或輸入輸出信號(hào)的狀態(tài)。數(shù)碼管顯示是一個(gè)系統(tǒng)工程中必不可

34、少的人機(jī)交互環(huán)節(jié),因此關(guān)于數(shù)碼管的驅(qū)動(dòng)也就是系統(tǒng)工程中的一個(gè)重要的環(huán)節(jié)。數(shù)碼管的驅(qū)動(dòng)分為動(dòng)態(tài)驅(qū)動(dòng)和靜態(tài)驅(qū)動(dòng)兩種。所謂靜態(tài)驅(qū)動(dòng),就是指無(wú)論多少位LED數(shù)碼管,同時(shí)處于顯示狀態(tài)。動(dòng)態(tài)顯示驅(qū)動(dòng)是指無(wú)論在任何時(shí)刻只有一個(gè)LED數(shù)碼管處于顯示狀態(tài),及單片機(jī)采用“掃描”方式控制各個(gè)數(shù)碼管輪流顯示。將數(shù)碼管每個(gè)LED燈對(duì)應(yīng)單片機(jī)的一個(gè)I/O口。通過(guò)單片機(jī)的P口來(lái)控制LED燈的亮和滅。I/O口之間互相獨(dú)立,需要用I/O口直接控制LED。動(dòng)態(tài)顯示將數(shù)碼管的每個(gè)引腳一對(duì)一連接在一起接單片機(jī)的數(shù)據(jù),而將各個(gè)數(shù)碼管的公共端單獨(dú)送至單片機(jī)的I/O口進(jìn)行片選。此外,在此基礎(chǔ)上,用單片機(jī)與三極管來(lái)驅(qū)動(dòng)數(shù)碼管,從而實(shí)現(xiàn)數(shù)碼管

35、的動(dòng)態(tài)顯示。 2.4.3 數(shù)碼管的譯碼方式譯碼方式是指由顯示字符轉(zhuǎn)換得到對(duì)應(yīng)的字段碼的方式,對(duì)于LED數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種8。硬件譯碼是指利用專門的硬件電路來(lái)實(shí)現(xiàn)顯示字符碼的轉(zhuǎn)換。軟件譯碼就是編寫(xiě)軟件譯碼程序,通過(guò)譯碼程序來(lái)得到要顯示的字符的字段碼,譯碼程序通常為查表程序。表2-2共陰極字段碼表顯示字符共陰極字段碼03FH106H25BH34FH466H56DH67DH707H87FH96FH本設(shè)計(jì)系統(tǒng)中為了簡(jiǎn)化硬件線路設(shè)計(jì),數(shù)碼管譯碼采用軟件編程來(lái)實(shí)現(xiàn)。由于本設(shè)計(jì)采用的是共陰極數(shù)碼管,其對(duì)應(yīng)的字符和字段碼如表2-3所示(本系統(tǒng)采用的是共陰極的數(shù)碼

36、管)。2.4.4 數(shù)碼管與單片機(jī)接口設(shè)計(jì)由于單片機(jī)的并行口不能直接驅(qū)動(dòng)數(shù)碼管,所以,在一般情況下,必須采用專用的驅(qū)動(dòng)電路芯片8,使之產(chǎn)生足夠大的電流,數(shù)碼管才能正常工作。如果驅(qū)動(dòng)電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度就低,而且驅(qū)動(dòng)電路長(zhǎng)期在超負(fù)荷下運(yùn)行容易損壞,因此,數(shù)碼管的驅(qū)動(dòng)電路設(shè)計(jì)是一個(gè)非常重要的問(wèn)題。數(shù)碼管的驅(qū)動(dòng)通常分為兩種:靜態(tài)驅(qū)動(dòng)和動(dòng)態(tài)顯示。1、靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5&#

37、215;8=40根I/O端口來(lái)驅(qū)動(dòng),一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。2、數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃“a,b,c,d,e,f,g,dp” 7的同名端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。

38、通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms7,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。所以為了簡(jiǎn)化電路,本系統(tǒng)在數(shù)碼管驅(qū)動(dòng)電路的設(shè)計(jì)上,利用單片機(jī)P0口上外接的上拉電阻來(lái)實(shí)現(xiàn),即將數(shù)碼管的A-G段顯示引腳和DP小數(shù)點(diǎn)顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口的驅(qū)動(dòng)能力,使得數(shù)碼管能按照正常的亮度顯示出

39、數(shù)字。2.5 整體的電路原理圖設(shè)計(jì)整體原理圖如圖2-9所示8:圖2-9 系統(tǒng)總電路圖第3章 系統(tǒng)軟件部分設(shè)計(jì)對(duì)于單片機(jī)控制的系統(tǒng),軟件和硬件同樣重要,硬件僅解決了信號(hào)輸入輸出問(wèn)題,軟件完成對(duì)數(shù)據(jù)的處理、傳送、存儲(chǔ)、顯示等,是系統(tǒng)的控制和處理核心。單片機(jī)在推廣應(yīng)用的初期,主要使用匯編語(yǔ)言,這是因?yàn)楫?dāng)時(shí)的開(kāi)發(fā)工具只能支持匯編語(yǔ)言。隨著硬件技術(shù)的發(fā)展,單片機(jī)的程序設(shè)計(jì)語(yǔ)言從匯編語(yǔ)言過(guò)渡到高級(jí)語(yǔ)言C已經(jīng)成為時(shí)代的潮流。C語(yǔ)言是一種通用的程序設(shè)計(jì)語(yǔ)言,其代碼效率高、數(shù)據(jù)類型及運(yùn)算符豐富,并具有良好的程序結(jié)構(gòu),適用于各種應(yīng)用程序設(shè)計(jì)。支持51單片機(jī)用的C語(yǔ)言編程的編譯器主要有兩種:Franklin C51

40、編譯器和Keil C51編譯器,我們簡(jiǎn)稱C51。C51是專為51單片機(jī)開(kāi)發(fā)的一種高性能的C編譯器。由C51產(chǎn)生的目的代碼的運(yùn)行速度極高,所需存儲(chǔ)空間極小,完全可以和匯編語(yǔ)言媲美。本論文中所有程序的編譯均采用德國(guó)Keil Software9公司開(kāi)發(fā)的Keil C51編譯器7。3.1排隊(duì)管理系統(tǒng)的主程序本論文排隊(duì)管理系統(tǒng)測(cè)試流程如下圖所示,主要包含了系統(tǒng)初始化部分、A/D轉(zhuǎn)換部分、顯示部分。主程序框圖如圖3-1所示圖3-1主程序框圖3.2 初始化程序初始化,是對(duì)將要用到的51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是設(shè)置定時(shí)器的工作模式,初值預(yù)置,開(kāi)中斷和打開(kāi)定時(shí)器

41、等。初始化中TMOD設(shè)置為0x10,轉(zhuǎn)換為二進(jìn)制的為00010000,對(duì)應(yīng)定時(shí)器的工作方式寄存器可以知道,設(shè)定的模式為1,定時(shí)器1工作在方式1圖3-2 工作方式寄存器TMODGATE:門控位 GATE=0時(shí),只要用軟件使TCON中的TR0或者TR1為1,就可以啟動(dòng)定時(shí)/計(jì)數(shù)器工作;GATE=1時(shí),要同時(shí)滿足以下要求,才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作(一般不使用) 用軟件使TR1或TR0為1, 同時(shí)外部中斷(INT0/1)引腳(P3.2,P3.3)也為高電平M1M0;工作方式設(shè)置位。定時(shí)/計(jì)數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置,具體方式見(jiàn)下表11。表3-1定時(shí)/計(jì)數(shù)器工作方式設(shè)置表對(duì)定時(shí)器裝初值:本系

42、統(tǒng)用的定時(shí)器1TH1=(65536-200)/256; TL1=(65536-200)%256; 所設(shè)定時(shí)間為200ms中斷設(shè)置12:對(duì)IE賦值,開(kāi)中斷 開(kāi)定時(shí)器中斷(ET0=1或ET1=1)開(kāi)總中斷(EA=1)。圖3-3中斷允許IE每一位都需要用程序置1或清0。置1時(shí),相應(yīng)的中斷打開(kāi);清0時(shí),相應(yīng)的中斷關(guān)閉。使用定時(shí)器、外部中斷、串行口中斷中的某一個(gè)或某幾個(gè)時(shí)EA都要置1。3.3 運(yùn)行程序分析3.3.1 設(shè)置變量程序*#define uchar unsigned char#define uint unsigned intsbit led1=P10;sbit led2=P11;sbit led

43、3=P12;sbit key1=P30;/排號(hào)sbit key2=P31;/1sbit key3=P32;/2sbit key4=P33;/3sbit key5=P34;/清除復(fù)位uchar pHao=0;uchar jHao1=0;uchar jHao2=0;uchar jHao3=0;uchar jHao=0;uchar jHao1Flag=0;uchar jHao2Flag=0;uchar jHao3Flag=0;*此段程序?yàn)槎x函數(shù),設(shè)置變量,“l(fā)ed1,led2,led3”這三個(gè)變量為發(fā)光二極管的,將三個(gè)變量接到單片機(jī)的Pl端口的0、1、2端;同時(shí)設(shè)置5個(gè)按鍵“key1-5”接到P3

44、端口的04端上;然后是一些變量名稱,在接下來(lái)的程序中應(yīng)用。3.3.2 排隊(duì)程序*void key() /按鍵掃描函數(shù)if(key1=0) /設(shè)置鍵按下delay_ms(5);if(key1=0)while(!key1);pHao+;if(pHao=100)pHao=99;*此段程序中應(yīng)用了判斷語(yǔ)句和循環(huán)語(yǔ)句,先是調(diào)取按鍵掃描函數(shù)語(yǔ)句,當(dāng)有“key1“按下時(shí),排號(hào)變量“pHao”立刻加一,然后再重新存到變量“pHao”中,此處為一循環(huán)語(yǔ)句,返回后可一直循環(huán)的進(jìn)行,將變量“pHao”取值范圍設(shè)定為00993.3.3 叫號(hào)程序*if(key2=0) /叫號(hào)1delay_ms(5);if(key2=0

45、)while(!key2);if(jHao<pHao)jHao+; if(jHao=100)jHao=0;jHao1=jHao;jHao1Flag=1;jHao2Flag=jHao3Flag=0;TR0=1;*此段程序中也主要應(yīng)用了判斷語(yǔ)句和循環(huán)語(yǔ)句,先是調(diào)取按鍵掃描函數(shù)語(yǔ)句,當(dāng)有叫號(hào)鍵“key2“按下時(shí),叫號(hào)變量“jHao立刻加一,與排號(hào)不同的是,這段程序中,設(shè)定了一定宏變量“jHao”,其他的變量“jHao1、jHao2、jHao3”都是在調(diào)取宏變量“jHao”的取值,這樣三個(gè)變量的值是交替增加的,根據(jù)實(shí)際中的情況,叫號(hào)的數(shù)值不能超過(guò)排號(hào),所以添加判斷語(yǔ)句“if(jHao<pH

46、ao);jHao+”保證了這一點(diǎn)。每進(jìn)行完一次,都是一個(gè)循環(huán),返回后可一直循環(huán)的進(jìn)行,將變量“jHao”取值范圍設(shè)定為0099叫號(hào)程序也是整個(gè)實(shí)現(xiàn)功能中的重要部分,跟據(jù)實(shí)際的現(xiàn)實(shí)客戶多的情況,故設(shè)計(jì)安排了3個(gè)叫號(hào)的窗口同時(shí)進(jìn)行服務(wù),提高辦業(yè)務(wù)的效率,節(jié)約了客戶的時(shí)間。第4章 系統(tǒng)運(yùn)行及硬件調(diào)試本章主要介紹系統(tǒng)樣應(yīng)用結(jié)果,并對(duì)結(jié)果進(jìn)行分析。將從下面幾方面 keil程序調(diào)試及proteus仿真 實(shí)物完成 實(shí)際電阻測(cè)量及結(jié)果分析4.1 keil程序調(diào)試及proteus仿真4.1.1 proteus功能及使用概述KeilC51標(biāo)準(zhǔn)C編譯器為8051微控制器的軟件開(kāi)發(fā)提供了C語(yǔ)言環(huán)境,同時(shí)保留了匯編代碼

47、高效,快速的特點(diǎn)。C51編譯器的功能不斷增強(qiáng),使你可以更加貼近CPU本身,及其它的衍生產(chǎn)品。C51已被完全集成到uVision2的集成開(kāi)發(fā)環(huán)境中,這個(gè)集成開(kāi)發(fā)環(huán)境包含:編譯器,匯編器,實(shí)時(shí)操作系統(tǒng),項(xiàng)目管理器,調(diào)試器。uVision2 IDE可為它們提供單一而靈活的開(kāi)發(fā)環(huán)境。C51V7版本是目前最高效、靈活的8051開(kāi)發(fā)平臺(tái)。它可以支持所有8051的衍生產(chǎn)品,也可以支持所有兼容的仿真器,同時(shí)支持其它第三方開(kāi)發(fā)工具。因此,C51V7版本無(wú)疑是8051開(kāi)發(fā)用戶的最佳選擇。Protues軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具的軟件仿真功

48、能,還能仿真單片機(jī)及其外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。其功能特點(diǎn)如下:proteus軟件具有其它EDA工具軟件的功能。這些功能是:(1)原理布圖(2)PCB自動(dòng)或人工布線(3)SPICE電路仿真革命性的特點(diǎn):(1)互動(dòng)的電路仿真用戶甚至可以實(shí)時(shí)采用諸如LED/LCD、鍵盤、RS232終端等動(dòng)態(tài)外設(shè)模型來(lái)對(duì)設(shè)計(jì)進(jìn)行交互仿真。(2)仿真處理器及其外圍電路可以仿真51系列、AVR、PIC等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運(yùn)行后

49、輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,protues建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境。軟件調(diào)試的主要任務(wù)是排查錯(cuò)誤,錯(cuò)誤主要包括邏輯和功能錯(cuò)誤,這些錯(cuò)誤有些是顯性的,而有些是隱形的,可以通過(guò)仿真開(kāi)發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。Proteus軟件可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真,用戶甚至可以實(shí)時(shí)采用諸如LED/LCD、鍵盤、RS232終端等動(dòng)態(tài)外設(shè)模型來(lái)對(duì)設(shè)計(jì)進(jìn)行交互仿真。Proteus支持的微處理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成單片機(jī)系統(tǒng)原理圖電路繪制、PCB設(shè)計(jì),更為顯著點(diǎn)的特點(diǎn)是可以與keil的u Vi

50、sions4 IDE工具軟件結(jié)合進(jìn)行編程仿真調(diào)試13。4.1.2 調(diào)試過(guò)程中的問(wèn)題及解決方案本系統(tǒng)的調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是Proteus軟件,而程序方面,采用的是匯編語(yǔ)言,用Keil軟件將程序?qū)懭雴纹瑱C(jī)。最初實(shí)現(xiàn)的是一個(gè)電壓表的功能,將程序在keil中編譯生成.hex文件。在proteus面板上畫(huà)出系統(tǒng)的電路圖。Keil中生成的.hex文件下載到仿真圖中的單片機(jī)內(nèi)進(jìn)行仿真。下載程序的步驟:雙擊仿真圖中的芯片出現(xiàn)下面窗口圖4-1 程序下載窗口截圖1點(diǎn)擊畫(huà)圈的文件夾即可進(jìn)入文件路徑便可顯示文件下的.hex文件點(diǎn)擊圖4-2 程序下載窗口截圖2點(diǎn)擊打開(kāi),然后點(diǎn)擊ok

51、。程序便下入仿真圖芯片中。圖4-3仿真窗口截圖3然后點(diǎn)擊仿真界面左下角開(kāi)始鍵即可進(jìn)行仿真。4.2 仿真結(jié)果及功能實(shí)現(xiàn)圖4-4為仿真啟動(dòng)圖叫號(hào)鍵叫號(hào)鍵排號(hào)鍵叫號(hào)鍵復(fù)位鍵仿真使用說(shuō)明:控制本程序的按鍵有5個(gè),通過(guò)這些按鍵來(lái)實(shí)現(xiàn)排隊(duì)叫號(hào)一整套的功能,按下“排號(hào)鍵”,數(shù)碼管上會(huì)出現(xiàn)數(shù)字就是你所排的位置,將會(huì)是第幾個(gè)接受服務(wù)。當(dāng)窗口開(kāi)始服務(wù)時(shí),本系統(tǒng)根據(jù)實(shí)際客戶眾多的情況,特設(shè)置了3個(gè)服務(wù)的叫號(hào)窗口,當(dāng)點(diǎn)下任何一個(gè)叫號(hào)鍵時(shí),對(duì)應(yīng)的數(shù)碼管上將會(huì)顯示出數(shù)字,同時(shí)在其相應(yīng)的發(fā)光二極管會(huì)閃爍來(lái)提醒客戶到響應(yīng)的窗口來(lái)接受服務(wù),分別無(wú)序按下3個(gè)叫號(hào)鍵,上面的數(shù)字將會(huì)使交替增加,整套流程井然有序,提高了營(yíng)業(yè)廳的服務(wù)質(zhì)

52、量、解決了因排隊(duì)帶來(lái)的疲勞、煩感、創(chuàng)造更加高效、人性化服務(wù)環(huán)境已成為當(dāng)前急需解決的現(xiàn)實(shí)問(wèn)題,設(shè)計(jì)智能輕松的排隊(duì)服務(wù)系統(tǒng),解決因排隊(duì)引起的種種問(wèn)題,顯得尤為重要。圖4-5為仿真過(guò)程圖4.3 實(shí)物完成及實(shí)物調(diào)試在仿真成功之后,著手完成真正的實(shí)物制作,采用的是網(wǎng)孔電路板焊接器件,按照電路圖排版。完成后通過(guò)單片機(jī)開(kāi)發(fā)版和STC-ISP軟件實(shí)現(xiàn)單片機(jī)對(duì).hex文件的下載。實(shí)際中使用的單片機(jī)為AT89C52。圖4-6為排隊(duì)管理系統(tǒng)實(shí)物圖4.3.1 電路板實(shí)物測(cè)試結(jié)果件編譯成功后下載到單片機(jī)中上測(cè)試,使用實(shí)物板上的按鍵,就能控制此系統(tǒng)的正常工作,使用的是2個(gè)四位一體的數(shù)碼管,發(fā)光二極管對(duì)應(yīng)的數(shù)碼光上有數(shù)字顯

53、示時(shí),二極管就會(huì)發(fā)光。當(dāng)調(diào)試實(shí)物發(fā)現(xiàn),二極管是一直在亮的,這樣會(huì)影響客戶,使其混亂,不知道是哪個(gè)窗口要求服務(wù),所以改動(dòng)設(shè)計(jì),在程序中加入閃爍的延時(shí)程序,將二極管的發(fā)光修改為,亮三下,每下之間有短暫的間歇,這樣更加人性化。 4.3.2 數(shù)碼管亮度不夠的解決方案在進(jìn)行實(shí)物演示的時(shí)候發(fā)現(xiàn)數(shù)碼管的亮度不夠,對(duì)于數(shù)碼管亮度不夠的問(wèn)題,請(qǐng)教了老師和電航的一些經(jīng)常參加比賽的同學(xué),同時(shí)也上相關(guān)的單片機(jī)網(wǎng)站查閱搜索了相關(guān)的資料。找到亮度不夠的原因是單片機(jī)的P1口輸出電壓偏低,不足以驅(qū)動(dòng)數(shù)碼管,即數(shù)碼管缺少相關(guān)的驅(qū)動(dòng)電路。相關(guān)的解決方案:仍由P1口接數(shù)碼管,但是要在數(shù)碼管位選端口和其余單片機(jī)連接的P2口低四位之間

54、加驅(qū)動(dòng)電路如圖4-7:圖4-7 驅(qū)動(dòng)電路圖并在P1口加上拉電阻,以達(dá)到增加輸出電流的效果從而使數(shù)碼管亮度增加。4.3.3 設(shè)計(jì)過(guò)程中的問(wèn)題和解決辦法在設(shè)計(jì)之初并沒(méi)有真正的體會(huì)到實(shí)物應(yīng)用性,考慮不夠周全,在進(jìn)行實(shí)物的調(diào)試,發(fā)現(xiàn)在沒(méi)有排號(hào)的時(shí)候,叫號(hào)顯示數(shù)碼管上的數(shù)字還可以顯示,而且叫號(hào)的數(shù)字能夠大于排號(hào)的數(shù)字,這點(diǎn)不符合實(shí)際的情況,故對(duì)整個(gè)程序進(jìn)行了更改。*if(key2=0)/叫號(hào)1delay_ms(5);if(key2=0)while(!key2);jHao+;if(jHao=100)jHao=0;jHao1=jHao;jHao1Flag=1;jHao2Flag=jHao3Flag=0;TR

55、0=1;*更改后的程序:*if(key2=0)/叫號(hào)1delay_ms(5);if(key2=0)while(!key2);if(jHao<pHao)jHao+;if(jHao=100)jHao=0;jHao1=jHao;jHao1Flag=1;jHao2Flag=jHao3Flag=0;TR0=1;*在原程序中添加判斷語(yǔ)句。if(jHao<pHao)jHao+;這樣可以保證叫號(hào)的數(shù)字不會(huì)大于排號(hào)的數(shù)字,而且三個(gè)叫號(hào)的窗口數(shù)字也不會(huì)相同,不會(huì)產(chǎn)生混亂的現(xiàn)象,找不到應(yīng)該到哪個(gè)窗口去辦理業(yè)務(wù),簡(jiǎn)單的一條語(yǔ)句,就能使整個(gè)系統(tǒng)的功能得到很大的提升,更具有實(shí)用性。4.4 實(shí)物完成實(shí)際應(yīng)用本文再設(shè)計(jì)排隊(duì)管理系統(tǒng)之前對(duì)現(xiàn)有的營(yíng)業(yè)廳做了調(diào)查,不同的企業(yè)的營(yíng)業(yè)廳,采取了不同的排隊(duì)系統(tǒng)來(lái)完成自己的正常營(yíng)業(yè),在親身嘗試之后,從中我感

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論