[信息與通信]基于單片機的八人搶答器的設計與實踐

上傳人:仙*** 文檔編號:30157357 上傳時間:2021-10-09 格式:DOC 頁數:37 大小:265.50KB
收藏 版權申訴 舉報 下載
[信息與通信]基于單片機的八人搶答器的設計與實踐_第1頁
第1頁 / 共37頁
[信息與通信]基于單片機的八人搶答器的設計與實踐_第2頁
第2頁 / 共37頁
[信息與通信]基于單片機的八人搶答器的設計與實踐_第3頁
第3頁 / 共37頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《[信息與通信]基于單片機的八人搶答器的設計與實踐》由會員分享,可在線閱讀,更多相關《[信息與通信]基于單片機的八人搶答器的設計與實踐(37頁珍藏版)》請在裝配圖網上搜索。

1、基于單片機的八人搶答器的設計與實踐 目錄 摘要 Abstract 關鍵詞 Keywords 第一章 前言............................................................................. 1 第二章 搶答器的系統概述.............................................................. 2 2.1 系統的主要功能...............................................................

2、 2 2.2 系統需求分析..................................................................3 2.3 搶答器的工作流程............................................................ 3 2.4 搶答器的工作過程............................................................ 3 2.5 器件選型方案及詳細清單..............................................

3、...... 5 2.6 AT89C51特殊功能寄存器..................................................... 5 2.7 AT89C51的功能及簡介....................................................... 5 2.7.1 AT89C51單片機的內部結構圖....................................... 5 2.7.2 AT89C51單片機..............................................

4、..........6 2.8 搶答器的優(yōu)點及組成......................................................... 7 第三章 系統總體方案的設計........................................................... 8 3.1 硬件電路的設計............................................................... 8 3.2 總體原理圖...............................................

5、..................... 9 3.3 時鐘頻率電路的設計......................................................... 10 3.4 復位電路的設計............................................................... 10 3.5 顯示電路的設計............................................................... 11 3.5.1 顯示模塊在系統軟件中的安排...............

6、........................ 11 3.6 鍵盤掃描電路的設計......................................................... 13 3.6.1 鍵盤抖動的軟件處理................................................. 14 3.7 發(fā)聲............................................................................ 14 3.8 系統復位........................

7、............................................... 14 3.9 本章小結....................................................................... 15 第四章 軟件設計........................................................................ 16 4.1 主程序系統結構圖............................................................ 16

8、 4.2軟件任務分析.................................................................. 16 4.3 程序流程圖.................................................................... 17 4.4本章小結................................................................. 18 第五章 Proteus仿真系列組圖.......................................

9、.................. 19 5.1系統仿真圖..................................................................... 19 5.1.1復位圖................................................................. 19 5.1.2設置計時時間.........................................................19 5.1.3非法搶答并顯示座號.............

10、.................................... 20 5.1.4搶答成功并顯示倒計時.............................................. 20 5.1.5三號選手搶答成功................................................... 21 5.2本章小結....................................................................... 22 總結...........................

11、............................................................ 23 參考文獻................................................................................. 24 答謝詞.................................................................................... 25 附錄一..................................................

12、.................................. 26 附錄二.................................................................................... 33 常州信息職業(yè)技術學院電子與電氣工程學院 畢業(yè)設計論文 摘 要 在電視和學校中我們會經??吹揭恍┲橇尨鸬墓?jié)目,如果要是讓搶答者用舉手等方法,主持人很容易誤判,會造成搶答的不公平,比賽中為了準確、公正、直觀地判斷出第一搶答者,所設計的搶答器通常由數碼顯示、燈光、音響等多種手段指示出第一搶答者。為了使這

13、種不公平不發(fā)生,只有靠電子產品的高準確性來保障搶答的公平性。 本設計是以八路搶答為基本理念??紤]到依需設定限時回答的功能,利用AT89C51單片機及外圍接口實現的搶答系統,利用單片機的定時器/計數器定時和記數的原理,將軟、硬件有機地結合起來,使得系統能夠正確地進行計時,同時使數碼管能夠正確地顯示時間。用開關做鍵盤輸出,揚聲器發(fā)生提示。 在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題的時間可在1-99s設定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有聲音提示;搶答時間和回答問題時間倒記時顯示,滿時后系統計時自動復位及主主持人強制復位;按鍵鎖定,在有效

14、狀態(tài)下,按鍵無效非法。 關鍵詞: AT89C51 LED數碼管 搶答器 計時 報警 Abstract In television and school, we can often see some intelligence vies to answer first the program, if if let vies to answer first person with hands and other methods, the host is easy to misjudgment,

15、and can cause vies to answer first the unfair, in the game in order to accurately, justice and intuitive to diagnose the first vies to answer first, the design is usually by digital display vies to answer first, lighting, sound and other DuoZhong means the first vies to answer first the instructions

16、. In order to make this unfair not occur, and it is only by electronic products high accuracy to guarantee the fairness of the contest. This design is the basic concept for 8 vies to answer first. Considering the need to set in the function of the answer within, using AT89C51 and peripheral in

17、terfaces vies to answer first the system, of the microcontroller timer/counter timing and counting principle, software and hardware organically, and makes the system can correctly to the time, at the same time make digital tube can properly shows the time. With a switch to do the keyboard output, th

18、e speaker happens hints. In vies to answer first, only after the start, if only effective in vies to answer first began to be invalid; before vies to answer first vies to answer first Vies to answer first the time limit and answer problem of time can be in 1 99 s set; Can display is which players ef

19、fective vies to answer first and invalid vies to answer first, right after the key voice tip; Vies to answer first time and answer the question time, full display events after the system time automatic reset and main host forced reset; Key lock, in effective state, the key is invalid illegal. Key

20、words: AT89C51 LED digital tube Vies to answer first device timing alarm 常州信息職業(yè)技術學院電子與電氣工程學院 畢業(yè)設計論文 第一章 前 言 搶答器是一種應用非常廣泛的設備,在各種競賽、搶答場合中,它能迅速、客觀地分辨出最先獲得發(fā)言權的選手。早期的搶答器只由幾個三極管、可控硅、發(fā)光管等組成,能通過發(fā)光管的指示辯認出選手號碼?,F在大多數搶答器均使用單片機(如MCS-51型)和數字集成電路,并增加了許多新功能,如選手號碼顯示、搶按前或搶按后的計時、選手得分顯示等功能。

21、本設計利用AT89C51單片機及外圍接口實現的搶答系統,利用單片機的定時器/計數器定時和記數的原理,將軟、硬件有機地結合起來,使得系統能夠正確地進行計時,同時使數碼管能夠正確地顯示時間和選手號碼。用開關做鍵盤輸出,揚聲器發(fā)生提示。系統達到要求:在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效;搶答限定時間和回答問題的時間可是在1-99s設定;可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示;搶答時間和回答問題時間倒記時顯示,時間完后系統自動復位;按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。 作為電子愛好者, 通過本次設計與裝配、調試,提高自己的動手能力,鞏固已學的理論知識,建立

22、單片機理論和實踐的結合,了解多功能搶答器各單元電路之間的關系及相互影響,從而能正確設計、計算定時計數的各個單元電路。初步掌握多功能搶答器的調整及測試方法,提高動手能力和排除故障的能力。 第二章 搶答器的系統概述 2.1 系統的主要功能 本系統是借用單片機采用模塊化設計的智能搶答器,主控與參賽者設為終端分系統。參賽者分系統設有:搶答按紐、計時顯示、提示功能等(根據需要可另設或多設相關功能);主控分系統有:開始與結束控制按鈕、時限設定、各種相關顯示調控功能等(根據需要也可另設或多設相關功能)。 參賽者系統,除享有搶答按紐的權利功能外[1],還有人性化的提示功能和時間提示功能,也

23、可設定由主控控制在參賽者終端表現的趣味性功能等;主控系統的控制按鈕做開始與結束控制,根據活動參賽者的層次,對提前掄答者的行為設定為非法或阻隔,若設有非法搶答控制功能時,在主控處帶有公示性顯示的非法掄答者的臺位號,對搶答限時及回答問題限時設為倒計時式,并有公示性顯示。如圖2-1所示。 主 控 制 器 初始化 初始化 Y Y Y 顯示搶答 號并倒計時 正常 搶答 顯示 非法搶 答處理 去抖動 調整搶 答時間 回答 時間 減一鍵按下? 加一鍵按下? 開始鍵按下? LED顯示 聲生器 鍵盤顯示 時鐘頻率 復位電路

24、 圖2.1 系統主要功能模塊 本系統采用模塊化設計智能搶答器,在搶答比賽中廣泛應用,各組分別有一個搶答按鈕。主持人有開始和結束復位鍵。在后臺主持人可以修改,搶答時間和選手回答問題的時間設置,原始狀態(tài)下搶答時間為15s,回答問題時間為10s。通過加鍵和減鍵修改上述時間,改完后結束鍵確定。新時間開始有效,主持人按鍵開始后,選手開始搶答為有效,數碼顯示屏顯示搶答時間倒計時和選手號,在最后五秒揚聲器發(fā)生提示。如果主持人沒有按下開始鍵而選手就搶答視為犯規(guī),數碼顯示屏顯示犯規(guī)者的代號,揚聲器持續(xù)發(fā)生。主持人可按鍵結束,新一輪搶答開始。系統的主要功能模

25、塊方框圖如2-1所示。 搶答主板:搶答主板是整個搶答器的核心,其關鍵是單片機AT89C51。內部電路設計用匯編語言編寫。它完成了時間參數的設定,搶按號碼的譯碼,保存;顯示;輸出,搶按及答題倒計時功能等。 顯示及指示:本設計中,有一個共陰的數碼管組,四個數碼管。其中兩個顯示時間,一個空位,一個顯示搶答號碼。主持人依次按下復位鍵(RESET),開始鍵后開始搶答??梢該尠矗撼瑫r數碼管顯示“FFF”,當搶按超過規(guī)定時間或答題超過規(guī)定時間后數碼管顯“FFF”。若有選手在規(guī)定時間內搶按成功,則可以答題,數碼管顯示搶答時間的同時也顯示選手號碼。若在按開始鍵前搶答表示違規(guī),數碼管顯示“FF”并顯示選手號碼

26、。 2.2 系統需求分析 1、在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效。 2、搶答限定時間和回答問題的時間可是在1~99s設定。 3、可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示。 4、搶答時間和回答問題時間倒記時顯示,時間完后系統自動復位。 5、按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。 2.3 搶答器的工作流程 搶答器的基本工作原理:在搶答競賽或呼叫時[2],有多個信號同時或不同時送入主電路中,搶答器內部的寄存器工作,并識別、記錄第一個號碼,同時內部的定時器開始工作,記錄有關時間并產生超時信號。在整個搶答器工作過程中,顯示電路、語音電路等還要根據

27、現場的實際情況向外電路輸出相應信號。搶答器的工作流程分為、系統復位、正常流程、違例流程等幾部分,如圖2-2所示,下面分別予以介紹。如圖2-2所示 2.4 搶答器的工作過程 1、如果想調節(jié)搶答時間或答題時間,按"加一"鍵或"減一"鍵進入調節(jié)狀態(tài),此時會顯示現在設定的搶答時間或回答時間值,如想加一秒按一下"加1s"鍵,如果想減一秒按一下"減1s"鍵,時間LED上會顯示改變后的時間,調整范圍為0~99s, 0s時再減1s會跳到99,99s時再加1s會變到0s。 2、主持人按"搶答開始"鍵,會有提示音,并立刻進入搶答倒計時(預設15s搶答時間),如有選手搶答,會有提示音,并會顯示其號數并立刻進入

28、回答倒計時(預設10s搶答時間),不進行搶答查詢,所以只有第一個按搶答的選手有效。倒數時間到小于5s會每秒響一下提示音。 加載程序 運 行 行 開始 開始數碼管顯 示FFF開始搶 按時間倒計時 開始前有選手搶按 顯示違例選手號碼并伴有語音報警 倒計時結 束,超時 有選手 搶按 顯示FFF 顯示選手號碼,倒計 時時間,語音報警,答 題,答題時間倒計時 正常流程 違規(guī)流程 若超過答題 時間,則數 碼管顯示FFF 答題完畢 根據選手表現,規(guī) 則由主持人減分 圖2.2 搶答器工作流程 3、如倒計時期間,主持人想停止倒

29、計時可以隨時按"停止"按鍵,系統會自動進入準備狀態(tài),等待主持人按"搶答開始"進入下次搶答計時。 4、如果主持人未按"搶答開始"鍵,而有人按了搶答按鍵,犯規(guī)搶答,LED上不斷閃爍FF和犯規(guī)號數并響個不停,直到按下"停止" 鍵為止。 總而言之,本課題利用AT89C51單片機及外圍接口實現的搶答系統設計了搶答器,該搶答器增加了新功能、提高了系統的可靠性、簡化了電路結構、節(jié)約了成本,是一個實用的工程設計。 2.5 器件選型方案及詳細清單 微控制器選用ATMAL公司生產的AT89C51,該芯片貨源充足,并且價格也比較便宜。如表2-1所示。 2.6 AT89C51特殊功能寄存器 特殊功能寄存器

30、也稱專用寄存器,是具有特殊功能的所有寄存器的集合,簡稱SFR(Special Function Register)。特殊功能寄存器共含有22個不同寄存器。它們的地址分配在80H~FFH中,即在RAM地址中。這些寄存器的名稱和地址如表2-2所示。 表2-1器件選型方案的詳細清單 器件名稱 規(guī)格型號 數量 微處理器 AT89C51 1 電阻 3WTT10K 8 電容

31、 30PF 3 晶振 12MHZ 1 按鈕 -------- 11 反相器 -------- 3 7段數碼管 7SEG-MPX4CC 4 揚聲器 --------

32、 1 雖然特殊功能寄存器地址在80H~FFH之中,但在80H~FFH的地址單 元中,不是 雖然特殊功能寄存器地址在80H~FFH之中,但在80H~FFH的地址單元中,不是所有的單元都被特殊功能寄存器占用,未被占用的單元,其內容是不確定的,如果對這些單元進行操作,得到的是一些隨機數,而寫入則無效。所以,用戶編程時不應該將數據寫入這些未確定的地址單元,它們是公司留待將來開發(fā)新產品時使用的。 2.7 AT89C51的功能及簡介 2.7.1 AT89C51單片機的內部結構圖 AT89C51單

33、片機內部由CPU、4KB的FPEROM ,128B的RAM,兩個16位的定時/計數器T0和T1,4個8位的I/O端P0、P1、P2、P3等組成。單片微機內部最核心的部分是CPU。CPU主要功能是產生各種控制信號,控制存儲器、輸入/輸出端口的數據傳輸、數據的算術運算、邏輯運算以及位操作處理等,CPU按其功能可分為運算器和控制器兩部分??刂破饔沙绦蛴嫈灯鱌C、指令儲存器、指令譯碼器、實時控制與條件轉移邏輯電路等組成。它的功能是對來自存儲器中的指令進行譯碼,通過實時控制電路,在規(guī)定的時刻發(fā)出各種操作所需的內部和外部的控制信號,使各部分協調工作,完成指令所規(guī)定的操作。運算器由算術邏輯器部件ALU、累加

34、器ACC、暫存器、程序狀態(tài)字寄存器PSW,BCD碼運算調整電路等組成。如圖2-3所示。 外部定 時元件 復位 中斷 電源 系統時鐘 ROM CPU 定時/計數器 串行I/O口 并行I/O口 RAM 圖2.3 AT89C51單片機的內部結構圖 為了提高數據處理和位操作功能,片內增加了一個通用寄存器B和一些專用寄存器,還增加了位處理邏輯電路的功能[3]。其內部結構如圖2-3所示。 2.7.2 AT89C51單片機 AT89C51是一種低功耗、高性能的含有4KB閃速可編程電擦除只讀存儲器(FPEROM—

35、Flash Programmable and Erasable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存儲技術制造,并且與80C51指令系統和引腳完成兼容。芯片上的FPEROM允許在線或采用通用的非易失存儲編程器對程序存儲器重復編程。 (1)AT89C51的主要性能包括:AT89C51與MCS—51控制器系列產品兼容,片內有4K可在線重復編程閃速電擦除存儲器(Flash Memory),存儲器可循環(huán)寫入/擦除1000次;存儲器數據保存時間可達10年;工作電壓范圍寬:Vcc可由2.7V到6V;全靜態(tài)工作可由0Hz到16MHz;程序存儲器具有3級鎖存保護;

36、128*8位內部RAM;32條可編程I/O線;兩個16位定時器/計數器;中斷結構具有5個中斷源和2個中斷優(yōu)先級;可編程全雙工串行通信;空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內容。 (2)FPEROM的編程:AT89C51的I/O口P0、P1、P2和P3除具有與80C51相同的一些性能和用途外,在FPEROM編程時,P0口接收代碼字節(jié),并在程序檢驗時輸出代碼字節(jié),但在程序校驗時需要外部上拉負載電阻,在FPEROM編程和程序校驗期間,P1口接收低位地址字節(jié),P2口接收高位地址字節(jié)和一些控制信號,P3口也接收一些FPEROM編程和校驗用的信號,此時ALE/PROG引腳是編程脈沖輸入(PROG)端,在

37、FPEROM編程期間,如果選擇12V編程電壓、那么EA/Vpp引腳也允許接受12V編程電壓(Vpp)。 2.8 搶答器的優(yōu)點及組成 在知識比賽中,特別是做搶答題目的時候,在搶答過程中,為了知道哪一組或哪一位選手先答題,必須要設計一個系統來完成這個任務。如果在搶答中,靠視覺是很難判斷出哪組先答題。利用單片機系統來設計搶答器,使以上問題得以解決,即使兩組的搶答時間相差幾微秒,也可分辨出哪組優(yōu)先答題。本文主要介紹了單片機搶答器設計及工作原理,以及它的實際用途。系統工作原理本系統采用AT89C51單片機作為核心。控制系統的四個模塊分別為:存儲模塊、顯示模塊、語音模塊、搶答開關模塊。該搶答器系統通過

38、開關電路六個按鍵輸入搶答信號;利用存儲程序來完成軟件的設計;利用一個數碼管來完成顯示功能。工作時,用按鍵通過開關電路輸入各路的搶答信號,經單片機的處理,輸出控制信號,控制數碼管和語音芯片工作。在數碼管上顯示哪一組先答題,并通過語音系統讀出第N組請答題,從而實現整個搶答過程。 第三章 系統總體方案的設計 3.1 硬件電路的設計 本設計分為硬件設計和軟件設計[5],這兩者相互結合,不可分離;從時間上看,硬件設計的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術準備充分,硬件設計的大返工是比較少的,軟件設計的任務貫徹始終,到中后期基本上都是軟件設計任務,隨著集成電路技術的飛

39、速發(fā)展,各種功能很強的芯片不斷出現,使硬件電路的集成度越來越高,硬件設計的工作量在整個項目中的所占的比重逐漸下降。為使硬件電路設計盡可能合理,應注意以下幾方面: (1) 盡可能采用功能強的芯片,以簡化電路,功能強的芯片可以代替若干普通芯片,隨著生產工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總和高。 (2) 留有設計余地。在設計硬件電路時,要考慮到將來修改擴展的方便。因為很少有一錘定音的電路設計,如果現在不留余地,將來可能要為一點小小的修改或擴展而被迫進行全面返工。 (3) 程序空間,選用片內程序空間足夠大的單片機,本設計采用AT89C51單片機。 (4) RA

40、M空間,AT89C51內部RAM不多,當要增強軟件數據處理功能時,往往覺得不足。如果系統配置了外部RAM,則建議多留一些空間。如選用8155作I/O接口,就可以增強256字節(jié)RAM.如果有大批數據需要處理,則應配置足夠的RAM,如6264,62256等。隨著軟件設計水平的提高,往往只要改變或增加軟件中的數據處理算法,就可以使系統功能提高很多,而系統的硬件不必做任何更換就使系統升級換代。只要在硬件電路設計初期考慮到這一點,就應該為系統將來升級留足夠的RAM空間,哪怕多設計一個RAM的插座,暫不插芯片也好。 (5) I/O端口:在樣機研制出來后進行現場試用時,往往會發(fā)現一些被忽視的問題,而這些

41、問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設計就預留出一些I/O端口,雖然當時空著沒用,那么用的時候就派上用場了。 3.2 總體原理圖 圖3.1系統原理圖 P3.0為開始搶答[9],P3.1為停止,P1.0-P1.7為六路搶答輸入,數碼管段選P0口,位選P2口低3位,蜂鳴器輸出為P3.6口。P3.4為時間加1調整,P3.5為時間減1調整。 3.3 時鐘頻率電路的設計 單片機必須在時鐘的驅動下才能工作.在單片機內部有一個時鐘振蕩電路,只需要外接一個振蕩源就能產生一定的時鐘信號送到單片機

42、內部的各個單元,決定單片機的工作速度。如圖3-2所示。 圖3.2為外部振蕩源電路 一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產生幅度為3V左右的正弦波時鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個電容 C1,C2的作用有兩個:一是幫助振蕩器起振;二是對振蕩器的頻率進行微調。C1,C2的典型值為30PF。 單片機在工作時,由內部振蕩器產生或由外直接輸入的送至內部控制邏輯單元的時鐘信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數,常用fosc表示。如時鐘頻率為12MHz,即fosc=12MHz

43、,則時鐘周期為1/12s。 3.4 復位電路的設計 單片機的第9腳RST為硬件復位端,只要將該端持續(xù)4個機器周期的高電平即可實現復位,復位后單片機的各狀態(tài)都恢復到初始化狀態(tài),其電路圖如圖3-3所示。 圖3.3復位電路 值得注意的是,在設計當中使用到了硬件復位和軟件復位兩種功能,由上面的硬件復位后的各狀態(tài)可知寄存器及存儲器的值都恢復到了初始值,而前面的功能介紹中提到了倒計時時間的記憶功能,該功能的實現的前提條件就是不能對單片機進行硬件復位,所以設定了軟復位功能。軟復位實際上就是當程序執(zhí)行完畢之后,將程序指針通過一條跳轉指令讓它跳轉到程序執(zhí)行的起始地址。

44、3.5 顯示電路的設計 顯示功能與硬件關系極大,當硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。 3.5.1 顯示模塊在系統軟件中的安排 操作者主要設計從顯示設備上獲取微機系統的信息的,因此,操作者每操作一下,顯示設備商都應該有一定的反應。這說明,顯示模塊與操作有關,即監(jiān)控程序是需要調用顯示模塊。不同的操作需要顯示不同的內容,這又說明各執(zhí)行模塊對顯示模塊的驅動方式是不同的。另一方面,在操作者沒有進行操作時,顯示內容也是變化的,如顯示現場各物理量的變化情況。這時顯示模塊不是由操作者通過命令鍵來驅動,而是由各類自動執(zhí)行的功能模塊來驅動。自動執(zhí)行的各類模塊在安

45、排在各種中斷子程序中,這就是說,各種中斷子程序也要調用顯示模塊。如果監(jiān)控安排在中斷子程序中,兩者的要求就統一了,問題比較好解決,如果監(jiān)控程序安排在主程序中,在監(jiān)控程序調用顯示模塊的過程中發(fā)生了中斷,中斷子程序也調用顯示模塊,這時就容易出問題。一種比較妥善的辦法是只讓一處調用顯示模塊,其他各處均不得直接調用顯示模塊,但有權申請顯示。這就要設置一個顯示申請標志,當某模塊需要顯示時,將申請標志置位,同時設定有關顯示內容(或指針)。由于一處調用顯示模塊,故不會發(fā)生沖突。為了使顯示模塊能及時反應系統需要,應將顯示模塊安排在一個重復執(zhí)行的循環(huán)(如監(jiān)控循環(huán)或時鐘中斷子程序)中。當監(jiān)控程序(鍵盤解釋程序)安排

46、在時鐘中斷子程序中時,處理比較方便,只要在監(jiān)控程序的匯合處調用顯示模塊就可以了。例如用DISP作顯示申請標志,就可以這樣安排顯示模塊的調用,即 DISP BIT 2DH.4 ;顯示申請標志 SKEYEND: JNB DISP,RETI0 ;有顯示申請否? LCALL DISPLAY ;調用顯示模塊,更新顯示內容 CLR DISP ;清除申請 RETI

47、 ;中斷返回 KEYEND為鍵盤解釋程序的最后匯集點,這時如果發(fā)現有顯示申請,就進行集中操作,更新顯示內容,否則就跳過這一步。 這里將顯示功能集中到一起,作為一個功能模塊,就要求它的功能全面,能根據系統軟件提供的信息自動完成顯示內容的查找,變換和輸出驅動。這樣設計使得各功能模塊都不必考慮顯示問題,只要給出一個簡單的信息(如顯示格式編碼)甚至不用再提供額外信息,直接利用當前狀態(tài)變量和軟件標志就可以完成所需的顯示要求。 如果編寫這樣一個集中顯示模塊有困難,也可以將顯示模塊編小一些,只完成顯示緩沖區(qū)的內容輸出到顯示器件上的工作。這時各功能模塊在提出顯示申請時,還需要將顯示內容按需要的

48、格式送入顯示緩沖區(qū)中。這樣分而治之比較容易編程,但要小心出現顯示混亂。例如后臺程序需要調用顯示,將有關信息送入到現實緩沖區(qū)進行顯示;中斷返回后,后臺程序繼續(xù)送完后半部分顯示內容,但前半部分內容已經變了,這樣就出現了顯示錯誤。解決的辦法是,在申請顯示前,先檢查是否已經有顯示申請,如果有,就不再申請,等待下次機會;如果沒有,則先申請標志位,再將顯示內容送入顯示緩沖區(qū)。這時就不必擔心其他前臺模塊來打擾了,就可以得到一次完整的顯示機會。 在這里我們使用的是七段數碼管顯示,通常在顯示[6]上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,一種是動態(tài)顯示。其中靜態(tài)顯示的特點是顯示穩(wěn)定不閃爍,程序編寫簡單,但

49、占用端口資源多;動態(tài)顯示的特點是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復雜,但是相對靜態(tài)顯示而言占用端口資源少。在本設計中根據實際情況采用的是動態(tài)顯示方法。并通過查表法,將其在數碼管上顯示出來,其中P0口為字型碼輸入端,P2口低3位為字選段輸入端。在這里我們通過查表將字型碼送給7段數碼管顯示的數字,如圖3-4所示 。 MOV A,R5 MOVC A,@A+DPTR ;查字型碼 MOV P2,#01H ;送位選碼 MOV P0,A ;送字型碼 ACALL DELAY ;

50、調延時,去閃爍 圖3.4共陰極數碼管 在七段數碼管顯示中可分為共陽極和共陰極兩種類型極。以共陰為例,要想a段亮,向a段送1就是,返之送0,共陽剛好相反。 3.6 鍵盤掃描電路的設計 鍵盤是人與微機系統打交道的主要設備。關于鍵盤硬件電路的設計方法也可以在文獻和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應的鍵盤掃描程序。站在系統監(jiān)控軟件設計的立場上來看,僅僅完成鍵盤掃描,讀取當前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現象。在單片機應用中鍵盤用得最多的形式是獨立鍵盤及矩陣鍵盤。如圖3-5所示。

51、 圖3.5獨立鍵盤 它們各有自己的特點,其中獨立鍵盤硬件電路簡單,而且在程序設計上也不復雜,一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨立鍵盤復雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產生的“毛刺” 現象。這里采用最常用的方法,即延時重復掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾ms,而我們按鍵的時間一般遠遠大于這個時間,所以當單片機檢測到有按鍵動靜后再延時一段時間(這里我們取10ms)后再判斷此電平是否保持原狀態(tài),如果是

52、則為有效按鍵,否則無效。 3.6.1 鍵盤抖動的軟件處理 按鍵的觸點在閉合和斷開時均會產生抖動,這是觸點的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復執(zhí)行?,F在一般均用軟件延時的方法來避開抖動階段,這一延時過程一般大于5ms,例如取10-20ms。如果監(jiān)控程序中的讀鍵操作安排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插入讀鍵過程中。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利用兩次定時中斷的時間間隔來完成抖動處理。 3.7 發(fā)聲 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲[7],若能利用程序來控制單片機某個口線的

53、“高”電平或低電平,則在該口線上就能產生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調,使喇叭發(fā)出不同的聲音。 3.8 系統復位 使CPU進入初始狀態(tài),從0000H地址開始執(zhí)行程序的過程叫系統復位。從實現系統復位的方法來看,系統復位可分為硬件復位和軟件復位。硬件復位必須通過CPU外部的硬件電路給CPU的RESET端加上足夠時間的高電位才能實現。上電復位,人工按鈕復位和硬件看門狗復位均為硬件復位。硬件復位后,各專用寄存器的狀態(tài)均被初始化,且對片內通用寄存器的內容沒有影響。但是,硬件復位還能自動清除中斷激活標志,

54、使中斷系統能夠正常工作,這樣一個事實卻容易為不少編碼人員所忽視。軟件復位就是用一系列指令來模擬硬件復位功能,最后通過轉移指令使程序從0000H地址開始執(zhí)行。對各專用寄存器的復位操作是容易的,也沒有必要完全模擬,可根據實際需要去主程序初始化過程中完成。而對中斷激活標志的清除工作常被遺忘,因為它沒有明確的位地址可供編程。有的編程人員用020000(LJMP 0000H)作為軟件陷阱,認為直接轉向0000H地址就完成了軟件復位,就是這類錯誤的典型代表。軟件復位是使用軟件陷阱和軟件看門狗后必須進行的工作,這時程序出錯完全有可能發(fā)生在中斷子程序中,中斷激活標志已置位,它將阻止同級中斷響應。由于軟件看

55、門是高級中斷,它將阻止說要中斷響應,由此可見清除中斷激活標志的重要性。 在所有的指令中,只有RETI指令能夠清除中斷激活標志。前文各處提案到的出錯處理程序ERR主要完成這一功能,其他的善后工作交由復位后的系統去完成。這部分程序如下: POWER DATA 67H ;上電標志存放單元 ERR: CLR EA ;關中斷 MOV DPTR,#ERR1 ;準備返回地址 PUSH DPL PUSH DPH RETI ;清除高級中斷激活標志 ERR1: MO

56、V POWER,#0AAH;重建上電標志 CLR A ;準備復位地址 PUSH ACC ;壓入復位地址0000H PUSH ACC RETI ;清除低級中斷激活標志,從程序0000H開始執(zhí)行。 這段程序先關中斷,以便后續(xù)處理能順利進行,然后用兩個RETI指令代替兩個LJMP指令,從而清除了兩級中斷激活標志。有相應軟件陷阱捕捉來的程序可能沒有全部激活兩個標志,這也無妨。 3.9 本章小結 本章詳細講述了以AT89C51為核心元件的搶答器的硬件電路具體設計過程,分析了具體電路。在設計過

57、程中,實現搶答功能的是通過編寫程序的方法集成在AT89C51內部。接著將程序下載到硬件電路中,配合周邊的時鐘電路,復位電路等,制作出符合設計要求的搶答器。 第四章 軟件設計 4.1 主程序系統結構圖 系統初始化模塊 按鍵模塊 非法搶答模塊 正確搶答模塊 調整搶答時間 調整回答時間模塊 數碼顯示模塊 圖4.1軟件系統結構圖 4.2軟件任務分析 軟件任務分析和硬件電路設計結合進行,哪些功能由硬件完成,哪些任務由軟件完成,在硬件電路設計基本定型后,也就基本

58、上決定下來了。 軟件任務分析環(huán)節(jié)是為軟件設計做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質性的功能,如測量,計算,顯示,打印[8],輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協調各執(zhí)行模塊和操作者的關系,在系統軟件中充當組織調度角色的軟件。這兩類軟件的設計方法各有特色,執(zhí)行軟件的設計偏重算法效率,與硬件關系密切,千變萬化。 軟件任務分析時,應將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進行定義時,將要牽扯到的數據結構和數據類型問題也一并規(guī)劃好。 各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據系統功能和鍵

59、盤設置選擇一種最適合的監(jiān)控程序結構。相對來講,執(zhí)行模塊任務明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當一名操作工人比較容易,而當一個廠長就比較難了。 軟件任務分析的另一個內容是如何安排監(jiān)控軟件和各執(zhí)行模塊。整個系統軟件可分為后臺程序(背景程序)和前臺程序。后臺程序指主程序及其調用的子程序,這類程序對實時性要求不是太高,延誤幾十ms甚至幾百ms也沒關系,故通常將監(jiān)控程序(鍵盤解釋程序),顯示程序和打印程序等與操作者打交道的程序放在后臺程序中執(zhí)行;而前臺程序安排一些實時性要求較高的內容,如定時系統和外部中斷(如掉電中斷)。也可以將全部程序均安排在前臺,后臺程序為“使系統進入睡眠狀態(tài)”,

60、以利于系統節(jié)電和抗干擾。 4.3 程序流程圖 在本設計中包括了以下八個主要的程序:主程序;非法搶答序;搶答時間調整程序;回答時間調整程序;倒計時程序;正常搶答處理程序;犯規(guī)處理程序;顯示及發(fā)聲程序。主流程圖如4-2所示。 顯示FFF 開始鍵按下? 加一鍵按下? 減一鍵按下? 回答 時間 調整搶 答時間 去抖動 非法搶 答處理 顯示 犯規(guī) 正常 搶答 顯示搶答 號并倒計時 Y Y Y 初始化 初始化 Y Y Y 顯示搶答 號并倒計時 正常 搶答 顯示 非法搶 答處理 去抖動 調整搶 答時

61、間 回答 時間 減一鍵按下? 加一鍵按下? 開始鍵按下? LED顯示 圖4.2 程序設計流程圖 4.4本章小結 本章是搶答器的軟件設計,實現搶答功能主要是通過編寫程序的方法集成在AT89C51內部。將程序下載到硬件電路中,實現搶答功能。 第五章 Proteus仿真系列組圖 5.1.1復位圖 圖5.1 復位顯示三個FFF 5.1.2設置計時時間 圖 5.2計時時間為33秒 5.1.3非法搶答并顯示座號

62、 圖5.3 六號選手非法搶答 5.1.4搶答成功并顯示倒計時 圖 5.4二號選手搶 5.1.5三號選手搶答成功 圖5.5 五號選手搶答 5.2本章小結 本章是搶答器的系統仿真部分,并對搶答器的各個流程做出了具體仿真結果。從仿真圖上可以進一步得出結論:利用單片機設計的搶答器工作性能穩(wěn)定,延遲時間小,電路結構簡單,是一個實用、創(chuàng)新性的電路設計。 總結 本文研究與設計的六路多功能

63、搶答器采用了通用的電子元器件,利用AT89C51單片機及外圍接口實現搶答系統,利用單片機的定時器/計數器定時和記數的原理,將軟、硬件有機地結合起來,使得系統能夠正確地進行計時,同時使數碼管能夠正確地顯示時間。計分接收的單片機部分利用匯編語言編寫。設計時,首先通過在線編程,然后具體安裝,仿真,完全實現了設計功能。 本設計中,利用常規(guī)的單片機掃描識別的方法。通過硬件電路的具體應用和系統的仿真研究得出,本設計不僅安裝簡單、成本低,更重要的是工作性能穩(wěn)定,是一個實用、創(chuàng)新型的工程設計。 由于采用匯編語言設計電路,所以本設計在編程成功后,硬件電路基本上不需要調試就可正常使用。即使在設計完畢交給用戶使

64、用后,對系統的功能改進或升級也只是通過改寫程序來完成,極大地方便了用戶或設計者對電路更新。 25 參考文獻 (1) 李眾 張素琴 陳嬌《單片機技術與項目訓練》 常州信息職業(yè)技術學院印制 2010 ( 2 ) 高偉 《AT89單片機原理及應用》 北京:國防工業(yè)出版社 2008

65、 (3) 余發(fā)山 《單片機原理及應用技術》 中國礦業(yè)大學出版社 2003 (4) 馬淑華 《單片機原理與接口技術》 北京:北京郵電大學出版社 2005 (5)李海濱,片春暖 《單片機技術》 北京:中國電力出版社 2009

66、 ( 6 ) 高衛(wèi)東,辛友順 《51單片機原理與實踐》 北京航空航天大學出版社 2008 答謝辭 本論文是在黃宇航老師、主任的悉心指導下完成的,他對本論文的選題、構思、設計、項目產品的制作給予了許多指導使得本論文設計得以順利完成。黃宇航老師淵博的專業(yè)知識,嚴謹的治學態(tài)度,精益求精的工作作風,誨人不倦的高尚師德,嚴以律己,寬以待人的崇高風范,樸實無華,平易近人的人格魅力對我影響深遠。不僅使我樹立了遠大的學習目標,掌握了基本的學習研究方法,還使我明白了許多為人處事的道理。在此,謹向黃宇航老師表示崇高的敬意和衷心的感謝! 我還要感謝我的一些同學,他們在我最需要幫助的時候無私的伸出了援助之手,在此,對于他們無私的幫助我表示深深的感謝。可以說如果沒有他們的幫助我就不可能順利的按時完成畢業(yè)設計。 真誠的感謝所有的幫助過我的老師們,同學們和朋友們。 感謝對本設計進行評審的老師們,感謝你們給我提出的寶貴意見和建議。

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!