




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、江 西 理 工 大 學 南 昌 校 區(qū)畢 業(yè) 設 計(論文)題 目:八位智力搶答器系 :信息工程系專 業(yè):應用電子技術班 級:學 生:學 號:指導教師: 職稱:講 師摘 要能夠實現(xiàn)搶答器功能的方式有多種,可以采用前期的模擬電路、 數(shù)字電路或模擬與數(shù)字電路相結合的方式。近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷深入,同時帶動傳統(tǒng)控制檢測日新月異更新。本文介紹一種用 at89c51 作為核心部件進行邏輯控制及信號產生的單片機技術和匯編語言編程設計的 8 路數(shù)字搶答器。文章對搶答器的背景與現(xiàn)狀、硬件設計、軟件設計及其仿真都做了詳細的介紹,使我們不僅答器的原理及設計有了深入的了解,也對單片機的設計
2、研發(fā)過程有了更加深刻的體會本設計主要采用單片機控制,采用手動搶答的方式,有人搶答后,系統(tǒng)自動封鎖其他人的搶答按鈕,使其不能再搶答,從而實現(xiàn)搶答功能。該系統(tǒng)還增加了搶答倒計時和答題倒計時功能,另外搶答倒計時和答題倒計時的時間都可以調整。若有人在主持人按下開始按鈕之前按下?lián)尨鸢粹o,系統(tǒng)自動視其為犯規(guī),搶答器自動報警,顯示器同時顯示犯規(guī)選手的號碼,使搶答達到公平、公開的效果。關鍵字:單片機;搶答器;倒計時 作者: 指導老師:abstract responder function can be achieved in different ways, can be used early in the a
3、nalog circuits, digital circuits or analog and digital circuit combination. with the rapid development of science and technology in recent years, scm applications are deepening, while the traditional control test drive rapid updated. this paper introduces a core component with at89c51 as logical con
4、trol signals and single-chip microcomputer and assembly language programming design of 8 digital vies to answer first. article on the responders background and present, hardware design, software design and simulation have made a detailed introduction, so we not only answer the principle and design o
5、f devices with in-depth understanding of microcontroller design and development and also have a more profound experience. this design mainly uses the mcu control, with manual answer in the way, some people answer in, the system automatically block other peoples answer in the button, so that it can n
6、ot answer in order to achieve responder feature. the system also increased the answer in the countdown countdown and answer features, and answer another answer in the countdown to the countdown time can be adjusted. if one host press the start button before pressing the answer in the button, the sys
7、tem automatically view them as foul, responder automatic alarm, the display also shows the number of fouls players to answer in a fair, open effect.keywords : single chip ;viing to answer first ;count downauthor: guidingteacher: 目 錄第 1 章 緒 論.11.1 課題研究的背景及意義 .11.2 搶答器的分類 .11.3 設計的主要目標任務 .3第 2 章 總體方案的
8、設計.42.1 功能要求.42.2 系統(tǒng)功能框圖.4第 3 章 硬件電路的設計.53.1 硬件主要組成電路.53.2 電路工作的基本原理.53.3 主控電路的設計 .53.3.1 關于 at89c51 單片機.53.3.2 振蕩器電路的設計 .63.3.3 復位電路的設計 .73.4 按鍵電路的設計.83.5 顯示電路的設計.83.5.1 led 顯示器件簡介 .83.5.2 顯示部分的設計.93.6 報警電路的設計 .93.6.1 蜂鳴器的介紹 .93.6.2 報警電路.103.7 總電路圖.11第 4 章 軟件的設計.124.1 語言選擇.124.2 軟件總體設計.124.3 系統(tǒng)程序 .
9、13第 5 章 仿真及調試.235.1 仿真軟件介紹.235.1.1 proteus 軟件介紹 .235.1.2 keil 軟件介紹 .235.2 仿真過程.235.2.1 仿真過程操作如下: .235.2.2 仿真結果:.24第六章 總 結.26參考文獻.27附 錄.28附錄 1 電路原理圖 .28江西理工大學 2011 屆??粕厴I(yè)設計(論文)1第 1 章 緒 論1.1 課題研究的背景及意義 無論是學校、工廠、軍隊還是益智性電視節(jié)目,都會舉辦各種各樣的智力競賽,都會用到搶答器。目前市場上已有各種各樣的智力競賽搶答器,但絕大多數(shù)是早期設計的,以模擬電路、 數(shù)字電路或者模擬電路與數(shù)字電路相結合
10、的產品。這部分搶答器已相當成熟,但功能越多的電路相對來說就越復雜,且成本偏高,故障高,顯示方式簡單(有的甚至沒有顯示電路) ,無法判斷提前搶按按鈕的行為,不便于電路升級換代。近年來隨著科技的飛速發(fā)展,單片機的應用正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月異。本設計就是利用微電腦芯片(單片機)作為核心部件進行邏輯控制及信號的產生,用單片機本身的優(yōu)勢使競賽真正達到公正、 公平、 公開。1.2 搶答器的分類電子搶答器電子搶答器的中心構造一般都是由搶答器由單片機以及外圍電路組成,其搭配的配件不同又分為,非語音非記分搶答器和語音記分搶答器。 圖 1-1 按鈕多適用于學校和企事業(yè)單位舉行的簡單的搶答活
11、動。 圖 1-2 電子顯示牌 江西理工大學 2011 屆??粕厴I(yè)設計(論文)2 圖 1-3 搶答器圖 1-4 非語音記分搶答器構造很簡單,就是一個搶答器的主機和一個搶答按鈕組成,在搶答過程中選手是沒有記分的顯示屏。 語音記分搶答器是有一個搶答器的主機和主機的顯示屏和選手的記分顯示屏。 電腦搶答器 電腦搶答器又分為無線電腦搶答器和有線電腦搶答器。 無線電腦搶答器的構成是由:主機和搶答器專用的軟件和無線按鈕。無線電腦搶答器利用電腦和投影儀,可以把搶答氣氛活躍起來,一般多使用于電臺等大型的活動。有線電腦搶答器也是由主機和電腦配合起來,電腦在和投影儀配合起來,利用專門研發(fā)的配套的搶答器軟件,可以十分
12、完美的表現(xiàn)搶答的氣氛。 江西理工大學 2011 屆??粕厴I(yè)設計(論文)3圖 1-5 有線電腦搶答器 圖 1-61.3 設計的主要目標任務 通過此次設計,理解搶答器的基本原理,掌握單片機在該系統(tǒng)中的應用,掌握 led 顯示的工作原理,掌握 89c51 的接口分配,并能設計出合理的電原理圖,并仿真成功。江西理工大學 2011 屆專科生畢業(yè)設計(論文)4第 2 章 總體方案的設計2.1 功能要求本次設計要求在熟練使用 51 系列單片機的基礎上,設計出相關的外圍電路,并利用所選用的常用芯片設計出搶答器,要求可通過軟件實現(xiàn)調整搶答器的答題或搶答時間,led 顯示器可顯示搶答或答題時間的倒計時,在時間快
13、要用盡或者有人犯規(guī)的情況下,蜂鳴器可發(fā)出聲音報警。2.2 系統(tǒng)功能框圖單片機八段數(shù)碼管顯示蜂鳴器報警電路選手搶答按鈕主持人控制的開始及結束按鈕時間調整按鈕圖 2-1 系統(tǒng)功能框圖開始鍵按下后,搶答倒計時開始,同時系統(tǒng)掃描選手搶答按鈕,選手按下按鈕,顯示器顯示選手號,同時進入答題計時,答題計時結束后,系統(tǒng)自動復位,顯示器顯示“fff”。江西理工大學 2011 屆??粕厴I(yè)設計(論文)5第 3 章 硬件電路的設計3.1 硬件主要組成電路硬件電路主要由 at89c51 單片機及其外圍電路(包括復位電路、外部晶振)、按鍵電路、顯示電路、蜂鳴器報警電路。3.2 電路工作的基本原理整個電路由按鍵控制,當按
14、下相應的按鍵時,單片機開始工作,搶答倒計時開始,同時系統(tǒng)掃描選手搶答按鈕,選手按下按鈕,顯示器顯示選手號,同時進入答題計時,答題計時結束后,系統(tǒng)自動復位,顯示器顯示“fff”。3.3 主控電路的設計3.3.1 關于 at89c51 單片機at89c51 是一種帶 4k 字節(jié)閃爍可編程可擦除只讀存儲器( fperomfalsh programmable and erasable read only memory)的低電壓,高性能 cmos 8 位微處理器,俗稱單片機。該器件采用atmel 高密度非易失存儲器制造技術制造,與工業(yè)標準的 mcs-51 指令集和輸出管腳相兼容。由于將多功能 8 位 c
15、pu 和閃爍存儲器組合在單個芯片中, atmel 的 at89c51 是一種高效微控制器。 at89c51 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。其主要特性是與 mcs-51 兼容、4k 字節(jié)可編程閃爍存儲器、 壽命是1000 寫/擦循環(huán)、數(shù)據(jù)保留時間 10 年、全靜態(tài)工作 0hz-24mhz、三級程序存儲器鎖定、 1288 位內部 ram、32 可編程 i/o 線、兩個 16 位定時器/計數(shù)器、5 個中斷源、可編程串行通道、低功耗的閑置和掉電模式、片內振蕩器和時鐘電路,其中由于其具有 32 個 i/o 口,可以滿足此次設計的需要,不用在其外部擴展 i/o 口。管腳說明:v
16、cc:供電電壓。gnd:接地。p0 口:p0 口為一個 8 位漏級開路雙向 i/o 口,每腳可吸收 8 個 ttl 門電流。當 p1 口的管腳第一次寫 1 時,被定義為高阻輸入。 p0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù) /地址的第八位。在 fiash 編程時,p0 口作為原碼輸入口,當 fiash 進行校驗時, p0 輸出原碼,此時 p0 外部必須被拉高。江西理工大學 2011 屆??粕厴I(yè)設計(論文)6p1 口:p1 口是一個內部提供上拉電阻的 8 位雙向 i/o 口,p1 口緩沖器能接收輸出 4 個 ttl 門電流。p1 口管腳寫入 1 后,被內部上拉為高,可用作輸入,p1
17、口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在 flash 編程和校驗時, p1 口作為第八位地址接收。 p2 口:p2 口為一個內部上拉電阻的 8 位雙向 i/o 口,p2 口緩沖器可接收,輸出 4 個 ttl 門電流,當 p2 口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時, p2 口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。 p2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進行存取時, p2 口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2 口輸出其特殊功能寄存器的內容。
18、p2 口在 flash 編程和校驗時接收高八位地址信號和控制信號。p3 口:p3 口管腳是 8 個帶內部上拉電阻的雙向 i/o 口,可接收輸出 4個 ttl 門電流。當 p3 口寫入“1”后,它們被內部上拉為高電平,并用作輸入。p3 口也可作為 at89c51 的一些特殊功能口,如下表所示:口 管腳 備選功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3 口同時為閃爍編程和編程校驗接收一些控制信號。rst:復位輸入。當振蕩器復位器件時,要保持rst 腳兩個機器周期的高電平時間。/ea/vpp:當/ea 保持低電平時,則此期間 訪問外部程序存儲器(0000h-ffffh),不管
19、是否有內部程序存儲器。加密方式1 時,/ea 將內部鎖定為 reset;當/ea 端保持高電平時,此間 訪問內部程序存儲器。在flash 編程期間,此引腳也用于施加 12v 編程電源( vpp)。xtal1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。3.3.2 振蕩器電路的設計晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網絡,電工學上這個網絡有兩個諧振點,以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。由于晶體自身的特性致使這兩個頻率的距離相當?shù)慕咏?,在這個極窄的頻率范圍內,晶振等效為一個電感,所以只
20、要晶振的兩端并聯(lián)上合適的電容它就會組成并聯(lián)諧振電路。這個并聯(lián)諧振電路加到一個負反饋電路中就可以構成正弦波振蕩電路,由于晶江西理工大學 2011 屆??粕厴I(yè)設計(論文)7振等效為電感的頻率范圍很窄,所以即使其他元件的參數(shù)變化很大,這個振蕩器的頻率也不會有很大的變化。晶振有一個重要的參數(shù),那就是負載電容值,選擇與負載電容值相等的并聯(lián)電容,就可以得到晶振標稱的諧振頻率。一般的晶振振蕩電路都是在一個反相放大器(注意是放大器不是反相器)的兩端接入晶振,再有兩個電容分別接到晶振的兩端,每個電容的另一端再接到地,這兩個電容串聯(lián)的容量值就應該等于負載電容,請注意一般 ic 的引腳都有等效輸入電容,這個不能忽
21、略。一般的晶振的負載電容為 15p 或 30p,如果再考慮元件引腳的等效輸入電容,則兩個 22p 的電容構成晶振的振蕩電路就是比較好的選擇。圖 3-1 振蕩電路3.3.3 復位電路的設計復位即是在復位端加不小于指定寬度的低電平(低電平復位)或高電平(高電平復位)信號使單片機的硬件處于初始狀態(tài)。以 mcs-51 系列單片機為例,復位端為 rst/vpd,高電平復位。在振蕩電路運行時,使 rst 引腳至少保持兩個機器周期(24 個振蕩周期)高電平,實現(xiàn)一次復位動作。cpu 響應內部復位,將 ale和 psen 引腳置為輸入方式,并在 rst 端變低以前重復執(zhí)行內部復位。圖 3-2 復位電路江西理工
22、大學 2011 屆??粕厴I(yè)設計(論文)83.4 按鍵電路的設計鍵盤有兩類:一個是獨立鍵盤,另一個是矩陣鍵盤。獨立鍵盤的特點是每個按鍵單獨占用一個i/o 口,每個按鍵工作不會影響其他的 i/o 口線的狀態(tài),多用于按鍵不多的場合??刹捎胘nb 或 jb來查詢是哪一個按鍵按下,并轉向相應的功能處理程序。當按鍵較多時,就用到了矩陣鍵盤。矩陣鍵盤又稱行列鍵盤,它是用四條 i/o 線作為行線,四條 i/o 線作為列線組成的鍵盤,在行線和列線的每個交叉點上設置一個按鍵,這樣鍵盤上按鍵的個數(shù)就是4*4 個。這種行列式鍵盤結構能夠有效地提高單片機系統(tǒng)中i/o 口的利用率。但由于本設計的按鍵不多,所以我們采用獨
23、立鍵盤,編寫程序也比較簡單,運行速度較快。圖 3-3 選手搶答按鍵3.5 顯示電路的設計3.5.1 led 顯示器件簡介數(shù)碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管。數(shù)碼管的分類 :數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點顯示);按能顯示多少個“8”可分為 1 位、2 位、4 位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(com)的數(shù)碼管。共陽數(shù)碼管在應用時應將公共極com 接到+5v,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當某一字段的
24、陰極為高電平時,相應字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極 (com)的數(shù)碼管。共陰數(shù)碼管在應用時應將江西理工大學 2011 屆??粕厴I(yè)設計(論文)9公共極 com 接到地線 gnd 上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。數(shù)碼管的驅動方式 :數(shù)碼管要正常顯示,就要用驅動電路來驅動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 本設計由于只用兩個數(shù)碼管,所以采用靜態(tài)顯示驅動,這里只介紹靜態(tài)顯示驅動。靜態(tài)顯示驅動:靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指
25、每個數(shù)碼管的每一個段碼都由一個單片機的 i/o 端口進行驅動,或者使用如 bcd 碼二-十進制譯碼器譯碼進行驅動。靜態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用i/o 端口多,如驅動 5 個數(shù)碼管靜態(tài)顯示則需要 5840 根 i/o 端口來驅動,一個 89c51 單片機可用的 i/o 端口才 32 個,實際應用時必須增加譯碼驅動器進行驅動,增加了硬件3.5.2 顯示部分的設計顯示功能與硬件關系極大,當硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。圖 3-4 顯示電路(采用共陰極 led 數(shù)碼管)3.6 報警電路的設計3.6.1 蜂鳴器的介紹蜂鳴器的作用 :
26、蜂鳴器是一種一體化結構的電子訊響器,采用直流電壓供電,廣泛應用于計算機、打印機、復印機、 報警器、電子玩具、汽車電子設備、電話機、定時器等 電子產品中作發(fā)聲器件。江西理工大學 2011 屆??粕厴I(yè)設計(論文)10蜂鳴器的分類: 1壓電式蜂鳴器 壓電式蜂鳴器主要由 多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管 。多諧振蕩器由 晶體管或集成電路構成。當接通電源后( 1.515v 直流工作電壓),多諧振蕩器起振 ,輸出 1.52.5khz 的音頻信號,阻抗匹配器推動壓電蜂鳴片發(fā)聲。壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀
27、電極,經極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。2電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產生的音頻信號電流通過電磁線圈,使電磁線圈產生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。3.6.2 報警電路圖 3-5江西理工大學 2011 屆??粕厴I(yè)設計(論文)113.7 總電路圖圖 3-6江西理工大學 2011 屆??粕厴I(yè)設計(論文)12第 4 章 軟件的設計4.1 語言選擇在目前單片機的發(fā)展中,其編程語言主要有c 語言和匯編語言。 c 語言是高級語言,編寫起來比較程序比較簡便且易維護,匯編語言介于機器語言和高級語言
28、之間,更接近于硬件,但編寫起來比較冗長。但介于本次程序不是太復雜,所以本次設計的程序采用匯編語言來編寫。4.2 軟件總體設計本程序采用子程序設計,在主程序中調用子程序來完成特定的功能,這樣程序會通俗易懂,同時也有利于程序的調試和修改。本程序的程序流程圖如下:圖 4-1江西理工大學 2011 屆??粕厴I(yè)設計(論文)134.3 系統(tǒng)程序p1.0 為開始搶答,p1.7 為停止,p1.1-p1.6 為六路搶答輸入 數(shù)碼管段選p0 口,位選 p2 口,蜂鳴器輸出為 p3.6 口。ok equ 20h;搶答開始標志位 ring equ 22h;響鈴標志位 org 0000h ajmp main org
29、0003h ajmp int0sub org 000bh ajmp t0int org 0013h ajmp int1sub org 001bh ajmp t1int org 0040hmain: mov r1,#0fh; 初設搶答時間為 15s mov r2,#0ah; 初設答題時間為 10s mov tmod,#11h; 設置未定時器/模式 1 mov th0,#0f0h mov tl0,#0ffh; 越高發(fā)聲頻率越高,越尖 mov th1,#3ch mov tl1,#0b0h; 50ms 為一次溢出中斷 setb ea setb et0 setb et1 setb ex0 setb ex
30、1; 允許四個中斷,t0/t1/int0/int1 clr ok clr ring setb tr1 setb tr0; 一開始就運行定時器,以開始顯示 fff.如果想重新計數(shù),重置 th1/tl1 就可以了江西理工大學 2011 屆??粕厴I(yè)設計(論文)14查詢程序:start: mov r5,#0bh mov r4,#0bh mov r3,#0bh acall display; 未開始搶答時候顯示 fff jb p3.1,next acall delay jb p3.1,next;去抖動,如果開始鍵按下就向下執(zhí)行,否者跳到非法搶答查詢 acall bark;按鍵發(fā)聲 mov a,r1 mo
31、v r6,a; 送 r1-r6,因為 r1 中保存了搶答時間 setb ok; 搶答標志位,用于 count 只程序中判斷是否查詢搶答 mov r3,0ah; 搶答只顯示計時,滅號數(shù) ajmp count;進入倒計時程序,查詢有效搶答的程序在 count 里面next: jnb p1.0,false1 jnb p1.1,false2 jnb p1.2,false3 jnb p1.3,false4 jnb p1.4,false5 jnb p1.5,false6 jnb p1.6,false7 jnb p1.7,false8 ajmp start非法搶答處理程序: :false1: acall b
32、ark; 按鍵發(fā)聲 mov r3,#01h ajmp errorfalse2: acall bark mov r3,#02h ajmp errorfalse3: acall bark江西理工大學 2011 屆??粕厴I(yè)設計(論文)15 mov r3,#03h ajmp errorfalse4: acall bark mov r3,#04h ajmp errorfalse5: acall bark mov r3,#05h ajmp errorfalse6: acall bark mov r3,#06h ajmp errorfalse7:acall bark mov r3,#07h ajmp er
33、rorfalse8:acall bark mov r3,#08h ajmp error int0(搶答時間 r1 調整程序): : int0sub:mov a,r1 mov b,#0ah div ab mov r5,a mov r4,b mov r3,#0ah acall display;先在兩個時間 led 上顯示 r1 jnb p3.2,inc0; p3.2 為+1s 鍵,如按下跳到 inco jnb p3.3,dec0; p3.3 為-1s 鍵,如按下跳到 deco jnb p3.0,back0; p3.0 為確定鍵,如按下跳到 backo ajmp int0subinc0: mov a
34、,r1 cjne a,#63h,add0; 如果不是 99,r2 加 1,如果加到 99 了,r1 就置0,重新加起 mov r1,#00h acall delay1江西理工大學 2011 屆??粕厴I(yè)設計(論文)16 ajmp int0subadd0: inc r1 acall delay1 ajmp int0subdec0: mov a,r1 jz setr1;如果 r1 為 0, r1 就置 99, dec r1 acall delay1 ajmp int0subsetr1: mov r1,#63h acall delay1 ajmp int0subback0: retiint1(回答時
35、間 r2 調整程序):int1sub:mov a,r2 mov b,#0ah div ab mov r5,a mov r4,b mov r3,#0ah acall display jnb p3.2,inc1 jnb p3.3,dec1 jnb p3.0,back1 ajmp int1subinc1: mov a,r2 cjne a,#63h,add1 mov r2,#00h acall delay1 ajmp int1subadd1: inc r2 acall delay1 ajmp int1subdec1: mov a,r2 jz setr2江西理工大學 2011 屆??粕厴I(yè)設計(論文)1
36、7 dec r2 acall delay1 ajmp int1subsetr2: mov r2,#63h acall delay1 ajmp int1subback1: reti倒計時程序(搶答倒計時和回答倒計時都跳到該程序): count: mov r0,#00h; 重置定時器中斷次數(shù) mov th1,#3ch mov tl1,#0b0h; 重置定時器recount: mov a,r6; r6 保存了倒計時的時間,之前先將搶答時間或回答時間給 r6 mov b,#0ah div ab; 除十分出個位/十位 mov 30h,a; 十位存于(30h) mov 31h,b; 個位存于(31h) m
37、ov r5,30h; 取十位 mov r4,31h; 取個位 mov a,r6 subb a,#07h jnc larger;大于 5s 跳到 larger,小于等于 5s 會提醒 mov a,r0 cjne a,#0ah,full;1s 中 0.5s 向下運行 clr ring ajmp checkfull: cjne a,#14h,check; 下面系 1s 的情況,響并顯示號數(shù)并清 r0,重新計時 setb ring mov a,r6 jz quit; 計時完畢 mov r0,#00h dec r6; 一秒標志減 1 ajmp checklarger: mov a,r0江西理工大學 20
38、11 屆??粕厴I(yè)設計(論文)18 cjne a,#14h,check; 如果 1s 向下運行,否者跳到查停/顯示 dec r6; 計時一秒 r6 自動減 1 mov r0,#00hcheck: jnb p3.0,quit; 如按下停止鍵退出 acall display jb ok,accout; 如果是搶答倒計時,如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用) ajmp recountaccout: jnb p1.0,true1 jnb p1.1,true2 jnb p1.2,true3 jnb p1.3,true4 jnb p1.4,true5 jnb p1.5,true6 j
39、nb p1.6,true7 jnb p1.7,true8 ajmp recountquit: clr ok; 如果按下了停止鍵執(zhí)行的程序 clr ring ajmp start正常搶答處理程序:true1: acall bark; 按鍵發(fā)聲 mov a,r2 mov r6,a; 搶答時間 r2 送 r6 mov r3,#01h clr ok; 因為答題的計時不再查詢搶答,所以就鎖了搶答 ajmp counttrue2:acall bark; mov a,r2 mov r6,a mov r3,#02h clr ok ajmp counttrue3:acall bark;江西理工大學 2011 屆
40、??粕厴I(yè)設計(論文)19 mov a,r2 mov r6,a mov r3,#03h clr ok ajmp counttrue4:acall bark; mov a,r2 mov r6,a mov r3,#04h clr ok ajmp counttrue5: acall bark; mov a,r2 mov r6,a mov r3,#05h clr ok ajmp counttrue6: acall bark; mov a,r2 mov r6,a mov r3,#06h clr ok ajmp counttrue7: acall bark mov a,r2 mov r6,a mov r3
41、,#07h clr ok ajmp counttrue8: acall bark mov a,r2 mov r6,a mov r3,#08h clr ok ajmp count江西理工大學 2011 屆??粕厴I(yè)設計(論文)20;犯規(guī)搶答程序;error: mov r0,#00h mov th1,#3ch mov tl1,#0b0h mov 34h,r3; 犯規(guī)號數(shù)暫存與(34h)here: mov a,r0 cjne a,#0ah,flash; 0.5s 向下運行-滅并停響 clr ring mov r3,#0ah mov r4,#0ah mov r5,#0ah; 三燈全滅 ajmp che
42、ck1flash: cjne a,#14h,check1; 下面系 1s 的情況,響并顯示號數(shù)并清 r0,重新計 setb ring mov r0,#00h mov r3,34h; 取回號數(shù) mov r5,#0bh mov r4,#0bh; 顯示 ff 和號數(shù) ajmp check1check1: jnb p3.0,quit1 acall display ajmp herequit1: clr ring clr ok ajmp start顯示程序:display:mov dptr,#dat1; 查表顯示程序,利用 p0 口做段選碼口輸出/p2低三位做位選碼輸出 mov a,r5 movc a,
43、a+dptr mov p2,#01h mov p0,a acall delay mov dptr,#dat2江西理工大學 2011 屆??粕厴I(yè)設計(論文)21 mov a,r4 movc a,a+dptr mov p2,#02h mov p0,a acall delay mov a,r3 movc a,a+dptr mov p2,#04h mov p0,a acall delay retdat1:db 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h,71h;滅,1,2,3,4,5,6,7,8,9,滅,fdat2:db 3fh,06h,5bh,4fh,6
44、6h,6dh,7dh,07h,7fh,6fh,00h,71hdelay1: mov 35h,#08hloop0: acall display djnz 35h,loop0 ret;延時(顯示和去抖動用到):;delay: mov 32h,#12hloop: mov 33h,#0afhloop1: djnz 33h,loop1 djnz 32h,loop ret發(fā)聲程序:bark: setb ring acall delay1 acall delay1 clr ring; 按鍵發(fā)聲 ret;to 溢出中斷(響鈴程序):;t0int:mov th0,#0ech mov tl0,#0ffh jnb
45、ring,out江西理工大學 2011 屆??粕厴I(yè)設計(論文)22 cpl p3.6 ; ring 標志位為 1 時候 p3.6 口不短取反使喇叭發(fā)出一定頻率的聲音out:reti;t1 溢出中斷(計時程序):;t1int: mov th1,#3ch mov tl1,#0b0h inc r0 reti end江西理工大學 2011 屆??粕厴I(yè)設計(論文)23第 5 章 仿真及調試5.1 仿真軟件介紹5.1.1 proteus 軟件介紹proteus(海神)的 isis 是一款 labcenter 出品的電路分析實物仿真系統(tǒng),可仿真各種電路和 ic,并支持單片機,元件庫齊全,使用方便,是不可
46、多得的專業(yè)的單片機軟件仿真系統(tǒng)。 該軟件的特點: 全部滿足我們提出的單片機軟件仿真系統(tǒng)的標準,并在同類產品中具有明顯的優(yōu)勢。 具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、rs 一 232 動態(tài)仿真、1 c 調試器、spi 調試器、鍵盤和 lcd 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。 目前支持的單片機類型有:68000 系列、8051 系列、avr 系列、pic12 系列、pic16 系列、pic18 系列、z80 系列、hc11 系列以及各種外圍芯片。 支持大量的存儲器和外圍芯片??傊撥浖且豢罴瘑纹瑱C和 spice 分析于一身的仿真軟
47、件,功能極其強大 ,可仿真 51、avr、pic。 proteus 與其它單片機仿真軟件不同的是,它不僅能仿真單片機 cpu 的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調試時,關心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節(jié)的矛盾和現(xiàn)象。 5.1.2 keil 軟件介紹 keil 軟件是目前最流行開發(fā) mcs-51 系列單片 機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持 keil 即可看出。keil 提供了包括 c 編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通 過一個集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。5.2 仿真過程5.2.1 仿真過程操作如下:江西理工大學 2011 屆??粕厴I(yè)設計(論文)241)在 protues 中畫出系統(tǒng)電路圖,即附件 2;2)將程序在 keil 中編譯并生成 hex 文件。3)把在 keil 中編譯生成的 hex 文件載入 at89c51 芯片中;4)運行仿真。 5.2.2 仿真結果:1)系統(tǒng)初始狀態(tài)圖 5-12)搶答開始后,搶答倒計時狀態(tài)圖 5-2 搶答倒計時 11 秒時的系統(tǒng)狀態(tài)江西理工大學
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石廠合伙合同范本
- 養(yǎng)殖水產配送合同范本
- 加工擔保合同范本
- 合同采購框架合同范本
- 合資買車合同范本
- 化妝培訓教學合同范本
- 屋宇出租合同范本
- 2025年國家免疫規(guī)劃用疫苗項目合作計劃書
- 名宿房間預售合同范本
- 靜電地板購銷合同范本
- 日內交易策略(TBQ版)
- 家校共育之道
- 部編版九年級道德與法治上冊《第二課創(chuàng)新驅動發(fā)展》同步測試題(附答案)
- DeepSeek入門寶典培訓課件
- 充電樁投放合同范本
- 西安2025年陜西西安音樂學院專職輔導員招聘2人筆試歷年參考題庫附帶答案詳解
- 《作文中間技巧》課件
- 人教鄂教版六年級下冊科學全冊知識點
- 2024年湖南生物機電職業(yè)技術學院單招職業(yè)技能測試題庫及答案解析
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設計規(guī)范
- 雙胎妊娠 PPT課件
評論
0/150
提交評論