人體反應速度測試儀_第1頁
人體反應速度測試儀_第2頁
人體反應速度測試儀_第3頁
人體反應速度測試儀_第4頁
人體反應速度測試儀_第5頁
已閱讀5頁,還剩39頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘 要反應速度是指人體對刺激發生反應的快慢。反應速度通常用“從刺激到開始發生反應的時間”,即反應時來衡量。目前,國內外常用反應時指標研究運動員的機能狀態及心理活動過程。反應速度是人類的基本生理素質之一。以AT89S52單片機為核心的人體反應速度測試儀,主要控制測試燈的狀態,通過測試按鍵的狀態來間接計算人體反應速度。實驗測試表明,系統測試精度高、抗干擾能力強、反應測試較為準確,具有一定的參考價值。同時因為其結構簡單、體積小、成本低、擴展方便,在反應速度測試中有廣泛的應用前景。關鍵字:單片機 AT89S52 反應速度ABSTRACTReaction speed is refers to react

2、 to stimulate the body responds to it. Reaction speed usually use from stimulation to start happening reaction time, i.e., reaction time measurement. At present, the domestic and international common reaction index research status and the function of athletes psychological process. Reaction speed is

3、 one of the basic human physiological quality. AT89S52 SCM as the core in the human body reaction velocity tester, main control test lamp state, through the test buttons to indirect calculation human reaction state pace. Test results show that system testing precision, strong anti-jamming capability

4、, reaction test is more accurate, to have the certain reference value. Also because of its simple structure, small volume, low cost, convenient, in the reaction speed expansion tests have broad application prospectsingle-chip AT89S52 reaction speed test目 錄第1章 引言11.1課題背景11.2 單片機簡介與發展概況21.3 設計要求31.4 主

5、要內容3第2章 系統硬件介紹42.1 單片機的介紹42.2單片機的工作過程42.3 AT89S52主要性能52.4 AT89S52引腳說明62.5 LED顯示器的特性10第3章 系統總體方案設計與分析123.1 涉及的基礎知識123.2 總體方案123.3 功能模塊框圖13第4章 系統硬件設計144.1 硬件結構144.1.1 硬件總體連接圖144.1.2 74LS244154.1.3 74ls365154.2 實現方法164.3 詳細流程圖16第5章 主要代碼編寫185.1 按鍵電路的實現185.2 四位LED數碼管顯示電路的實現185.3 主函數的實現19第6章 系統調試236.1 仿真軟

6、件 Protetus236.2 仿真調試過程24第7章 總結與體會27參考文獻28致謝29附錄30外文資料原文36譯文38第1章 引言1.1課題背景 速度素質是指人體進行快速運動的能力,即在單位時間內迅速完成某一動作或通過某一距離的能力。它包括反應速度,動作速度和周期性運動的位移速度。反應速度是速度素質中的一個重要的部分,反應速度是指人體對刺激發生反應的快慢。從生理機制分析,反應快慢取決于“反射弧”的五個環節:感受器傳入神經中樞嚴格傳出神經效應器。反應速度通常用“從刺激到開始發生反應的時間”,即反應時來衡量。目前,國內外常用反應時指標研究運動員的機能狀態及心理活動過程。反應速度是人類的基本生理

7、素質之一。反應測試系統這個題目的提出是建立在學習接口技術課程的基礎上。通過課程的學習,對計算機接口技術中各個重要的接口芯片內部原理,實現功能有了一定程度的掌握。在此之上,提出在接口技術范疇內一些較為復雜的儀器設計,主要復雜在進行多個芯片。功能的組合以實現 更為高級實用的功能。反應測試儀能夠定量的測試人的反應速度。利用這種儀器,可以在人才的選拔中起到積極地作用。例如選擇少年體育運動員,舞蹈,雜技,魔術學員及其他要求機敏素質的培養對象時,可以提供科學的數據。所以,反應測試儀的潛在實用價值極大。并且,在計算機專業中,反應測試儀的提出,主要對計算機接口的芯片的控制和計算功能提出更高的要求。從各種文獻資

8、料中我們可以發現,現有的對此項目的研究是深入而廣泛的。如機動車駕駛員反應測試儀,藥物藥理反應測試儀,聽覺穩態誘發測試儀等等各個方面的課題研究層出不窮。而在技術上重要幾種在單片機控制和由系統集成接口芯片進行功能組合等方向。并且在測試范圍上也是種類眾多。單從剛剛提到的反應測試儀器就可看到有對神經反應速度,身體反應速度等不同方面進行測試的。由于本人水平有限,無法全面把握計算機接口技術知識的互相銜接,在本項目中,僅對幾個功能原理比較簡便的芯片進行實驗,并且對其功能組合也并不復雜。以求在自身水平范圍內,選擇最少,最簡潔,最低廉的功能組合實現題目所提要求。即設計一個能測試人的反應(響應)時間的儀器。按啟動

9、鈕,測試開始,一旦看到燈亮,立即按測試鈕,八段碼現實反應時間xx.xx秒。在知識范圍和時間范圍以內,在完成題目基本要求的基礎之上,對本儀器功能進行力所能及的擴充。如:在反應時間測試精度上,儀器操作的簡便性上,被測試者的易測試性等方面。1.2 單片機簡介與發展概況 單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機了解計算機原理與結構的最佳選擇。圖1-2所示為單片機芯片。可以說,二十世紀跨越了三個“電”的時代,即電氣時代、電子時代和現

10、已進入的電腦時代。不過,這種電腦,通常是指個人計算機,簡稱PC機。它由主機、鍵盤、顯示器等組成)。還有一類計算機,大多數人卻不怎么熟悉。這種計算機就是把智能賦予各種機械的單片機(亦稱微控制器)。顧名思義,這種計算機的最小系統只用了一片集成電路,即可進行簡單運算和控制。因為它體積小,通常都藏在被控機械的“肚子”里。它在整個裝置中,起著有如人類頭腦的作用,它出了毛病,整個裝置就癱瘓了。現在,這種單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。各種產品一旦用上了單片機,就能起到使產品升級換代的功效,常在產品名稱前冠以形容詞“智能型”,如智能型洗衣機等。現在有些工廠的

11、技術人員或其它業余電子開發者搞出來的某些產品,不是電路太復雜,就是功能太簡單且極易被仿制。究其原因,可能就卡在產品未使用單片機或其它可編程邏輯器件上。 圖1-2 單片機芯片 單片機的歷史 : 第一代:七十年代后期 ,4 位邏輯控制器件發展到 8 位。使用 NMOS 工藝(速度低,功耗大、集成度低)。代表產品: MC6800 、 Intel 8048 。 第二代:八十年代初,采用 CMOS 工藝,并逐漸被高速低功耗的 HMOS 工藝代替。代表產品: MC146805 、 Intel 8051 。 第三代:近十年來,MCU的發展出現了許多新特點: (1)在技術上,由可擴展總線型向純單片型發展,即只

12、能工作在單片方式。 (2)MCU 的擴展方式從并行總線型發展出各種串行總線。 (3)將多個CPU集成到一個MCU中。 (4)在降低功耗,提高可靠性方面,MCU 工作電壓已降至3.3V。 第四代:FLASH的使用使MCU技術進入了第四代。1.3 設計要求基于AT89S52單片機的人體反應速度測試儀設計要求如下:(1) 測試者按下測試按鍵后,測試燈亮起,測試隨之開始。(2) 在測試過程中,測試者要注意觀察測試燈得變化,當看到測試燈熄滅時,測試者要迅速放開測試按鍵,單片機會在數碼管上顯示測試者的反應時間。(3) 若測試者在測試燈熄滅之前放開測試按鍵,則系統自動判為犯規,并顯示錯誤信息。1.4 主要內

13、容以AT89S52單片機為核心的人體反應速度測試儀,主要控制測試燈的狀態,通過測試按鍵的狀態來間接計算人體反應速度。正常情況下系統運行主程序一直處于空閑等待狀態,知道測試者按下按鍵后,LED測試燈立即點亮。AT89S52單片機在LED測試燈亮的同時開始計算一個隨機時間,在一段隨機時間結束后,AT89S52單片機把LED測試燈熄滅,并開始計時燈滅與測試者放開按鍵的時間差,此計時時間用于記錄被測者得反應時間,并以毫秒為時間單位在4位數碼管上顯示。如果在LED測試燈滅之前提前放開測試按鍵,則顯示9999作為出錯信息。第2章 系統硬件介紹2.1 單片機的介紹單片機是一種集成在電路芯片,是采用超大規模集

14、成電路技術把具有數據處理能力的中央處理器CPU隨機儲存器 RAM、只讀儲存器ROM、多種I/O口和中斷系統、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調整電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統。2.2單片機的工作過程 單片機自動完成賦予它的任務的過程,也就是單片機執行程序的過程,即一條條執行的指令的過程,所謂指令就是把要求單片機執行的各種操作用的命令的形式寫下來,這是在設計人員賦予它的指令系統所決定的,一條指令對應著一種基本操作;單片機所能執行的全部指令,就是該單片機的指令系統,不同種類的單片機,其指令系統亦不同。為使單片機能自動完成某

15、一特定任務,必須把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執行的指令),這一系列指令的集合就成為程序,程序需要預先存放在具有存儲功能的部件存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這個存儲單元,其中存儲的指令就可以被取出,然后再被執行。 程序通常是順序執行的,所以程序中的指令也是一條條順序存放的,單片機在執行程序時要能把這些指令

16、一條條取出并加以執行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數器PC(包含在CPU中),在開始執行程序時,給PC賦以程序中第一條指令所在的地址,然后取得每一條要執行的命令,PC在中的內容就會自動增加,增加量由本條指令長度決定,可能是1、2或3,以指向下一條指令的起始地址,保證指令順序執行。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flash 存儲器。使用Atmel 公司高密度非 易失性存儲器技術制造,與工業80C51 產品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統可編程,亦適于 常規編程器。在單芯片上,擁有靈巧的8 位CPU

17、和在系統 可編程Flash,使得AT89S52為眾多嵌入式控制應用系統提 供高靈活、超有效的解決方案。 AT89S52具有以下標準功能: 8k字節Flash,256字節RAM, 32 位I/O 口線,看門狗定時器,2 個數據指針,三個16 位 定時器/計數器,一個6向量2級中斷結構,全雙工串行口, 片內晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態邏 輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。8 位微控制器 8K 字

18、節在系統可編程 Flash AT89S52。2.3 AT89S52主要性能1、與MCS-51單片機產品兼容;2、8K字節在系統可編程Flash存儲器;3、1000次擦寫周期;4、全靜態操作:0Hz-33MHz;5、三級加密程序存儲器;6、32個可編程I/O口線;7、三個16位定時器/計數器;8、六個中斷源;9、全雙工UART串行通道;10、低功耗空閑和掉電模式;11、掉電后中斷可喚醒;12、看門狗定時器;13、雙數據指針;14、掉電標識符 。2.4 AT89S52引腳說明AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程,如圖2-1,如圖2-2(封裝不同)圖2-

19、1 AT89S52引腳圖 DIP封裝Flash存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,使得AT89S52為眾多嵌入式控制應用系統提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節Flash,256字節RAM,32位I/O口線,看門狗定時器,2個數據指針,三個16位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52可降至0Hz靜態邏輯操作,支持2種軟件可選擇節電

20、模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏 輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。 當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下, P0不具有內部上拉電阻。 在flash編程時,P0口也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗 時,需要外部上拉電阻。 P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,p

21、1 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 此外,P1.0和P1.1分別作定時器/計數器2的外部計數輸入(P1.0/T2)和定時器/計數器2 的觸發輸入(P1.1/T2EX)。 在flash編程和校驗時,P1口接收低8位地址字節。 引腳號第二功能: P1.0 T2(定時器/計數器T2的外部計數輸入),時鐘輸出 P1.1 T2EX(定時器/計數器T2的捕捉/重載觸發信號和方向控制) P1.5 MOSI(在系統編程用) P1.6 MISO(在系統編

22、程用) P1.7 SCK(在系統編程用)P2 口:P2 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動 圖2-2 AT89S52引腳圖 PLCC封裝4 個 TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行MOVX DPTR) 時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的內部上拉發送1。在使用 8位地址(如MOVX RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。 在f

23、lash編程和校驗時,P2口也接收高8位地址字節和一些控制信號。 P3 口:P3 口是一個具有內部上拉電阻的8 位雙向I/O 口,p3 輸出緩沖器能驅動4 個 TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入 口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗時,P3口也接收一些控制信號。 端口引腳 第二功能: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 INTO(外中斷0) P3.3 INT1(外中斷1) P

24、3.4 TO(定時/計數器0) P3.5 T1(定時/計數器1) P3.6 WR(外部數據存儲器寫選通) P3.7 RD(外部數據存儲器讀選通) 此外,P3口還接收一些用于Flash閃存編程和程序校驗的控制信號。 RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將是單片機復位。 ALE/PROG:當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引

25、腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置ALE禁止位無效。 PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89S52由外部程序存儲器取指令(或數據)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數據存儲器,將跳過兩次PSEN信號。 EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地

26、)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態。如EA端為高電平(接Vcc端),CPU則執行內部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。 XTAL1:振蕩器反相放大器和內部時鐘發生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端2.5 LED顯示器的特性(1) 發光響應快,亮度強,高頻特性好;而且隨著材料的不同,數碼管還能發出紅、黃、綠、藍、橙等多種顏色的光。(2) 機械性能好,體積小,重量輕,價格低廉;能與COMS和TTL電路配合使用;使用壽命長。(3) 工作電壓低,驅動電流適中。

27、每段電流為510mA,一只數碼管的7段LED全亮需要電流3570mA。這樣打的電流需要由驅動電路提供,因此,使用時要注意數碼管的驅動問題。在使用中,為了給發光二極管加驅動電壓,他們應有一個公共的引腳,公共的引腳有如下兩種鏈接方法:一、共陰極接法。把發光二極管的陰極連接在一起構成陰極公共引腳,使用時公共引腳接地,這樣陽極引腳上加高電平的發光二極管就導通點亮,而加低電平的則不亮。二、共陽極接法。把發光二極管的陽極連接在一起作為陽極公共引腳,使用時陽極公共引腳接+5V。這樣陰極引腳上加低電平的發光二極管即可導通點亮,二加高電平的則點不亮。LED顯示器顯示原理:并排使用的多位數碼管成為LED顯示器。L

28、ED顯示器多采用動態顯示方式,全部數碼管共用一套段碼驅動電路,各位數碼管的同段引腳短接后再接到對應段碼的驅動線上。顯示時通過位控制信號采用掃描的方法逐位地循環點亮各位數碼管。動態顯示雖然在任一時刻只有一位數碼管被點亮,但是由于人眼具有的視覺殘留效應,看起來與全部數碼管持續點亮的效果完全一樣。 LED顯示器的動態顯示需要為各位提供段碼以及相應的位控制,此即通常所說的段控和位控。把LED顯示器段碼表預先存放在存儲器中,使用時通過查表就可以得到段碼。段碼輸出后送到公共端碼線上,也可稱為段控信號。而通過并行口輸出的相互獨立的位碼則是起選通作用的,也稱位控活掃描信號,用于選擇顯示位。動態顯示具有硬件簡單

29、,功耗低和顯示靈活性強等優點,但動態顯示增加了驅動軟件的復雜性,且顯示亮度較低。第3章 系統總體方案設計與分析3.1 涉及的基礎知識通過學習和查閱資料,本項目需要掌握和了解如下知識:+5V電源原理及設計。單片機復位電路工作原理及設計。單片機晶振電路工作原理及設計。測試按鍵電路設計。驅動電路74LS07、74LS244的特性及使用。LED的特性及使用。AT89S52單片機引腳。單片機C語言及程序設計。3.2 總體方案LED數碼管的顯示電路中采用動態數碼管顯示,在其中P0端口控制段碼,低電平有效,P2.0P2.3端口控制位碼,高電平有效。P2.3端口控制第1個數碼管,P2.2端口控制第2個數碼管,

30、P2.1端口控制第3個數碼管,P2.0端口控制第4個數碼管。各個數碼管的段碼都是P0端口的輸出,即各個數碼管輸入的段碼都是一樣的,為了使其分別顯示不同的數字,可采用動態掃描的方式,即先只讓最低位顯示0,經過一段延時,再只讓次低位顯示1,以此類推。由于視覺暫留,只要延時時間足夠短,就能夠使得數碼的顯示看起來非常穩定清楚。3.3 功能模塊框圖復位電路晶振電路 AT89S52單片機電源電路驅動電路4位LED數碼管顯示電路LED測試燈和測試按鍵電路 圖 3-1 人體反應速度測試儀框圖第4章 系統硬件設計LED數碼管的顯示電路中采用動態數碼管顯示,在其中P0端口控制段碼,低電平有效。P2.0-P2.3端

31、口控制位碼,高電平有效。P2.3端口控制第1個數碼管,P2.2端口控制第2個數碼管,P2.1端口控制第3個數碼管,P2.0端口控制第4個數碼管。各個數碼管的斷碼都是P0端口的輸出,即各個數碼管輸入的斷碼都是一樣的,為了使其分別顯示不同的數字,可采用動態掃描的方式,即先只讓最低位顯示0(含點),經過一段延時,再只讓次低位顯示1,以此類推。由于視覺暫留,只要延時足夠短,就能夠使得數碼的顯示看起來非常穩定清楚。4.1 硬件結構 硬件總體連接圖用一只發光二極管模擬測試燈,以AT89S52單片機的P1.0端口控制這只發光二極管、發光二極管加限流電阻接+5V電源,P1.0端口輸出低電平時,測試燈亮,輸出高

32、電平時,測試燈滅。P1.1端口接測試按鍵,P0端口控制LED數碼管的七段數碼顯示,P2.0P2.3控制4位數碼管的位選。如圖4-1圖4-1人體反應測速儀電路原理圖4.1.2 74LS244 74LS244為3態8位緩沖器,一般用作總線驅動器。74LS244沒有鎖存的功能。地址鎖存器就是一個暫存器,它根據控制信號的狀態,將總線上地址代碼暫存起來。8086/8088數據和地址總線采用分時復用操作方法,即用同一總線既傳輸數據又傳輸地址。如圖4-2圖4-2 74ls244實物圖4.1.3 74ls36574ls365(如圖4-3)為三態輸出的六組總線驅動器共有54/74365 和54/74LS365

33、兩種線路結構型式,其主要電器特性的典型值如下(不同廠家具體值有差別):型號 tPLH tphl PD54365/74365 16ns 22ns 325mW54LS365/74LS365 10ns 9ns 70mW365和367 的差別在三態允許控制,365 為公共控制,367 為分別控制。圖4-3 74ls365元件圖4.2 實現方法 主程序采用查詢方式,當測試按鍵按下時,AT89S52單片機使LED測試燈亮起的同時調用隨機函數產生一個隨機時間,AT89S52單片機利用這個隨機時間計時。計時時間到,AT89S52單片機產生一個輸出使單片機的P1.1端口為低電平,LED測試燈熄滅,AT89S52

34、單片機進行新的一輪計時,松開測試按鍵,計時時間停止,把這個計時時間送往數碼管顯示電路顯示。當AT89S52單片機第一輪的計時時間還未到時,若測試按鍵松開,AT89S52單片機9999送往數碼管顯示電路顯示。4.3 詳細流程圖人體反應速度測試儀程序流程圖,如圖4-4所示。開 始初 始 化測試按鍵是否被按下?測試按鍵是否被松開?測試燈亮,并調用隨機函數生成隨機時間隨機時間到了嗎?測試燈熄滅,CPU計時,松開測試按鈕計時停顯示裝置結束NYYNYNY圖4-4 程序流程圖第5章 主要代碼編寫5.1 按鍵電路的實現描 述:讀取按鍵byte bot(void) /讀取按鍵,有按鍵被按下則返回0,否則返回1

35、if(key=0)return 0; else return 1;5.2 四位LED數碼管顯示電路的實現描 述:將緩存區display中的整數譯碼后用數碼管進行顯示void display(word ms) /數碼管上的顯示反應時間 byte posi=0x01,i,j,temp; disp3=ms/1000; /1s disp2=(ms%1000)/100; /100ms disp1=(ms%100)/10; /10ms disp0=ms%10; /1ms for(i=0;i4;i+) /數碼管顯示 temp=dispi; temp=tabletemp; for(j=0;j0;-j) /延時

36、一段隨機時間,為1馬上的隨機倍數 delaylms(); k=bot(); if (k=1) /如果在燈滅前談起按鍵,顯示最長時間作為懲罰 mstime=9999; goto loop; led=1; /燈滅 INIT_TMR1(); /初始定時狀態 while(1) /如果按鍵彈起,反復進入定時狀態,沒1ms計時器溢出一次,毫秒數加1 if(TF1=1) TH1=0xfc; TL1=0x18; TR1=1; TF1=0; +mstime; if(k=bot() break; loop: led=1 ; while(1) if(k=1) /按鍵彈開后始終顯示時間 k=bot(); displa

37、y(mstime); else /若按鍵按下,重新開始測試 mstime=0; P2=0xff; break; 第6章 系統調試由于本設計所用到的硬件就是我們的電腦,這是不需要我們去設計的,也就不需要調試了,所以本次設計的調試就主要是軟件調試了。軟件的調試和硬件也差不多,首先是通過觀察,看有沒有大的低級錯誤,觀察無誤后就將程序分成幾個部分,比如說各個子程序都分別分成各個部分進行調試,如各個子程序都運行正常后,還得看他們是否能實現我們設計的功能,都能達到我們設計的功能后。再將各個子程序以及主程序放一起,并進行鏈接,看編譯能否通過,如果沒問題就可以運行了。能正常運行后,再看看其是否能達到設計的功能

38、以及指標。從整個來看的話,軟件的調試要簡單易行一些,而且一般不會象硬件調試那樣,如果不小心就會很容易造成硬件的順壞,相反,軟件調試一般是不會造成硬件的順壞的。還有軟件的調試不會象硬件調試那么盲目,一般來說,軟件調試的過程中都會有一些提示的。6.1 仿真軟件 ProteusProteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風標電子技術有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開

39、發應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。6.2 仿真調試過程1、安裝完Proteus后,運行IS

40、IS 6 Professional,出現以下,如圖6-1圖6-1 Proteus操作界面 2、根據原理圖4-1放置元件并連接,如圖6-2圖6-2 仿真圖3,將生成的HEX文件拷貝到元件AT89C52中進行仿真LED測試燈滅之前提前放開測試按鍵,則顯示9999作為出錯信息。如圖6-3圖6-3 仿真圖正常情況下系統運行主程序一直處于空閑等待狀態,知道測試者按下按鍵 后,LED測試燈立即點亮,當燈突然熄滅時按起按鍵,數碼管顯示的數字即為測試者的反應時間,如圖6-4,圖6-5 圖6-4 仿真圖圖6-5 仿真圖第7章 總結與體會身為通信工程專業的學生,設計是我們將來必需具備的技能。而這次課程設計恰恰給我

41、們提供了一個應用自己所學知識去勇于創新和實踐的平臺。從通過理論設計,到仿真軟件仿真,再到確定具體方案,再到安裝實際電路,最后到調試電路、成型。整個過程都需要我充分利用所學的知識進行思考、借鑒。可以說,本次課程設計是針對前面所學的知識進行的一次比較綜合的檢驗。總的來說,這次課程設計雖然很累,但卻是苦中有樂,非常充實。在這次實習中,正確的思路是很重要的,只有你的設計思路是正確的,那你的設計才有可能成功。 因此我們在設計前必須做好充分的準備,認真查找詳細的資料,為我們設計的成功打下堅實的基礎,所以跑圖書館和上網查資料成為了我每天的必修課。 本次課程設計不僅培養了我們的科學嚴謹的學習態度,使我們認識到

42、不管做任何事都要付出一定的努力,才會有大的收獲。同時也讓我們領略到電子技術科學知識領域的廣袤。相信這次課程設計過后,我們的理論水平和實踐動手能力都會有一個質的飛躍,也為今后的實踐課程及畢業設計打下了堅實的基礎。要做好本次的課程設計,熟練地掌握課本上的理論知識是前提。這樣才能對試驗中出現的問題進行一定的分析和解決。當然能完成本次設計,更離不開老師辛勤地指導,老師能在百忙中來指導我,每當我遇到了棘手的問題,老師總能給我最好的建議,教我改進得方法,不厭其煩地指出我在設計中存在的問題和錯誤,使我能更好地完成設計。正是老師不厭其煩的指導和每天下午的講解,讓我的設計思路越發清晰,明朗,清除了應該從哪些方面

43、著手,工作。終于有了這次課程設計作品的誕生,這是我上大學以來第一次把所學的電子電工知識運用到實踐當中,興奮之余也開始對今后的學習奮斗目標有了比較明確的規劃,感謝老師讓我順利完成了這次的課程設計,雖然整個過程很辛苦,卻是苦中有樂!參考文獻1 劉樂善,等.微型計算機接口技術及應用M.武漢:華中科技大學出版社,2000.42 于英明,等.計算機接口技術M.北京:電子工業出版社,2004.73 王力虎,等.PC控制及接口程序設計實例M.北京:科學出版社,2004.44 羅耀華,孟繁榮,姚緒梁等.單片機原理及應用技術M.哈爾濱:哈爾濱工程大學出版社,20055 劉天旺主編.ProtelSE電路設計應用教

44、程M.北京:電子工業出版社,2007.96 劉鯤,孫春亮編著.單片機C語言入門. 北京:人民郵電出版社,2008,47 龔運新編著.單片機C語言開發技術. 北京:清華大學出版社,2006.98 康華光.電子技術基礎:模擬部分(第四版)M北京:高等教育出版社,19999 康華光.電子技術基礎:數字部分(第四版)M北京:高等教育出版社,200010 門宏.精選電子制作圖解66例M北京:人民郵電出版社,200111 沈紅衛.基于單片機的智能系統設計與實現M.北京:電子工業出版社,2005.112 吳慎山主編.電子線路設計與實踐M.北京:電子工業出版社,2005.913 陳曉文主編.電子線路課程設計M

45、.北京:電子工業出版社,2004致謝首先,要感謝本課題的指導老師楊青麗老師,在她的幫助和監督下使得設計和論文可以順利的高質量的完成。其和藹耐心的態度,孜孜不倦的教誨給予作者巨大的鼓舞和感染。在此對他表示作者衷心的感謝。從初具規模到最后成型,反反復復幾次,經歷了暴躁到沉淀的過程,終于完成了本篇論文,楊老師在學習上給予了我精心的指導,在論文的完成過程中給了我很大的幫助,當我遇到困難時積極幫我解決。在論文完成過程中,周圍的同學給予了許多中肯的意見和建議。在此也對他們表示感謝。附錄系統的全部源代碼如下:#include#include#includesbit key=P10;sbit led=P11;

46、typedef unsigned char byte;typedef unsigned int word;static byte disp5;code byte table11=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;byte bot(void) /讀取按鍵,有按鍵被按下則返回0,否則返回1 if(key=0)return 0; else return 1;void display(word ms) /數碼管上的顯示反應時間 byte posi=0x0E,temp; int i,j; disp3=ms/1000; /1s disp2=

47、(ms%1000)/100; /100ms disp1=(ms%100)/10; /10ms disp0=ms%10; /1ms for(i=0;i4;i+) /數碼管顯示 temp=dispi; temp=tabletemp; for(j=0;j200;j+) /延時 P2=posi; /顯示xxxx秒形式 P0=temp; posi = (posi0;-j) /延時一段隨機時間,為1馬上的隨機倍數 delaylms(); k=bot(); if (k=1) /如果在燈滅前談起按鍵,顯示最長時間作為懲罰 mstime=9999; goto loop; led=1; /燈滅 INIT_TMR1

48、(); /初始定時狀態 while(1) /如果按鍵彈起,反復進入定時狀態,沒1ms計時器溢出一次,毫秒數加1 if(TF1=1) TH1=0xfc; TL1=0x18; TR1=1; TF1=0; +mstime; if(k=bot() break; loop: led=1 ; while(1) if(k=1) /按鍵彈開后始終顯示時間 k=bot(); display(mstime); else /若按鍵按下,重新開始測試 mstime=0; P2=0xff; break; 外文資料原文The concept of human speed quality and significance一、the concept of human speed qualityHuman speed quality r

溫馨提示

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

評論

0/150

提交評論