版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本科生畢業(yè)論文本科生畢業(yè)論文題題 目目單片機(jī)教學(xué)實驗板電路設(shè)計 系系 別別計算機(jī)與信息工程學(xué)院 班班 級級 電子信工程 姓姓 名名 學(xué)學(xué) 號號 答辯時間答辯時間 目 錄摘要.11. 單片機(jī)實驗平臺的現(xiàn)狀.41.1 單片機(jī)課程的實際應(yīng)用 .41.2 單片機(jī)教學(xué)實驗的重要性 .41.3 目前采用的單片機(jī)實驗平臺 .41.4 教學(xué)實驗平臺一般存在的問題 .52. 自作實驗板的必要性和優(yōu)點.63. 單片機(jī)常做教學(xué)實驗.63.1 I/O 口直接使用和簡單的 I/O 口擴(kuò)展實驗.63.2 顯示器接口實驗 .73.3 A/D 轉(zhuǎn)換器實驗.73.4 D/A 轉(zhuǎn)換器實驗.73.5 定時器計數(shù)器實驗 .73.6
2、存儲器實驗 .83.7 燈模擬實驗 .94. 硬件系統(tǒng)設(shè)計.94.1 STC98C52RC 的簡單介紹.94.2 DA 模塊.114.3 AD 模塊.134.4 顯示和輸出模塊 .144.5 復(fù)位模塊 .164.6 電源模塊 .164.7 晶振模塊 .174.8 鍵盤模塊 .184.9 溫度傳感器模塊 .184.10 串行通信模塊 .195. 軟件設(shè)計.205.1 PROTEUS 軟件.205.2 KEIL 軟件.215.3 程序設(shè)計 .215.3.1 蜂鳴器程序 .215.3.2 矩陣鍵盤程序 .225.3.3 流水燈程序 .235.3.4 數(shù)模轉(zhuǎn)換程序 .245.3.5 數(shù)碼管動態(tài)掃描程序
3、 .255.3.6 溫度測試程序 .266. 仿真和實物演示.277. 總結(jié).28謝 辭.30參考文獻(xiàn).31附錄 1 .32附錄 2 .531單片機(jī)教學(xué)實驗板電路設(shè)計摘要: :隨著大規(guī)模集成電路的發(fā)展,組成微型計算機(jī)的各功能部件:中央處理器、存儲器、串/并行輸入輸出接口、定時器/計數(shù)器、中斷控制器,以及許多特殊功能單元,對于系統(tǒng)研發(fā)和調(diào)試人員來說,必須具有一套功能強(qiáng)大,操作方便的單片機(jī)實驗板,才能方便有效的完成單片機(jī)應(yīng)用系統(tǒng)的研制和系統(tǒng)調(diào)試。對于學(xué)生來說我們應(yīng)該設(shè)計一個功能強(qiáng)大,方便攜帶的單片機(jī)教學(xué)實驗板。本文首先對單片機(jī)實驗平臺做了簡述,并介紹了自制實驗板的必要性,然后對單片機(jī)常做的教學(xué)實驗
4、進(jìn)行了分析,其次根據(jù)硬件系統(tǒng)的設(shè)計介紹了 DA 模塊、AD模塊、顯示輸入輸出模塊、復(fù)位模塊、電源模塊、晶振模塊、鍵盤模塊、溫度傳感器模塊、串行通信模塊。接著對實驗板所需軟件和程序進(jìn)行了分析。最后測試自制實驗板并演示出效果,經(jīng)過測試本系統(tǒng)基本滿足要求。關(guān)鍵詞:單片機(jī);教學(xué)實驗板;STC89C52RC;模塊2Single-Chip Computer Teaching Experiment in Circuit DesignAbstract: As the development of LSI microcomputer, consisting of different functional par
5、ts: CPU, memory, serial / parallel input output interface, timer / counter, interrupt controller, as well as many special function unit, for system development and debugging personnel, must have a set of powerful function, convenient operation of the board, in order to facilitate the effective compl
6、etion of SCM application system design and system debugging. For the students, we should design a powerful function, convenient carrying the single-chip computer teaching experiment board. Based on SCM experimental platform to do a paper, and introduced the experimental board of necessity, and then
7、the SCM often do the experimental teaching were analyzed, based on the design of hardware system introduced DA module, AD module, display module, input and output reset module, power supply module, crystal oscillator module, keyboard module, temperature the sensor module, serial communication module
8、. Then the experimental board required software and procedures are analyzed. The final test experiment board and demonstrate the effect, after testing the system to meet the basic requirements.Key words:Single-Chip Computer; Teaching Experiment Board; STC89C52RC;Modular隨著大規(guī)模集成電路的發(fā)展,組成微型計算機(jī)的各功能部件:中央處
9、理器、存儲器、串/并行輸入輸出接口、定時器/計數(shù)器、中斷控制器,以及許多特殊3功能單元,單片機(jī)是指一個集成在一塊芯片上的完整計算機(jī)系統(tǒng)。單片機(jī)也被稱為微控制器(Microcontroller),是因為它最早被用在工業(yè)控制領(lǐng)域。它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜,為學(xué)習(xí)和應(yīng)用以及開發(fā)提供了便利條件。單片機(jī)的基礎(chǔ)知識和技能的學(xué)習(xí)內(nèi)容,蘊(yùn)含著數(shù)學(xué)、物理、計算機(jī)信息技術(shù)、數(shù)字信息技術(shù)、電子技術(shù)都學(xué)科知識的聯(lián)系,有利于多方面的教育內(nèi)容和學(xué)生綜合視野的形成。這些內(nèi)容具有廣泛的生長點,有利于內(nèi)容的橫向和縱向聯(lián)
10、系。同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。所以作為一名電子專業(yè)的學(xué)生學(xué)習(xí)單片機(jī)是非常有必要的。1. 單片機(jī)實驗平臺的現(xiàn)狀1.1 單片機(jī)課程的實際應(yīng)用單片機(jī)的誕生標(biāo)志著計算機(jī)正式形成了通用計算機(jī)系統(tǒng)和嵌入式計算機(jī)系統(tǒng)兩個分支。通用計算機(jī)系統(tǒng)主要用于海量高速數(shù)值運(yùn)算,不必兼顧控制功能,其數(shù)據(jù)總線的寬度不斷增加,從8位、16位迅速過渡到32位,并且不斷提高運(yùn)算速度和完善通用操作系統(tǒng),以突出其高速海量數(shù)值運(yùn)算的能力,在數(shù)據(jù)處理、模擬仿真、人工智能、圖像處理、多媒體、網(wǎng)絡(luò)通信中得到了廣泛應(yīng)用;單片機(jī)作為最典型的嵌入式系統(tǒng),由于其微小的體積和極低的成本,廣泛應(yīng)用于家用電器、機(jī)器人、儀器儀表
11、、工業(yè)控制單元、辦公自動化設(shè)備及通信產(chǎn)品中,成為現(xiàn)代電子系統(tǒng)中最重要的智能化工具。1.2 單片機(jī)教學(xué)實驗的重要性“單片機(jī)原理與應(yīng)用”是一門許多工科專業(yè)學(xué)生必修的專業(yè)基礎(chǔ)課,是一門理論性和實踐性都很強(qiáng)的課程。這門課程介紹單片機(jī)的硬件結(jié)構(gòu)、工作原理、匯編語言程序設(shè)計及接口技術(shù)內(nèi)容,比較抽象,邏輯性強(qiáng)。在教學(xué)中學(xué)生需要做大量的軟硬件實驗。目前采用的教材多屬于CS-51系列,程序源代碼用匯編語言書寫,教學(xué)內(nèi)容與實際產(chǎn)品嚴(yán)重脫離。因此單片機(jī)課程在教學(xué)內(nèi)容和教學(xué)方法等方面越來越不能適應(yīng)單片機(jī)技術(shù)領(lǐng)域的發(fā)展需求,不加以改進(jìn),勢必影響我們培養(yǎng)應(yīng)用型人才的培養(yǎng)目標(biāo)。當(dāng)前國家積極倡導(dǎo)的素質(zhì)教育和創(chuàng)新工程,旨在提高
12、受教育者的素質(zhì),培養(yǎng)將所學(xué)知識轉(zhuǎn)化為生產(chǎn)力、創(chuàng)造力和經(jīng)濟(jì)效益4的能力。為了更好地適應(yīng)發(fā)展潮流和就業(yè)需要,培養(yǎng)學(xué)生的實踐能力和創(chuàng)新能力,就必須要有一個很好的實驗環(huán)境,而要有一個好的實驗環(huán)境就必須創(chuàng)建一個較好的平臺。單片機(jī)本身就是一個知識平臺,在這個知識平臺上如果總是簡單地進(jìn)行重復(fù)別人的勞動,即不能調(diào)動學(xué)生學(xué)習(xí)的積極性,也很難實現(xiàn)對學(xué)生能力的培養(yǎng)。1.3 目前采用的單片機(jī)實驗平臺目前,國內(nèi)單片機(jī)教學(xué)實驗平臺種類繁多,總體上分為兩類:(1)綜合型單片機(jī)實驗平臺,典型特征是把全部實驗項目集中在一塊實驗電路板上。這種單片機(jī)綜合實驗平臺的優(yōu)點是學(xué)生進(jìn)行實驗時連接線較少,在時間上可快速進(jìn)入實驗狀態(tài),減少因?qū)W
13、生接錯連接線和連接線接觸不良的情況;缺點是實驗項目基本固定,不易擴(kuò)展,實驗的靈活性較差。如浙江省澉浦恒堅電器設(shè)備廠出品的HJPC-A型單片機(jī)綜合實驗箱;湖北省單片機(jī)實驗室開發(fā)的MCS-51B型綜合單片機(jī)實驗平臺;江蘇省啟東計算機(jī)總廠開發(fā)的DICE-598K超強(qiáng)型三合一單片機(jī)微機(jī)開發(fā)實驗平臺;北京金一倍科技發(fā)展有限公司開發(fā)的DP-51PRo單片機(jī)綜合仿真實驗平臺等。(2)模塊化單片機(jī)實驗平臺,典型特征是采用積木式結(jié)構(gòu),由一塊主板連接一塊或多塊實驗板組成。主板是在單片機(jī)基本系統(tǒng)的基礎(chǔ)上擴(kuò)展多樣化的接口和總線,具有驅(qū)動多個外圍接口芯片的能力,提供單片機(jī)的基本功能實驗。一塊實驗板對應(yīng)1-3個擴(kuò)展實驗項
14、目,實驗板與主板之間用電纜連接,可以互相通信。如清華大學(xué)科教儀器廠生產(chǎn)的TMD-1型模塊化單片機(jī)實驗平臺。這種模塊化單片機(jī)實驗平臺的優(yōu)點是主板可單獨或與一塊及以上實驗板相連,電路簡單,元器件少,容易消化理解,降低了初學(xué)的難度和實驗項目靈活,根據(jù)學(xué)生專業(yè)和程度可方便地擴(kuò)展實驗,可較好地用在學(xué)生的課程實驗、畢業(yè)設(shè)計和電子設(shè)計競賽等各個不同的實驗與實踐階段。缺點是連接電纜經(jīng)常拔插,易出現(xiàn)接觸不良和連接錯誤及連接電纜花費時間較多的情況。1.4 教學(xué)實驗平臺一般存在的問題(1)功能全面,系統(tǒng)復(fù)雜的單片機(jī)實驗平臺對作為學(xué)生的初學(xué)者來說并不適宜。雖然有著非常豐富的實驗項目,但這些項目一般都是相互獨立的,或者
15、說5聯(lián)系不緊密,沒有像一個實際應(yīng)用項目那樣成為一個完整的控制系統(tǒng),學(xué)生學(xué)完過后只有一些片面的認(rèn)識,不能形成系統(tǒng)的概念,不能有效培養(yǎng)學(xué)生開發(fā)簡單實用的單片機(jī)應(yīng)用系統(tǒng)的能力,同時是也使得學(xué)生的動手能力得不到很大的提高,市場化的單片機(jī)枯燥,難以激發(fā)學(xué)生學(xué)習(xí)的興趣。(2)市場化的單片機(jī)實驗平臺為了最大限度的降低生產(chǎn)成本,往往采用廉價相對落后的器件和工藝,不符合電子技術(shù)的發(fā)展方向,導(dǎo)致學(xué)生在學(xué)習(xí)過程當(dāng)中不能了解到先進(jìn)的技術(shù)和工藝。如大量使用CT74LS系列和4000系列器件,很少用更加先進(jìn)的CT74HC系列器件;普遍采用像8279、8255等落后甚至淘汰的元件,很少采用先進(jìn)的HD7279A等元件;大量使
16、用直插式元件,較少采用貼片元件和工藝。(3)普遍沒有考慮系統(tǒng)在干擾情況下的穩(wěn)定性。(4)現(xiàn)在的市場單片機(jī)都是獨立的,缺少擴(kuò)展,在沒有擴(kuò)展的情況下,在實驗中我們就不能很好的完成我們想要實現(xiàn)的內(nèi)容,這樣的局限性不是我們教學(xué)中所需要的。2. 自作實驗板的必要性和優(yōu)點單片機(jī)課程的實驗包括編程和硬件接口兩大類,對于編程軟件部分我們可以采用 Keil 軟件進(jìn)行編譯。但是實驗和實習(xí)都必須需要可靠的接口電路或開發(fā)產(chǎn)品電路。這些電路如果是在實驗和實習(xí)中使用面包版插接,插接的元件和連線都很多。這樣一方面由于學(xué)生很難掌握插接的走線,不可避免地存在走線的松散、紊亂、短路、開路都現(xiàn)象;另一方面面包板長期的反復(fù)使用也難以
17、確保每一個插孔都能可靠的插接。因此,實驗或?qū)嵙?xí)過程中學(xué)生插接的接口電路或開發(fā)產(chǎn)品電路必然存在連接故障,這些故障又會由于走線的松散、紊亂而難以查找和排除,常常出現(xiàn)一個故障后又出現(xiàn)另一個新的故障的情況,因此造成實驗和實習(xí)效果的不理想,不利于教學(xué)工作的順利和教學(xué)質(zhì)量的提高,很顯然,如果將實驗線路制作成印刷線路板,使用的電路器件一般都采用焊接或用插槽插接就會很好的解決線路連接不可靠的問題,從而改變上述不利的教學(xué)局面。但是,實驗和學(xué)習(xí)項目很多,線路各不相同,每個實驗線路都制作一個獨立的實驗板又不現(xiàn)實,從而把各種實驗線路有機(jī)的按模塊組合在一起,制作成一個多功能的實驗板就十分必要了。自己制作單片機(jī)實驗板能夠
18、讓同學(xué)們熟練掌握6單片機(jī)的原理和用途,以及熟悉開發(fā)單片機(jī)應(yīng)用系統(tǒng)的流程和方法。自己由淺入深開始做起,讓學(xué)生對單片機(jī)產(chǎn)生濃厚的興趣。將抽象變?yōu)榫唧w。學(xué)習(xí)單片機(jī)不僅僅是編程,還必須要有制作電路的硬功夫,只對現(xiàn)成的實驗板插插拔拔對硬件電路一無所知,最終學(xué)習(xí)的單片機(jī)知識只能是紙上談兵不能實用的。3. 單片機(jī)常做教學(xué)實驗 3.1 I/O 口直接使用和簡單的 I/O 口擴(kuò)展實驗本實驗主要是了解 P1 口作為輸入、輸出方式時,CPU 對 P1 口的操作方式,并學(xué)習(xí) P1 口做輸入輸出時的使用方法且在單片機(jī)系統(tǒng)擴(kuò)展簡單 I/O 接口的方法。具體實驗方法和現(xiàn)象是:(1)將 P1 口做輸出口,接八只發(fā)光二極管,編
19、寫程序,使得發(fā)光二極管循環(huán)點亮。(2)將 P1 口做輸入口,接八只撥動開關(guān),擴(kuò)展 74LS273 做輸出口,編寫程序,讀取開關(guān)狀態(tài),并將此狀態(tài)通過二極管顯示出來。3.2 顯示器接口實驗本實驗主要掌握 8031 單片機(jī)輸入輸出接口擴(kuò)展方法及熟悉 8255A 芯片性能,并熟悉七段 LED 顯示器工作原理。具體實現(xiàn)方法:(1)設(shè)計調(diào)試出能顯示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 的段數(shù)據(jù)表。(2)編寫一個 6 位 LED 顯示器的通用顯示子程序。該子程序的功能是將8031 片內(nèi) RAM 中顯示緩沖區(qū)的內(nèi)容在 LED 顯示器顯示。(3)編寫一個主程序,使該主程序先對顯示緩沖區(qū)
20、設(shè)置初值,然后循環(huán)用所設(shè)計的顯示子程序,使顯示器顯示數(shù)字。3.3 A/D 轉(zhuǎn)換器實驗本實驗主要了解 A/D 轉(zhuǎn)換芯片 ADC0809 的轉(zhuǎn)換性能及編程方法,通過實驗知道單片機(jī)如何進(jìn)行數(shù)據(jù)采集。具體實現(xiàn)方法:利用實驗箱上的ADC0809、8255A、74LS373、電位器、LED 顯示器等,設(shè)計數(shù)據(jù)采集系統(tǒng)。實驗箱上的三個電位器可以提供三路模擬電壓信號輸入,編制程序,將模擬量轉(zhuǎn)換7成數(shù)字量,進(jìn)行數(shù)據(jù)采集。3.4 D/A 轉(zhuǎn)換器實驗本實驗主要了解 D/A 轉(zhuǎn)換的基本原理,知道單片機(jī)和 DAC0832 芯片設(shè)計D/A 轉(zhuǎn)換器的接口電路設(shè)計及 D/A 轉(zhuǎn)換程序的方法。具體實現(xiàn)方法:利用實驗箱的 DAC
21、0832 芯片設(shè)計 D/A 轉(zhuǎn)換器,編制程序,產(chǎn)生鋸齒波、三角波。用示波器觀察輸出波形,或利用萬用表測試實驗電路的輸出端 OUT,應(yīng)能測出不斷加大或減小的電壓值。3.5 定時器計數(shù)器實驗本實驗主要了解 8051 內(nèi)部定時/計數(shù)器的使用和編程方法,掌握中斷處理程序的編寫方法,了解脈寬調(diào)制的原理,學(xué)習(xí)計數(shù)器各種工作方式的用法,掌握 8253 定時器的時序關(guān)系并知道 8253 的工作方式和編程方法。具體實現(xiàn)方法:(1)內(nèi)部計數(shù)器在單片機(jī)中主要有定時器和計數(shù)器兩個功能。實驗使用的定時器,定時為一秒鐘。CPU 運(yùn)用定時中斷方式,實現(xiàn)每一秒鐘輸出狀態(tài)發(fā)生一次反轉(zhuǎn),即發(fā)光管每隔一秒鐘亮一次。(2)PWM 是
22、單片機(jī)上常用的模擬量輸出方法,通過外接的轉(zhuǎn)換電路,可以將脈沖的占空比變成電壓。程序中通過調(diào)整占空比來調(diào)節(jié)輸出模擬電壓。占空比是制脈沖中高電平與低電平的寬度比。(3)8051 內(nèi)部有兩個 16 位的定時/計數(shù)器 T0 和 T1,16 位是指定時/計數(shù)器內(nèi)的計數(shù)器是 16 位的,由 2 個 8 位計數(shù)器組成。本實驗用的是 T0,它的 2 個8 位計數(shù)器是 TH0 和 TL0,TH0 是高 8 位,TL0 是低八位。所謂加法計數(shù)器,指其計數(shù)的方法是對計數(shù)脈沖每次加 1。在其它單片機(jī)和可編程計數(shù)器芯片中,有的計數(shù)器是減法計數(shù)器,如 8155 的 14 位計數(shù)器,8253 的 16 計數(shù)器,即先設(shè)置計數(shù)
23、器的初值,然后對計數(shù)器脈沖每次減 1,減到 0,計數(shù)器溢出。而8051 內(nèi)部的計數(shù)器是加法計數(shù)器,需先設(shè)置計數(shù)器的初值,本實驗設(shè)置計數(shù)器初值為 0,然后對計數(shù)脈沖每次加 1,加到計數(shù)器滿后溢出。83.6 存儲器實驗本實驗主要掌握 89C51 單片機(jī)擴(kuò)展外 ROM,了解 EEPROM、FLASH ROM、靜態(tài) RAM 的使用方法,學(xué)會 93C46 的操作指令和掌握 93C46 讀/寫程序的編寫。具體實現(xiàn)方法:MCS-51 型單片機(jī) ROM 尋址范圍為 64KB,其中 4KB 在片內(nèi),60KB在片外(8031 芯片無內(nèi) ROM,全部在片外) 。當(dāng)單片機(jī)內(nèi)外 ROM 選擇 EA 腳保持高電平時,先訪
24、問內(nèi) ROM,但當(dāng)程序計數(shù)器值超過 4KB 時,將自動轉(zhuǎn)向執(zhí)行外ROM 中的程序。EA 當(dāng)保持低電平時,則只訪問外 ROM。不管芯片內(nèi)有無內(nèi) ROM,對 8031 芯片,片內(nèi)無 ROM,因此 EA 必須接地。本實驗使用 EEPROM 27C512 芯片進(jìn)行片外 ROM 的擴(kuò)展。27C512 具有 64K 空間,因此它需要使用全部 16 根地址線(A0-A15) ,片選端 E 接地。PSEN 是 51 單片機(jī)的專用外部程序存儲器訪問控制線,PSEN 作用為外 ROM 的輸出允許的選通信號。3.7 燈模擬實驗本實驗掌握 51 系列單片機(jī)的常用指令,并熟悉他的分支程序和子程序。具體實現(xiàn)方法:模擬汽車
25、在駕駛中的左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車、合緊急開關(guān)、??康炔僮?。在左轉(zhuǎn)彎或右轉(zhuǎn)彎時,通過轉(zhuǎn)彎操作桿使左轉(zhuǎn)彎或右轉(zhuǎn)彎開關(guān)合上,從而使左頭信號燈、儀表板的左轉(zhuǎn)彎燈、左尾信號燈或右頭信號燈、儀表板的右轉(zhuǎn)彎信號燈、右尾信號燈閃爍;閉合緊急開關(guān)時以上六個信號燈全部閃爍;汽車剎車時,左右兩個尾信號燈點亮;若正當(dāng)轉(zhuǎn)彎時剎車,則轉(zhuǎn)彎時原閃爍的信號燈應(yīng)繼續(xù)閃爍,同時另一個尾信號燈點亮,以上閃爍的信號燈以 1HZ 頻率慢速閃爍;在汽車停靠開關(guān)合上時左頭信號燈、右頭信號燈、左尾信號燈、右尾信號燈以 10HZ 頻率快速閃爍。任何在下表中未出現(xiàn)的組合,都將出現(xiàn)故障指示燈閃爍,閃爍頻率為 10HZ。4. 硬件系統(tǒng)設(shè)計4.1 ST
26、C98C52RC 的簡單介紹STC98C52RC 單片機(jī)是一種增強(qiáng)型的 51 系列單片機(jī),其最大的特點就是“在系統(tǒng)編程” (ISP)功能,還具有雙數(shù)據(jù)指針,看門狗等特性。用戶編寫完程序,經(jīng)過模擬調(diào)試無誤后,可以直接使用 ISP 軟件將程序下9載到實驗板上觀察程序運(yùn)行結(jié)果。免去了插、拔芯片的麻煩,更主要是免去了單片機(jī)中必須的昂貴的硬件仿真器和專用編程器的開銷。系統(tǒng)框圖如圖 4-1 所示:圖 4-1 系統(tǒng)框圖STC89C52RC 是 STC 公司生產(chǎn)的單片機(jī),具有加密性強(qiáng)、超強(qiáng)抗干擾、超低價、超低功耗等特點。STC89C52RC 引腳說明如下:1-8:I/OP1 口(P1.0-P1.7)輸入輸出口
27、。9:RST/VPD 復(fù)位信號輸入引腳/備用電源輸入引腳。10-17:I/OP3 口(P3.0=RXD,P3.1=TXD,P3.2=-INT0,P3.3=-INT1,P3.4=T0,P3.5=T1, P3.6=-WR,P3.7=-RD)輸入輸出口且同時具有第二功能(-低電平有效) 。18-19:XTAL2/XTAL1 晶體振蕩器引腳。20: VSS 接地。21-28:I/OP2 口(P2.0-P2.7)輸入輸出口。29:-PSEN 片外 ROM 讀選通信號(-低電平有效) 。30:ALE/-PROG 地址鎖存允許信號輸出引腳。STC89C52RCSTC89C52RCADAD模塊模塊DADA 模
28、塊模塊溫度傳感模塊溫度傳感模塊顯示輸出模塊顯示輸出模塊矩陣鍵盤模塊矩陣鍵盤模塊串行通信模塊串行通信模塊電源模塊電源模塊復(fù)位模塊復(fù)位模塊晶振模塊晶振模塊1031:-EA/VPP 外部程序存儲器地址允許輸入信號引腳。32-39:I/OP0 口(P0.7-P0.0)輸入輸出口。40:VCC 接 5V 電源。STC89C52RC 芯片管腳如圖 4-2 所示:圖 4-2 STC89C52R 管腳圖4.2 DA 模塊系統(tǒng) DA 轉(zhuǎn)換部分電路原理圖如圖 4-3 所示,DAC0832 是采用 CMOS 工藝制成的單片直流輸出型 8 位數(shù)/模轉(zhuǎn)換器它由倒 T 型 R-2R 電阻網(wǎng)絡(luò)、模擬開關(guān)、運(yùn)算放大器和參考電
29、壓 VREF 四大部分組成。圖 4-3 DA 模塊電路11一個 8 位 D/A 轉(zhuǎn)換器有 8 個輸入端(其中每個輸入端是 8 位二進(jìn)制數(shù)的一位),有一個模擬輸出端。輸入可有 256 個不同的二進(jìn)制組態(tài),輸出為 256 個電壓之一,即輸出電壓不是整個電壓范圍內(nèi)任意值,而只能是 256 個可能值。圖 4-4 是 DAC0832 的邏輯框圖和引腳排列:圖 4-4 DAC0832 的邏輯框圖和引腳排列D0-D7:數(shù)字信號輸入端。ILE:輸入寄存器允許,高電平有效。-CS:片選信號,低電平有效。-WR1:寫信號 1,低電平有效。-XFER:傳送控制信號,低電平有效。-WR2:寫信號 2,低電平有效。IO
30、UT1、IOUT2:DAC 電流輸出端。RFB:是集成在片內(nèi)的外接運(yùn)放的反饋電阻。 VREF:基準(zhǔn)電壓(-10V-10V)。VCC:是源電壓(+5V-15V)。AGND:模擬地 NGND:數(shù)字地,可與 AGND 接在一起使用。DAC0832 輸出的是電流,一般要求輸出是電壓,所以還必須經(jīng)過一個外接的運(yùn)算放大器轉(zhuǎn)換成電壓。實驗線路如圖 4-5 所示:12圖 4-5 外接的運(yùn)算放大器轉(zhuǎn)換成電壓IN0-IN7:8 路模擬信號輸入端。A1、A2、A0 :地址輸入端。ALE 地址鎖存允許輸入信號,在此腳施加正脈沖,上升沿有效,此時鎖存地址碼,從而選通相應(yīng)的模擬信號通道,以便進(jìn)行A/D 轉(zhuǎn)換。START:
31、啟動信號輸入端,應(yīng)在此腳施加正脈沖,當(dāng)上升沿到達(dá)時,內(nèi)部逐次逼近寄存器復(fù)位,在下降沿到達(dá)后,開始 A/D 轉(zhuǎn)換過程。EOC:轉(zhuǎn)換結(jié)束輸出信號(轉(zhuǎn)換接受標(biāo)志),高電平有效。OE:輸入允許信號,高電平有效。CLOCK(CP):時鐘信號輸入端,外接時鐘頻率一般為 640kHz。VCC:+5V 單電源供電。VREF(+),VREF(-):基準(zhǔn)電壓的正極、負(fù)極。一般 VREF(+)接+5V 電源,VREF(-)接地。D7-D0:數(shù)字信號輸出端。 由 A0、A1、A2 三地址輸入端選通 8 路模擬信號中的任何一路進(jìn)行 A/D 轉(zhuǎn)換。4.3 AD 模塊系統(tǒng) AD 轉(zhuǎn)換部分電路原理圖如圖 4-6 所示,ADC
32、0832 是美國半導(dǎo)體公司生產(chǎn)的一種 8 位分辨率、雙通道 A/D 轉(zhuǎn)換芯片。由于它體積小,兼容性,性價比高而深受單片機(jī)愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。學(xué)習(xí)并使用ADC0832 可是使我們了解 A/D 轉(zhuǎn)換器的原理,有助于我們單片機(jī)技術(shù)水平的提高。13圖 4-6 AD 模塊電路ADC0832 為 8 位分辨率 A/D 轉(zhuǎn)換芯片,其最高分辨可達(dá) 256 級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在 0-5V 之間。芯片轉(zhuǎn)換時間僅為 32S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強(qiáng)。獨立的芯片使能輸入,使多器件掛
33、接和處理器控制變的更加方便。通過DI 數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。 圖 4-7 是 ADC0832 的引腳圖。圖 4-7 ADC0832 引腳圖-CS:片選使能,低電平芯片使能。 CH0:模擬輸入通道 0,或作為 IN+/-使用。 CH1:模擬輸入通道 1,或作為 IN+/-使用。 GND:芯片參考 0 電位(地)。 DI:數(shù)據(jù)信號輸入,選擇通道控制。 DO:數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。 14CLK:芯片時鐘輸入。 VCC/VREF:電源輸入及參考電壓輸入(復(fù)用)。4.4 顯示和輸出模塊系統(tǒng)顯示和輸出模塊包括發(fā)光二極管、蜂鳴器電路,數(shù)碼管顯示電路和流水燈電路,電路圖如圖 4-8
34、所示。一個數(shù)碼管由 8 個發(fā)光二極管組成,由于是共陰極,所以高電平選通。圖 4-8 流水燈電路15圖 4-9 蜂鳴器和數(shù)碼管顯示電路如圖 4-9 所示,SN74LS245N 接成直通方式通過 P0 口驅(qū)動數(shù)碼管。由SN74LS138N 對 P2 口譯碼控制 SN74LS245N 驅(qū)動 6 個數(shù)碼管的位選,剩余兩路,一路接到發(fā)光二極管,另一路控制蜂鳴器,由程序進(jìn)行選通控制。4.5 復(fù)位模塊一個芯片,尤其是可編程芯片,通常在上電的瞬間需要一個短暫的時間進(jìn)行內(nèi)部參數(shù)的初始化,這個時候芯片無法立即進(jìn)入工作狀態(tài)。通常稱上電初始化這些工作為復(fù)位。在要求不高的場合,復(fù)位電路都是利用 RC 來制作的。復(fù)位電路
35、的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(共大于兩個機(jī)器周期)才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭一分一合的過程中引起抖動而影響復(fù)位。系統(tǒng)采用手動按鍵復(fù)位方式實現(xiàn)系統(tǒng)的復(fù)位操作。在單片機(jī)運(yùn)行期間,用按鈕開關(guān)操作使單片機(jī)復(fù)位。手動按鍵復(fù)位是通過按鍵將電阻 R1 與 VCC 接通來實現(xiàn)。電路如圖 4-10 所示:16圖 4-10 復(fù)位電路4.6 電源模塊系統(tǒng)電源部分電路原理圖如圖 4-11 所示,電源接通時 LED 燈亮。圖 4-11 電源模塊電路4.7 晶振模塊晶振是為電路提供頻率基準(zhǔn)的元器件,通常分為有源晶振和無源晶振兩個大類
36、,無源晶振需要芯片內(nèi)部有震蕩器,并且晶振的信號電壓根據(jù)起振電路而定,允許不同的電壓,但無源晶振通常信號質(zhì)量和精度較差,需要精確的匹配外圍電路,如需更換晶振時要同時更換外圍電路有源晶振不需要芯片的內(nèi)部振蕩器,可以提供高精度的頻率基準(zhǔn),信號質(zhì)量也較無源晶振要好。實際應(yīng)用中多采用無源晶振設(shè)計的電路居多。17本單片機(jī)系統(tǒng)晶振電路如圖 4-12。晶振 Y1 和微調(diào)電容 C10、C11 就構(gòu)成了內(nèi)部震蕩方式,由于單片機(jī)內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成自激振蕩器并產(chǎn)生震蕩時鐘脈沖。圖 4-12 晶振模塊電路4.8 鍵盤模塊本系統(tǒng)矩陣鍵盤模塊部分的電路原理圖如圖 4-13 所示,設(shè)計使用 P1
37、 口的高四位作為矩陣鍵盤的列掃描信號,低四位作為行掃描信號。圖 4-13 矩陣鍵盤模塊電路4.9 溫度傳感器模塊系統(tǒng)的溫度傳感器部分電路原理圖如圖 4-14 所示,此電路的溫度傳感器采18用美國 DALLAS 公司生產(chǎn)的 DS18B20。DS18B20 內(nèi)部結(jié)構(gòu)主要由四部分組成:64 位光刻 ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL、配置寄存器。DS18B20 具有以下特點:獨特的單線接口方式,DS18B20 在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊;測溫范圍55125,固有測溫分辨率 0.5;支持多點組網(wǎng)功能,多個 DS18B20 可以
38、并聯(lián)在唯一的三線上,實現(xiàn)多點測溫;工作電源: 3-5V/DC;在使用中不需要任何外圍元件。圖 4-14 溫度傳感器模塊電路4.10 串行通信模塊系統(tǒng)串行接口部分的電路原理圖如圖 4-15 所示,其中 MAX232 是 RS-232 接口芯片,目前 RS-232 是 PC 機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。RS-232 被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS-232 采取不平衡傳輸方式,即所謂單端通訊。單片機(jī)的 RXD 和 TXD 引腳作為 UAET 的接收端和發(fā)送端,通過 MAX232 接口芯片分別連接到 J1 接口端子的 2 腳和 3 腳。19圖 4-15 串行通信
39、模塊電路MAX232 主要負(fù)責(zé)信號不同標(biāo)準(zhǔn)電平間的轉(zhuǎn)換,很多情況下串行通信的故障都是有 MAX232 芯片的故障造成。根據(jù)芯片手冊,MAX232 在正常工作時,第 2引腳 CAP+應(yīng)該輸出+8.5V 的電壓,第 6 引腳 CAP-應(yīng)該輸出-8.5V 的電壓。因此,實際工作中可以通過測量這兩個引腳的工作電壓是否正常來判斷 MAX232 芯片是否正常工作。5. 軟件設(shè)計5.1 Proteus 軟件 本設(shè)計用 Proteus 軟件進(jìn)行仿真。Proteus 軟件是英國 Labcenter Electronics 公司出版的 EDA 工具軟件。它不僅具有其它 EDA 工具軟件的仿真功能,還能仿真單片機(jī)及
40、外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus 是世界上著名的 EDA 工具,從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到 PCB 設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、 PCB 設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,處理器模型 支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086 和20MSP430 等,2010 年即將增加 Cortex 和 DSP 系列處
41、理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil 和 MPLAB 等多種編譯 。本設(shè)計仿真原理圖如圖 5-1 所示:圖 5-1 仿真原理圖5.2 Keil 軟件Keil C51 是美國 Keil Software 公司出品的 51 系列兼容單片機(jī) C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil 提供了包括 C 編譯器、宏匯編、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境 uVision 將這些部分組合在一起。運(yùn)行 Keil 軟件需要WIN98、NT、WIN2000、
42、WINXP 等操作系統(tǒng)。如果你使用 C 語言編程,那么 Keil幾乎就是你的不二之選,即使不使用 C 語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。5.3 程序設(shè)計 蜂鳴器程序開關(guān)閉合開始LED 亮且蜂鳴器有聲音LED 滅且蜂鳴器無聲音21圖 5-2 蜂鳴器程序#includesbit wele1=P25;sbit wele2=P26;sbit wele3=P27; void delay(unsigned int z) unsigned int x,y; for(x=z;x0;x-) for(y=110;y0;y-);5.3.2 矩陣鍵盤程
43、序開始是否有按鍵按下顯示按鍵值鍵值處理清除按鍵標(biāo)識系統(tǒng)初始化22 5-3 矩陣鍵盤程序流程圖void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-); 5.3.3 流水燈程序開始輸出狀態(tài)位中斷允許設(shè)置秒計數(shù)值設(shè)置初始狀態(tài)位設(shè)置定時常數(shù)置中斷工作方式等待中斷235-4 流水燈程序流程圖void main() P2=0 xff; aa=0 xfe; while(1) P2=aa; delay(80); aa=_crol_(aa,1); 5.3.4 數(shù)模轉(zhuǎn)換程序正常開始給 0832 賦值蜂鳴器響245-5 數(shù)模轉(zhuǎn)換程序流程圖void didi
44、(); void delay(unsigned int z) unsigned int x,y; for(x=z;x0;x-) for(y=110;y0;y-); 5.3.5 數(shù)碼管動態(tài)掃描程序 開始定義初值循環(huán)加返回是否為 9是否是最后一數(shù)碼管管25 5-6 數(shù)碼管動態(tài)掃描程序流程圖void delay(uint z) uint t1,y;for(t1=z;t10;t1-)for(y=110;y0;y-);5.3.6 溫度測試程序開始存放寄存器上次采集數(shù)據(jù)顯示結(jié)果送入顯示緩存進(jìn)制轉(zhuǎn)換采集數(shù)據(jù)265-7 溫度測試程序流程圖/*void display(uchar shi,uchar ge) w
45、ela=1; P0=0 xfe; wela=0;dula=1;P0=tableshi; dula=0;dely(5); wela=1;P0=0 xfd; wela=0;dula=1;P0=tablege;dula=0;dely(5); 276. 仿真和實物演示做設(shè)計實物之前先在 Proteus 中將硬件的電路圖架構(gòu)起來,將硬件電路架構(gòu)好以后用 Keil 軟件調(diào)試所需要的程序,調(diào)試程序成功后生成 HEX 文件,然后將文件燒錄到芯片中運(yùn)行,就可顯示出效果。如圖 6-1 所示流水燈仿真圖:6-1 流水燈仿真圖仿真成功后就要著手硬件的制作了,首先在 Protel DXP 軟件中將電路板的原理圖畫出來,
46、然后制作出來實驗板并且將各個元器件焊接上,制作完成后用STC-ISP 軟件將 HEX 文件燒錄到 STC89C52RC 芯片中,接通電源觀察實驗板上出來的現(xiàn)象。如圖 6-2 所示流水燈實物圖:286-2 實物流水燈演示圖7. 總結(jié)本次畢業(yè)設(shè)計我選的題目是 8051 單片機(jī)教學(xué)實驗板電路設(shè)計,這個題目對我來說是一個很大的挑戰(zhàn),獨立開發(fā)出來一個電路板一直都是同學(xué)們在學(xué)習(xí)中存在的困難問題,我也不例外。我選這個題目就是想在大學(xué)這最后也是最重要的一段時間里,將自己平時所遺留下來不懂的知識全部解決掉,不能讓自己帶著問題遺憾的離開學(xué)校。隨著畢業(yè)設(shè)計的完成,對自己的畢業(yè)設(shè)計進(jìn)行總結(jié)時,發(fā)現(xiàn)所設(shè)計的內(nèi)容還有些可
47、以改進(jìn)的地方,如在電路的外圍可以加一些擴(kuò)展芯片,提高設(shè)計內(nèi)容的利用率。同時由于自己疏于親自動手的能力,使得電路板的焊接有少許的不美觀。 通過本次的單片機(jī)的畢業(yè)設(shè)計,我在諸多方面都得到了鍛煉和提升,我不僅把知識融會貫通,而且豐富了大腦,在查找資料的過程中了解到了許多課外知識,開拓了視野,使自己在專業(yè)知識和動手能力方面有了質(zhì)的提高。畢業(yè)設(shè)計作為我踏入社會完成的最后一次作業(yè),它是對我在學(xué)校學(xué)習(xí)知識的全面總結(jié)和綜合應(yīng)用,為以后踏入社會的實際操作鑄就了一個良好的開端,畢業(yè)設(shè)計是我對所學(xué)知識理論的檢驗和總結(jié)。能夠培養(yǎng)設(shè)計者的獨立分析和解決問題的能力。隨著畢業(yè)設(shè)計接近尾聲,在我不斷努力下我的畢業(yè)設(shè)計終于完成
48、了,在畢29業(yè)設(shè)計時發(fā)現(xiàn)自己有些想法都是錯誤的,本來覺得畢業(yè)設(shè)計就是對幾年學(xué)習(xí)的概括和總結(jié),但是后來發(fā)現(xiàn)自己錯了,自己原來學(xué)習(xí)的知識太理論化,畢業(yè)設(shè)計不光是對所學(xué)知識的檢驗,同時也是對自己能力的一種提高。以前總是覺得自己什么東西都懂,什么都會,有些眼高手低,通過這次畢業(yè)設(shè)計才發(fā)現(xiàn)學(xué)習(xí)是一個長期積累的過程,在以后的學(xué)習(xí)和生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己的知識和綜合素質(zhì)。總之,這次畢業(yè)設(shè)計對我而言是受益匪淺的。30謝 辭首先,我要感謝我的導(dǎo)師 XXX 老師,他嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣,給了起到了指明燈的作用;他們循循善誘的教導(dǎo)和不拘一格的思路給予我無盡的啟迪,讓我很快
49、就感受到了設(shè)計的快樂并融入其中。其次我要感謝同學(xué)對我的幫助和指點,沒有他們的幫助和提供資料,沒有他們的鼓勵和加油,這次畢業(yè)設(shè)計就不會如此的順利進(jìn)行。此次畢業(yè)設(shè)計歷時兩個月,是我大學(xué)學(xué)習(xí)中遇到過的時段最長、涉及內(nèi)容最廣、工作量最大的一次設(shè)計。用老師的一句話就是這次畢業(yè)設(shè)計相當(dāng)于是把以前的小作業(yè)綜合在一起的過程,只要把握住每個小作業(yè)的精華、環(huán)環(huán)緊扣、增強(qiáng)邏輯,那么這次的任務(wù)也就不難了。我此次的任務(wù)是開發(fā)一個 8051 單片機(jī)教學(xué)實驗板。雖說老師說的話讓此次的畢業(yè)設(shè)計看起來不是那么難,但是當(dāng)我真的開始著手時,還的確是困難重重。俗話說的好, “磨刀不誤砍柴工” ,當(dāng)每次遇到不懂得問題時,我都會第一時間
50、記錄下來,然后等答疑的時候詢問老師,老師對于我提出來的問題都一一解答,從來都不會因為我的問題稍過簡單加以責(zé)備,而是一再的告誡我做設(shè)計該注意的地方,從課題的選擇到設(shè)計的最終完成,老師都始終給予我細(xì)心的指導(dǎo)和不懈的支持,他讓人油然而生的敬佩。兩個月時間,兩位老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時還在思想、生活上給我以無微不至的關(guān)懷,除了敬佩老師們的專業(yè)水平外,他們的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。在此謹(jǐn)向 XXX 老師致以誠摯的謝意和崇高的敬意。在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的
51、幫助,在這里請接受我誠摯的謝意! 最后我還要感謝計算機(jī)與信息工程學(xué)院和我的母校大學(xué)四年來對我的悉心栽培。31參考文獻(xiàn):1 楊居義.單片機(jī)原理與工程應(yīng)用.清華大學(xué)出版社,2009,(1).2 雷思孝,馮育長.單片機(jī)系統(tǒng)設(shè)計與工程應(yīng)用.西安電子科技大學(xué)出版社,2005,(1).3 張偉,三恒星科技.MCS-51 單片機(jī)易學(xué)通.人民郵電出版社,2006, (1).4 趙德安.單片機(jī)原理與應(yīng)用.機(jī)械工業(yè)出版社,2005, (1).5 孔德任.儀表總線技術(shù)應(yīng)用.國防工業(yè)出版社,2005,(1).6 趙茂泰.智能儀器原理應(yīng)用二版.電子工業(yè)出版社,2004,(1).7 于英民.計算機(jī)接口技術(shù) L 二版.電子
52、工業(yè)出版社,1999,(1) .8 戚新波.檢測技術(shù)與智能儀器.電子工業(yè)出版社,2005,(1).9 張彌左.微型計算機(jī)接口技術(shù).機(jī)械工業(yè)出版社,2004,(1).10 高春甫.微機(jī)測控技術(shù).科學(xué)出版社,2005,(1).11 潘梅森,易明.一種基于人類視覺的自適應(yīng)均值濾波算法J.計算機(jī)工程與應(yīng)用,2006,39(10):62-64.PAN Mei-sen, YI Ming. An adaptive mean filter algorithm based on HVS J.Computer Engineering an Applications,2006,39(10):62-64.32附錄 1
53、:程序1 蜂鳴器程序* 控制蜂鳴器響與不響,同時 LED 指示燈亮滅亮滅 */#includesbit wele1=P25;sbit wele2=P26;sbit wele3=P27;void delay(unsigned int z) unsigned int x,y; for(x=z;x0;x-) for(y=110;y0;y-);void main() while(1) wele1=1; wele2=1; wele3=0; delay(200); wele1=1; wele2=1;33 wele3=1; delay(200); 2 矩陣鍵盤程序* 在 44 的矩陣鍵盤上(鍵號從 1-16
54、),每按下一個鍵,數(shù)碼管上顯示相應(yīng)的鍵號. */#include#define uint unsigned int#define uchar unsigned charsbit wela1=P25;sbit wela2=P26;sbit wela3=P27;uchar code table= /共陰數(shù)碼管 0-F 顯示字形碼表 0 x3f,0 x06,0 x5b,0 x4f, 0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f,0 x77,0 x7c, 0 x39,0 x5e,0 x79,0 x71,0;uchar temp,num,num1;/* 延時函數(shù) */void
55、 delay(uint z) /延時函數(shù)聲明uint x,y;for(x=z;x0;x-)34for(y=110;y0;y-);/* 函數(shù)聲明 */uchar keyscan(); /鍵盤掃描函數(shù)聲明void display(uchar aa);/顯示函數(shù)聲明/* 主函數(shù) */void main() /主函數(shù)num=17; /16 個鍵/ dula=1; /段選通P0=0 x00; /數(shù)碼管全部不亮/ dula=0; /段鎖存/ wela=1; /位選通/ P0=0 xc0; /6 個數(shù)碼管全部選通/ wela=0; /位鎖存 wela1=0;wela2=0;wela3=0;while(1)d
56、isplay(keyscan(); /顯示掃描鍵盤35/* 顯示程序 */void display(uchar aa) /顯示程序/ dula=1; /段選通P0=tableaa-1; /送出顯示數(shù)據(jù)/ dula=0; /段鎖存/* 鍵盤掃描程序 */uchar keyscan() /鍵盤掃描程序P1=0 xfe; /先使第一行輸出低電平 1111 1110temp=P1; /讀進(jìn)列值,根據(jù)此時的列值來檢測鍵temp=temp&0 xf0; /屏蔽低四位(保留列值(即高 4 位)while(temp!=0 xf0)/檢測有無鍵按下(不等于 0 xf0 就有鍵按下, /因為有鍵按下時高
57、4 位 temp1111)(結(jié)合鍵盤電路來分析)delay(5); /有鍵按下延時 5ms 以防干擾temp=P1; /再次讀進(jìn)列值temp=temp&0 xf0; /屏蔽低四位(保留列值(即高 4 位)36while(temp!=0 xf0) /檢測有無鍵按下temp=P1; /確實有鍵按下,讀進(jìn)列值switch(temp) /檢測是哪一個鍵按下case 0 xee:num=1; /如果是 0 xee,則是第 1 個鍵,將 1 賦給 num 1110 1110 /因為:1110 1110(即 0行 0 列,說明是 1 號鍵。結(jié)合鍵盤電路來分析)break; /退出檢測case 0 x
58、de:num=2;/如果是 0 xde,則是第 2 個鍵(1101 1110 0 行 1 列)break; /退出檢測case 0 xbe:num=3;/如果是 0 xbe,則是第 3 個鍵(1011 1110 0 行 2 列)break; /退出檢測case 0 x7e:num=4;/如果是 0 x7e,則是第 4 個鍵(0111 1110 0 行 3 列)break; /退出檢測while(temp!=0 xf0) / 松手檢測(temp0 xf0說明有鍵按下)temp=P1; /有鍵按下,讀進(jìn)列值temp=temp&0 xf0; /保留高 4 位(即保留列值),這時 temp 有
59、了新值, /返回 while(temp!=0 xf0),再次判定時條件為假,此時脫離循環(huán)。37P1=0 xfd; /使第二行輸出低電平 1111 1101temp=P1; /讀進(jìn)列值temp=temp&0 xf0; /屏蔽低四位(保留列值(即高 4 位)while(temp!=0 xf0) /判有無鍵按下delay(5); /有鍵按下延時 5ms 以防干擾temp=P1; /讀進(jìn)列值temp=temp&0 xf0; /保留列值while(temp!=0 xf0)/再判有無鍵按下temp=P1; /確實有鍵按下,讀進(jìn)列值,根據(jù)此時的列值來檢測鍵switch(temp) /檢測是哪
60、一個鍵按下case 0 xed:num=5;/如果是 0 xed,則是第 5 個鍵(1110 1101 第 2 行第 0 列)break; /case 0 xdd:num=6;/如果是 0 xdd,則是第 6 個鍵(1101 1101 第 2 行第 1 列)break; /case 0 xbd:num=7;/如果是 0 xbd,則是第 7 個鍵(1011 1101 第 2 行第 2 列)break; /case 0 x7d:num=8;/如果是 0 x7d,則是第 8 個鍵(0111 1101 第 2 行第 3 列)38break;while(temp!=0 xf0) /松手檢測(temp0 xf0 說明有鍵按下)temp=P1; /有鍵按下,讀進(jìn)列值temp=temp&
溫馨提示
- 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年華東師大版八年級地理下冊月考試卷
- 2025年人教A版九年級歷史上冊月考試卷含答案
- 2025年湘師大新版八年級歷史下冊階段測試試卷含答案
- 2025年新世紀(jì)版選擇性必修3歷史上冊月考試卷
- 2025年浙教版九年級地理上冊月考試卷
- 2025年蘇教版選修6歷史下冊月考試卷
- 2025年滬科版選擇性必修3歷史下冊階段測試試卷
- 共享中國知到智慧樹章節(jié)測試課后答案2024年秋上海工程技術(shù)大學(xué)
- 二零二五年度出租車公司駕駛員勞動合同競業(yè)禁止合同4篇
- 二零二五寵物領(lǐng)養(yǎng)合同范本:寵物福利與責(zé)任4篇
- 無人化農(nóng)場項目可行性研究報告
- 《如何存款最合算》課件
- 社區(qū)團(tuán)支部工作計劃
- 拖欠工程款上訪信范文
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 《wifi協(xié)議文庫》課件
- 《好東西》:女作者電影的話語建構(gòu)與烏托邦想象
- 教培行業(yè)研究系列(七):出國考培的再研究供需變化的新趨勢
- GB/T 44895-2024市場和社會調(diào)查調(diào)查問卷編制指南
- 道醫(yī)館可行性報告
評論
0/150
提交評論