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

正文內(nèi)容

基于51單片機(jī)的紅外計(jì)數(shù)系統(tǒng)設(shè)計(jì)畢業(yè)論文-文庫(kù)吧在線文庫(kù)

  

【正文】 片機(jī)進(jìn)行編程,并通過(guò)紅外對(duì)射的方式,實(shí)現(xiàn)對(duì)進(jìn)出人流量的統(tǒng)計(jì),將得到的數(shù)據(jù)在數(shù)碼管上實(shí)時(shí)顯示并發(fā)送給由Vb編寫的上位機(jī)程序進(jìn)行處理和記錄。 硬件總體方案設(shè)計(jì)為了有效、準(zhǔn)確的實(shí)現(xiàn)本設(shè)計(jì)的內(nèi)容,本設(shè)計(jì)的硬件分為了以AT89S52為控制核心的下位機(jī)和以PC為主體的上位機(jī)兩大部分。且51系列的I/O腳的設(shè)置和使用非常簡(jiǎn)單,當(dāng)該腳作輸入腳使用時(shí),只須將該腳設(shè)置為高電平(復(fù)位時(shí),各I/O口均置高電平)。當(dāng)該腳作輸出腳使用時(shí),則為高電平或低電平均可。這里采用的是ULN2803八路NPN達(dá)林頓。因此,當(dāng)計(jì)算機(jī)向外發(fā)送數(shù)據(jù)時(shí),必須將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)再發(fā)送。第一種精度更高,常用于復(fù)雜信息的傳輸,但由于本設(shè)計(jì)只需判斷有無(wú)人通過(guò)這兩種狀態(tài),選用第二種也可以滿足要求,且更加簡(jiǎn)單、方便。最后還要選擇一款與所選單片機(jī)的下載器或下載軟件來(lái)把編寫的程序下載到單片機(jī)中執(zhí)行。與匯編相比,有如下優(yōu)點(diǎn):對(duì)單片機(jī)的指令系統(tǒng)不要求了解,僅要求對(duì)51的存儲(chǔ)器結(jié)構(gòu)有初步了解;寄存器分配、不同存儲(chǔ)器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理;程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù)。其中系統(tǒng)采用現(xiàn)在已經(jīng)非常普遍的PC機(jī)作為上位機(jī),這樣對(duì)該顯示系統(tǒng)的硬件要求便降低了,增加了系統(tǒng)的通用性。將人的進(jìn)出信號(hào)傳給單片機(jī)。(3)譯碼電路的高低電平的區(qū)分能力以及譯碼的輸入輸出頻率必須滿足單片機(jī)以及驅(qū)動(dòng)電路的要求。還有就是為了提高對(duì)人流進(jìn)出情況的判斷速度,單片機(jī)的執(zhí)行速度要盡可能的快。32個(gè)可編程I/O口線P2口作為檢測(cè)人員進(jìn)出狀態(tài)的信號(hào)接口和控制飽和警報(bào)燈是否亮滅的接口。這需要同時(shí)給八段數(shù)碼管的各個(gè)接口賦值,74HC595元器件可以串行輸入,然后鎖存。具體接法如下圖26所示:圖26 驅(qū)動(dòng)器件ULN2803的接法ULN2803是由8個(gè)NPN達(dá)林頓晶體管組成的陣列,特別適用于低邏輯電平數(shù)字電路(諸如TTL, CMOS或PMOS/NMOS)和較高的電流/電壓要求之間的接口,廣泛應(yīng)用于計(jì)算機(jī),工業(yè)用和消費(fèi)類產(chǎn)品中的燈、繼電器、打印錘或其它類似負(fù)載中。但單片機(jī)串行口采用正邏輯TTL電平,即數(shù)字“1”時(shí)為+5V;數(shù)字“0”時(shí)為5V,所以單片機(jī)與計(jì)算機(jī)不能直接相連進(jìn)行通信,必須將RS232C與TTL電平進(jìn)行轉(zhuǎn)換。光譜功率分布為中心波長(zhǎng)830~950nm,半峰帶寬約40nm左右。當(dāng)無(wú)光照時(shí),電路中有很小的反向飽和漏電流,一般為1 * 108 1X10 9A(稱為暗電流),此時(shí)相當(dāng)于光敏二極管截止。段選接口控制數(shù)碼管的8個(gè)LED燈的亮滅來(lái)控制不同的字形輸出,位選接口則控制哪個(gè)數(shù)碼管顯示字形,具體結(jié)構(gòu)如下圖211所示。此階段是將軟件設(shè)計(jì)的結(jié)果轉(zhuǎn)化為上位機(jī)以及下位機(jī)運(yùn)行的程序代碼。原因之后章節(jié)陳述。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部分組合在一起。ES、ET、EXET0、EX0為對(duì)應(yīng)的串行口中斷、定時(shí)器/計(jì)數(shù)器1中斷、外部中斷1中斷、定時(shí)器/計(jì)數(shù)器0中斷、外部中斷0中斷的中斷允許位。中斷優(yōu)先級(jí)寄存器在特殊功能寄存器中, IP用來(lái)設(shè)定各個(gè)中斷源屬于兩級(jí)中斷的哪一級(jí)。每回接收一個(gè)字節(jié)。此段程序的核心代碼為:串口初始化:TH1=0xf3。數(shù)據(jù)的接收以及發(fā)送程序核心代碼:void UART_SER (void) interrupt 4 //串行中斷服務(wù)程序{ if(RI) //判斷為接收 { RI=0。 //發(fā)送標(biāo)志位清零 }} 數(shù)碼管顯示程序設(shè)計(jì)8段數(shù)碼管屬于LED發(fā)光器件的一種。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用的CPU時(shí)間少。在輪流點(diǎn)亮掃描過(guò)程中,每位顯示器的點(diǎn)亮?xí)r間極為短暫,但由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余暉效應(yīng),給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。由于需要?jiǎng)討B(tài)掃描,即不斷掃描實(shí)時(shí)更新數(shù)據(jù),所以在數(shù)碼管掃描中斷函數(shù)中需要從新初始化定時(shí)計(jì)時(shí)器,使其從新開(kāi)始計(jì)時(shí)。 Par_OUT()。0x01。;即人通過(guò)入口時(shí),變量RedOut值為0,同時(shí)程序檢測(cè)RedOut,當(dāng)其值為0時(shí)給變量k賦值39。 return k。時(shí),IN(其值代表進(jìn)入的人數(shù),初值為0)的值就會(huì)自減1,STAND(其值代表圖書館內(nèi)的現(xiàn)有人數(shù),初值為0)的值就會(huì)自減1,向上位機(jī)傳輸減少1人的命令。39。一個(gè)為確定數(shù)碼管編號(hào)的變量i,給i賦值為0,即選擇編號(hào)為in的數(shù)碼管,給s賦值為進(jìn)入圖書館的人數(shù),隨即處理該人數(shù),分別算出其各位數(shù)和十位數(shù),然后將可供數(shù)碼管顯示的顯示信息從數(shù)組tab中調(diào)出,存入定義的緩存數(shù)組disbuff(由于有六個(gè)數(shù)碼管需要顯示,所以定義disbuff有6個(gè)元素)第一個(gè)元素和第二個(gè)元素中;當(dāng)處理人離開(kāi)圖書館的人數(shù)變量OUT時(shí),給i賦值為4,即選擇編號(hào)為out的數(shù)碼管,給s賦值為離開(kāi)圖書館的人數(shù),隨即處理該人數(shù),分別算出其各位數(shù)和十位數(shù),然后將可供數(shù)碼管顯示的顯示信息從數(shù)組tab中調(diào)出,存入定義的緩存數(shù)組disbuff第五個(gè)元素和第六個(gè)元素中;當(dāng)處理所留在圖書館的人數(shù)變量STAND時(shí),給i賦值為2,即選擇編號(hào)為stand的數(shù)碼管,給s賦值為所留在圖書館的人數(shù),隨即處理該人數(shù),分別算出其各位數(shù)和十位數(shù),然后將可供數(shù)碼管顯示的顯示信息從數(shù)組tab中調(diào)出,存入定義的緩存數(shù)組disbuff第三個(gè)元素和第四個(gè)元素中;數(shù)碼管賦值的子函數(shù)核心代碼為:void Quzhi(uchar i, uchar s) //給數(shù)碼管賦值{uchar unitPlace = s / 1 % 10。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大。在打開(kāi)串口以及波特率的設(shè)定兩個(gè)條目上,我們選擇了Combo Box (組合框)控件,Combo Box (組合框)控件很簡(jiǎn)單,而且占用面積小,可以節(jié)省空間。在這里,shape控件類似于一個(gè)指示燈的作用,方便用戶了解串口的工作狀態(tài)。H404040 = 打開(kāi)串口ElseIf = 打開(kāi)串口 ThenSelect Case Case 0 = 1 Case 1 = 2 Case 2 = 3 Case 3 = 4End SelectSelect Case Case 0 = 4800, n, 8, 1 Case 1 = 9600, n, 8, 1End Select = True = 關(guān)閉串口 = vbGreenEnd IfEnd Sub串口通信控件配置程序如下: = vbGreen = 4800,n,8,1 = 1 = True = InputModeBinary 39。清除發(fā)送緩沖區(qū)Fwordsend(1) = 1 39。飽和人數(shù)設(shè)定功能是本次設(shè)計(jì)重要組成功能。如果飽和人數(shù)設(shè)為最大值,則系統(tǒng)會(huì)認(rèn)定為未飽和。 amp。 amp。判斷是否飽和baoheStr = 無(wú)ElseIf STAYren (baohe 1) ThenbaoheStr = 是 amp。 Date amp。 STAYrenStr amp。同時(shí)將用戶輸入的飽和人數(shù)值賦給變量飽和,供與下位機(jī)通信時(shí)使用。清除發(fā)送緩沖區(qū)Fwordsend(1) = 0Fwordsend(2) = baohesendBuffer = Fwordsend()ElseIf = 飽和警報(bào)取消 Then = 飽和警報(bào)啟動(dòng)baohe = 99 = FalseIf STAYren baohe Then 39。報(bào)警燈判斷 = vbWhiteElse: = vbRedEnd If = 0 39。其界面如圖37所示:圖37 自動(dòng)記錄功能界面其中,ComboBox控件為用戶提供記錄時(shí)間間隔的選擇。自動(dòng)計(jì)錄的時(shí)間間隔 Case 0 = 1000 XYM = 5 39。顯示模塊集中著處理過(guò)后,最有用最直觀的信息。這里面包括序號(hào),日期,時(shí)間,進(jìn)入人次,離去人次,余留人數(shù),是否飽和。所以先在電腦上進(jìn)行仿真很重要,如今大多工程中的解決方案也都會(huì)性進(jìn)行仿真,盡可能的在實(shí)物完成之前先規(guī)避掉一些錯(cuò)誤。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVisionMPLAB等軟件。若仿真成功,則證明硬件的邏輯以及下位機(jī)程序都沒(méi)有問(wèn)題,可以直接搭建硬件了。由于最重要的顯示系統(tǒng)功能的測(cè)試需要軟件配合所以在硬件調(diào)試部分只測(cè)試單片機(jī)復(fù)位電平,功能部分測(cè)試放在系統(tǒng)聯(lián)合調(diào)試部分來(lái)完成。如果電動(dòng)力過(guò)大或設(shè)備構(gòu)架不夠堅(jiān)韌,則可能引起電氣設(shè)備機(jī)械變形甚至損壞,使事故進(jìn)一步擴(kuò)大。虛焊的危害:虛焊點(diǎn)的接觸電阻會(huì)引起局部發(fā)熱,局部溫度升高又促使不完全接觸的焊點(diǎn)情況進(jìn)一步惡化,最終甚至使焊點(diǎn)脫落,電路完全不能正常工作。 上電測(cè)試由于系統(tǒng)測(cè)試時(shí)是采用USB電源為系統(tǒng)電源,所以電源輸入都為5V。功能上表示將單片機(jī)的輸出口與輸入口直接相連,單片機(jī)收到數(shù)據(jù)的同時(shí)就將數(shù)據(jù)發(fā)送回PC機(jī)。因此只要設(shè)定PC機(jī)向單片機(jī)發(fā)送的內(nèi)容和單片機(jī)向PC機(jī)發(fā)送的內(nèi)容就可以通過(guò)串口調(diào)試助手驗(yàn)證串口通信是否準(zhǔn)確,是否滿足功能要求。余下得各種顯示程序和中斷程序都編譯成功后只有聯(lián)合硬件才能驗(yàn)證其功能的可行性。PC機(jī)收到的數(shù)據(jù)為 0a,如下圖53。在進(jìn)行功能調(diào)試前必須用KEIL C對(duì)所有程序進(jìn)行編譯。然后測(cè)試各器件的電源,接地及一些電平應(yīng)該固定的端口的電壓。進(jìn)行手工焊接操作的時(shí)候,尤其要加以注意。用電阻檔表筆分別觸及兩個(gè)焊點(diǎn),如果焊點(diǎn)短路,則測(cè)得電阻為接近0;如果焊點(diǎn)未短路,則測(cè)得電阻比較大。電壓大幅下降將造成電動(dòng)機(jī)轉(zhuǎn)速降低甚至停止運(yùn)轉(zhuǎn),給用戶帶來(lái)?yè)p失;同時(shí)電壓降低能造成照明負(fù)荷諸如電燈突然變暗及一些氣體放電燈的熄滅等,影響正常的工作、生活和學(xué)習(xí)。此時(shí)沒(méi)有危險(xiǎn),但電阻A沒(méi)有工作。仿真結(jié)果成功,當(dāng)進(jìn)入6人,離開(kāi)一人時(shí),數(shù)碼管顯示正確,且報(bào)警燈亮。所以我們只選用Proteus中的ISIS這一部分。該軟件的特點(diǎn)是:。實(shí)物完成后必須對(duì)其進(jìn)行調(diào)試,檢查設(shè)計(jì)功能是否實(shí)現(xiàn)了。通過(guò)紅白的顏色切換傳達(dá)信息,類似于一個(gè)指示燈。1h Case 4 = 1000 XYM = 10800 39。用戶選擇的時(shí)間間隔就是調(diào)整Timer2的循環(huán)周期次數(shù),如當(dāng)選擇10分鐘時(shí),一個(gè)是開(kāi)始自動(dòng)記錄,一個(gè)取消自動(dòng)記錄。此功能的核心代碼如下:Private Sub LIEBIAOBC_Click()Open + \ For Output As 1 39。在此事件中,程序會(huì)處理處理3個(gè)事件:,即將TextIn. TextOut. 。將發(fā)送緩存器清零,然后將baohe(存儲(chǔ)了用戶設(shè)定的飽和人數(shù)值)變量的值賦給Fwordsend的第二個(gè)元素中(該數(shù)組第一個(gè)元素用于暫存是否需要清零的信號(hào),第二個(gè)元素用來(lái)存儲(chǔ)用戶設(shè)定的飽和人數(shù))。 vbCrLfxuhao = xuhao + 1列表清零功能的核心代碼:Private Sub LIEBIAOQL_Click() = 39。 INrenStr amp。 baoheEnd IfEnd IfxuhaoStr = Format(xuhao, 00) 39。的次序?qū)懭氡砀癫⑶倚蛱?hào)自加1。 amp。然后將借用Format函數(shù)將xuhaoStr(表示記錄表中的序號(hào))轉(zhuǎn)化為字符型方便表格中表示。如圖36所示:圖36 飽和人數(shù)設(shè)定欄實(shí)時(shí)記錄功能與列表清零功能由CommandButton控件組成。上位機(jī)接收下位機(jī)數(shù)據(jù)的源程序:receivebuffer = 39。上位機(jī)每次通信向下位機(jī)發(fā)送兩個(gè)字節(jié)的數(shù)據(jù)。當(dāng)用戶選中按鈕時(shí),不僅會(huì)執(zhí)行相應(yīng)操作,還會(huì)使該按鈕看上去象被按下并釋放一樣。以及波特率可以選擇9600或者4800,來(lái)進(jìn)行通信。使用它可以建立與串行端口的連接,通過(guò)串行端口連接到其他通信設(shè)備(如調(diào)制解調(diào)器),發(fā)出命令,交換數(shù)據(jù),以及監(jiān)視和響應(yīng)串行連接中發(fā)生的事件。 disbuff[i+1]=tab[tenPlace]。 //向上位機(jī)傳輸減少1人的命令 break。 STAND++。當(dāng)有人進(jìn)入時(shí),即k的值為39。 if ( RedIn == 0 ) k = 39。 //先置為低ST_CP=1。for(i=0。 TL0=(65535500)%256。即共需要兩個(gè)八位字節(jié)的字。另一種方法是動(dòng)態(tài)掃描顯示。數(shù)碼管常用的有10根管腳,每一段有一根管腳,另外兩根管腳為一個(gè)數(shù)碼管的公共端,兩根之間相互連通,本設(shè)計(jì)選用2位共陰8段數(shù)碼管。 } else { Maxnum=SBUF。SM1=1。接收完上位機(jī)發(fā)來(lái)的控制命令數(shù)據(jù)之后,下位機(jī)便會(huì)自行處理數(shù)據(jù),然后執(zhí)行。設(shè)置串口工作方式1,波特率4800,計(jì)算可得計(jì)數(shù)器初值的十六進(jìn)制表示為0XF3。還需打開(kāi)全局中斷位,指令為EA=1。編程時(shí)通過(guò)設(shè)置其狀態(tài)來(lái)管理中斷系統(tǒng)。上位機(jī)程序與下位機(jī)程序通過(guò)串口程序模塊相互通信。在軟件設(shè)計(jì)完成之后要進(jìn)行嚴(yán)密的測(cè)試,一發(fā)現(xiàn)軟件在整個(gè)軟件設(shè)計(jì)過(guò)程中存在的問(wèn)題并加以糾正。此階段中根據(jù)對(duì)任務(wù)書要求分析的結(jié)果,先對(duì)硬件系統(tǒng)進(jìn)行設(shè)計(jì),其中包含對(duì)所需原件分析,從價(jià)格性能以及使用難易度情況的角度,選擇最合適的原件。 顯示電路設(shè)計(jì)本設(shè)計(jì)的顯示電路部分包括三個(gè)共陰極的兩位八段數(shù)碼管和一個(gè)LED飽和報(bào)警燈。一般使用紅外
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1