版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、青島理工大學(xué)畢業(yè)論文題目:搶答器設(shè)計學(xué)生姓名:*學(xué)生學(xué)號:院系名稱:機(jī)電工程系專業(yè)班級:指導(dǎo)教師:2016 年 6 月 15 日摘要隨著科學(xué)技術(shù)的發(fā)展和普及,各種各樣的競賽越來越多,其中搶答器的作用也越來越 重要。本文設(shè)計出以 AT89S51單片機(jī)為核心的八路搶答器,采用了數(shù)字顯示器直接指示, 自動鎖存顯示結(jié)果,并自動復(fù)位的設(shè)計思想 , 它能根據(jù)不同的搶答輸入信號,經(jīng)過單片機(jī) 的控制處理并產(chǎn)生不同的與輸入信號相對應(yīng)的輸出信號,最后通過LED數(shù)碼管顯示相應(yīng)的路數(shù),即使兩組的搶答時間相差幾微秒,也可分辨出是哪組優(yōu)先按下的按鍵,充分利用了 單片機(jī)系統(tǒng)結(jié)構(gòu)簡單、功能強(qiáng)大、可靠性好、實用性強(qiáng)的特點(diǎn)。本設(shè)
2、計是以搶答為出發(fā)點(diǎn)??紤]到依需設(shè)定限時回答的功能,利用 89S51 單片機(jī)及外 圍接口實現(xiàn)的搶答系統(tǒng),利用單片機(jī)的定時器 / 計數(shù)器定時和記數(shù)的原理,將軟、硬件有 機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計時,同時使數(shù)碼管能夠正確地顯示時間。用開 關(guān)做鍵盤輸出, 揚(yáng)聲器發(fā)生提示。 同時系統(tǒng)能夠?qū)崿F(xiàn): 在搶答中, 只有開始后搶答才有效, 如果在開始搶答前搶答為無效;滿時后系統(tǒng)計時自動復(fù)位及主控強(qiáng)制復(fù)位;按鍵鎖定,在 有效狀態(tài)下,按鍵無效非法。關(guān)鍵詞: 搶答器,單片機(jī), LED數(shù)碼顯示管,定時器 /計數(shù)器,揚(yáng)聲器ABSTRACTWith the development of science and t
3、echnology and the popularization of all kinds of competition more and more, which answer is more and more important. Paper design out to AT89S51s ingle tablets machine for core of eight answer device, used has digital display directly indicates, automatically lock save displayed results, and automat
4、ically reset of design thought, it can according to different of answer entered signal, after single tablets machine of control processing and produced different of and entered signal relative should of output signal, last through LED digital tube displayed corresponding of number, even two group of
5、 answer time difference several microseconds, also can tell out is which group priority by Xia of press, full using has single tablets machine system structure simple , Powerful, reliable and practical features. This design is to answer as a starting point.Taking into account the functions according
6、 to the set time limit to answer, using 89S51 microcontroller and peripheral interface implementations of the VIES system, using the principles of timing and counting timer/counter, combining software and hardware, and allows the system to correct timing, while allowing digital to display the time c
7、orrectly. Switches the keyboard output, speaker tip. While the system can achieve: answer, only after the start of contest is only valid, if VIES to answer before you begin to beinvalid; full systems after time automatic resetand master force reduction; key lock in the effective State, key is invali
8、d illegal.Key Words: responder , single chip microcomputer , LED digital display , timer/counter speakers目錄摘 要. ABSTRACT 第 1 章 緒論 . 課題研究的背景及意義 . 可編程控制器概論 . 課題研究內(nèi)容 . 第 2 章 搶答器的概述 . 系統(tǒng)設(shè)計的功能 基本功能 擴(kuò)展功能 搶答器的需求分析 第 3 章 硬件電路的設(shè)計 . 總電路原理 時鐘頻率電路的設(shè)計 復(fù)位電路的設(shè)計 復(fù)位電路的可靠性設(shè)計 人工復(fù)位 顯示電路的設(shè)計 顯示模塊在系統(tǒng)硬件中的安排 掃描電路的實現(xiàn) 按鈕輸入的硬件
9、處理 發(fā)聲 系統(tǒng)復(fù)位 第 4 章 軟件設(shè)計 . 主程序設(shè)計 倒計時 30s 子程序設(shè)計 外部中斷 T1 中斷子程序設(shè)計 定時器 T1 中斷子程序設(shè)計 選手按鍵程序設(shè)計 數(shù)碼管顯示程序設(shè)計 第 5 章 軟硬件綜合調(diào)試 . 軟件仿真 Keil uVsion2 軟件仿真 Protues 7 professional軟件仿真 軟件仿真過程說明 心得體會與結(jié)果 第 6 章 結(jié) 論 . 致 謝. 參考文獻(xiàn) . 第 1 章 緒論課題研究的背景及意義搶答器已經(jīng)越來越多的出現(xiàn)在我們的學(xué)習(xí)生活和電視節(jié)目中,例如在學(xué)校里經(jīng)常會舉 辦各種各樣的智力競賽,就會用到搶答器,搶答器是能夠在任何比賽及競爭性的游戲中體 現(xiàn)公平
10、、公正的電子裝備,在各項中不僅可以準(zhǔn)確、公正和直接地判斷出第一個搶答者是 誰,還有助于鍛煉參賽者的掌握知識的能力、思維反應(yīng)能力、語言表達(dá)能力、心理承受能 力。但如果在比賽中,做不到嚴(yán)格意義的公正,會挫傷選手的積極性,達(dá)不到比賽的真正 目的。隨著電子技術(shù)的迅速發(fā)展,通過人為判斷搶答器順序這種古老的方法早已被現(xiàn)在先進(jìn) 的電子產(chǎn)品所取代?,F(xiàn)在的電子搶答器雖然制作方法不同,但基本設(shè)計實現(xiàn)的功能都大同 小異,無外乎需要設(shè)計一個競賽搶答器,要求具有任意路搶答輸入,能夠識別最先搶答的 信號,顯示該分臺號;對回答問題所用的時間進(jìn)行計時、顯示、超時報警;可以預(yù)置回答 問題的時間;同時具有復(fù)位功能,倒計時啟動功能
11、等等的主要實現(xiàn)功能。可編程控制器概論可編程控制器( PLC)是一種新型的通用自動化控制裝置,它將傳統(tǒng)的繼電器控制技 術(shù)、計算機(jī)技術(shù)和通訊技術(shù)融為一體,具有控制功能強(qiáng),可靠性高,使用靈活方便,易于 擴(kuò)展等優(yōu)點(diǎn)而應(yīng)用越來越廣泛??删幊炭刂破? Programmable Logic Controller )即 PLC。 現(xiàn)已廣泛應(yīng)用于工業(yè)控制的各個領(lǐng)域。他以微處理為核心,用編寫的程序不僅可以進(jìn)行邏 輯控制,還可以定時,計數(shù)和算術(shù)運(yùn)算等,并通過數(shù)字量和模擬量的輸入 / 輸出來控制機(jī) 械設(shè)備或生產(chǎn)過程。美國電氣制造商協(xié)會經(jīng)過 4 年調(diào)查,于 1980 年將其正式命名為可編 程控制器( Programma
12、ble Logic Controller ),簡寫為 PC。后來由于 PC這個名稱常常被 用來稱呼個人電腦( Personal Computer ),為了區(qū)別,現(xiàn)在也把可編程控制器稱為 PLC。課題研究內(nèi)容系統(tǒng)設(shè)計主要包括硬件和軟件兩大部分,依據(jù)控制系統(tǒng)的工作原理和技術(shù)性能,將硬 件和軟件分開設(shè)計。硬件設(shè)計部分包括電路原理圖、合理選擇元器件、繪制線路圖,然后 對硬件進(jìn)行調(diào)試、測試,以達(dá)到設(shè)計要求。軟件設(shè)計部分,首先在總體設(shè)計中完成系統(tǒng)總 框圖和各模塊的功能設(shè)計,擬定詳細(xì)的工作計劃;然后進(jìn)行具體設(shè)計,包括各模塊的流程 圖,選擇合適的編程語言和工具,進(jìn)行代碼設(shè)計等;最后是對軟件進(jìn)行調(diào)試,測試,達(dá)到
13、 所需功能要求。在系統(tǒng)設(shè)計中設(shè)計方法的選用是系統(tǒng)設(shè)計能否成功的關(guān)鍵。硬件電路是采用結(jié)構(gòu)化系 統(tǒng)設(shè)計方法,該方法保證設(shè)計電路的標(biāo)準(zhǔn)化、模塊化。硬件電路的設(shè)計最重要的選擇可編 程的 PLC,并確定與之配套的外圍芯片,使所設(shè)計的系統(tǒng)既經(jīng)濟(jì)又高性能。硬件電路設(shè)計 還包括輸入輸出接口設(shè)計,畫出詳細(xì)電路圖,標(biāo)出芯片的型號、器件參數(shù)值,根據(jù)電路圖 在仿真機(jī)上進(jìn)行調(diào)試,發(fā)現(xiàn)設(shè)計不當(dāng)及時修改,最終達(dá)到設(shè)計目的。第 2 章 搶答器的概述系統(tǒng)設(shè)計的功能基本功能(1)同時供 8 名選手比賽,分別用 8個按鈕 S0 S7表示。(2)設(shè)置一個系統(tǒng)清除和搶答控制開關(guān) S,該開關(guān)由主持人控制。(3)搶答器具有鎖存與顯示功能。
14、即選手按動按鈕,鎖存相應(yīng)的編號,揚(yáng)聲器發(fā)出 聲響提示,并在七段數(shù)碼管上顯示選手號碼。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編 號一直保持到主持人將系統(tǒng)清除為止。擴(kuò)展功能(1)搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30 秒)。當(dāng)主持人啟動“開始”鍵后,定時器進(jìn)行減計時。(2)參賽選手在設(shè)定的時間內(nèi)進(jìn)行搶答,搶答有效,定時器停止工作,顯示器上顯 示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止。(3)如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯 示器上顯示 00。搶答器的需求分析1、在搶答中,只有開始后搶答才有效,如果在開始搶答前搶答為無效。2、搶答限
15、定時間和回答問題的時間可在 199s 設(shè)定。3、可以顯示是哪位選手有效搶答和無效搶答,正確按鍵后有音樂提示。4、搶答時間和回答問題時間倒記時顯示,時間完后系統(tǒng)自動復(fù)位。5、按鍵鎖定,在有效狀態(tài)下,按鍵無效非法。第 3 章 硬件電路的設(shè)計本系統(tǒng)采用 AT89S51單片機(jī)作為核心, 控制系統(tǒng)的四個模塊分別為: 單片機(jī)最小系統(tǒng)、 顯示模塊、顯示驅(qū)動模塊、搶答開關(guān)模塊。搶答器原理框圖如圖 3.1 所示。圖 3.1 搶答器原理框圖 總體設(shè)計之后,然后進(jìn)行單元電路設(shè)計。單元電路設(shè)計分為電源電路設(shè)計、時鐘和復(fù) 位電路、鍵盤電路、顯示報警電路等??傠娐吩頌槭褂布娐吩O(shè)計盡可能合理,應(yīng)注意以下幾方面:盡可能采
16、用功能強(qiáng)的芯片,以簡化電路,功能強(qiáng)的芯片可以代替若干普通芯片, 隨著生產(chǎn)工藝的提高,新型芯片的的價格不斷下降,并不一定比若干普通芯片價格的總和 高。留有設(shè)計余地。在設(shè)計硬件電路時,要考慮到將來修改擴(kuò)展的方便。因為很少有 一錘定音的電路設(shè)計,如果現(xiàn)在不留余地,將來可能要為一點(diǎn)小小的修改或擴(kuò)展而被迫進(jìn) 行全面返工。程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計采用AT89S51單片機(jī)。RAM 空間, AT89S51內(nèi)部 RAM不多,當(dāng)要增強(qiáng)軟件數(shù)據(jù)處理功能時,往往覺得不 足。如果系統(tǒng)配置了外部 RAM,則建議多留一些空間。如選用 8155作 I/O 接口,就可以增 強(qiáng) 256 字節(jié) RAM如.
17、果有大批數(shù)據(jù)需要處理,則應(yīng)配置足夠的 RAM,如 6264,62256 等。隨 著軟件設(shè)計水平的提高,往往只要改變或增加軟件中的數(shù)據(jù)處理算法,就可以使系統(tǒng)功能 提高很多,而系統(tǒng)的硬件不必做任何更換就使系統(tǒng)升級換代。只要在硬件電路設(shè)計初期考 慮到這一點(diǎn),就應(yīng)該為系統(tǒng)將來升級留足夠的 RAM空間,哪怕多設(shè)計一個 RAM的插座,暫 不插芯片也好。I/O 端口:在樣機(jī)研制出來后進(jìn)行現(xiàn)場試用時,往往會發(fā)現(xiàn)一些被忽視的問題, 而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入 檢測端;有些物理量需要控制, 就必須增加輸出端。 如果在硬件電路設(shè)計就預(yù)留出一些 I/O 端口,雖然當(dāng)
18、時空著沒用,那么用的時候就派上用場了。時鐘頻率電路的設(shè)計時鐘電路是計算機(jī)的心臟, 它控制著計算機(jī)的工作節(jié)奏。 MCS-51單片機(jī)允許的時鐘頻 率是因型號而異的。晶振的選擇:6MHz的晶振,其機(jī)器周期是 2us。12MHz的晶振,其機(jī)器周期是 1us, 也就是說在執(zhí)行同一條指令時用 6MHz的晶振所用 的時間是 12MHz晶振的兩倍。為了提高整個系統(tǒng)的性能我選擇了 12MHz的晶振。振蕩方式的選擇:內(nèi)部振蕩方式, MCS-51內(nèi)部都有一個反相放大器, XTAL1、 XTAL2分別為反相放大器 輸入和輸出端,外接定時反饋元件以后就組成振蕩器,產(chǎn)生時鐘送至單片機(jī)內(nèi)部的各個部 件。這樣就構(gòu)成了內(nèi)部振蕩
19、方式。外部振蕩方式是把已有的時鐘信號引入單片機(jī)內(nèi)。這種方式適合用來使單片機(jī)的時鐘 與外部信號一致。在我的這個設(shè)計中沒有也無需與外部時鐘信號一致,所以我選擇了內(nèi)部振蕩方式,由 于單片機(jī)內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩 時鐘脈沖。晶振我選擇了 12MHz,相對于 6MHz的晶振,整個系統(tǒng)的運(yùn)行速度更快了。電容 器 C1、 C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值我選擇了30pF。內(nèi)部振蕩方式所得的時鐘信號穩(wěn)定性高。圖 3.3 時鐘電路的設(shè)計單片機(jī)必須在時鐘的驅(qū)動下才能工作。在單片機(jī)內(nèi)部有一個時鐘振蕩電路 , 只需要外 接一個振蕩源就能產(chǎn)生一定的時鐘信號送到單
20、片機(jī)內(nèi)部的各個單元 , 決定單片機(jī)的工作速 度。一般選用石英晶體振蕩器。此電路在加電大約延遲 10ms后振蕩器起振 ,在 XTAL2引腳 產(chǎn)生幅度為 3V左右的正弦波時鐘信號 , 其振蕩頻率主要由石英晶振的頻率確定。電路中兩 個電容 C1,C2的作用有兩個 : 一是幫助振蕩器起振 ; 二是對振蕩器的頻率進(jìn)行微調(diào)。 C1,C2 的典型值為 30PF。單片機(jī)在工作時 , 由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時鐘 信號的周期稱為時鐘周期。其大小是時鐘信號頻率的倒數(shù) , 常用 f osc表示。如時鐘頻率為 12MHz,即 f osc=12MHz,則時鐘周期為 1/12 s。復(fù)位電路的
21、設(shè)計復(fù)位電路的可靠性設(shè)計計算機(jī)在啟動運(yùn)行時都需要復(fù)位,使中央處理器 CPU和系統(tǒng)中的其它部件都處于一個 確定的初始狀態(tài),并從這個狀態(tài)開始工作。 MCS-51的復(fù)位輸入引腳 RST為 MCS-51提供了 初始化的手段,可以使程序從指定處開始執(zhí)行,在 MCS-51的時鐘電路工作后,只要 RST 引腳上出現(xiàn)超過兩個機(jī)器周期以上的高電平時, 即可產(chǎn)生復(fù)位的操作。 只要 RST 保持高電 平,則 MCS-51循環(huán)復(fù)位。只有當(dāng) RST由高電平變低電平以后, MCS-51才從 0000H地址開 始執(zhí)行程序。本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。MCS-51單片機(jī)有一個復(fù)位引腳 RST,它是施密特觸發(fā)輸入,當(dāng)振蕩
22、器起振后,該引腳 上出現(xiàn) 2 個機(jī)器周期(即 24 個時鐘周期)以上的高電平。使器件復(fù)位,只要 RST保持高 電平, MCS-51保持復(fù)位狀態(tài)。此時 ALE、/PSEN、P0、P1、P2、P3 口都輸出高電平。 RST 變?yōu)榈碗娖胶?,退出?fù)位, CPU從初始狀態(tài)開始工作。復(fù)位以后內(nèi)部寄存器的初始狀態(tài)為 ( SP=07,P0、P1、P2、P3為 0FFH外,其它寄存器都為 0。在 RST復(fù)位端接一個電容至 VccHE 一個電阻至 Vss,就能實現(xiàn)上電自動復(fù)位,對于 CMOS單片機(jī)只要接一個電容至 Vcc 即可。 如圖,在加電瞬間,電容通過電阻充電,就在 RST端出現(xiàn)一定時間的高電平,只要高電平
23、時間足夠長,就可以使 MCS-51有效地復(fù)位。 RST端在加電時應(yīng)保持的高電平時間包括 Vcc 的上升時間和振蕩器起振時間, Vcc 上升時間若為 10ms,振蕩器起振時間和頻率有關(guān)。 10MHz 時間約為 1ms,1MHz時約為 10ms,所以一般為了可靠地復(fù)位, RST 在上電時應(yīng)保持 20ms 以上的高電平。 RC 時間常數(shù)越大,上電時 RST 端保持高電平的時間越長。當(dāng)振蕩頻率為 12MHZ時,典型值為 C=10uF,R=8.2k .圖 3.4 上電復(fù)位電路人工復(fù)位除上電自動復(fù)位以外, 常常需要人工復(fù)位, 將一個按鈕開關(guān)并聯(lián)于上電自動復(fù)位電路, 按一下開關(guān)就 RST端出現(xiàn)一段時間的高電
24、平,即使器件復(fù)位。如圖所示。圖 3.5 上電和開關(guān)復(fù)位而我們在這次的畢業(yè)設(shè)計中運(yùn)用的人工復(fù)位電路 . 其中電平復(fù)位是通過 RST端經(jīng)電阻 和電源 Vcc 接通而實現(xiàn)的,按鍵手動電平復(fù)位電路如圖。當(dāng)時鐘頻率選用 12MHz時, C選 取 10uF,R選擇 1000 歐。顯示電路的設(shè)計顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡 可能豐富的信息,全靠軟件來解決。顯示模塊在系統(tǒng)硬件中的安排操作者主要設(shè)計從顯示設(shè)備上獲取微機(jī)系統(tǒng)的信息的,因此,操作者每操作一下,顯 示設(shè)備商都應(yīng)該有一定的反應(yīng)。這說明,顯示模塊與操作有關(guān),即監(jiān)控程序是需要調(diào)用顯 示模塊。不同的操作需要顯示不
25、同的內(nèi)容,這又說明各執(zhí)行模塊對顯示模塊的驅(qū)動方式是 不同的。另一方面,在操作者沒有進(jìn)行操作時,顯示內(nèi)容也是變化的,如顯示現(xiàn)場各物理 量的變化情況。這時顯示模塊不是由操作者通過命令鍵來驅(qū)動,而是由各類自動執(zhí)行的功 能模塊來驅(qū)動。自動執(zhí)行的各類模塊在安排在各種中斷子程序中,這就是說,各種中斷子 程序也要調(diào)用顯示模塊。如果監(jiān)控安排在中斷子程序中,兩者的要求就統(tǒng)一了,問題比較 好解決,如果監(jiān)控程序安排在主程序中,在監(jiān)控程序調(diào)用顯示模塊的過程中發(fā)生了中斷, 中斷子程序也調(diào)用顯示模塊,這時就容易出問題。一種比較妥善的辦法是只讓一處調(diào)用顯 示模塊,其他各處均不得直接調(diào)用顯示模塊,但有權(quán)申請顯示。這就要設(shè)置一
26、個顯示申請 標(biāo)志,當(dāng)某模塊需要顯示時,將申請標(biāo)志置位,同時設(shè)定有關(guān)顯示內(nèi)容(或指針) 。由于 一處調(diào)用顯示模塊,故不會發(fā)生沖突。為了使顯示模塊能及時反應(yīng)系統(tǒng)需要,應(yīng)將顯示模 塊安排在一個重復(fù)執(zhí)行的循環(huán)(如監(jiān)控循環(huán)或時鐘中斷子程序)中。當(dāng)監(jiān)控程序(鍵盤解 釋程序)安排在時鐘中斷子程序中時,處理比較方便,只要在監(jiān)控程序的匯合處調(diào)用顯示 模塊就可以了。這里將顯示功能集中到一起,作為一個功能模塊,就要求它的功能全面,能根據(jù)系統(tǒng) 軟件提供的信息自動完成顯示內(nèi)容的查找,變換和輸出驅(qū)動。這樣設(shè)計使得各功能模塊都 不必考慮顯示問題,只要給出一個簡單的信息(如顯示格式編碼)甚至不用再提供額外信 息,直接利用當(dāng)前
27、狀態(tài)變量和軟件標(biāo)志就可以完成所需的顯示要求。如果編寫這樣一個集中顯示模塊有困難,也可以將顯示模塊編小一些,只完成顯示緩 沖區(qū)的內(nèi)容輸出到顯示器件上的工作。這時各功能模塊在提出顯示申請時,還需要將顯示 內(nèi)容按需要的格式送入顯示緩沖區(qū)中。這樣分而治之比較容易編程,但要小心出現(xiàn)顯示混 亂。例如后臺程序需要調(diào)用顯示,將有關(guān)信息送入到現(xiàn)實緩沖區(qū)進(jìn)行顯示;中斷返回后, 后臺程序繼續(xù)送完后半部分顯示內(nèi)容, 但前半部分內(nèi)容已經(jīng)變了, 這樣就出現(xiàn)了顯示錯誤 解決的辦法是,在申請顯示前,先檢查是否已經(jīng)有顯示申請,如果有,就不再申請,等待 下次機(jī)會;如果沒有,則先申請標(biāo)志位,再將顯示內(nèi)容送入顯示緩沖區(qū)。這時就不必?fù)?dān)
28、心 其他前臺模塊來打擾了,就可以得到一次完整的顯示機(jī)會。在這里我們使用的是七段數(shù)碼管顯示,通常在顯示上我們采用的方法一般包括兩種: 一種是靜態(tài)顯示,一種是動態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡 單,但占用端口資源多;動態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相 對靜態(tài)顯示而言占用端口資源少。在本設(shè)計中根據(jù)實際情況采用的是動態(tài)顯示方法。并通過查表法,將其在數(shù)碼管上顯示出來,其中P0口為字型碼輸入端,P2口低 3 位為字選段輸入端。在這里我們通過查表將字型碼送給7 段數(shù)碼管顯示的數(shù)字,數(shù)碼管顯示原理如下:MOVA,R5MOVCA,A+DPTR;查字型MOVP2,#01
29、H;送位選碼MOVP0,A;送字型碼ACALLDELAY;調(diào)延時,去閃爍在七段數(shù)碼管顯示中可分為共陽極和共陰極兩種類型極。以共陰為例,要想a 段亮,向 a 段送 1 就是,返之送0,共陽剛好相反。掃描電路的實現(xiàn)鍵盤是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計方法也可以在文獻(xiàn) 和書籍中找到, 配合各種不同的硬件電路, 這些書籍中一般也提供了相應(yīng)的鍵盤掃描程序。 站在系統(tǒng)監(jiān)控軟件設(shè)計的立場上來看,僅僅完成鍵盤掃描,讀取當(dāng)前時刻的鍵盤狀態(tài)是不 夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控 現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤。它們各有
30、自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡單,而且在程序設(shè)計上也不復(fù)雜,一 般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件 電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上 有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺”現(xiàn) 象。這里采用最常用的方法,即延時重復(fù)掃描法,延時法的原理為:因為“毛刺”脈沖一 般持續(xù)時間短,約為幾 ms,而我們按鍵的時間一般遠(yuǎn)遠(yuǎn)大于這個時間,所以當(dāng)單片機(jī)檢測 到有按鍵動靜后再延時一段時間 ( 這里我們?nèi)?10ms)后再判斷此電平是否保持原狀態(tài), 如果 是則為有效按鍵,否則無效。按鈕輸入
31、的硬件處理按鈕的觸點(diǎn)在閉合和斷開時均會產(chǎn)生抖動,這是觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥 善處理,將會引起按鍵命令的錯誤執(zhí)行或重復(fù)執(zhí)行?,F(xiàn)在一般均用軟件延時的方法來避開 抖動階段,這一延時過程一般大于 5ms,例如取 10-20ms。如果監(jiān)控程序中的讀鍵操作安 排在主程序(后臺程序)或鍵盤中斷(外部中斷)子程序中,則該延時子程序便可直接插 入讀鍵過程中。如果讀鍵過程安排在定時中斷子程序中,就可省去專門的延時子程序,利 用兩次定時中斷的時間間隔來完成抖動處理。發(fā)聲我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機(jī)某個口 線的“高”電平或“低”電平,則在該口線上就能產(chǎn)生一定頻率的矩形
32、波,接上喇叭就能 發(fā)出一定頻率的聲音,若再利用延時程序控制“高” “低”電平的持續(xù)時間,就能改變輸 出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。系統(tǒng)復(fù)位使 CPU進(jìn)入初始狀態(tài),從 0000H 地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。從實現(xiàn)系統(tǒng)復(fù) 位的方法來看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過CPU外部的硬件電路給 CPU的 RESET端加上足夠時間的高電位才能實現(xiàn)。上電復(fù)位,人工按鈕復(fù)位和硬件 看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對片內(nèi)通用 寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還能自動清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正 常工作,這樣一個事實卻容易被不
33、少編碼人員所忽視。軟件復(fù)位就是用一系列指令來模擬 硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從 0000H地址開始執(zhí)行。對各專用寄存器的復(fù)位 操作是容易的,也沒有必要完全模擬,可根據(jù)實際需要去主程序初始化過程中完成。而對 中斷激活標(biāo)志的清除工作常被遺忘,因為它沒有明確的位地址可供編程。有的編程人員用 020000(LJMP 0000H )作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向 0000H地址就完成了軟件復(fù)位,就 是這類錯誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須進(jìn)行的工作,這時 程序出錯完全有可能發(fā)生在中斷子程序中, 中斷激活標(biāo)志已置位, 它將阻止同級中斷響應(yīng)。 由于軟件看門是高級中斷, 它將阻止說
34、要中斷響應(yīng), 由此可見清除中斷激活標(biāo)志的重要性。在所有的指令中,只有 RETI 指令能夠清除中斷激活標(biāo)志。前文各處提案到的出錯處 理程序 ERR主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。有復(fù)位時系統(tǒng)的歷史狀況,可將復(fù)位分為“冷啟動”和“熱啟動” ?!袄鋯印睍r,系 統(tǒng)的狀態(tài)全部無效,進(jìn)行徹底的初始化操作;而“熱啟動”時,對系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行修 復(fù)和有選擇的初始化。系統(tǒng)初次上電投入運(yùn)行時,必須是“冷啟動” ,以后由抗干擾措施 引起的復(fù)位操作一般均為“熱啟動” 。為了使系統(tǒng)能正確決定采用何種啟動方式,常用上 電標(biāo)志來區(qū)分,如圖 3.6 所示。第 4 章 軟件設(shè)計系統(tǒng)軟件分為主程序、中
35、斷服務(wù)程序和子程序三部分。主程序設(shè)計主程序流程框圖如圖 4.1 所示。圖 4.1 主程序流程框圖 主程序是系統(tǒng)上電或復(fù)位后首先要執(zhí)行的程序,主程序主要完成系統(tǒng)的初始化、掃描 顯示、掃描鍵盤等工作。程序流程如圖 4.1 所示,對單片機(jī)進(jìn)行初始化,包括設(shè)置堆棧、 倒計時 30S設(shè)置、定時器 T0設(shè)置,外部中斷設(shè)置, 鍵盤掃描設(shè)置, 初始化狀態(tài)時顯示 000。倒計時 30s 子程序設(shè)計定時器 T0 中斷子程序框圖如圖 4.2 所示。圖 4.2 定時器 T0 中斷子程序框圖首先要把累加器 ACC和程序狀態(tài)字 PSW放入堆棧保護(hù),然后進(jìn)行倒計時的設(shè)置,設(shè)置 為 30s 倒計時,先看看 1s 到?jīng)],如果到
36、,倒計時自動減 1 ,并在數(shù)碼管顯示,再判斷倒計 時的 30s 到?jīng)],沒到繼續(xù)倒計時并顯示,倒計時計完為止,然后彈出累加器ACC與程序狀態(tài)字 PSW,中斷退出,返回到中斷入口處。外部中斷 T1 中斷子程序設(shè)計外部 T1 中斷子程序框圖如圖 4.3 所示。圖 4.3 外部 T1 中斷子程序框圖外部中斷 T1 中斷時要先把累加器 ACC和程序狀態(tài)字 PSW放入堆棧保護(hù),然后把 20H 標(biāo)志位置 0,再調(diào)用顯示程序, T0開始定時, T1停止,然后設(shè)置 30S倒計時,設(shè)置之后彈 出累加器 ACC與程序狀態(tài)字 PSW,中斷退出,返回到中斷入口處。定時器 T1 中斷子程序設(shè)計定時器 T1 中斷程序框圖如
37、圖 4.4 所示。圖 4.4 定時器 T1 中斷程序框圖定時器 T1 中斷時要先把累加器 ACC和程序狀態(tài)字 PSW放入堆棧保護(hù),然后就是響鈴, 接上喇叭,利用延時程序控制“高”“低”電平的持續(xù)時間,就能改變輸出頻率,從而改 變音調(diào),使喇叭發(fā)出不同的聲音。設(shè)置之后彈出累加器 ACC與程序狀態(tài)字 PSW,中斷退出, 返回到中斷入口處。選手按鍵程序設(shè)計鍵盤掃描程序框圖如圖 4.5 所示。圖 4.5 鍵盤掃描程序框圖鍵盤掃描時先判斷 20H 單元和 21H 單元標(biāo)志位是否為 0,是的話說明允許鍵盤掃描, 否的話即不允許鍵盤掃描,不允許掃描就返回調(diào)用,結(jié)束,允許掃描時開始掃描 P1 口看 有沒有選手按
38、下答題鍵,按下時此口變?yōu)榈碗娖?0,如果沒有選手按鍵,則判斷 P1 口有沒 有掃描完,沒有掃描完就繼續(xù)掃描,掃描完沒有選手按下就檢查20H 和 21H。數(shù)碼管顯示程序設(shè)計顯示子程序框圖如圖 4.6 所示。圖 4.6 顯示子程序框圖 進(jìn)入顯示子程序先把選手的號碼顯示于 01數(shù)碼管,然后是選手的答題時間十秒鐘倒計 時顯示,把個位顯示在 02數(shù)碼管上,把十位顯示在 04數(shù)碼管上,同時把倒計時的數(shù)值減 1 后存在 61H和62H中,判斷倒計時是否結(jié)束到 0,結(jié)束的話返回調(diào)用,倒計時沒有結(jié)束即繼 續(xù)倒計時。第 5 章 軟硬件綜合調(diào)試軟件仿真為了更好地完成課程設(shè)計這一重要教學(xué)環(huán)節(jié),我們采用 Proteus
39、 軟件與 Keil 軟件整 合構(gòu)建單片機(jī)虛擬實驗平臺。首先在 PC上利用 Proteus 軟件自己搭建硬件電路,并利用 系統(tǒng)提供的功能完成電路分析、系統(tǒng)調(diào)試和輸出顯示的硬件設(shè)計部分;同時在 Keil 軟件 中編制程序,進(jìn)行相應(yīng)的編譯和仿真,完成系統(tǒng)的軟件設(shè)計部分。當(dāng)系統(tǒng)的設(shè)計工作完成 后,我們可以在 PC上看到最終的運(yùn)行效果。最后再通過 Proteus 設(shè)計 PCB,再完成真正硬 件的調(diào)試。采用以上方案具有以下優(yōu)勢:有利于促進(jìn)課程和教學(xué)改革,更有利于人才的培養(yǎng);從 經(jīng)濟(jì)性、可移植性、可推廣性角度講,建立這樣的課程設(shè)計平臺是非常有意義的;利用仿 真系統(tǒng),可以節(jié)約開發(fā)時間和開發(fā)成本;利用仿真系統(tǒng),
40、具有很大的靈活性和可擴(kuò)展性。Keil uVsion2 軟件仿真Keil C51標(biāo)準(zhǔn) C編譯器為 8051 微控制器的軟件開發(fā)提供了 C語言環(huán)境, 同時保留了匯 編代碼高效 ,快速的特點(diǎn)。 C51編譯器的功能不斷增強(qiáng) , 使你可以更加貼近 CPU本身, 及其 它的衍生產(chǎn)品。 C51已被完全集成到 uVision2 的集成開發(fā)環(huán)境中 , 這個集成開發(fā)環(huán)境包含: 編譯器,匯編器,實時操作系統(tǒng) ,項目管理器 ,調(diào)試器。 uVision2 IDE可為它們提供單一而靈 活的開發(fā)環(huán)境。 C51 V7 版本是目前最高效、靈活的 8051 開發(fā)平臺。它可以支持所有 8051 的衍生產(chǎn)品 ,也可以支持所有兼容的仿
41、真器 , 同時支持其它第三方開發(fā)工具。因此 ,C51 V7 版本無疑是 8051 開發(fā)用戶的最佳選擇。圖 5.1 Keil uVsion2 仿真圖Protues 7 professional 軟件仿真Proteus ISIS 是英國 Labcenter 公司開發(fā)的電路分析與實物仿真軟件。它運(yùn)行于 Windows操作系統(tǒng)上,可以仿真、分析 (SPICE) 各種模擬器件和集成電路, Proteus 是目前 最好的模擬單片機(jī)外圍器件的工具,它可以仿真 51 系列、 AVR,PIC等常用的 MCU及其外 圍電路(如LCD,RAM,ROM,鍵盤,馬達(dá),LED,AD/DA,部分 SPI器件,部分 IIC
42、器件.)Proteus 與其它單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī) CPU的工作情況,也能仿真單片機(jī) 外圍電路或沒有單片機(jī)參與的其它電路的工作情況。該軟件的特點(diǎn)是:實現(xiàn)了單片機(jī)仿真和 SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、 單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、 RS232動態(tài)仿真、 I2C 調(diào)試器、 SPI 調(diào)試器、鍵盤 和 LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類型有: 68000系列、 8051系列、 AVR系列、PIC12 系列、PIC16系列、PIC18系列、Z80 系列、HC11系
43、列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同 時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些 功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如 Keil C51 uVision2 等軟件。具有強(qiáng)大的原理圖繪制功能??傊撥浖且豢罴瘑纹瑱C(jī)和SPICE 分析于一身的仿真軟件,功能極其強(qiáng)大。仿真圖如下圖 5.2 Protues 7 professional仿真圖軟件仿真過程說明在軟件調(diào)試過程中,第一階段,我根據(jù)程序流程圖在草稿上寫出主體程序,然后逐步 細(xì)化,采用模塊化程序設(shè)計方法,如初始子程序,延時子程序等等,這樣簡潔明
44、了,很方 便查找問題;第二階段,我將所寫的程序輸入到電腦上,利用 Keil 軟件調(diào)試:新建項目, 保存,新建文件,編譯,仿真。在軟件仿真中,我在工程項目的 Source Group1 母文件夾 下添加了兩個子文件(一個原文件,一個修改后的文件) ,然后點(diǎn)擊 Rebuild All Target Files 編譯圖標(biāo),編譯器馬上給我提示,程序正確!這個軟件使得程序很快得到驗證,也 為我的設(shè)計提高了效率!心得體會與結(jié)果通過這次對搶答器控制系統(tǒng)的設(shè)計制作,讓我在電路設(shè)計的基本上更進(jìn)一步,也讓我 了解了關(guān)于數(shù)字鐘的原理與設(shè)計理念。要設(shè)計一個成功電路首先進(jìn)行軟件模擬仿真在進(jìn)行 實際的電路制作 , 但是最
45、后的成品不一定會成功,因為,在實際接線中會有各種各樣的條 件制約著。而且,在仿真中無法成功的電路接法,在實際中因為芯片本身的特性而能夠成 功,所以,在設(shè)計時應(yīng)考慮兩者的差異, 從中找出最適合的設(shè)計方法。 通過這次自主學(xué)習(xí),讓我對各種電路都有了大概的了解,也學(xué)會了幾個軟件的用法。所以說,坐而言不如立而行,對于這些電路還是應(yīng)該自己動手實際操作才會有深刻的理解。本文研究與設(shè)計的八路多功能搶答器采用了通用的電子元器件,利用AT89S51單片機(jī)及外圍接口實現(xiàn)搶答系統(tǒng),利用單片機(jī)的定時器 / 計數(shù)器定時和記數(shù)的原理,將軟、硬件 有機(jī)地結(jié)合起來,使得系統(tǒng)能夠正確地進(jìn)行計時,同時使數(shù)碼管能夠正確地顯示時間。計 分接收的單片機(jī)部分利用匯編語言編寫。設(shè)計時,首先通過在線編程,然后具體安裝,仿 真,完全實現(xiàn)了設(shè)計功能。本設(shè)計中,利用常規(guī)的單片機(jī)掃描識別的方法。通過系統(tǒng)的仿真研究得出。 由于采用匯編語言設(shè)計電路,所以本設(shè)計在編程成功后,硬件電路基本上不需要調(diào)試 就可正常使用。整個設(shè)計通過了軟件的仿真。我想這對于自己以后的學(xué)習(xí)和工作都會有很大的幫助。 在這次設(shè)計中遇到了很多實際性的問題,在實際設(shè)計中才發(fā)現(xiàn),書本上理論性的東西與在 實際運(yùn)用中的還是有一定的出入的,所以有些問題不但要深入地理解,而且要不斷地更正 以前的錯誤思維。對于單片機(jī)設(shè)計,其硬件電路是比較
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度汽車租賃合同租賃車輛保險責(zé)任條款3篇
- 2024年度專利申請權(quán)轉(zhuǎn)讓合同標(biāo)的為新型發(fā)明3篇
- 2024年度離婚財產(chǎn)分割與子女撫養(yǎng)費(fèi)用支付標(biāo)準(zhǔn)合同參考3篇
- 2024年度個人對個人借款協(xié)議書合同范本與信用評估3篇
- 2024年模具加工定制協(xié)議示例匯編版B版
- 2024年版:巖鹽采購合同
- 2024年個人信息跨境傳輸數(shù)據(jù)安全保密協(xié)議2篇
- 2024年標(biāo)準(zhǔn)型機(jī)電安裝工程承包合同模板一
- 2024年標(biāo)準(zhǔn)師徒合作協(xié)議范本下載版
- 2024版【勞動合同法】勞務(wù)派遣合同簽訂流程2篇
- 參事年終工作總結(jié)匯報
- 北師大版七年級數(shù)學(xué)上冊 期末重難點(diǎn)真題特訓(xùn)之易錯必刷題型(96題32個考點(diǎn))(原卷版+解析)
- 旋挖樁施工培訓(xùn)課件
- 團(tuán)餐行業(yè)現(xiàn)狀分析報告
- 質(zhì)量安全管理措施 (全面)
- 氫能職業(yè)規(guī)劃
- 2024年詳解《中華人民共和國愛國主義教育法》主題教育課件
- 放射科應(yīng)急救援預(yù)案及流程
- 危險化學(xué)品培訓(xùn)計劃
- 鐵路檢車員個人工作總結(jié)2篇
- 京東財務(wù)部門組織架構(gòu)
評論
0/150
提交評論