基于單片機的八路搶答器的設(shè)計
《基于單片機的八路搶答器的設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《基于單片機的八路搶答器的設(shè)計(34頁珍藏版)》請在裝配圖網(wǎng)上搜索。
摘 要 隨著科學(xué)技術(shù)的發(fā)展和普及 各種各樣的競賽越來越多 其中搶答器的作用也越 來越重要 本文設(shè)計出以 AT89C51 單片機為核心的八路搶答器 采用了數(shù)字顯示器直 接指示 自動鎖存顯示結(jié)果 并自動復(fù)位的設(shè)計思想 它能根據(jù)不同的搶答輸入信號 經(jīng)過單片機的控制處理并產(chǎn)生與輸入信號相對應(yīng)的輸出信號 最后通過 LED 數(shù)碼管顯 示相應(yīng)的路數(shù) 即使兩組的搶答時間相差幾微秒 也可分辨出是哪組優(yōu)先按下的按鍵 充分利用了單片機系統(tǒng)結(jié)構(gòu)簡單 功能強大 可靠性好 實用性強的特點 本設(shè)計是以搶答為出發(fā)點 考慮到根據(jù)需要設(shè)定限時回答的功能 利用 89C51 單 片機及外圍接口實現(xiàn)的搶答系統(tǒng) 利用單片機的定時器 計數(shù)器定時和記數(shù)的原理 將 軟 硬件有機地結(jié)合起來 使得系統(tǒng)能夠正確地進行計時 同時使數(shù)碼管能夠正確地 顯示時間 用開關(guān)做鍵盤輸入 蜂鳴器發(fā)聲提示 同時系統(tǒng)能夠?qū)崿F(xiàn) 在搶答中 只 有開始后搶答才有效 如果在開始搶答前搶答為無效 滿時后系統(tǒng)計時自動復(fù)位及主 控強制復(fù)位 按鍵鎖定 在該狀態(tài)下 按鍵是無效的 關(guān)鍵詞 搶答器 單片機 LED 數(shù)碼顯示管 定時器 計數(shù)器 ABSTRACT With the development and popularization of science and technology all kinds of competitions become more and more so responder is more and more important This paper designed eight way Responder based on AT89C51 MCU with digital display direct instructions automatic latch showed results and automatic reset design ideas It can according to different contest input signal by MCU control handle and produce different with the input signal corresponding output signal finally LED digital pipe display by the corresponding points even if the two groups of vies differs a few microseconds also time can distinguish which group of priority press buttons fully utilize the signal chip microcomputer system structure is simple powerful good reliability and practicability strong characteristic This design is for the starting point Responders considering the set limit to answer in 89C51 single chip microcomputer and function use of peripheral interfaces scare answering system of the microcontroller timer counter timing and numeration principle software and hardware organically and makes the system can correctly to the time at the same time making digital tube can properly show time With a switch does keyboard output the speaker happen hint And the system can realize in the contest only after beginning vies to effective if at the stat of the contest for the invalid former contest full automatic rest and clock after the system master mandatory rest key lock in this effective condition buttons invalid Key words Responder Single chip microcomputer LED digital display tube Timer counter 目 錄 第一章 緒論 1 1 1 搶答器發(fā)展概況 1 1 2 本課題研究的意義 1 1 3 系統(tǒng)設(shè)計的功能 2 第二章 單片機系統(tǒng)原理 3 2 1 單片機的原理 3 2 1 1 單片機的簡介 3 2 1 2 單片機的分類 3 2 2 單片機的工作過程 4 2 3 單片機的引腳及其作用 5 第三章 八路搶答器的電路設(shè)計 7 3 1 電路設(shè)計原理 7 3 2 八路搶答器模塊化設(shè)計 7 3 3 時鐘與復(fù)位模塊 8 3 3 1 時鐘模塊 8 3 3 2 復(fù)位模塊 9 3 4 顯示模塊 9 3 5 按鍵輸入模塊 11 3 5 1 鍵盤的去抖動 11 3 5 2 按鍵電路圖 12 3 6 報警模塊 12 第四章 軟件設(shè)計 14 4 1 系統(tǒng)程序設(shè)計 14 4 2 搶答器主程序流程圖 15 4 3 非法搶答查詢子程序 15 4 4 搶答時間調(diào)整子程序 16 第五章 軟件仿真及程序調(diào)試 17 5 1PROTEUS軟件仿真 17 5 2KEIL軟件的使用 17 謝 辭 19 參考文獻 20 附 錄 21 附錄 1 電路原理圖 21 附錄 2 程序清單 22 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 1 第一章 緒論 1 1 搶答器發(fā)展概況 當(dāng)今的社會競爭日益激烈 選拔人才 評選優(yōu)勝 知識競賽之類的活動愈加頻繁 比賽中為了準(zhǔn)確 公正 直觀地判斷出第一搶答者 這就要有一種搶答設(shè)備作為裁判 員 于是搶答器應(yīng)用而生 早期的搶答器只由幾個三極管 可控硅 發(fā)光管等組成 能通過發(fā)光管的指示辨 認出選手號碼 現(xiàn)在大多數(shù)搶答器均使用單片機 如 MCS 51 型 和數(shù)字集成電路 并增 加了許多新功能 如選手號碼顯示 搶答前或搶答后的計時 選手得分顯示等功能 隨著我國搶答器市場的迅猛發(fā)展 與之相關(guān)的核心生產(chǎn)技術(shù)應(yīng)用與研發(fā)必將成為 業(yè)內(nèi)企業(yè)關(guān)注的焦點 技術(shù)工藝 是衡量一個企業(yè)是否具有先進性 是否具備市場競 爭力 是否能不斷領(lǐng)先于競爭者的重要指標(biāo)依據(jù) 了解國內(nèi)外搶答器生產(chǎn)核心技術(shù)的 研發(fā)動向 工藝設(shè)備 技術(shù)應(yīng)用及趨勢對于企業(yè)提升產(chǎn)品技術(shù)規(guī)格 提高市場競爭力 十分關(guān)鍵 目前市場上搶答器種類繁多 功能各異 價格差異也很大 那么選擇一款 真正適合的搶答器就非常重要 搶答器一般分為電子搶答器和電腦搶答器 目前電子搶答器的中心構(gòu)造一般都是 由數(shù)字電子集成電路組成 其搭配的配件不同又分為 非語音非記分搶答器和語音記 分搶答器 非語音記分搶答器構(gòu)造很簡單 就是一個搶答器的主機和一個搶答按鈕組 成 在搶答過程中選手是沒有記分的顯示屏 語音記分搶答器是由一個搶答器的主機 主機的顯示屏以及選手的記分顯示屏等構(gòu)成 具有記分等功能 電子搶答器多適用于 學(xué)校和企事業(yè)單位舉行的簡單的搶答活動 電腦搶答器又分為無線電腦搶答器和有線 電腦搶答器 無線電腦搶答器是由主機和搶答器專用的軟件和無線按鈕構(gòu)成 無線電 腦搶答器利用電腦和投影儀 可以把搶答氣氛活躍起來 一般多使用于電臺等大型的 活動 有線電腦搶答器也是由主機和電腦配合起來 電腦再和投影儀配合起來 利用 專門研發(fā)的配套的搶答器軟件 可以十分完美的表現(xiàn)搶答的氣氛 1 2 本課題研究的意義 搶答器是一種應(yīng)用非常廣泛的設(shè)備 在各種競賽 搶答場合中 它能迅速 客觀 地分辨出最先獲得發(fā)言權(quán)的選手 無論是軍隊還是電視節(jié)目中 都可能會舉辦各種各樣 的智力競賽 都會用到搶答器 如果要是讓搶答者用舉手等方法 主持人很容易誤判 會造成搶答的不公平 為了使這種不公平不發(fā)生 只有靠電子產(chǎn)品的高準(zhǔn)確性來保障 搶答的公平性 比賽中為了準(zhǔn)確 公正 直觀地判斷出第一搶答者 所設(shè)計的搶答器 通常由數(shù)碼顯示 燈光 音響等多種手段指示出第一搶答者 搶答器作為一種電子產(chǎn)品 早已廣泛應(yīng)用于各種智力和知識競賽場合 但目前所 使用的搶答器有很多的缺點 有的電路較復(fù)雜不便于制作 可靠性低 實現(xiàn)起來很困難 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 2 有的則用一些專用的集成塊 而專用集成塊的購買又很困難 而我所設(shè)計的八路智能 搶答器 具有元件普通 易于購買等優(yōu)點 很好地解決了制作困難和難于購買的問題 在知識比賽中 特別是做搶答題目的時候 在搶答過程中 為了知道哪一組或哪 一位選手先答題 必須要設(shè)計一個系統(tǒng)來完成這個任務(wù) 如果在搶答中 靠視覺是很 難判斷出哪組先答題 怎樣來設(shè)計搶答器 能使以上問題得以解決 即使兩組的搶答 時間相差幾微秒 也可分辨出哪組優(yōu)先答題 通過研究并在設(shè)計驗證后發(fā)現(xiàn) 采用單 片機技術(shù)設(shè)計的搶答器與傳統(tǒng)的搶答器相比 首先 電路連接簡單 因為大多數(shù)功能 單元都通過程序設(shè)計在單片機內(nèi)部 第二 工作性能可靠 抗干擾能力優(yōu)于傳統(tǒng)搶答 器 并能夠解決以上提出的問題 所以本研究是一個實用的工程設(shè)計 具有創(chuàng)新性 1 3 系統(tǒng)設(shè)計的功能 根據(jù)一般比賽對搶答器功能的要求 本文設(shè)計出的搶答器系統(tǒng)功能如下 1 搶答器可以同時供 8 名選手或 8 個代表隊比賽 分別用 8 個按鈕 S1 S8 表示 2 主持人可以通過智能搶答器的按鍵設(shè)定每道題的搶答時間和回答時間 3 具有清零和非法搶答控制功能 設(shè)置一個系統(tǒng)清除和搶答控制開關(guān) 并由主持 人操控 避免選手在主持人說 開始 前提前搶答 違反規(guī)則 4 當(dāng)主持人啟動 開始搶答按鍵 后 定時器進行減計時 在 20 秒內(nèi)無人搶答 表示所有參賽選手或參賽隊對本題棄權(quán) 搶答時間耗盡后禁止搶答 5 倒計時 5 秒時 如果仍無人搶答 則系統(tǒng)每 1s 報警一次 用以提示參賽選手 6 搶答器具有鎖存與顯示功能 即選手按下按鍵 鎖存相應(yīng)選手的參賽編號 并 在 LED 數(shù)碼管上顯示 一直保持到主持人將系統(tǒng)清除為止 同時揚聲器發(fā)出報警聲響 提示 選手搶答實行優(yōu)先鎖存 其他按鍵者將不能響應(yīng) 以便公平地選擇第一個搶答 者 7 參賽選手在設(shè)定的時間內(nèi)進行搶答 搶答有效 顯示器上顯示選手的編號 同 時進入回答問題的 30s 倒計時 回答問題時可以選擇啟用錦囊 即答題時間變?yōu)?60 秒 8 倒計時期間 如果主持人想終止倒計時 可以按下 停止 鍵 系統(tǒng)會自動進 入準(zhǔn)備狀態(tài) 本設(shè)計中主要硬件設(shè)備 AT89C51 單片機 8 輸入與非門 74HC30 共陰極 LED 數(shù)碼 管 12MHz 晶振 74LS04 反相器 按鍵若干 報警喇叭 變壓器 整流器 電容 電 阻 7805 穩(wěn)壓芯片 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 3 第二章 單片機系統(tǒng)原理 2 1 單片機的原理 2 1 1 單片機的簡介 目前 80C51 單片機在工業(yè)檢測領(lǐng)域中得到了廣泛的應(yīng)用 因此我們可以在許多單 片機應(yīng)用領(lǐng)域中 配接各種類型的接口 構(gòu)成綜合應(yīng)用系統(tǒng) 以增強其功能 89C51 是 Intel 公司生產(chǎn)的一種單片機 在一小塊芯片上集成了一個微型計算機的各個組成 部分 每一個單片機包括 一個 8 位的微型處理器 CPU 一個 128 字節(jié)的片內(nèi)數(shù)據(jù)存儲 器 RAM 4k 片內(nèi)程序存儲器 ROM 四個 8 位并行的 I O 接口 P0 P3 每個接口既可以輸 入 也可以輸出 兩個定時器 記數(shù)器 五個中斷源的中斷控制系統(tǒng) 一個全雙工 UART 的串行 I O 口 片內(nèi)振蕩器和時鐘產(chǎn)生電路 但石英晶體和微調(diào)電容需要外接 最高 允許振蕩頻率是 12MHZ 以上各個部分通過內(nèi)部總線相連接 下面簡單介紹下其部分功 能 中央處理器 CPU 是單片微型計算機的指揮 執(zhí)行中心 由它讀人用戶程序 并逐 條執(zhí)行指令 它是由 8 位算術(shù) 邏輯運算部件 簡稱 ALU 定時 控制部件 若干寄存 器 A B B5W 5P 以及 16 位程序計數(shù)器 PC 和數(shù)據(jù)指針寄存器 DM 等主要部件組成 算術(shù)邏輯單元的硬件結(jié)構(gòu)與典型微型機相似 它具有對 8 位信息進行 四則運算和邏輯與 或 異或 取反 清 0 等運算 并具有判跳 轉(zhuǎn)移 數(shù)據(jù)傳送 等功能 此外還提供存放中間結(jié)果及常用數(shù)據(jù)寄存器 控制器部件是由指令寄存器 程序計數(shù)器 PC 定時與控制電路等組成的 指令寄存器中存放指令代碼 枷執(zhí)行指令 時 從程序存儲器中取來經(jīng)譯碼器譯碼后 根據(jù)不同指令由定時與控制電路發(fā)出相應(yīng) 的控制信號 送到存儲器 運算器或 I O 接口電路 完成指令功能 程序計數(shù)器 PC 才程序計數(shù)器 PC 用來存放下一條將要執(zhí)行的指令 共 16 位 可對以 K 字節(jié)的程序存 儲器直接尋址 C 指令執(zhí)行結(jié)束后 PC 計數(shù)器自動增加 指向下一條要執(zhí)行的指令地址 CPU 功能 總的來說是以不同的方式 執(zhí)行各種指令 不同的指令其功自略異 有 的指令涉及到枷各寄存器之間的關(guān)系 有的指令涉及到單片機核心電路內(nèi)部各功能部 件的關(guān)系 有的則與外部器件如外部程序存儲器發(fā)生聯(lián)系 事實上 CRJ 是通過復(fù)雜的 時序電路完成不同的指令功能 所謂 CRJ 的時序是指控制器控照指今功能發(fā)出一系列 在時間上有一定次序的信號 控制和啟動一部分邏輯電路 完成某種操作 2 1 2 單片機的分類 單片機作為計算機發(fā)展的一個重要領(lǐng)域 應(yīng)用一個較科學(xué)的分類方法 根據(jù)目前 發(fā)展情況 從不同角度單片機大致可以分為通用型 專用型 總線型 非總線型及工控 型 家電型 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 4 1 通用型 專用型 這是按單片機適用范圍來區(qū)分的 例如 80C51 是通用型單片機 它不是為某種專 用途設(shè)計的 專用型單片機是針對一類產(chǎn)品甚至某一個產(chǎn)品設(shè)計生產(chǎn)的 例如為了滿 足電子體溫計的要求 在片內(nèi)集成 ADC 接口等功能的溫度測量控制電路 2 總線型 非總線型 這是按單片機是否提供并行總線來區(qū)分的 總線型單片機普遍設(shè)置有并行地址總 線 數(shù)據(jù)總線 控制總線 這些引腳用以擴展并行外圍器件都可通過串行口與單片機 連接 另外 許多單片機已把所需要的外圍器件及外設(shè)接口集成一片內(nèi) 因此在許多 情況下可以不要并行擴展總線 大大減省封裝成本和芯片體積 這類單片機稱為非總 線型單片機 3 控制型 家電型 這是按照單片機大致應(yīng)用的領(lǐng)域進行區(qū)分的 一般而言 工控型尋址范圍大 運 算 能力強 用于家電的單片機多為專用型 通常是小封裝 低價格 外圍器件和外設(shè) 接口集成度高 顯然 上述分類并不是惟一的和嚴格的 例如 80C51 類單片機既是通用型又是 總線型 還可以作工控用 2 2 單片機的工作過程 單片機自動完成賦予它的任務(wù)的過程 也就是單片機執(zhí)行程序的過程 即一條條 執(zhí)行指令的過程 所謂指令就是把要求單片機執(zhí)行的各種操作用命令的形式寫下來 這是由設(shè)計人員賦予它的指令系統(tǒng)所決定的 一條指令對應(yīng)著一種基本操作 單片機 所能執(zhí)行的全部指令 就是該單片機的指令系統(tǒng) 不同種類的單片機 其指令系統(tǒng)亦 不同 為使單片機能自動完成某一特定任務(wù) 必須把要解決的問題編成一系列指令 這些指令必須是選定單片機能識別和執(zhí)行的指令 這一系列指令的集合就成為程序 程序需要預(yù)先存放在具有存儲功能的部件 存儲器中 存儲器由許多存儲單元 最 小的存儲單位 組成 就像一幢大樓由許多房間組成一樣 指令就存放在這些單元里 單元里的指令取出并執(zhí)行就像大樓的每個房間的被分配到唯一一個房間號一樣 每一 個存儲單元也必須被分配到唯一的地址號 該地址號稱為存儲單元的地址 這樣只要 知道了存儲單元的地址 就可以找到這個存儲單元 其中存儲的指令就可以被取出 然后再被執(zhí)行 程序通常是順序執(zhí)行的 所以程序中的指令也是一條條順序存放的 單片機在執(zhí) 行程序時要能把這些指令一條條取出并加以執(zhí)行 必須有一個部件能追蹤指令所在的 地址 這一部件就是程序計數(shù)器 PC 包含在 CPU 中 在開始執(zhí)行程序時 給 PC 賦以 程序中第一條指令所在的地址 然后取得每一條要執(zhí)行的命令 PC 之中的內(nèi)容就會自 動增加 增加量由本條指令長度決定 可能是 1 2 或 3 以指向下一條指令的起始地 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 5 址 保證指令順序執(zhí)行 2 3 單片機的引腳及其作用 89C51 單片機的引腳圖如下 圖 2 1 89C51 單片機的引腳圖 Vcc 40 腳 接 5V 電源正端 Vss 20 腳 接 5V 電源正端 XTAL1 19 腳 接外部石英晶體的一端 在單片機內(nèi)部 它是一個反相放大器的 輸入端 這個放大器構(gòu)成采用外部時鐘時 對于 HMOS 單片機 該引腳接地 對于 CHOMS 單片機 該引腳作為外部振蕩信號的輸入端 XTAL2 18 腳 接外部晶體的另一端 在單片機內(nèi)部 接至片內(nèi)振蕩器的反相放 大器的輸出端 當(dāng)采用外部時鐘時 對于 HMOS 單片機 該引腳作為外部振蕩信號的輸 入端 對于 CHMOS 芯片 該引腳懸空不接 控制信號或與其它電源復(fù)用引腳有 RST VPD ALE P PSEN 和 EA VPP 等 4 種形式 1 RST VPD 9 腳 RST 即為 RESET VPD 為備用電源 所以該引腳為單片機 的上電復(fù)位或掉電保護端 當(dāng)單片機振蕩器工作時 該引腳上出現(xiàn)持續(xù)兩個機器周期 的高電平 就可實現(xiàn)復(fù)位操作 使單片機復(fù)位到初始狀態(tài) 當(dāng) VCC 發(fā)生故障 降低到 低電平規(guī)定值或掉電時 該引腳可接上備用電源 VPD 5V 為內(nèi)部 RAM 供電 以保證 RAM 中的數(shù)據(jù)不丟失 2 ALE P 30 腳 當(dāng)訪問外部存儲器時 ALE 允許地址鎖存信號 以每機 器周期兩次的信號輸出 3 PSEN 29 腳 片外程序存儲器讀選通輸出端 低電平有效 當(dāng)從外部程序 存儲器讀取指令或常數(shù)期間 每個機器周期 PESN 兩次有效 以通過數(shù)據(jù)總線口讀回指 令或常數(shù) 當(dāng)訪問外部數(shù)據(jù)存儲器期間 PESN 信號將不出現(xiàn) 4 EA Vpp 31 腳 EA 為訪問外部程序儲器控制信號 低電平有效 當(dāng) EA 端 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 6 保持高電平時 單片機訪問片內(nèi)程序存儲器 4KB MS 52 子系列為 8KB 若超出該范 圍時 自動轉(zhuǎn)去執(zhí)行外部程序存儲器的程序 當(dāng) EA 端保持低電平時 無論片內(nèi)有無程 序存儲器 均只訪問外部程序存儲器 對于片內(nèi)含有 EPROM 的單片機 在 EPROM 編程 期間 該引腳用于接 21V 的編程電源 Vpp 輸入 輸出 I O 引腳 P0 口 P1 口 P2 口及 P3 口 1 P0 口 39 腳 22 腳 P0 0 P0 7 統(tǒng)稱為 P0 口 當(dāng)不接外部存儲器與不擴 展 I O 接口時 它可作為準(zhǔn)雙向 8 位輸入 輸出接口 當(dāng)接有外部程序存儲器或擴展 I O 口時 P0 口為地址 數(shù)據(jù)分時復(fù)用口 它分時提供 8 位雙向數(shù)據(jù)總線 對于片內(nèi)含有 EPROM 的單片機 當(dāng) EPROM 編程時 從 P0 口輸入指令字節(jié) 而當(dāng)檢驗程 序時 則輸出指令字節(jié) 2 P1 口 1 腳 8 腳 P1 0 P1 7 統(tǒng)稱為 P1 口 可作為準(zhǔn)雙向 I O 接口使用 對于 MCS 52 子系列單片機 P1 0 和 P1 1 還有第 2 功能 P1 0 口用作定時器 計數(shù)器 2 的計數(shù)脈沖輸入端 T2 P1 1 用作定時器 計數(shù)器 2 的外部控制端 T2EX 對于 EPROM 編程和進行程序校驗時 P0 口接收輸入的低 8 位地址 3 P2 口 21 腳 28 腳 P2 0 P2 7 統(tǒng)稱為 P2 口 一般可作為準(zhǔn)雙向 I O 接 口 當(dāng)接有外部程序存儲器或擴展 I O 接口且尋址范圍超過 256 個字節(jié)時 P2 口用于 高 8 位地址總線送出高 8 位地址 對于 EPROM 編程和進行程序校驗時 P2 口接收輸入 的 8 位地址 4 P3 口 10 腳 17 腳 P3 0 P3 7 統(tǒng)稱為 P3 口 它為雙功能口 可以作為 一般的準(zhǔn)雙向 I O 接口 也可以將每 1 位用于第 2 功能 而且 P3 口的每一條引腳均可 獨立定義為第 1 功能的輸入輸出或第 2 功能 P3 口的第 2 功能見下表 表 2 1 單片機 P3 口管腳含義 引腳 第 2 功能 P3 0 RXD 串行口輸入端 P3 1 TXD 串行口輸出端 P3 2 INT0 外部中斷 0 請求輸入端 低電平有效 P3 3 INT1 外部中斷 1 請求輸入端 低電平有效 P3 4 T0 定時器 計數(shù)器 0 計數(shù)脈沖端 P3 5 T1 定時器 計數(shù)器 1 計數(shù)脈沖端 P3 6 WR 外部數(shù)據(jù)存儲器寫選通信號輸出端 低電平有效 P3 7 RD 外部數(shù)據(jù)存儲器讀選通信號輸出端 低電平有效 綜上所述 MCS 51 系列單片機的引腳作用可歸納為以下兩點 1 單片機功能多 引腳數(shù)少 因而許多引腳具有第 2 功能 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 7 2 單片機對外呈 3 總線形式 由 P2 P0 口組成 16 位地址總線 由 P0 口分時復(fù) 用作為數(shù)據(jù)總線 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 8 第三章 八路搶答器的電路設(shè)計 3 1 電路設(shè)計原理 為使硬件電路設(shè)計盡可能簡潔合理 應(yīng)主要以下幾點 1 工業(yè)上盡可能采用功能強的芯片 以簡化電路 功能強的芯片可以代替若干普 通芯片 隨著生產(chǎn)工藝的提高 新型芯片的價格不斷下降 并不一定比若干普通芯片 價格的總和高 2 留有設(shè)計余地 在設(shè)計硬件電路時 要考慮到將來修改擴展的方便 因為很少 有一錘定音的電路設(shè)計 如果現(xiàn)在不留余地 將來可能要為一點小小的修改或擴展而 被迫進行全面返工 3 程序空間 選用片內(nèi)程序空間足夠大的單片機 否則因為程序空間不夠使不得 不進行空間擴展 4 RAM 空間 大部分 51 系列單片機的內(nèi)部 RAM 不多 當(dāng)要增強軟件數(shù)據(jù)處理功能 時 往往覺得不足 如果系統(tǒng)配置了外部 RAM 則建議多留一些空間 如選用 8155 作 I O 接口 就可以增強 256 字節(jié) RAM 如果有大批數(shù)據(jù)需要處理 則應(yīng)配置足夠的 RAM 如 6264 62256 等 隨著軟件設(shè)計水平的提高 往往只要改變或增加軟件中的數(shù) 據(jù)處理算法 就可以使系統(tǒng)功能提高很多 而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升 級換代 只要在硬件電路設(shè)計初期考慮到這一點 就應(yīng)該為系統(tǒng)將來升級留足夠的 RAM 空間 哪怕多設(shè)計一個 RAM 的插座 暫不插芯片也好 5 I O 端口 在樣機研制出來后進行現(xiàn)場試用時 往往會發(fā)現(xiàn)一些被忽視的問題 而這些問題不是靠單純的軟件措施來解決的 如有些新的信號需要采集 就必須增加 輸入檢測端 有些物理量需要控制 就必須增加輸出端 所以一般在設(shè)計硬件電路時 就預(yù)留出一些 I O 端口 核心控制模塊 按鍵輸入模塊 時鐘與復(fù)位 模塊 顯示模塊 報警模塊 圖 3 1 主要功能模塊原理框圖 3 2 八路搶答器模塊化設(shè)計 該搶答器系統(tǒng)的硬件設(shè)計是以單片機為中心控制模塊 采用模塊化設(shè)計的八路搶 答器 具有五個模塊 分別為 按鍵輸入模塊 顯示模塊 時鐘與復(fù)位模塊 報警模 塊 核心控制模塊 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 9 系統(tǒng)的主要功能模塊原理框圖如圖 3 1 所示 按鍵輸入模塊共有 14 個按鍵 分為搶答按鍵和控制按鍵 搶答按鍵共有八個 分 別為 S1 S8 供搶答選手進行搶答使用 P1 口為八個按鍵搶答信號的輸入口 低電平 有效 控制按鍵有六個 分別為 S9 S14 其中 S9 和 S10 分別為 搶答時間調(diào)整鍵 和 回答時間調(diào)整鍵 其對應(yīng)的 I O 接口分別為 P3 3 和 P3 4 S11 和 S12 分別為 時間 加 1 和 減 1 按鍵 其對應(yīng)的 I O 接口分別為 P3 5 和 P3 6 S13 和 S14 分 別為 搶答開始按鍵 和 搶答停止按鍵 其對應(yīng)的 I O 接口分別為 P3 0 和 P3 1 顯示模塊本系統(tǒng)采用四個共陰極 LED 數(shù)碼管顯示 一個數(shù)碼管用來顯示搶答到問 題的選手的號碼 兩個用來顯示倒計時時間 一個未使用的數(shù)碼管作為以后的擴展使 用 時鐘與復(fù)位模塊包括時鐘電路和復(fù)位電路 單片機的最小系統(tǒng)就是由時鐘電路 復(fù)位電路及單片機構(gòu)成 單片機的時鐘信號用來提供單片機片內(nèi)各種操作的時間基準(zhǔn) 單片機的時鐘信號通常用兩種電路形式得到 內(nèi)部振蕩方式和外部振蕩方式 復(fù)位操 作則使單片機的片內(nèi)電路初始化 使單片機從一種確定的初態(tài)開始運行 根據(jù)應(yīng)用的 要求 復(fù)位操作通常有兩種基本形式 上電復(fù)位或開關(guān)復(fù)位 當(dāng) 51 系列單片機的復(fù)位 引腳 RST 全稱 RESET 出現(xiàn) 2 個機器周期以上的高電平時 單片機就執(zhí)行復(fù)位操作 如 果 RST 持續(xù)為高電平 單片機就處于循環(huán)復(fù)位狀態(tài) 報警模塊在本系統(tǒng)中為附加模塊 它的主要用途就是起到提示并引起人們的注意 它只有在兩種情況下才發(fā)出報警 一是 開始搶答 按鍵沒有按下時 選手就按下了 搶答鍵 報警電路發(fā)出報警 提示有選手發(fā)生搶答 二是每道題的搶答時間和問題 的回答時間在倒計時 5 秒時 報警電路發(fā)出報警 提示選手倒計時的時間即將耗盡 核心控制模塊就是人們所謂的 CPU 它是整個系統(tǒng)的總控制部分 本系統(tǒng)的核心控 制模塊為 51 系列的單片機 只有我們通過軟件程序的編寫 并將程序?qū)懭雴纹瑱C 該 系統(tǒng)才會正確的工作 3 3 時鐘與復(fù)位模塊 3 3 1 時鐘模塊 圖 3 2 時鐘電路 單片機必須在時鐘的驅(qū)動下才能工作 AT89C51 單片機的時鐘產(chǎn)生方法有兩種 內(nèi)部時鐘方式和外部時鐘方式 無論何種形式 都需要外部附加電路 產(chǎn)生時鐘脈沖 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 10 本系統(tǒng)中采用的是內(nèi)部時鐘方式 時鐘電路如圖 3 2 所示 從時鐘電路的示意圖中可以看到 單片機所跨接的晶體振蕩器旁邊還有兩個電容 器 C1 和 C2 C1 和 C2 被稱為諧振電容 主要作用有兩點 一是可以促使單片機系統(tǒng) 快速起振 二是 C1 C2 具有對頻率進行微調(diào)作用 有利于單片機系統(tǒng)振蕩頻率的穩(wěn) 定 維持單片機的正常運行 諧振電容的容值選擇 與所用的晶體振蕩器的頻率值有 關(guān) 晶體振蕩器的振蕩頻率越高 相應(yīng)的諧振電容的容值也要提高 二者如果配合的 好 可以發(fā)揮諧振電容的積極作用 反之 自激振蕩器頻率的穩(wěn)定性將受到影響 經(jīng) 過大量的實際應(yīng)用 晶體振蕩器的頻率與諧振電容的容值之間形成了一定的固定搭配 例如 當(dāng)晶體振蕩器的頻率為 12MHz 時 諧振電容的容值一般為 30pF 左右 理論上單片機的運算速度越快越好 即晶體振蕩器的頻率越高越好 但是 在有 些情況下 單片機的外圍設(shè)備的速度無法匹配單片機的運行速度 綜合考慮 本文中 的晶體振蕩頻率設(shè)計為 12MHz 其機器周期為 1us 諧振電容的容值選定為 30pF 3 3 2 復(fù)位模塊 單片機的第 9 腳 RST 為硬件復(fù)位端 只要將該端持續(xù) 2 個機器周期的高電平即可 實現(xiàn)復(fù)位 復(fù)位后單片機的各狀態(tài)都恢復(fù)到初始化狀態(tài) 其電路圖如圖 3 3 所示 圖 3 3 復(fù)位電路 3 4 顯示模塊 數(shù)碼管發(fā)光原理分兩種情況 共陰極型 a b c d e f g 各引腳輸入高電平 有效 只要哪個引腳輸入為高電平 對應(yīng)的二極管就會發(fā)亮 共陽極型結(jié)構(gòu)數(shù)碼管的 a b c d e f g 各引腳輸入低電平有效 只要哪個引腳輸入低電平 對應(yīng)的二 極管就會發(fā)亮 通過點亮不同的發(fā)光段可組成不同的字形 輸入到數(shù)碼管 dp g f e d c b a 的二進制碼稱為字段碼 或稱字形碼 數(shù)碼管顯示的結(jié)果為 字形 本文顯示電路使用七段數(shù)碼管 7SEG MPX4 CC 它是共陰極的 由高電電平點亮 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 11 在這里我們使用的是七段數(shù)碼管顯示 通常在顯示上我們采用的方法一般包括兩 種 一種是靜態(tài)顯示 一種是動態(tài)顯示 其中靜態(tài)顯示的特點是顯示穩(wěn)定不閃爍 程序 編寫簡單 但占用端口資源多 動態(tài)顯示的特點是顯示穩(wěn)定性沒靜態(tài)好 程序編寫復(fù) 雜 但是相對靜態(tài)顯示而言占用端口資源少 在本設(shè)計中根據(jù)實際情況采用的是動態(tài) 顯示方法 圖 3 4 七段數(shù)碼顯示管 并通過查表法 將其在數(shù)碼管上顯示出來 其中 P0 口為字型碼輸入端 P2 口低 3 位為 字選段輸入端 在這里我們通過查表將字型碼送給 7 段數(shù)碼管 數(shù)碼管顯示原理如下 表3 1 顯示字形字段碼對應(yīng)關(guān)系 字體 顯示字型 共陽極段選碼 共陰極段選碼 0 C0H 3FH 1 F9H 06H 2 A4H 5BH 3 B0H 4FH 4 99H 66H 5 92H 6DH 6 82H 7DH 7 F8H 07H 8 80H 7FH 9 90H 6FH F 8EH 71H 滅 FFH 00H MOV A R5 MOVC A A DPTR 查字型 MOV P2 0FDH 送位選碼 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 12 MOV P0 A 送字型碼 ACALL DELAY 調(diào)延時 去閃爍 3 5 按鍵輸入模塊 3 5 1 鍵盤的去抖動 組成鍵盤的按鍵有觸點式和非觸點式兩種 單片機中應(yīng)用的一般是由機械觸點構(gòu)成的 按鍵如圖3 5 所示 當(dāng)開關(guān)S1斷開時 單片機接入口輸入為高電平 S1閉合時 單片機 接入口輸入為低電平 圖3 5 按鍵圖 由于按鍵是機械觸點 當(dāng)機械觸點斷開 閉合時 會有抖動 P1輸入端的波形如 圖3 6所示 這種抖動對于人來說是感覺不到的 但對單片機來說 則是完全可以感應(yīng) 到的 因為單片機處理的速度是在微秒級 而機械抖動的時間至少是毫秒級 對單片 機而言 這已是一段 漫長 的時間了 如果鍵處理程序采用中斷方式的話 在響應(yīng) 按鍵時就可能會出現(xiàn)問題 也就是說按鍵有時靈 有時不靈 其實就是這個原因 你 只按了一次按鍵 可是單片機卻已執(zhí)行了多次中斷的過程 若執(zhí)行的次數(shù)正好是奇數(shù) 次 那么結(jié)果正如你所料 若執(zhí)行的次數(shù)是偶數(shù)次 那就不對了 而如果鍵處理程序 采用查詢方式的話也會存在響應(yīng)按鍵遲鈍的現(xiàn)象 甚至可能會漏掉信號 圖3 6 抖動波形圖 為了使 CPU 能正確地讀出按鍵接入口的狀態(tài) 對每一次按鍵只作一次響應(yīng) 就必 須考慮如何去除抖動 也就是消除在按鍵過程中產(chǎn)生的 毛刺 現(xiàn)象 常用的去抖動 的方法有兩種 硬件方法和軟件方法 單片機設(shè)計中常用軟件法 因此 對于硬件方 法我們在此不做介紹 軟件去除抖動其實很簡單 這里采用最常用的方法 即延時重 復(fù)掃描法 延時法的原理為 因為 毛刺 脈沖一般持續(xù)時間短 約為幾 ms 而我們 按鍵的時間一般遠遠大于這個時間 所以當(dāng)單片機檢測到有按鍵動靜 按鍵按下或釋放 后再延時一段時間 這里我們?nèi)?10ms 后再判斷此電平是否保持原狀態(tài) 如果是則為有效 按鍵 否則無效 不過一般情況下 我們通常不對按鍵釋放的后沿進行處理 實踐證 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 13 明 也能滿足一定的要求 3 5 2 按鍵電路圖 八路智能搶答器設(shè)計中由于按鍵較少 端口資源豐富 因此采用了獨立鍵盤的方 式 無雙功能和多功能設(shè)計 本設(shè)計中有 8 個搶答按鍵輸入 一個開始按鍵 一個結(jié) 束按鍵 此外還有搶答時間調(diào)整鍵 回答時間調(diào)整鍵 加一按鍵減一按鍵各一個 按 鍵連接圖如圖 3 7 所示 圖 3 7 按鍵電路圖 在圖 3 7 中 8 個搶答按鍵分別接入單片機的 P1 0 P1 7 端口 單片機通過讀取 P1 0 P1 7 的值來判斷當(dāng)前輸入的是 8 個搶答按鍵中的哪一個 搶答時間調(diào)整和回答時間調(diào) 整接到單片機的 P3 3 和 P3 4 接口 加一及減一按鍵接到單片機的 P3 5 和 P3 6 接口 開始及結(jié)束按鍵接到單片機的 10 11 腳 這里用到了單片機 10 11 腳復(fù)合功能中的 IO 端口功能 單片機通過讀取 10 11 腳的 P3 0 P3 1 的 IO 端口值來判斷當(dāng)前是否處 于搶答開始狀態(tài)或搶答結(jié)束狀態(tài) 3 6 報警模塊 實現(xiàn)單頻音報警的接口電路比較簡單 其發(fā)音元件通常可采用壓電蜂鳴器 當(dāng)在 蜂鳴器兩引腳上加 3 15V 直流工作電壓 就能產(chǎn)生 3KHz 左右的蜂鳴振蕩音響 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 14 圖 3 8 報警電路 壓電式蜂鳴器結(jié)構(gòu)簡單 耗電少 更適于在單片機系統(tǒng)中應(yīng)用 壓電式蜂鳴器 約需 10mA 的驅(qū)動電流 可在某端口接上一只三極管和電阻組成的驅(qū)動電路來驅(qū)動 在圖 3 8 中 P 3 7 接三極管基極輸入端 當(dāng) P3 7 輸出高電平 1 時 三極管導(dǎo) 通 蜂鳴器通電發(fā)音 當(dāng) P3 7 輸出低電平 0 時 三極管截止 蜂鳴器停止發(fā)音 在本系統(tǒng)中 當(dāng)搶答時間和答題時間倒計 5 秒時就調(diào)用報警子程序發(fā)聲報警 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 15 第四章 軟件設(shè)計 4 1 系統(tǒng)程序設(shè)計 本系統(tǒng)由于較簡單 程序內(nèi)容相對較少 本著簡單易懂的原則 所以采用匯編語 言實現(xiàn)其軟件的設(shè)計 進行匯編語言程序的編寫應(yīng)遵循以下四個步驟 構(gòu)思 其主要工作是分析題意 制作程序流程圖 流程圖的邏輯必須符合題意要 求 布局 其主要工作是分配單片機資源 包括程序地址分配 片內(nèi)儲存單元分配 如確定每個程序段起始地址 確定某一片內(nèi) RAM 單元作為數(shù)組指針等 編寫 根據(jù)布局安排 將程序流程圖轉(zhuǎn)換為單片機指令 做到在流程圖各環(huán)節(jié)相 應(yīng)指令對應(yīng)的同時 提高運用指令的技巧性 修改 對程序進行編譯和試運行 如果運行不正確的話 一定要找出其中的差異 來 要知道 編寫程序就是不斷的嘗試錯誤 在調(diào)試中不斷修改 提高程序的可靠性 和程序結(jié)構(gòu)的合理性 該系統(tǒng)應(yīng)用程序由主程序和子程序模塊組成 系統(tǒng)應(yīng)用程序采用結(jié)構(gòu)化模塊設(shè)計 從功能上看 主要包括 主程序 電源檢測程序 報警程序 控制程序等 下邊對程 序流程進行介紹 圖 4 1 主程序流程圖 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 16 4 2 搶答器主程序流程圖 智能搶答器在正常工作的情況下 首先對控制系統(tǒng)進行初始化 然后進行鍵盤掃 描 判斷主持人是否按下了 開始搶答 按鍵 如果按鍵沒有按下 則執(zhí)行非法搶答 查詢子程序 判斷是否有選手發(fā)生了搶答現(xiàn)象 如果 開始搶答 按鍵按下則執(zhí)行倒 計時子程序和顯示子程序 并調(diào)用正常搶答處理子程序 其中倒計時程序包括搶答倒 計時和回答倒計時 任何控制系統(tǒng)開始正常工作前都必須要進行初始化 在其它應(yīng)用程序確定之后 本部分程序設(shè)計在于協(xié)調(diào)各部分程序之間的關(guān)系 以促使各部分程序之間有序運行 達到進一步優(yōu)化程序設(shè)計的目的 該智能搶答器的初始化子程序主要是兩個定時器和 兩個外部中斷的初始化 主程序流程圖如圖 4 1 所示 4 3 非法搶答查詢子程序 在主持人未按下 搶答開始鍵 時 為防止參賽選手發(fā)生搶答 專門設(shè)計了非法 搶答查詢子程序 當(dāng)有選手發(fā)生搶答時 系統(tǒng)會將選手的號碼保持下來 并送到 LED 顯示裝置進行顯示 同時調(diào)用非法搶答子程序 非法搶答查詢子程序流程圖如圖 4 2 所示 返回 開始 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 17 圖 4 2 非法搶答查詢子程序流程圖 4 4 搶答時間調(diào)整子程序 該智能搶答器的搶答時間是可以根據(jù)實際需要進行調(diào)整的 如果想調(diào)節(jié)搶答時間 按下 搶答時間調(diào)整鍵 此時 LED 顯示裝置會顯示當(dāng)前搶答時間的設(shè)定值 如果想 加 1S 按下 加 1 鍵 如果想減 1S 按下 減 1 鍵 LED 顯示裝置會自動顯示修改 后的搶答時間 搶答時間的設(shè)定值范圍是 0 99S 0S 再減 1S 會變成 99S 同理 99S 再加 1S 會變成 0S 回答時間的調(diào)整與此類似 搶答時間調(diào)整子程序流程圖如圖 4 3 所 示 開始 結(jié)束 圖 4 3 搶答時間調(diào)整子程序流程圖 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 18 第五章 軟件仿真及程序調(diào)試 隨著仿真軟件的廣泛推廣應(yīng)用 為我們的設(shè)計帶來了極大的方便 軟件仿真及程 序調(diào)試這一部分是焊接實物前必須要做的一步 本設(shè)計采用的是 Proteus 仿真軟件進 行八路搶答器的模擬仿真 用 Keil 軟件對程序進行編譯和調(diào)試 5 1Proteus 軟件仿真 進行 Proteus 軟件仿真的步驟如下 1 打開 Proteus 軟件選擇新建設(shè)計 如下圖 圖 5 1 新建 Proteus 設(shè)計 2 選擇默認模板 DEFAULT 保存設(shè)計 接著設(shè)定圖紙大小 執(zhí)行菜單 系統(tǒng) 設(shè)置圖紙大小 彈出對話框 在此對話框中選擇 A4 單擊 確定 3 添加所需的元器件 單片機 AT89C51 30Pf 電容 CAP 12MHz 晶振 CRYSTAL 共陰極七段數(shù)碼管 7SEG MPX4 CC HITEMP10U50V 八輸入與非門 74HC30 六反相器 74LS04 揚聲器 SPEAKER 電阻 RES 按鍵 BUTTON 添加步驟 在器件選擇按鈕 中單擊 P 彈出對話框 在關(guān)鍵字框中輸入所需元器件的名稱就可以 找到相關(guān)元器件 然后雙擊元器件名稱就可以添加元器件 4 將器件放置到繪圖區(qū) 放置電源 地 然后進行連線 最后設(shè)置 修改原件 屬性 完成以上步驟 5 當(dāng)原理圖鏈接成功后 將 Keil 軟件生成的 HEX 文件添加到仿真原理圖的單 片機中 經(jīng)過調(diào)試就可以看到仿真結(jié)果 5 2Keil 軟件的使用 使用 Keil 軟件編程步驟如下 1 雙擊 Keil 的快捷方式 運行 Keil 軟件 2 建立一個新工程 如下圖 圖 5 2 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 19 圖 5 2 新建一個工程 3 然后輸入你要保存工程文件的名字 blqdq 4 這時會彈出一個對話框 要求選擇單片機的型號 選擇 Atmel 的 89C51 單片 機 右邊欄是對這個單片機的基本的說明 然后點擊確定 5 單擊 file 菜單 再在下拉菜單中單擊 New 選項并保存空白檔 命名為 blqdq asm 6 回到編輯界面后 單擊 Target 1 前面的 號 然后在 Source Group 1 上單擊右鍵 在彈出的菜單中單擊 Add file to Group Source Group 1 7 將 blqdq asm 文件添加上就會發(fā)現(xiàn) Source Group 1 文件夾中多了一個 子項 blqdq asm 8 編寫程序 在輸入程序時 由于事先保存待編輯的文件 Keil c51 會自動識 別關(guān)鍵字 并以不同的顏色標(biāo)示 這樣會使編寫時少犯錯誤 有利于提高編程效率 9 單擊 Project 菜單 再在下拉菜單中單擊 built target 選項進行編 譯 10 對程序進行調(diào)試直到編譯結(jié)果為 0 錯誤 0 警告 然后單擊 Project 菜 單 再在下拉菜單中單擊 Options for Target Target 1 在 Output 中單 擊 Create HEX File 選項 點擊確定使程序編譯后產(chǎn)生 HEX 代碼 供下載器軟件使 用 如圖 5 3 大連交通大學(xué) 2013 屆本科畢業(yè)生畢業(yè)設(shè)計 20 圖 5 3 生成 HEX 文件 19 謝 辭 畢業(yè)設(shè)計是對我們知識運用能力的一次全面的考核 也是對我們進行科學(xué)研究基 本功的訓(xùn)練 培養(yǎng)我們綜合運用所學(xué)知識獨立地分析問題和解決問題的能力 為以后 撰寫專業(yè)學(xué)術(shù)論文和工作打下良好的基礎(chǔ) 通過這一階段的努力 我的畢業(yè)論文終于 完成了 這意味著大學(xué)生活即將結(jié)束 在大學(xué)階段 我在學(xué)習(xí)上和思想上都受益非淺 這除了自身的努力外 與各位老師 同學(xué)和朋友的關(guān)心 支持和鼓勵是分不開的 論文得以完成 要感謝的人實在太多了 首先我要感謝我的母校 大連交通大 學(xué) 是她為我們提供了學(xué)習(xí)知識的土壤 使我們在這里茁壯成長 其次我要感謝學(xué)院 的老師們 他們在平時里不僅教會我們專業(yè)方面的知識 而且教會我們做人做事的道 理 尤其要感謝我的導(dǎo)師趙冰老師 在論文的寫作過程中 趙冰老師傾注了大量的心 血 從選題到開題報告 從寫作提綱到一遍又一遍地指出論文中的具體問題 嚴格把 關(guān) 循循善誘 趙老師一絲不茍精益求精的作風(fēng) 嚴謹求實的態(tài)度 踏踏實實的精神 深深地感染和激勵著我 他不僅授我以文 而且教我做人的道理 對趙老師的感激之 情是無法用言語表達的 在此我表示衷心的感謝 此外 我還要感謝在畢業(yè)論文寫作 中給予我?guī)椭母魑煌瑢W(xué) 由于經(jīng)驗的匱乏 難免有許多考慮不周全的地方 正是由 于你們的幫助和支持 我才能克服一個個的困難和疑惑 直至論文的順利完成 正是 由于你們 我才能在各方面取得顯著的進步 在此向你們表示我由衷的謝意 在論文即將完成之際 我的心情無法平靜 從開始進入課題到論文的順利完成 有許多師長 同學(xué) 朋友給了我無言的幫助 在這里請接受我誠摯的謝意 同時也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計的環(huán)境 最后再次感謝我的大學(xué)和所有幫助過我并給我鼓勵的老師 同學(xué)和朋友 謝謝你 們 20 參考文獻 1 余發(fā)山 單片機原理及應(yīng)用技術(shù) M 徐州 中國礦業(yè)大學(xué)出版社 2008 2 徐建軍 MCS 51 系列單片機應(yīng)用及接口技術(shù) M 北京 人民郵電出版社 2003 3 李光飛 單片機課程設(shè)計實例指導(dǎo) 北京 北京航天航空大學(xué)出版社 2004 4 馮育長 單片機系統(tǒng)設(shè)計與實例指導(dǎo) 西安 西安電子科技大學(xué)出版社 2007 5 余永權(quán) ATMEL89 系列單片機應(yīng)用技術(shù) M 北京航空航天大學(xué)出版社 2002 6 孫育才 MCS 51 系列單片微型計算機及其應(yīng)用 M 東南大學(xué)出版社 1998 7 張志良 單片機原理與控制技術(shù) 第二版 M 機械工業(yè)出版社 2005 8 樓然苗 51 系列單片機設(shè)計實例 M 北京航空航天大學(xué)出版社 2002 9 王兆安 黃俊 電力電子技術(shù) M 機械工業(yè)出版社 2003 10 葉斌 電力電子應(yīng)用技術(shù)及裝置 M 機械工業(yè)出版社 1999 11 王福瑞 單片微機測控系統(tǒng)設(shè)計大全 M 北京航空航天大學(xué)出版社 1999 12 胡漢才 單片機原理及其接口技術(shù) M 清華大學(xué)出版社 1996 13 Hondoh Wada Andoh A vortex floweter with spectral analysis signal processing Sensor for Industry Processing of the First ISA IEEE Conference 2001 35 40 21 附 錄 附錄 1 電路原理圖 22 附錄 2 程序清單 主程序 OK EQU 20H 搶答開始標(biāo)志位 RING EQU 22H 響鈴標(biāo)志位 DATAO EQU 36H 搶答按鍵口數(shù)據(jù)存放地址 ORG 0000H AJMP MAIN ORG 0003H AJMP INTT0 ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT ORG 0040H MAIN MOV R1 20 初設(shè)搶答時間 20s MOV R2 30 初設(shè)答題時間 30s MOV 38H 60 啟用錦囊時間為 60s MOV TMOD 11H 設(shè)置為定時器 方式 1 MOV TH0 0F0H MOV TL0 0FFH 越高發(fā)聲頻率越高 MOV TH1 3CH MOV TL1 0B0H 50ms 為一次溢出中斷 SETB EA SETB ET0 SETB ET1 允許兩個中斷 T0 T1 CLR OK CLR RING SETB TR1 SETB TR0 一開始就運行定時器 以顯示 FFF 如果想從新計數(shù) 重置 TH1 TL1 就可以了 查詢程序 START MOV DATAO 0FFH 初始化 MOV R5 0bH MOV R4 0bH MOV R3 0bH ACALL DISPLAY 未開始搶答時顯示 FFF JNB P3 3 SELSUB0 JNB P3 4 TZ3 倒計時調(diào)整 JB P3 0 NEXT ACALL DELAY JB P3 0 NEXT 去抖動 如果按下 開始鍵 就向下執(zhí)行 否則跳到非法 搶答查詢 SETB EX0 開放 INT0 ACALL BARK 按鍵發(fā)聲 23 MOV A R1 MOV R6 A 送 R1 到 R6 因為 R1 中保存了搶答時間 SETB OK 搶答標(biāo)志位 在使用錦囊時用作判斷是搶答倒計時還是 回答倒計時 MOV R3 0AH 搶答只顯示計時 滅號數(shù) AJMP 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 TZ1 JNB P1 7 TZ2 AJMP START TZ1 AJMP FALSE7 TZ2 AJMP FALSE8 TZ3 AJMP SELSUB1 非法搶答處理程序 FALSE1 MOV R3 01H AJMP ERROR FALSE2 MOV R3 02H AJMP ERROR FALSE3 MOV R3 03H AJMP ERROR FALSE4 MOV R3 04H AJMP ERROR FALSE5 MOV R3 05H AJMP ERROR FALSE6 MOV R3 06H AJMP ERROR FALSE7 MOV R3 07H AJMP ERROR FALSE8 MOV R3 08H AJMP ERROR SELSUB0 搶答時間 R1 調(diào)整程序 SELSUB0 MOV A R1 MOV B 0AH DIV AB MOV R4 A MOV R5 B MOV R3 0AH ACALL DISPLAY 先在兩個時間 LED 上顯示 R1 JNB P3 5 INC0 P3 5 為 1s 按下跳到 INC0 24 JNB P3 6 DEC0 P3 6 為 1s 按下跳到 DEC0 JNB P3 1 BACK0 P3 1 為確定鍵 按下跳到 BACK0 AJMP SELSUB0 INC0 MOV A R1 CJNE A 63H ADD0 如果 R1 不是 99 R1 就加 1 如果是 99 R1 就置 0 MOV R1 00H ACALL DELAY1 AJMP SELSUB0 ADD0 INC R1 ACALL DELAY1 AJMP SELSUB0 DEC0 MOV A R1 JZ SETR1 DEC R1 ACALL DELAY1 AJMP SELSUB0 SETR1 MOV R1 63H ACALL DELAY1 AJMP SELSUB0 BACK0 AJMP START SELSUB1 回答時間 R2 調(diào)整程序 SELSUB1 MOV A R2 MOV B 0AH DIV AB MOV R4 A MOV R5 B MOV R3 0AH ACALL DISPLAY JNB P3 5 INC1 JNB P3 6 DEC1 JNB P3 1 BACK1 AJMP SELSUB1 INC1 MOV A R2 CJNE A 63H ADD1 MOV R2 00H ACALL DELAY1 AJMP SELSUB1 ADD1 INC R2 ACALL DELAY1 AJMP SELSUB1 DEC1 MOV A R2 JZ SETR2 DEC R2 ACALL DELAY1 25 AJMP SELSUB1 SETR2 MOV R2 63H ACALL DELAY1 AJMP SELSUB1 BACK1 AJMP START 啟用錦囊程序 REPEAT MOV A 38H MOV R6 A CLR RING 倒計時程序 COUNT MOV R0 00H 重置定時器中斷次數(shù) MOV TH1 3CH MOV TL1 0B0H 重置定時器 RECOUNT MOV A R6 R6 保存了倒計時的時間 MOV B 0AH DIV AB 除 10 分出十位和各位 MOV 30H A 十位存到 30H MOV 31H B 個位存到 31H M- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機 八路 搶答 設(shè)計
鏈接地址:http://m.appdesigncorp.com/p-10265719.html