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

正文內(nèi)容

基于51單片機的紅外計數(shù)系統(tǒng)設計畢業(yè)論文-wenkub.com

2025-06-21 16:35 本頁面
   

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