基于51單片機的紅外計數(shù)系統(tǒng)設(shè)計_第1頁
基于51單片機的紅外計數(shù)系統(tǒng)設(shè)計_第2頁
基于51單片機的紅外計數(shù)系統(tǒng)設(shè)計_第3頁
基于51單片機的紅外計數(shù)系統(tǒng)設(shè)計_第4頁
基于51單片機的紅外計數(shù)系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上摘 要本文介紹了一款以單片機AT89S52為控制器的紅外計數(shù)系統(tǒng)的設(shè)計。該系統(tǒng)可實現(xiàn)對人流量的監(jiān)測、實時顯示以及存儲。系統(tǒng)采用PC機作為上位機,AT89S52單片機為下位機,二者可相互通信。單片機實時監(jiān)測顯示人流量信息,并向上位機發(fā)送人流量信息。同時上位機也可以向單片機發(fā)送控制命令并且可存儲導出人流量信息。PC機與單片機之間的通信采用RS-232C通信標準來實現(xiàn)。除此之外,該系統(tǒng)只占用了單片機少量的I /O口和內(nèi)存,為系統(tǒng)留下了功能擴展的空間。關(guān)鍵字:單片機、紅外對射管、串口通信、上位機控制專心-專注-專業(yè)ABSTRACTThis paper introduces a

2、 design of infrared counting system based on MCU AT89S52. The system is able to monitor the flow rate of visitors of which data can be displayed real-timely and stored. In this system, the PC serves as upper computer as well as MCU AT89S52 serves as lower computer. Communication between the upper an

3、d lower computer acts like the process that MCU AT89S52 sends the information of the flow rate of visitors being monitored to PC which can stores it and sends control commands in response. The communication applies the RS-232C communications standards.In addition, the system takes up only a small am

4、ount of the MCU I/O ports and memory capacity, so that the system has much functional space for expansion.Key words: MCU, infrared shooting tube, serial communication, PC control目 錄第一章 引言1.1 單片機發(fā)展簡述(Microcontrollers)誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段,早期的SCM單片機都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上發(fā)展出了MCS51系列M

5、CU系統(tǒng)?;谶@一系統(tǒng)的系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位,但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著大發(fā)展,技術(shù)得到了巨大提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位迅速取代16位單片機的高端地位,并且進入主流市場。當代系統(tǒng)已經(jīng)不再只在環(huán)境下開發(fā)和使用,大量專用的被廣泛應(yīng)用在全系列的單片機上。而在作為和手機核心處理的高端甚至可以直接使用專用的Windows和。單片機的發(fā)展主要經(jīng)歷了三個主要階段,分別為早期階段(SCM)、中期發(fā)展(MCU)、當前階段(SoC)。如下介紹:早期階段:即(Microcontrollers

6、)階段,主要是尋求最佳的單片形態(tài)的最佳?!皠?chuàng)新模式”獲得成功,奠定了SCM與完全不同的發(fā)展道路。在開創(chuàng)獨立發(fā)展道路上,功不可沒。中期發(fā)展:即(Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:在不斷擴展?jié)M足嵌入式應(yīng)用時,通過增加對象系統(tǒng)要求的各種外圍與接口電路,以突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、廠家肩上。從這一角度來看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當數(shù)Philips公司。Philips公司以其在應(yīng)用方面的巨大優(yōu)勢,將MCS-51從單片微型計算機迅速發(fā)展到。

7、因此,當我們回顧發(fā)展道路時,不要忘記Intel和Philips的歷史功績。當前趨勢:SoC(System on Chip)式的獨立發(fā)展之路。向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在上的最大化解決,因此,專用的發(fā)展自然形成了SoC化趨勢。隨著、IC設(shè)計、EDA工具的發(fā)展,基于SoC的應(yīng)用系統(tǒng)設(shè)計會有較大的發(fā)展。因此,對的理解可以從單片微型計算機、延伸到單片應(yīng)用系統(tǒng)。1.2 單片機應(yīng)用綜述滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。這是由于具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的,可實現(xiàn)諸如電壓、電流、頻率、濕

8、度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用控制會使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或更加強大。家用電器也廣泛采用了控制,從電飯煲、洗衣機、電冰箱、空調(diào)機、彩電、其他視頻器材、再到量設(shè)備和等。在醫(yī)用設(shè)備中的用途亦相當廣泛,例如醫(yī)用呼吸機,各種分析儀,監(jiān)護儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。而本次設(shè)計屬于單片機在生活領(lǐng)域的一個應(yīng)用,結(jié)合紅外對射傳感器做成一個人流量監(jiān)測器。在此基礎(chǔ)上我們亦可以用相同的原理做成工業(yè)產(chǎn)品在生產(chǎn)線上的計數(shù)器。1.3 背景及意義隨著中國經(jīng)濟的飛速發(fā)展,國人的收入水平越來越高,我國人民對精神物質(zhì)文化需求越來越高。大多數(shù)國人

9、會選擇在節(jié)假日舉家出游,同時人們對博物館,圖書館和球場等一些公共場所的使用也越來越頻繁。這樣就導致了很多社會問題,比如黃金長假景區(qū)人流過多造成了很多擁堵,使得人們觀景感受體驗下降,也容易發(fā)生踩踏等安全事故;隨著近年來恐怖組織等犯罪集團越來越猖獗,博物館,圖書館等公共設(shè)施也需要有效的管控人流數(shù)量,讓公共環(huán)境更加安全可靠。但是人力畢竟是有限的,雖然國家加大了對這方面的投入,但是仍然顯得十分不夠。因此在科技發(fā)展的今天,我們需要一種能在公共場所入口處進行自動計數(shù),對公共場所入口處的人流進行實時的、有效的、精確的監(jiān)控的系統(tǒng)。利用單片機做紅外線電子計數(shù)器能夠在公共場所入口處進行準確的自動計數(shù),對公共場所入

10、口處的人流進行實時的、有效的、精確的監(jiān)控的系統(tǒng),包括控制器硬件實物和上位機軟件1。早期的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了最多的應(yīng)用。如今的產(chǎn)品自動計數(shù)器大多采用非接觸式的計數(shù)觸發(fā)方式。早已開發(fā)出了多種型號的專用檢測芯片.而利AT89C2051為控制單元、輔以多種外圍硬件搭配而成的計數(shù)裝置已成為現(xiàn)在自動計數(shù)應(yīng)用領(lǐng)域的潮流。而如何提高自動計數(shù)器的實時性,抗干擾能力、穩(wěn)定性是現(xiàn)在國內(nèi)外自動計數(shù)生產(chǎn)廠家研究的主要課題.產(chǎn)品自動計數(shù)器主

11、要用于工廠的流水線上,往往是處于高溫,高噪聲等極度惡劣的環(huán)境當中.而MCS-51系列單片機構(gòu)成的產(chǎn)品自動計數(shù)器在這種環(huán)境中工作時往往會出現(xiàn)誤動作(單片機程序跑飛)或死機(程序進入死循環(huán)).這也是基于單片機構(gòu)成的產(chǎn)品自動計數(shù)器存在的致命問題。本次設(shè)計選用紅外對射傳感器為單片機的外圍電路,單片機為控制單元,且本設(shè)計按要求為實驗室級別,達到功能即可,不需考慮這些問題。第二章 系統(tǒng)總體方案及硬件平臺設(shè)計2.1 設(shè)計內(nèi)容該畢業(yè)設(shè)計的主要內(nèi)容:基于AT89S52單片機,使用C語言編程,設(shè)計制作一個放置在公共場所入口的紅外計數(shù)器,通過紅外對射的方式,實現(xiàn)對圖書館博物館等公共場所進出人流量的統(tǒng)計,并可以將統(tǒng)計

12、得到的數(shù)據(jù)進行實時顯示,且可以實現(xiàn)與上位機實時串口通信,上位機負責對人員進出情況進行實時的記錄和統(tǒng)計。該系統(tǒng)要求具有較強的抗干擾性,計數(shù)準確。本次設(shè)計需要我們需要運用的知識以及相應(yīng)知識對應(yīng)的內(nèi)容以及功能要求。本次設(shè)計軟件開發(fā)的任務(wù)有:1.本次設(shè)計是基于51單片機的,所以對于所使用的AT89S52單片機需要十分熟練。2.由于下位機程序都是由C語言編輯的。其中包括了數(shù)碼管顯示模塊,串口通信模塊,數(shù)據(jù)處理模塊,數(shù)據(jù)處理模塊包括了對紅外對射傳感器收發(fā)情況的處理。所以要求C語言編程功底深厚。3.上位機程序部分也是軟件系統(tǒng)的重要組成部分。上位機選用可視化編程語言vb。需要在上位機上實現(xiàn)的功能有顯示人流量信

13、息,與下位機的通信,并能控制下位機數(shù)碼管的顯示。硬件部分是軟件運行以及功能實現(xiàn)的基礎(chǔ)。本次設(shè)計硬件部分的內(nèi)容有:計數(shù)器硬件系統(tǒng)的上位機為pc電腦,供用戶使用,通過通信系統(tǒng)與單片機相連;下位機為單片機,需要完成電路板的設(shè)計繪制焊接。2.2 技術(shù)指標由于本次設(shè)計重點在于原理的實現(xiàn),在技術(shù)指標上沒有到達產(chǎn)品級別。其具體如下:1.實時性:下位機能夠?qū)崟r顯示人的進出情況,上位機對人流量的顯示應(yīng)與下位機同步。2.計數(shù)器容量:本設(shè)計為99,但可擴充。3. 收發(fā)管最大相隔距離,即門的寬度不小于50厘米。4.抗干擾性:該紅外對射管在室內(nèi)光照條件下,能夠正常使用,不受照明燈等關(guān)照影響5.數(shù)據(jù)存儲容量:本設(shè)計為上位

14、機存儲信息,上位機為pc,理論上可以滿足一般現(xiàn)實生活中所要求信息量的存儲。2.3 總體方案設(shè)計本設(shè)計為了實現(xiàn)能在公共場所入口處進行準確的自動計數(shù),并能實時顯示和記錄相關(guān)信息的功能,決定使用C語言對AT89S52單片機進行編程,并通過紅外對射的方式,實現(xiàn)對進出人流量的統(tǒng)計,將得到的數(shù)據(jù)在數(shù)碼管上實時顯示并發(fā)送給由Vb編寫的上位機程序進行處理和記錄。具體的實施方案為利用紅外發(fā)光二極管發(fā)射紅外線,紅外接收二極管接收此紅外線,此時紅外對射收發(fā)電路會給單片機的特定IO口一個持續(xù)穩(wěn)定的高電平信號2。當有人擋住紅外光,接收管沒有接收到紅外信號時,紅外對射收發(fā)管將輸出低電平給單片機IO口3。當單片機檢測到高低

15、電平的變化時,將會根據(jù)預(yù)先設(shè)置好的下位機程序進行計數(shù),并通過相應(yīng)的數(shù)據(jù)處理程序進行處理,之后通過顯示程序和具體的譯碼及顯示電路使數(shù)碼管顯示實時數(shù)值。同時單片機將通過通信電路將數(shù)據(jù)上傳到上位機,使上位機對人員進出情況進行實時的記錄和統(tǒng)計。上位機亦可通過通信電路向下位機傳輸指令。這樣就實現(xiàn)了本設(shè)計的統(tǒng)計人流數(shù)量并可以進行管控的功能。為實現(xiàn)這一方案,本設(shè)計著重從硬件和軟件兩個方面進行了設(shè)計,下面將分別介紹。2.3.1 硬件總體方案設(shè)計為了有效、準確的實現(xiàn)本設(shè)計的內(nèi)容,本設(shè)計的硬件分為了以AT89S52為控制核心的下位機和以PC為主體的上位機兩大部分。其中下位機為本設(shè)計的硬件設(shè)計的主要部分,具體可分為

16、控制單元,譯碼電路,驅(qū)動電路,通信系統(tǒng)電路,紅外對射收發(fā)器和顯示電路六個部分。本設(shè)計的具體硬件結(jié)構(gòu)方塊框圖如圖2-1所示。下位機控制單元:該單元是整個系統(tǒng)的核心部分,其功能為檢測紅外信號,處理數(shù)據(jù),顯示數(shù)據(jù)和與上位機進行數(shù)據(jù)和命令的交換,這里選用的是AT89S52。單片機的技術(shù)門檻較低開發(fā)成本也較低且技術(shù)相對成熟?,F(xiàn)在市場上常用的單片機主要有MCS-51、AVR、ARM、PIC等。其中應(yīng)用最廣泛的單片機首推Intel的51系列,由于產(chǎn)品硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢。常作為簡單系統(tǒng)的控制單元。且51系列的I/O腳的設(shè)置和使用非常簡單,當該腳作輸入腳使用時,只

17、須將該腳設(shè)置為高電平(復位時,各I/O口均置高電平)。當該腳作輸出腳使用時,則為高電平或低電平均可。所以在控制部分方案的選擇中選定51系列單片機作為控制部分的核心器件4。圖2-1 硬件結(jié)構(gòu)方塊框圖單片機的技術(shù)門檻較低開發(fā)成本也較低且技術(shù)相對成熟?,F(xiàn)在市場上常用的單片機主要有MCS-51、AVR、ARM、PIC等。其中應(yīng)用最廣泛的單片機首推Intel的51系列,由于產(chǎn)品硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢。常作為簡單系統(tǒng)的控制單元。且51系列的I/O腳的設(shè)置和使用非常簡單,當該腳作輸入腳使用時,只須將該腳設(shè)置為高電平(復位時,各I/O口均置高電平)。當該腳作輸出腳使

18、用時,則為高電平或低電平均可。所以在控制部分方案的選擇中選定51系列單片機作為控制部分的核心器件4。譯碼電路:由于本設(shè)計的顯示部分采用了6個8段的數(shù)碼管,共計需要14個IO口,再加上報警系統(tǒng)和紅外檢測系統(tǒng),會顯得IO口非常的不夠用,因此要對單片機的端口個數(shù)進行擴展5。經(jīng)常采用的端口擴展方法是用串并轉(zhuǎn)換芯片進行譯碼。常用的串并轉(zhuǎn)換芯片有74HC154(416線譯碼器)、74LS164(8位串并轉(zhuǎn)換器)、74HC595等。本次設(shè)計采用的是兩個74HC595級聯(lián)進行譯碼,只需3個IO口就可完成顯示數(shù)碼管的輸出。驅(qū)動電路:51系列單片機端口低電平時,吸入電流可達20 mA,具有一定的驅(qū)動能力;而為高電

19、平時,輸出電流僅數(shù)十A甚至更?。娏鲗嶋H上是由腳的上拉電流形成的),基本上沒有驅(qū)動能力,所以單片機不能直接驅(qū)動數(shù)碼管的顯示。在單片機和數(shù)碼管之間還需要增加以功能放大位目的的驅(qū)動電路7。這里采用的是ULN2803八路NPN達林頓。通信系統(tǒng)電路:通信部分要滿足的設(shè)計要求就是穩(wěn)定、快速、簡單易實現(xiàn)。因為通常情況下顯示屏和上位機的距離不會很遠,所以通信距離的要求不是很高。計算機數(shù)據(jù)通信主要采用并行通信和串行通信兩種方式。(1)并行通信并行通信時數(shù)據(jù)的各個位同時傳送,可以字或字節(jié)為單位并行進行。并行通信速度快,但用的通信線多、成本高,故不宜進行遠距離通信。(2)串行通信串行通信數(shù)據(jù)是一位一位順序傳送,只

20、用很少幾根通信線,串行傳送的速度低,但傳送的距離長,因此串行適用于長距離而速度要求不高的場合。在串行發(fā)送時,數(shù)據(jù)是一位一位按順序進行的,而計算機內(nèi)部的數(shù)據(jù)是并行的。因此,當計算機向外發(fā)送數(shù)據(jù)時,必須將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)再發(fā)送。反之,又必須將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)輸入計算機中。這種轉(zhuǎn)換即可以用硬件實現(xiàn)也可以用軟件實現(xiàn)。單由軟件實現(xiàn)會增加CPU負擔,降低其利用率,故目前常采用硬件實現(xiàn)。通用的通用異步接收/發(fā)送器,簡稱UART(Universal Asynchromous Receeiver/Trabsnitter)是完成這一功能的硬件電路。在單片機芯片中,UART已經(jīng)集成在其中,作為其組成部分

21、,構(gòu)成一個串行口6。綜上所述,題目設(shè)計已經(jīng)選定了單片機為開發(fā)方式而單片機的UART已經(jīng)集成在單片機內(nèi),所以通信系統(tǒng)選擇串行通信為通信方式。紅外對射收發(fā)器:在現(xiàn)在的工程設(shè)計中,紅外收發(fā)器主要有兩種類別,一種是必須將信號調(diào)制到38KHZ載波上進行傳輸?shù)募t外收發(fā)器,其接收端共有三個引腳;另外一種是直接發(fā)射紅外光線,接收端根據(jù)有無紅外線照射改變阻值,只有兩個引腳,又稱紅外光敏二極管。第一種精度更高,常用于復雜信息的傳輸,但由于本設(shè)計只需判斷有無人通過這兩種狀態(tài),選用第二種也可以滿足要求,且更加簡單、方便。因此選用紅外收發(fā)二極管。顯示電路:顯示電路需要滿足兩個功能,一是顯示人數(shù),二是作為報警燈顯示滯留人

22、員是否已經(jīng)飽和。本設(shè)計采用的是8段數(shù)碼管進行人數(shù)顯示和LED發(fā)光二極管進行報警,這兩種器件技術(shù)成熟、性能可靠、價格便宜、原理簡單,非常適合作為本設(shè)計的顯示器件。2.3.2 軟件總體方案軟件的設(shè)計除了滿足設(shè)計功能外還必須要滿足易讀寫,方便下載和編譯。設(shè)計目標和硬件總體結(jié)構(gòu)確定的情況下,軟件系統(tǒng)按功能可以分為主程序,顯示子程序(數(shù)碼管與報警燈的顯示),數(shù)據(jù)處理程序,通信程序三個主要部分組成。具體結(jié)構(gòu)如圖2-2所示:圖2-2 軟件功能結(jié)構(gòu)框圖軟件的編寫需要借助軟件編輯器和編譯軟件,編譯完成后還需要下載到單片機中執(zhí)行。編寫軟件之前得首先選擇一種合適的語言以及配套的編輯器和編譯軟件。最后還要選擇一款與所

23、選單片機的下載器或下載軟件來把編寫的程序下載到單片機中執(zhí)行。1.單片機編輯語言現(xiàn)在主要運用的單片機編程語言為匯編語言和C語言。兩種語言相比較各有優(yōu)點。匯編語言(Assembly Language)是面向機器的程序設(shè)計語言,是一種功能很強的程序設(shè)計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。其具有執(zhí)行速度快,占內(nèi)存空間少等優(yōu)點,但在編寫復雜程序時具有明顯的局限性,匯編語言依賴于具體的機型,不能通用,也不能在不同機型之間移植8。C語言是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生壓縮代碼。C語言結(jié)構(gòu)是以括號 而不是子和特殊符號的語言。C可以進行許多機器級函數(shù)控制而不用

24、匯編語言。與匯編相比,有如下優(yōu)點:對單片機的指令系統(tǒng)不要求了解,僅要求對51的存儲器結(jié)構(gòu)有初步了解;寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細節(jié)可由編譯器管理;程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。這種方式可使程序結(jié)構(gòu)化;將可變的選擇與特殊操作組合在一起的能力,改善了程序的可讀性;編程及程序調(diào)試時間顯著縮短,從而提高效率;提供的庫包含許多標準子程序,具有較強的數(shù)據(jù)處理能力;已編好程序可容易的植入新程序,因為它具有方便的模塊化編程技術(shù)。C語言作為一種非常方便的語言而得到廣泛的支持,C語言程序本身并不依賴于機器硬件系統(tǒng),基本上不做修改就可根據(jù)單片機的不同較快地移植過來。基于以上理由,決定采用C語言為

25、該顯示系統(tǒng)的編程語言。2.系統(tǒng)軟件編輯器介紹C語言編寫的程序并不能被單片機直接執(zhí)行還需要編譯為單片機可執(zhí)行的機器語言。因此在系統(tǒng)軟件設(shè)計中,編譯器必不可少。目前在單片機開發(fā)中普遍都是使用KEIL C51來進行編譯。因此,軟件設(shè)計最終方案為采用C語言為程序語言,KELC為編譯工具按照數(shù)據(jù)處理、通信、顯示等幾個功能模塊來編寫程序。3.上位機用戶軟件其中系統(tǒng)采用現(xiàn)在已經(jīng)非常普遍的PC機作為上位機,這樣對該顯示系統(tǒng)的硬件要求便降低了,增加了系統(tǒng)的通用性。上位機的作用是存儲并處理顯示內(nèi)容。然后通過通信系統(tǒng),上位機能夠接受并顯示下位機傳輸?shù)膬?nèi)容,同時上位機也能夠向下位機發(fā)送清零命令以及最大飽和人數(shù)。上位機

26、用戶窗口是用戶直接使用的界面,所以對上位機編輯語言的選擇很十分重要。經(jīng)過查閱資料了解到,VB是Visual Basic的簡寫,是可視化的編程語言,是一種簡單、高效地開發(fā)應(yīng)用軟件的工具,可用于開發(fā)Windows環(huán)境下的各類應(yīng)用程序,且簡單易學、效率高。所以最終選擇了vb語言編輯上位機程序。2.4 硬件平臺設(shè)計整個硬件系統(tǒng)主要由上位機,通信系統(tǒng),單片機系統(tǒng),譯碼電路,顯示驅(qū)動電路和紅外對射傳感器六部分組成。具體工作流程有兩條為: 1.由驅(qū)動電路進行供電,進行電壓和電流的處理以達到紅外對射傳感器正常工作所需的電流,電壓;紅外對射傳感器檢測到人的進出時,產(chǎn)生低電平信號。將人的進出信號傳給單片機。單片機

27、對信號進行處理,由數(shù)碼管顯示出人進出的情況并通過I/O口將數(shù)據(jù)串行輸出,再由上位pc機對數(shù)據(jù)進行更系統(tǒng)的處理存儲。2.當用戶有命令需要時,可通過上位pc機對下位機進行控制。其流程為,用戶通過單擊上位機用戶窗口的功能按鈕,上位機產(chǎn)生控制命令數(shù)據(jù)并通過串口將數(shù)據(jù)串行輸出給單片機,單片機接收后執(zhí)行控制指令處理顯示代碼將控制內(nèi)容通過I/O口串行輸出并且控制譯碼電路完成串并轉(zhuǎn)換并行輸出,下位機的顯示驅(qū)動電路進行電壓和電流的處理以達到紅外對射傳感器正常工作所需的電流,電壓要求,進而使所需控制實現(xiàn)。根據(jù)硬件的功能結(jié)構(gòu)圖選取合適器件,器件不但要求能實現(xiàn)所要求的功能還要能兼容至整個系統(tǒng)之中。通過查閱資料和對比最

28、終的硬件原理圖見附錄。 該系統(tǒng)所要實現(xiàn)的功能和要求有以下幾點:(1)數(shù)碼管顯示要清晰。(2)驅(qū)動電路要能提供數(shù)碼管所需范圍內(nèi)的電壓和電流要求。(3)譯碼電路的高低電平的區(qū)分能力以及譯碼的輸入輸出頻率必須滿足單片機以及驅(qū)動電路的要求。(4)單片機要能接收上位機的指令和顯示內(nèi)容且能夠處理后控制數(shù)碼管的顯示,并且端口驅(qū)動能力要足以驅(qū)動譯碼電路。(5)單片機由ISP下載線下載程序和供電,可不設(shè)立專用供電電源。(6)由串口完成單片機與上位機的通信,通信速度和數(shù)據(jù)傳輸?shù)目煽啃砸_到顯示要求。2.4.1 控制單元設(shè)計控制單元是整個顯示系統(tǒng)的核心,該系統(tǒng)中采用51系列單片機為核心器件,用來和上位機通信發(fā)送人員

29、進出信息和處理上位機發(fā)送的控制指令。并且直接輸出數(shù)據(jù)通過譯碼電路控制數(shù)碼管顯示實時的人員狀態(tài)和報警信息。在51系列單片機中選定一款合適的機型來作為控制單元的主控芯片。根據(jù)題目的要求該芯片必須要具有的就是方便的編程能力,因為在軟件設(shè)計時方便的程序下載對程序的驗證和編寫非常有用。還有就是為了提高對人流進出情況的判斷速度,單片機的執(zhí)行速度要盡可能的快。根據(jù)這兩點要求,選擇美國ATMEL公司生產(chǎn)的AT89S52為控制單元的主控芯片AT89S52是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機,片內(nèi)含8k bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失

30、性存儲技術(shù)生產(chǎn),兼容標準8051指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89S51單片機可提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域6。AT989S52具有以下特點:·8KB在系統(tǒng)編程(ISP)Flash閃速存儲器·4.05.5V的工作電壓范圍·全靜態(tài)工作模式:0Hz33MHz·256B的內(nèi)部RAM·32個可編程I/O口線·3個16位定時/計數(shù)器·全雙工串行UART通道控制電路設(shè)計中采用的是單片機系統(tǒng),該

31、系統(tǒng)必須要是工作在一個最小系統(tǒng)(指單片機的可以的最小配置系統(tǒng))。AT89S52的最小系統(tǒng)包括了外界時鐘電路和復位電路,選定一定數(shù)量的IO口作為控制口控制外部的各種器件和數(shù)據(jù)的輸出。根據(jù)功能選擇一定的單片機端口添加外圍的器件,具體電路如圖所示。在該系統(tǒng)中,P1各口主要用作數(shù)碼管的顯示數(shù)據(jù)的控制輸出和下位機程序的燒錄入口。具體接法為:P1.0,P1.1,P1.2分別接作為譯碼電路的兩片級聯(lián)74HC595的SER,RCLK,SRCLK端,以產(chǎn)生移位脈沖并使串行數(shù)據(jù)并行輸出。P1.5,P1.6,P1.7分別接SPI口的MOSI,MISO,SCK端,以燒錄下位機程序。P2口作為檢測人員進出狀態(tài)的信號接口

32、和控制飽和警報燈是否亮滅的接口。具體為P2.0接作為檢測是否有人進入的紅外二極管的正極,P2.1接接作為檢測是否有人進入的紅外二極管的正極。P2.2報警燈接負極。控制電路圖如圖2-3所示:圖2-3 控制部分電路圖P3口的P3.0,P3.1分別為串口通信的RXD、TXD。由于P3口是特殊功能口,在該系統(tǒng)中基本是采用其第二功能。其第二功能和實際運用如表2-1所示:表2-1 AT89S52 P3口第二功能的應(yīng)用端口第二功能實際作用P3.0RXD(串行輸入口)與上位機通信的數(shù)據(jù)輸入口P3.1TXD(串行輸出口)與上位機通信的數(shù)據(jù)輸出口AT89S52單片機的P0口留為外部數(shù)據(jù)存儲器和程序存儲器的擴展用,

33、以備內(nèi)部存儲器和程序存儲器不夠用的情況時使用。2.4.2 譯碼電路設(shè)計譯碼電路的功能是為了解決單片機I/O端口不足。段選譯碼和位選譯碼所用器件為兩片級聯(lián)74HC595。同時74HC595,也是串行轉(zhuǎn)為并行的重要元器件。每次點亮八段數(shù)碼管時,先要由單片機處理信息,計算出八段數(shù)碼管所要顯示的信息。這需要同時給八段數(shù)碼管的各個接口賦值,74HC595元器件可以串行輸入,然后鎖存。鎖存之后就是并行的輸出。74HC595還有級聯(lián)。兩個74HC595級聯(lián)最多可以并行輸出16位數(shù)據(jù)。具體電路如圖2-4所示:圖2-4 譯碼電路74HC595 簡介以及特點簡述: 1、輸出端的驅(qū)動電流限定值:25mA;2、低輸入

34、電流:1 mA最大 3、8位串行輸入、并行輸出移位寄存器與存儲寄存器4、工作電壓范圍:為2V到6V 5、移位寄存器具有直接清除6、級聯(lián)正常使用時的典型參數(shù): 1、電源電壓(Vcc):26 V2、直流輸入/ 輸出電壓:0Vcc V 3、輸入上升/ 下降延時: VCC = 2.0 V 1000 ns VCC = 4.5 V 500 nsVCC = 6.0 V 400 ns74HC595時序圖和功能表見如下圖2-5和表2-2所示:圖2-5 74HC595時序圖表2-2 74HC595功能表2.4.3 驅(qū)動電路設(shè)計為了使數(shù)碼管穩(wěn)定,持續(xù)的點亮,必須要加強單片機I/O口的驅(qū)動能力。單片機本身的驅(qū)動能力是

35、有限的,而且讓單片機過多的驅(qū)動其他元器件對于單片機本身也是一種損耗,會影響其壽命。單片機溫度過高時溫度過高時,還會影響其運算速度。所以設(shè)計時選用了八路NPN達林頓管ULN2803加強驅(qū)動,同時為了加強驅(qū)動電流,在ULN2803的輸出端應(yīng)連接一個1K的上拉電阻。具體接法如下圖2-6所示:圖2-6 驅(qū)動器件ULN2803的接法ULN2803是由8個NPN達林頓晶體管組成的陣列,特別適用于低邏輯電平數(shù)字電路(諸如TTL, CMOS或PMOS/NMOS)和較高的電流/電壓要求之間的接口,廣泛應(yīng)用于計算機,工業(yè)用和消費類產(chǎn)品中的燈、繼電器、打印錘或其它類似負載中。所有器件具有集電極開路輸出和續(xù)流箱位二極

36、管,用于抑制躍變。該電路為反向輸出型,即輸入低電平電壓,輸出端才能導通工作ULN2803的最大額定值如下表所示:表2-3 ULN2803最大額定值參數(shù)符號數(shù)值單位輸出電壓VO50V輸入電壓VI30VIC500mA基極電流-連續(xù)IB25mA操作環(huán)境溫度范圍TA0 to +70儲存溫度范圍Tstg 55 to +150結(jié)溫TJ125ULN2803引腳圖如圖2-7所示,和內(nèi)部結(jié)構(gòu)如圖2-8所示:圖2-7 ULN2803引腳圖ULN2803引腳功能簡介:1-8引腳:輸入端11-18引腳:輸出端9引腳:地端10引腳:電源+圖2-8 內(nèi)部結(jié)構(gòu)圖2.4.4 通信系統(tǒng)硬件設(shè)計為方便單片機下位機程序的燒錄和與上

37、位機進行串口通信,分別采用了ISP(in-system programming 在線系統(tǒng)編程)接口和RS232接口。1.ISP接口ISP(In-System Programming 在線系統(tǒng)編程),指電路板上的空白器件可以編程寫入最終用戶代碼,而不需要從電路板上取下器件,已經(jīng)編程的器件也可以用ISP方式擦除或再編程。AT89S52單片機支持ISP接口燒寫程序,所以在本設(shè)計最小系統(tǒng)里加入了ISP接口,其ISP實現(xiàn)采用標準SPI接口(串行外圍設(shè)備接口SPI(serial peripheral interface)總線技術(shù))。標準SPI接口是以主從方式工作的,這種模式通常有一個主器件和一個或多個從器

38、件,其接口包括以下四種信號:(1)MOSI 主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入(2)MISO 主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出(3)SCLK 時鐘信號,由主器件產(chǎn)生(4)/SS 從器件使能信號,由主器件控制大部分AVR MCU的ISP數(shù)據(jù)端口亦為 SCK、MOSI、MISO引腳(如Attiny13/24/2313,Atmega48/88/168,Atmega16/32/162,Atmega8515/8535等),如表2-3所示:表2-3 端口比較ISP下載器端口AVR端口MISOMISOVCCVCCSCKSCKMOSIMOSIRESETRESETGNDGND下圖是標準的SPI接口排列:圖2-9 標準

39、SPI接口使MOSI與單片機的P1.5,MISO與單片機的P1.6,SCK與單片機P1.7連接,即可實現(xiàn)ISP接口燒寫程序的功能。2.RS232接口AT89S52單片機具有全雙工串行UART通道,支持單片機進行數(shù)據(jù)的串行傳輸。RS-232C標準規(guī)定了PC機發(fā)送數(shù)據(jù)總線TXD和接收數(shù)據(jù)總線RXD采用EIA電平,即傳送數(shù)字“1”時傳輸線上的電平在315V之間;傳送數(shù)字“0”時,傳輸線上的電平在315之間。但單片機串行口采用正邏輯TTL電平,即數(shù)字“1”時為5V;數(shù)字“0”時為-5V,所以單片機與計算機不能直接相連進行通信,必須將RS-232C與TTL電平進行轉(zhuǎn)換。在通用的電平轉(zhuǎn)換芯片中,MAX23

40、2系列的芯片以集成度高,單5V電源工作,即可完成RS-232C與TTL電平之間的轉(zhuǎn)換而成為常用芯片。在該顯示系統(tǒng)中,MAX232是最重要的硬件組成部分。電路如圖2-10所示:圖2-10 串口通信系統(tǒng)電路圖2.4.5 紅外對射收發(fā)器設(shè)計紅外對射收發(fā)器主要使用紅外發(fā)光二極管和紅外接收二極管。紅外發(fā)光二極管發(fā)出穩(wěn)點持續(xù)的定向紅外光線,照射紅外接收二級管,此時紅外接收二極管處于導通狀態(tài)。當有人通過時,紅外光線被阻斷,接收二極管處于截止狀態(tài)。其紅外接收管在兩種狀態(tài)下的正極電壓分別為5V和0V,單片機通過檢測這兩種狀態(tài),判斷有無人通過,具體接法如下圖2-11所示,單片機P2.0和P2.1分別接IN和OUT

41、,以分別檢測進和出。圖2-11 紅外接收檢測電路紅外線發(fā)光二極管由紅外輻射效率高的材料(常用砷化鎵GaAs)制成PN結(jié),外加正向偏壓向PN結(jié)注入電流激發(fā)紅外光。光譜功率分布為中心波長830950nm,半峰帶寬約40nm左右。其最大的優(yōu)點是可以完全無紅暴,(采用940950nm波長紅外管)或僅有微弱紅暴(紅暴為有可見紅光)而延長使用壽命。紅外線發(fā)光二極管的發(fā)射強度因發(fā)射方向而異。當方向角度為零度時,其放射強度定義為100%,當方向角度越大時,其放射強度相對的減少,發(fā)射強度如由光軸取其方向角度一半時,其值即為峰值的一半,此角度稱為方向半值角,此角度越小即代表元件之指向性越靈敏。一般使用紅外線發(fā)光二

42、極管均附有透鏡,使其指向性更靈敏。紅外接收二極管又叫紅外光敏二極管,能很好地接收紅外發(fā)光二極管發(fā)射的波長為940nm的紅外光信號,而對于其他波長的光線則不能接收。光敏二極管管芯是一個具有光敏特性的PN結(jié),它被封裝在管殼內(nèi)。與普通二極管一樣,它的PN結(jié)具有單向?qū)щ娦?,因此,光敏二極管工作時應(yīng)加上反向電壓。當無光照時,電路中有很小的反向飽和漏電流,一般為1 * 10-8 - 1X10 -9A(稱為暗電流),此時相當于光敏二極管截止;當有光照射時,PN結(jié)附近受光子的轟擊,半導體內(nèi)被束縛的價電子吸收光子能量而被擊發(fā)產(chǎn)生電子一空穴對O這些載流子的數(shù)目,對于多數(shù)載流子影響不大,但對P區(qū)和N區(qū)的少數(shù)載流子來

43、說,則會使少數(shù)載流子的濃度大大提高,在反向電壓作用下,反向飽和漏電流大大增加,形成光電流,該光電流隨入射光強度的變化而相應(yīng)變化。光電流通過負載RL時,在電阻兩端將得到隨人射光變化的電壓信號。光敏二極管就是這樣完成電功能轉(zhuǎn)換的。2.4.6 顯示電路設(shè)計本設(shè)計的顯示電路部分包括三個共陰極的兩位八段數(shù)碼管和一個LED飽和報警燈。三個數(shù)碼管分別顯示進入人次,離開人次和停留人數(shù)。LED燈亮時,表示超過最大飽和人數(shù)。兩位八段數(shù)碼管有8個段選接口和2個位選接口。段選接口控制數(shù)碼管的8個LED燈的亮滅來控制不同的字形輸出,位選接口則控制哪個數(shù)碼管顯示字形,具體結(jié)構(gòu)如下圖2-11所示。本設(shè)計采用掃描的方式,由第

44、一個595控制段選信號,輸出字形,第二個595控制位選信號,不停的使6個數(shù)碼管依次循環(huán)點亮,顯示我們需要的數(shù)據(jù)。飽和報警LED采用普通的發(fā)光二極管,由單片機的P2.2口控制。具體接法如下圖2-12所示:圖2-11 八段數(shù)碼管結(jié)構(gòu)圖圖2-12 顯示電路接法2.5 系統(tǒng)開發(fā)流程此次系統(tǒng)的開發(fā)一般大致分為五個階段:1.分析畢業(yè)設(shè)計的任務(wù)書此階段是該統(tǒng)軟件開發(fā)與硬件設(shè)計的立論之處,主要確定系統(tǒng)開發(fā)的開發(fā)目標。2.軟件設(shè)計以及硬件設(shè)計此階段中根據(jù)對任務(wù)書要求分析的結(jié)果,先對硬件系統(tǒng)進行設(shè)計,其中包含對所需原件分析,從價格性能以及使用難易度情況的角度,選擇最合適的原件。當硬件系統(tǒng)設(shè)計好之后,對整個軟件系統(tǒng)

45、進行設(shè)計,如系統(tǒng)框架設(shè)計等。軟件設(shè)計一般分為總體設(shè)計和詳細設(shè)計。好軟件設(shè)計將為軟件程序編寫打下良好的基礎(chǔ)。3.程序編碼此階段是將軟件設(shè)計的結(jié)果轉(zhuǎn)化為上位機以及下位機運行的程序代碼。在程序編碼中必定要制定統(tǒng)一、符合標準的編寫規(guī)范。以保證程序的可讀性、易維護性。提高程序的運行效率。4.軟件測試在軟件設(shè)計完成之后要進行嚴密的測試,一發(fā)現(xiàn)軟件在整個軟件設(shè)計過程中存在的問題并加以糾正。5.軟硬件聯(lián)合測試本設(shè)計的軟硬件聯(lián)合測試分為兩步,首先在proteus里進行仿真,若仿真成功,證明此方案可行。然后做出實物,焊接好電路板,直接燒錄測試程序進行測試。第三章 軟件系統(tǒng)設(shè)計3.1 軟件總體設(shè)計該畢業(yè)設(shè)計的下位機

46、選用了單片機以及其紅外收發(fā)模塊,編輯語言選用了c語言。原因之后章節(jié)陳述。由于個人電腦在國內(nèi)已經(jīng)很普及,所以上位機選用了個人電腦。編輯語言選用了vb語言。原因之后章節(jié)陳述。上位機程序與下位機程序通過串口程序模塊相互通信。3.2 下位機程序設(shè)計下位機由單片機最小系統(tǒng)模塊,顯示模塊以及驅(qū)動模塊和紅外模塊共同構(gòu)成,下位機程序設(shè)計就是單片機的程序設(shè)計,實現(xiàn)對數(shù)碼管的實時控制、紅外傳感器的信號接收處理,加上能夠與上位機進行串口通信的功能設(shè)計。下位機主程序流程圖3-1如下所示:圖3-1下位機主程序流程圖3.2.1 Keil 開發(fā)環(huán)境下位機程序即單片機內(nèi)的程序,這里我們選用經(jīng)典的Keil環(huán)境,使用C語言進行開

47、發(fā)。Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。3.2.2 串口通信程序設(shè)計系統(tǒng)采用串行中斷的方式進行通信。MCS-51單片機的五個中斷源兩種類型:一類是外部中斷源;另一類是內(nèi)部中斷源,包括兩個定時器/計數(shù)器(T0和T1)的溢出中斷和串行口的接收和發(fā)送中斷。MCS-51單片機設(shè)置了4個專用寄存器用于中斷控制

48、,分別為定時器控制寄存器(TCON),串行口中斷控制器(SCON),中斷允許控制寄存器(IE),中斷優(yōu)先級控制寄存器(IP)。編程時通過設(shè)置其狀態(tài)來管理中斷系統(tǒng)。在編輯中斷程序時首先是將中斷控制寄存器(IE)初始化。其控制位分布如表。EA為中斷允許總控制位,EA=1時CPU開發(fā)中斷;EA0時,CPU屏蔽所有中斷。ES、ET、EX1、ET0、EX0為對應(yīng)的串行口中斷、定時器/計數(shù)器1中斷、外部中斷1中斷、定時器/計數(shù)器0中斷、外部中斷0中斷的中斷允許位。對應(yīng)位為1時允許其中斷,對應(yīng)位為0時,禁止其中斷。如表3-1所示:表3-1 中斷允許寄存器格式D7D6D5D4D3D2D1D0EAESET1EX

49、1ET0EX0由于本次設(shè)計只是用了串口中斷和定時/計數(shù)器0中斷,指令為 ES=1;ET0=1;還需打開全局中斷位,指令為EA=1;所以初始化時設(shè)定中斷允許寄存器初值為0X52,指令為 IE=0X52。程序設(shè)計時還要考慮到中斷優(yōu)先級的問題。因為不同的中斷同時產(chǎn)生而CPU響應(yīng)的順序取決于內(nèi)部查詢順序。中斷優(yōu)先級寄存器在特殊功能寄存器中, IP用來設(shè)定各個中斷源屬于兩級中斷的哪一級。該寄存器可以進行位尋址,即可對該寄存器的每一位進行單獨操作。單片機復位時IP全部被清零。本次設(shè)計設(shè)定串口中斷優(yōu)先級為第一優(yōu)先級,定時/計數(shù)器0中斷為次級優(yōu)先級,所以設(shè)定中斷優(yōu)先級寄存器IP=0x10;設(shè)置串口工作方式1,

50、波特率4800,計算可得計數(shù)器初值的十六進制表示為0XF3。在主程序中先進行了串行中斷的初始化,初始化內(nèi)容包括了串行工作方式選擇,波特率的設(shè)定,計數(shù)初值的設(shè)定。程序開始進入中斷等待,當PC機向單片機發(fā)送數(shù)據(jù)時產(chǎn)生中斷接收允許位RI置1,將SBUF(緩沖寄存器)中的值輸入到暫存器中進行數(shù)據(jù)處理。首先判斷RI的值是否為1,如果是則開始接收起始位后的2個字節(jié),共16位。每回接收一個字節(jié)。第一個為清零信號(當發(fā)送為0時表示清零,存在Q變量中)。第二個字節(jié)存有最大飽和人數(shù)信息(收到的數(shù)據(jù)保存在Maxnum中)。若果RI不為0,則不會進入中斷程序。接收完上位機發(fā)來的控制命令數(shù)據(jù)之后,下位機便會自行處理數(shù)據(jù)

51、,然后執(zhí)行。串口中斷服務(wù)程序程序流程圖如圖3-2所示:圖3-2串口中斷服務(wù)程序程序流程圖所有軟件編寫完成后都必須經(jīng)過編譯才能被單片機識別使用。為了減小軟件的修改和優(yōu)化難度,先把各子程序?qū)憺橐粋€可單獨執(zhí)行的完整程序。各子程序編譯沒有錯誤后再輸入單片機進行驗證,這兩項都通過后再將所有的程序整合到一起形成一個完整的程序再進行編譯和驗證7。此段程序的核心代碼為:串口初始化:TH1=0xf3;TL1=0xf3; /設(shè)置定時器初值PCON=0x80; /設(shè)置波特率為4800SM0=0; SM1=1; /工作方式為01REN=1; EA=1; ES=1;數(shù)據(jù)的接收以及發(fā)送程序核心代碼:void UART_S

52、ER (void) interrupt 4 /串行中斷服務(wù)程序 if(RI) /判斷為接收 RI=0; /接收標志位清零 TR0=0; /關(guān)閉定時器中斷(此中斷程序功能實時掃描數(shù)碼管的顯示數(shù)據(jù))if(ZDflag=0) QL=SBUF; /接收清零命令 ZDflag=1; else Maxnum=SBUF; /接收最大飽和人數(shù)命令 ZDflag=0; TR0=1; if(TI) /判斷為發(fā)送 TI=0; /發(fā)送標志位清零 3.2.3 數(shù)碼管顯示程序設(shè)計8段數(shù)碼管屬于LED發(fā)光器件的一種。LED發(fā)光器件一般常用的有兩類:數(shù)碼管和點陣。8段數(shù)碼管又稱為8字型數(shù)碼管,分為8段:A、B、C、D、E、F

53、、G、P。其中P為小數(shù)點。數(shù)碼管常用的有10根管腳,每一段有一根管腳,另外兩根管腳為一個數(shù)碼管的公共端,兩根之間相互連通,本設(shè)計選用2位共陰8段數(shù)碼管。用單片機驅(qū)動LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動態(tài)顯示。首先介紹靜態(tài)顯示方法。 靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所有要顯示的數(shù)據(jù)送出后就不再控制LED,直到下一次顯示時再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用的CPU時間少。靜態(tài)顯示中,每一個顯示器都要占用單獨的具有鎖存功能的I/O接口,該接口用于筆劃段字型代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,該字段就可以顯示發(fā)送的字形。要顯示新的數(shù)據(jù)時

54、,單片機再發(fā)送新的字形碼。 另一種方法是動態(tài)掃描顯示。動態(tài)掃描方法是用其接口電路把所有顯示器的8個筆畫段a-h同名端連在一起,而每一個顯示器的公共極COM各自獨立的受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,但究竟是哪個顯示器亮,則取決于COM段,而這一段是由I/O控制的,由單片機決定何時顯示哪一位了。動態(tài)掃描用分時的方法輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮時間極為短暫,但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余暉效應(yīng),給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。考慮到需要時時更新和顯示進入空間人數(shù),離開空間人數(shù),空間所

55、留人數(shù),所以選用了動態(tài)掃描用分時的方法輪流控制各個顯示器的COM端,使各個顯示器輪流點亮三個2位8段數(shù)碼管。在此設(shè)計中,每對數(shù)碼管段選數(shù)據(jù)需要八位,位選需要兩位。由于將3對數(shù)碼管的段選數(shù)據(jù)線接在了一起,所以對數(shù)碼管顯示控制一共需要十四位數(shù)據(jù),八位段選數(shù)據(jù)位,6位數(shù)碼管位選數(shù)據(jù)線。即共需要兩個八位字節(jié)的字。數(shù)據(jù)結(jié)構(gòu)為:由于共需14位,所以前兩位數(shù)據(jù)為空,緊接著6位位選數(shù)據(jù),8位段選數(shù)據(jù)。由于本次設(shè)計中采用了定時/計數(shù)器中斷來進行數(shù)碼管的動態(tài)掃描,所以在調(diào)節(jié)好定時器時間情況下可以做到實時的顯示進出圖書館的人流量情況。數(shù)碼管顯示的流程為:1.定時器完成計數(shù),使程序進入數(shù)碼管掃描中斷函數(shù)中。由于需要動

56、態(tài)掃描,即不斷掃描實時更新數(shù)據(jù),所以在數(shù)碼管掃描中斷函數(shù)中需要從新初始化定時計時器,使其從新開始計時。2.調(diào)用74hc595數(shù)據(jù)輸送及鎖存子函數(shù),將數(shù)據(jù)處理模塊所處理好的數(shù)據(jù)也就是數(shù)碼管顯示緩存數(shù)組disbuff中的元素按照數(shù)碼管編號依次輸入,即a變量從0到5循環(huán),使該步驟實現(xiàn)。數(shù)碼管顯示中斷程序流程如3-3圖所示:3-3圖數(shù)碼管顯示中斷程序流程圖數(shù)碼管顯示中斷子程序以及數(shù)據(jù)顯示鎖存子程序的源程序為:void t0() interrupt 1 /數(shù)碼管掃描TR0 = 0;TH0=(65535-500)/256; TL0=(65535-500)%256;TR0 = 1;Ser_IN(coma); Ser_IN(disbuffa);Par_OUT();a+;if(a=6)a=0;void Ser_IN(uchar Data)/74hc595數(shù)據(jù)輸入子程序 uchar i; for(i=0;i<8;i+) SH_CP=0; /先置為低 DS=Data&a

溫馨提示

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

評論

0/150

提交評論