【正文】
。在本設(shè)計(jì)中使用芯片內(nèi)部的振蕩電路,用 12MHz的晶振。這些我們必須了解,這是使用它的第一步。 由于這兩點(diǎn)重要區(qū)別,使 AT89C51 在使用上比 80c51 更方便好用。 第二,對于 80c51,輸入 /輸出口 P0,P1,P2,P3,真正能完全為用戶使用的,只有 P1口以及部分作為第一功能使用的 P3 口。 AT89C51 它的內(nèi)部結(jié)構(gòu)方框圖如圖 19 所 示。 數(shù)據(jù)總線:數(shù)據(jù)總線寬度為 8 位,由 P0口提供。 地址總線:地址總線的寬度為 16位,因此,外部存儲器直接尋址范圍為 64KB。但當(dāng)使用外部 時(shí)鐘源時(shí),則是將外部時(shí)鐘源接于 XTAL1,而將 XTAL2 浮空。其一是CHMOS 芯片可在軟件的控制下停止芯片內(nèi)振蕩器的工作,使系統(tǒng)進(jìn)入調(diào)電運(yùn)行方式。晶體可在 ~ 12MHz 之間選擇,電容可在 6~ 30pF之間選擇。 XTAL1,XTAL2:當(dāng)使用單片機(jī)內(nèi)部振蕩電路時(shí),這兩個(gè)端子用來外接石英晶體和微調(diào)電容。當(dāng)主電源發(fā)生故障而突然下降或斷電時(shí), Vpd 將為片內(nèi) RAM提供備用電源,以保證存儲在 RAM 中的信息不致丟失。當(dāng) /EA有效時(shí)(低電平),第二功能 Vpp 將為片內(nèi) RAM 提供備用電源,以保證存儲在 RAM 中的信息不致丟失。第二功能 /PROG 是在對 8751 的 EPROM 編程時(shí),編程脈沖的輸入端。 ALE/PROG: ALE 是地址鎖存允許信號。由于引腳的限制,所以它的 P3口全都有第二功能。 AT89C51 是標(biāo)準(zhǔn)的雙列直插式封裝的集成電路芯片, 40引腳,從引腳功能的角度來看,可將引腳分為分為三個(gè)部分: I/O口線,控制口線和電源及時(shí)鐘線。圖 6就是它的引腳圖。它的各個(gè)引腳的功用,它的內(nèi)部結(jié)構(gòu),時(shí)序圖,它的各種常用接法, 12V, 5V運(yùn)行模式下的各種性能特征,等等,將會在下文提到。當(dāng)然,最初的了解是從它的引腳的功能開始的。 接上這四部分電路后,單片機(jī)就能正常工作了。當(dāng) EA— — 為低電平時(shí), CPU 只執(zhí)行片外程序存儲器指令,此時(shí)訪問外部 ROM0000H— FFFFH; 在本次設(shè)計(jì)中, EA— — 需要接高電平。當(dāng) VCC下降到某一規(guī)定值時(shí), VPD便可向片內(nèi) RAM 供電。注意:復(fù)位信號為 2 個(gè)以上機(jī)器周期的高電平,單片機(jī)復(fù)位正常工作時(shí)應(yīng)該為低電平,如果未加復(fù)位電平或復(fù)位后復(fù)位電平仍未撤除,則單片機(jī)不能正常工作,此時(shí)可檢查 RST 電壓及相關(guān)器件 R C S1等。復(fù)位電路有開機(jī)自動復(fù)位和手動復(fù)位,如圖中 R C3,S1 所示,其中 S1 為手動復(fù)位開關(guān)。 怎樣才能有效地復(fù)位呢?當(dāng)振蕩器正常工作時(shí), RST( 9)腳上出現(xiàn)的 2個(gè)機(jī) 器周期的高電平將使單片機(jī)有效復(fù)位。只有上電復(fù)位正常后, PC 值才為 0000H,即指向 ROM 的 0000H 單元 。單片機(jī)加電后, PC指針應(yīng)指向 ROM中某個(gè)固定的地址單元,當(dāng)然,程序開始的第一條指令也應(yīng)該放在 ROM的這一地址單元內(nèi),這樣整個(gè)程序才能有序地執(zhí)行。 MCS51 大多數(shù)指令都為1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 7 J un 2 0 0 5 S he e t o f F i l e : C : \ D oc u m e n t s a nd S e t t i ng s \ A d m i n i s t r a t o r \ 桌面 \單片機(jī) \ 彭梁鴻 \紅外解碼和控制 . D d bD r a w n B y:這里的連接是有技巧的,這里的連線正確關(guān)系到線的交叉R24 70R34 70R44 70R54 70R64 70R74 70R84 70R94 70位碼驅(qū)動T49 01 5T39 01 5T29 01 5T 109 01 5V C Cy112y29y38y46abfcgdedpabfcgdedpabfcgdedpabfcgdedp四位一體共陽117421105abcdefg3dpR 1 2L E D 4afbeddpcg桂林電子工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 24 頁 共 44 頁 一個(gè)機(jī)器周期。當(dāng)采用外部振蕩器時(shí),信號接入( 19)腳,( 18)腳懸浮。 C C2短路、晶振不良, 89C51( 18)、 ( 19)腳內(nèi)部反向器損壞。晶振頻率因單片機(jī)工作速度而異, INTEL MCS51系列為 — 12MHZ, ATMEL 89C 系列為 0— 24MHZ,目 前常采用 6MHZ、 、 12MHZ。 XTAL1( 19), XTAL2( 18)為外接晶振的 2個(gè)引腳。這就要求內(nèi)部必須有一個(gè)基準(zhǔn)時(shí)鐘。 VSS( 20)為直流電源以及數(shù)字信號的輸入或者輸出的公共端口, VCC( 40) INTEL 芯片為 — ,89C51 為 — 6V。對于 51 系列的單片機(jī)來說。 桂林電子工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 23 頁 共 44 頁 圖 119 數(shù)碼管在設(shè)計(jì)中的連接 2 軟件設(shè)計(jì)以及相關(guān)芯片的介紹 單片機(jī)模塊 單片機(jī)的說明 任何一個(gè)單片機(jī),要正常工作的話,有四部分電路必然要接上。另外 4個(gè)三極管驅(qū)動和上面的三極管的作用一樣,起放大作用。 圖中的 8個(gè)電阻對數(shù)碼管起保護(hù)作用。數(shù)碼管在顯示‘ ON’或者‘ OFF’時(shí),只 需要用到兩個(gè)或者三個(gè)數(shù)碼管,或者有人會問,為什么我不用 3位一體數(shù)碼管,而要用 4位一體的數(shù)碼管,這是因?yàn)槭袌錾贤ǔV挥?4位一體的數(shù)碼管,而沒有 3 位一體的數(shù)碼管。另外,當(dāng)我要對某盞燈實(shí)現(xiàn)定時(shí)開關(guān)的時(shí)候,數(shù)碼管上可以顯示我所要定的時(shí)間數(shù)值。 設(shè)計(jì)中數(shù)碼管的作用 本次設(shè)計(jì)中數(shù)碼管所起的作用很大,它主要有兩個(gè)作用:當(dāng)我要選擇哪一盞燈亮的時(shí)候,相對應(yīng)的數(shù)碼管就顯示數(shù)據(jù),表明選擇燈成功。電路使用器件少,僅用到了 2片中規(guī)模集成電路 74LS164 和 74LS138,占用 CPU 的 I/ O線少,特別適合于 I/ O線不是很多的單片機(jī)如 AT89C2051/ 1051, 97C2051/ 1051, PIC16Cxx等系統(tǒng)中使用。在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約 1ms),但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。 CPU向字 段輸出端口送出字形碼時(shí),所有顯示器接收到相同的字形碼,但究竟是那個(gè)顯示器亮,則取決于 COM端,而這一端是由 COM 端口控制的,所以我們就可以自行決定何時(shí)顯示哪一位了。 動態(tài)掃描顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一。就是他們的公共端 都 接正極。 桂林電子工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 22 頁 共 44 頁 數(shù)碼管的工作原理 數(shù)碼管的特征 數(shù)碼管實(shí)際上是由 7個(gè)發(fā)光管組成 8 字形構(gòu)成的,加上小數(shù)點(diǎn)就是 8 個(gè)。紅外遙控電子開關(guān)的設(shè)計(jì)主要是通過通用家電通用遙控器來控制照明燈的開關(guān), 從而實(shí)現(xiàn)智能家居的部分功能。因此,我在 P2 口上接幾個(gè)發(fā)光二極管來代替家用日光燈,從而避免了調(diào)試的危險(xiǎn),而且,這樣設(shè)計(jì)也更加直觀 。單片機(jī)的P2 口外接一個(gè)光偶合和一個(gè)繼電器,以次來接到家電上去,實(shí)現(xiàn)對家電的遙控控制。通過電源轉(zhuǎn)換器轉(zhuǎn)換來的電壓值準(zhǔn)確,誤差較小,設(shè) 計(jì)簡單實(shí)用,所以應(yīng)用十分廣泛。 圖 116 光耦合在設(shè)計(jì)中的連接 電源部分 電源部分通過一個(gè) 7805電壓轉(zhuǎn)換器把電壓值在 6V~~15V之間的電壓轉(zhuǎn)換成 5V輸出。由于本次設(shè)計(jì)的是一個(gè)模擬遙控開關(guān),所以后來就用發(fā)光二極管來代替接家電設(shè)備,因此光偶合以及繼電器 部分的電路并未接上。這樣的好處是調(diào)試的時(shí)候,效果更加明顯,也更加安全可靠。所以我們導(dǎo)師建議我用發(fā)光二極管來代替實(shí)物進(jìn)行一次模擬調(diào)試。此次設(shè)計(jì)的初衷是想通過繼電器來接上家電,以次來直接控制家電。所以用發(fā)光二極管代替家用照明燈來完成模擬。 圖 114 蜂鳴器在設(shè)計(jì)中的連接 在 該電路中的電阻 R27對三極管起保護(hù)作用,三極管的作用是對蜂鳴器的聲音起放大的作用。本次設(shè)計(jì)中,當(dāng)我們用遙控器對著我所制作的電路板按下按鍵的時(shí)候,也可以聽到一聲‘的’的聲音,也即是蜂鳴器發(fā)出的聲音。我們知道,家用電器,比如彩電的遙控器,當(dāng)我們拿著遙控器對著彩電屏幕按下按鍵時(shí),我們可以聽到一聲“的”的聲音。繼電器是一種感性器件,桂林電子工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 17 頁 共 44 頁 對家用電燈實(shí)行控制,所以要加上一個(gè)反峰二極管。 繼電器部分 因?yàn)橛杏|電,開關(guān)的瞬間會有電磁干擾,而 51 單片機(jī)的抗干擾能力很差,容易死機(jī),所以考慮用固態(tài)繼電器,沒有觸點(diǎn)。 解碼的關(guān)鍵是如何識別 “0” 和 “1” ,從位的定義我們可以發(fā)現(xiàn) “0” 、 “1” 均以 的低電平開始,不同的是高電平的寬度不同, “0” 為 ,“1” 為 ,所以必須根據(jù)高電平的寬度區(qū)別 “0” 和 “1” 。后 16 位為 8 位的操作碼和 8 位的操作反碼用于核對數(shù)據(jù)是否接收準(zhǔn)確。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射 。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為 、間隔 、周期為 的組合表示二進(jìn)制的 “0” ;以脈寬為 、間隔、周期為 的組合表示二進(jìn)制的 “1” 。 設(shè)計(jì)原理 紅外遙控電源開關(guān)的結(jié)構(gòu)原理 紅外線遙控編碼芯片為 LC7461 等芯片為例來說明用單片機(jī)實(shí)現(xiàn)紅外遙控解碼遙控發(fā)射器專用芯片很多,根據(jù)編碼格式可以分成脈沖寬度調(diào)制和脈沖相位調(diào)制兩大類,這里我們以運(yùn)用比較廣泛,解碼比較容易的脈沖寬度調(diào)制來加以說明,現(xiàn)以 LC7461 組成發(fā)射電路為例說明編碼原理。 圖 19 紅外接收電路的應(yīng)用 紅外接收部分在本次設(shè)計(jì)中的應(yīng)用 1 2 3 4 5 6ABCD654321DCBAT i t l eN u m be r R e v i s i o nS i z eBD a t e : 7 J un 2 0 0 5 S he e t o f F i l e : C : \ D oc u m e n t s a nd S e t t i ng s \ A d m i n i s t r a t o r \ 桌面 \單片機(jī) \ 彭梁鴻 \紅外解碼和控制 . D d bD r a w n B y: 紅外接收I N T12+34C4C A PV C CR 1 156T19 01 5桂林電子工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 16 頁 共 44 頁 圖 110 紅外接收部分 該電路中的紅外接收頭的 1管腳外接一個(gè)三極管 9015, 2腳接地, 3 腳一邊接一個(gè)上拉電阻到電源,另一邊通過一個(gè)小電容 到地。 紅外接收頭的外觀 : 桂林電子工業(yè)學(xué)院畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 第 15 頁 共 44 頁 圖 18 紅外接收頭的外觀 紅外接收電路的應(yīng)用: ( 1) 紅外接收頭在電路中有效地抑制了電源干擾。再 有,發(fā)送的數(shù)位 “0” 至少要對應(yīng) 14個(gè)載波脈沖,這就要求傳送的波特率不能超過 2400bps。最后,由輸出級電路進(jìn)行反向放大輸出 。 TSOP4838 的工作原理為:首先,通過紅外光敏元件將接收到的載波頻率為 38kHz的脈沖調(diào)制紅外光信號轉(zhuǎn)化為電信號,再由前放大器和自動增益控制電路進(jìn)行放大處理。 ( 1) VCC 接系統(tǒng)的電源正極( +5V); ( 2) GND 接系統(tǒng)的地線( 0V); ( 3) 脈沖信號輸出接 CPU的中斷輸入引腳(例如 8031 的 13 腳的 INT1)。 紅外接收電路選用 Vishay 公司生產(chǎn)的專用紅外接收模塊 TSOP1738 或者