紅外遙控電路設(shè)計(jì)資料
紅外遙控電路設(shè)計(jì)資料,紅外,遙控,電路設(shè)計(jì),資料
引 言
隨著遠(yuǎn)程教育系統(tǒng)的不斷發(fā)展和日趨完善,利用多媒體作為教學(xué)手段在各級(jí)各類學(xué)校都得到了廣泛應(yīng)用。近年來(lái),在多媒體教學(xué)系統(tǒng)的使用、開(kāi)發(fā)和研制中,經(jīng)常遇到同時(shí)使用多種設(shè)備,如:數(shù)字投影機(jī)、DVD、VCD、錄像機(jī)、電視機(jī)等,由于各種設(shè)備都自帶遙控器,而且不同的設(shè)備所遵循的紅外傳輸規(guī)約也不盡相同,操縱這些設(shè)備得使用多種遙控器,給使用者帶來(lái)了諸多不便。本次畢業(yè)設(shè)計(jì)的主題就是紅外遙控電路設(shè)計(jì)。紅外遙控的特點(diǎn)是利用紅外線進(jìn)行點(diǎn)對(duì)點(diǎn)通信的技術(shù),不影響周邊環(huán)境,不干擾其他電器設(shè)備。室內(nèi)近距離(小于10米),信號(hào)無(wú)干擾、傳輸準(zhǔn)確度高、體積小、功率低的特點(diǎn),遙控中得到了廣泛的應(yīng)用。通過(guò)基于單片機(jī)的控制指令來(lái)對(duì)多種設(shè)備進(jìn)行遠(yuǎn)程控制,可以選擇不同的按鍵來(lái)控制不同的設(shè)備。從而方便快捷的實(shí)現(xiàn)遠(yuǎn)程控制。
常用的紅外遙控系統(tǒng)一般分發(fā)射和接收兩個(gè)部分。發(fā)射部分的主要元件為紅外發(fā)光二極管。它實(shí)際上是一只特殊的發(fā)光二極管;由于其內(nèi)部材料不同于普通發(fā)光二極管,因而在其兩端施加一定電壓時(shí),它便發(fā)出的是紅外線而不是可見(jiàn)光。紅外發(fā)光二極管一般有黑色、深藍(lán)、透明三種顏色。判斷紅外發(fā)光二極管好壞的辦法與判斷普通二極管一樣;用萬(wàn)用表電阻擋量一下紅外發(fā)光二極管的正、反向電阻即可。紅外發(fā)光二極管的發(fā)光效率要用專門(mén)的儀器才能精確測(cè)定,而業(yè)余條件下只能用拉鋸法來(lái)粗略判判定。
接收部分的紅外接收管是一種光敏二極管。在實(shí)際應(yīng)用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極管在電路中應(yīng)用時(shí)是反向運(yùn)用,這樣才能獲得較高的靈敏度。紅外發(fā)光二極管一般有圓形和方形兩種。由于紅外發(fā)光二極管的發(fā)射功率一般都較小,所以紅外接收二極管接收到的信號(hào)比較微弱,因此就要增加高增益放大電路。最近幾年不論是業(yè)余制作還是正式產(chǎn)品,大多都采用成品紅外接收頭。成品紅外接收頭的封裝大致有兩種:一種采用鐵皮屏蔽;一種是塑料封裝。均有三只引腳,即電源正(VDD)、電源負(fù)(GND)和數(shù)據(jù)輸出(VO或OUT)。
紅外接收頭的引腳排列因型號(hào)不同而不盡相同,紅外接收頭的優(yōu)點(diǎn)是不需要復(fù)雜的調(diào)試和外殼屏蔽,使用起來(lái)如同一只三極管,非常方便。
1 設(shè)計(jì)要求及指標(biāo)
紅外遙控是目前使用較多的一種遙控手段。紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn)。在家庭生活中,錄音機(jī)、音響設(shè)備、空調(diào)彩電都采用了紅外遙控系統(tǒng)。設(shè)計(jì)要求利用紅外傳輸控制指令及智能控制系統(tǒng),借助微處理器強(qiáng)大靈活的控制功能發(fā)出脈沖編碼,組成的一個(gè)遙控系統(tǒng)。紅外線編碼是數(shù)據(jù)傳輸質(zhì)是一種脈寬調(diào)制的串行通訊。紅外線通訊的發(fā)送部分主要是把待發(fā)送的數(shù)據(jù)轉(zhuǎn)換成一定格式的脈沖,然后驅(qū)動(dòng)紅外發(fā)光管向外發(fā)送數(shù)據(jù)。接收部分則是完成紅外線的接收、放大、解調(diào),還原成同步發(fā)射格式相同,但高、低電位剛好相反的脈沖信號(hào),其主要輸出TTL兼容電平。最后通過(guò)解碼把脈沖信號(hào)轉(zhuǎn)換成數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)的傳輸。本設(shè)計(jì)的主要技術(shù)指標(biāo)如下:
(1) 遙控范圍:4—6米
(2) 顯示可控制的通道
(3) 接收靈敏可靠,抗干擾能力強(qiáng)
(4) 控制用電器電流最高為2A
2 紅外遙控系統(tǒng)的設(shè)計(jì)
紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,系統(tǒng)采用編/解碼專用集成電路和單片機(jī)芯片來(lái)進(jìn)行控制操作。設(shè)計(jì)的電路由如下的幾個(gè)基本模塊組成:直流穩(wěn)壓電源,紅外發(fā)射電路,紅外接收電路及控制部分。
按鍵部分
單片機(jī)
89C2051
發(fā)射部分
電源
3V
系統(tǒng)框圖如圖3-1所示。
圖2-1 紅外遙控電路框圖 (a)發(fā)射電路框圖
5V
接收部分
單片機(jī)
89S52
顯示部分
控制部分
電源
9V
圖2-1 紅外遙控電路框圖 (b)接收電路框圖
3 紅外收發(fā)電路的設(shè)計(jì)
3.1 主要芯片——閃電存儲(chǔ)型單片機(jī)AT89S52的介紹
3.1.1 AT89S52具有下列主要性能:
(1) 8KB可改編程序Flash存儲(chǔ)器
(可經(jīng)受1,000次的寫(xiě)入/擦除周期)
(2) 三級(jí)程序存儲(chǔ)器保密
(3) 256 *8字節(jié)內(nèi)部RAM
(4) 32條可編程I/O線
(5) 3個(gè)16位定時(shí)器/計(jì)數(shù)器
(6) 6個(gè)中斷源
(7) 可編程串行通道
(8) 片內(nèi)時(shí)鐘振蕩器
AT89S52是用靜態(tài)邏輯來(lái)設(shè)計(jì)的,并提供兩種可用軟件來(lái)選擇的省電方式——空閑方式和掉電方式。在空閑方式中,CPU停止工作,而RAM、定時(shí)器/計(jì)數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時(shí)鐘被“凍結(jié)”,一切功能暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復(fù)位為止。
3.1.2 AT89S52的引腳及功能
89S52單片機(jī)的管腳說(shuō)明如圖3-1所示。
(1) 主要電源引腳
① VSS 電源端
② GND 接地端
(2) 外接晶體引腳XTAL1和XTAL2
① XTAL1 接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時(shí),該引腳接收振蕩器的信號(hào),既把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。
圖3-1 AT89C51的引腳
② XTAL2 接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時(shí),此引腳應(yīng)懸浮不連接。
(3) 輸入/輸出引腳 P0.0~ P0.7、P10.~P1.7、P2.0~ P2.7 和P3.0~P3.7。
① P0端口(P0.0~ P0.7) P0是一個(gè)8位漏極開(kāi)路型雙向I/O端口。作為輸出口用時(shí),每位能以吸收電流的方式驅(qū)動(dòng)8個(gè)TTL輸入,對(duì)端口寫(xiě)1時(shí),又可作高阻抗輸入端用。
在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),它是分時(shí)多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,在訪問(wèn)期間激活了內(nèi)部的上拉電阻。
② P1端口(P1.0~ P1.7) P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。作輸入口時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。
③ P2端口 (P2.0~P2.7) P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P2作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。
在訪問(wèn)外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX @DPTR指令)時(shí),P2送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX @Ri , A指令)時(shí),P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不會(huì)改變。
④ P3端口(P3.0~P3.7) P3 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。
在AT89S52中,P3端口還用于一些專門(mén)功能,這些兼用功能如下:
(1) P3.0 RXD(串行輸入口)
(2) P3.1 TXD(串行輸出口)
(3) P3.2 /INT0(外部中斷0)
(4) P3.3 /INT1(外部中斷1)
(5) P3.4 T0(記時(shí)器0外部輸入)
(6) P3.5 T1(記時(shí)器1外部輸入)
(7) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)
(8) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)
(9) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)
3.1.3振蕩器特性:
??? ?XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。由于輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。
3.1.4 芯片擦除:
整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合, ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。
3.2 89C2051介紹
89C2051共有20條引腳,如圖3-2所示。
P1口共8腳,準(zhǔn)雙向端口。
P3.0~P3.6共7腳,準(zhǔn)雙向端口,如P3.0、P3..1的串行通訊功能,P3.2、P3..3的中斷輸入功能,P3.4、P3.5的定時(shí)器輸入功能。
在引腳的驅(qū)動(dòng)能力上,89C2051具有很強(qiáng)的下拉能力,P1,P3口的下拉能力均可達(dá)到20mA.相比之下,89C51的端口下拉能力每腳最大為15mA。但是限定9腳電流之和小于71mA.這樣,引腳的平均電流只9mA。89C2051驅(qū)動(dòng)能力的增強(qiáng),使得它可以直接驅(qū)動(dòng)LED數(shù)碼管。
相對(duì)于89C51它少了一些功能,但是它的功耗少,便于攜帶,更經(jīng)濟(jì)使它在發(fā)射電路中起著重要的地位。因此,在本設(shè)計(jì)紅外發(fā)射的電路中就用了它來(lái)實(shí)現(xiàn)脈沖信號(hào)的產(chǎn)生。
圖3-2 89C2051的引腳
3.3 系統(tǒng)的功能實(shí)現(xiàn)方法
3.3.1 搖控碼的編碼格式
該遙控器采用脈沖個(gè)數(shù)編碼,不同的脈沖個(gè)數(shù)代表不同的碼,最小為2個(gè)脈沖,最大為17個(gè)脈沖。為了使接收可靠,第一位碼寬為3ms,其余為1ms,遙控碼數(shù)據(jù)幀間隔大于10ms,如圖3-3所示。
3.3.2 遙控碼的發(fā)射
采用的是 89C2051 芯片。用P1口組成鍵盤(pán),獲取鍵值,用內(nèi)部的定時(shí)器1產(chǎn)生一個(gè)40KHz的軟件定時(shí)中斷,當(dāng)作紅外線的調(diào)制基波,當(dāng)某個(gè)操作按鍵按下時(shí),單片機(jī)先讀出鍵值,然后根據(jù)鍵值設(shè)定遙控碼的脈沖個(gè)數(shù),再調(diào)制成40kHz方波由紅外線發(fā)光管發(fā)射出去。P3.5端口的輸出調(diào)制波如圖3-3所示。
3.3.3 數(shù)碼幀的接收處理
當(dāng)紅外線接收器輸出脈沖幀數(shù)據(jù)時(shí),第一位碼的低電平將啟動(dòng)中斷程序,實(shí)時(shí)接收數(shù)據(jù)幀。在數(shù)據(jù)幀接收時(shí),將對(duì)第一位(起始位)碼的碼寬進(jìn)行驗(yàn)證。若第一位低電平碼的脈寬小于2ms,將作為錯(cuò)誤碼處理。當(dāng)間隔位的高電平脈寬大于3ms時(shí),結(jié)束接收,然后根據(jù)累加器A中的脈沖個(gè)數(shù),執(zhí)行相應(yīng)輸出口的操作。圖3-4就是紅外線接收器輸出的一幀遙控碼波形圖。
電器0的遙控輸出碼
電器1的遙控輸出碼
電器7的遙控輸出碼
3ms
10ms
幀間隙
圖3-3 端口輸出編碼波形圖
1ms
1ms
第一位
1ms
10ms
3ms
10ms
圖3-4 紅外線接收器輸出的一幀遙控碼波形圖
3.4 紅外發(fā)射電路
遙控發(fā)射通過(guò)鍵盤(pán),每按下一個(gè)鍵,即產(chǎn)生具有不同的編碼數(shù)字脈沖,這種代碼指令信號(hào)調(diào)制在40KHz的載波上,激勵(lì)紅外光二極管產(chǎn)生不同的脈沖,通過(guò)空間的傳送到受控機(jī)的遙控接收器。P1口作為按鍵部分,P3.5口作為發(fā)射部分,然后用三極管的放大驅(qū)動(dòng)紅外發(fā)射。電路如圖3-5所示。
圖3-5 發(fā)射電路圖
3.5 紅外接收電路
在接收過(guò)程中,脈沖通過(guò)光學(xué)濾波器和紅外二極管轉(zhuǎn)換為40KHz的電信號(hào),此信號(hào)經(jīng)過(guò)放大,檢波,整形,解調(diào),送到解碼與接口電路,從而完成相應(yīng)的遙控功能。接收電路如圖3-6所示。
圖3-6 接收電路圖
通常,紅外遙控器將遙控信號(hào)(二進(jìn)制脈沖碼)調(diào)制在40KHz的載波上,經(jīng)緩沖放大后送至紅外發(fā)光二極管,產(chǎn)生紅外信號(hào)發(fā)射出去。將上述的遙控編碼脈沖對(duì)頻率為40KHz(周期為26.3ms)的載波信號(hào)進(jìn)行脈幅調(diào)制(PAM ),再經(jīng)緩沖放大后送到紅外發(fā)光管,將遙控信號(hào)發(fā)射出去。
根據(jù)遙控信號(hào)編碼和發(fā)射過(guò)程,遙控信號(hào)的識(shí)別——即解碼過(guò)程是去除40KHz載波信號(hào)后識(shí)別出二進(jìn)制脈沖碼中的0和1。由MCS—51 系列單片機(jī)AT89S52、一體化紅外接收頭、存儲(chǔ)器、還原調(diào)制與紅外發(fā)光管驅(qū)動(dòng)電路組成。
一體化紅外接收頭采用SIEMENS SFH 506-38 ,它負(fù)責(zé)紅外遙控信號(hào)的解調(diào)。將調(diào)制在40kHz上的紅外脈沖信號(hào)解調(diào)后再輸入到AT89C51的INT0(P3.2)引腳,由單片機(jī)進(jìn)行高電平與低電平寬度的測(cè)量。遙控信號(hào)的還原是通過(guò)P3.1輸入二進(jìn)制脈沖碼的高電平與低電平及維持時(shí)間,當(dāng)接收頭接收信號(hào)時(shí),單片機(jī)產(chǎn)生中斷,并在P3.1口記下脈沖的個(gè)數(shù),這在后面的軟件設(shè)計(jì)中會(huì)具體介紹到,通過(guò)單片機(jī)處理后驅(qū)動(dòng)控制部分。并通過(guò)數(shù)碼管顯示用電設(shè)備的個(gè)數(shù)。
3.6 軟件設(shè)計(jì)
3.6.1 發(fā)射編碼的軟件設(shè)計(jì)
首先,初始化定時(shí)器,定時(shí)為頻率為40KHz的時(shí)間段。當(dāng)按下某一按鍵時(shí),發(fā)送數(shù)據(jù)1,就開(kāi)始工作。同時(shí)定時(shí)器溢出,也就是定時(shí)器記滿了,執(zhí)行定時(shí)器中斷,中斷程序如下:
INTT1: CPL P3.5 ;40KHZ紅外線遙控信號(hào)產(chǎn)生
RETI ; 中斷返回
由此就產(chǎn)生了40KHZ的載波信號(hào)。
當(dāng)發(fā)送數(shù)據(jù)0時(shí),定時(shí)器不工作。
發(fā)送程序如下:
REMOTE: MOV R1,A ;裝入發(fā)射脈沖個(gè)數(shù)
LJMP OUT3 ;轉(zhuǎn)第一個(gè)碼發(fā)射處理
OUT: MOV R0,#55H ;1MS寬低電平發(fā)射控制數(shù)據(jù)
OUT1: SETB ET1 ;開(kāi)T1中斷
SETB TR1 ;開(kāi)啟定時(shí)器T1
NOP ;延時(shí)
NOP
NOP
NOP
NOP
DJNZ R0,OUT1 ;時(shí)間不到轉(zhuǎn)OUT1再循環(huán)
MOV R0,#32H ;1MS高電平間隙控制數(shù)據(jù)
OUT2: CLR TR1 ;關(guān)定時(shí)器T1
CLR ET1 ;關(guān)T1中斷
CLR P3.5 ;關(guān)脈沖輸出
NOP ;空操作延時(shí)
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R0,OUT2 ;時(shí)間不到轉(zhuǎn)OUT2再循環(huán)
DJNZ R1,OUT ;脈沖未發(fā)完,轉(zhuǎn)OUT再循環(huán)發(fā)射
LCALL DL500MS ;
RET ;
OUT3: MOV R0,#0FFH ;裝發(fā)謝3MS寬控制數(shù)據(jù)
LJMP OUT1 ;轉(zhuǎn)OUT1
3.6.2接收編碼的軟件設(shè)計(jì)
單片機(jī)上電復(fù)位后,首先對(duì)其內(nèi)部定時(shí)器初始化,用定時(shí)器及軟件計(jì)數(shù)的方法,當(dāng)有信號(hào)輸入時(shí),單片機(jī)產(chǎn)生中斷,并在P3.1口進(jìn)行計(jì)脈沖個(gè)數(shù),測(cè)量P3.1高、低電平的寬度。P3.1引腳平時(shí)為高電平,當(dāng)接收到紅外遙控信號(hào)時(shí),由于一體化紅外接收頭的反向作用,INT0引腳下跳至低電平,計(jì)算脈沖個(gè)數(shù)后通過(guò)7447譯碼電路,數(shù)碼管顯示相應(yīng)的數(shù)值。
下面是第一個(gè)3ms脈沖的解碼程序。
READ1: CLR A
MOV DPH,A
MOV DPL,A
HARD1: JB P3.1,HARD11
INC DPTR
NOP
NOP
AJMP HARD1
HARD11: MOV A,DPH
JZ READOUTT0
CLR A
READ11: INC A
READ12: JNB P3.1,READ12
MOV R1,#06H
READ13: JNB P3.1,READ11
LCALL DELAYREAD
DJNZ R1,READ13
程序流程圖如圖3-7所示。
掃描按鍵
逐行掃描,
按P口值查鍵號(hào)
按鍵號(hào)轉(zhuǎn)至相
應(yīng)的發(fā)射程序
返回
N
Y
鍵按下
圖3-7 程序流程圖 (a)按鍵流程圖
發(fā)射開(kāi)始
裝入發(fā)射脈沖個(gè)數(shù)à(R1)
發(fā)3ms脈沖
停發(fā)1ms
(R1)-1=0?
開(kāi)始
停發(fā)1ms
返回
Y
N
圖3-7 程序流程圖 (b)發(fā)射流程圖
Y
是否接收到
錯(cuò)誤
Y
Y
停1ms
返回
接收1ms脈沖
N
A-1=0?
檢驗(yàn)低電平是否為3ms
N
圖3-7 程序流程圖(c)接收流程圖
4 直流穩(wěn)壓電源的設(shè)計(jì)
直流穩(wěn)壓電源主要功能是為后兩個(gè)部分提供電壓的輸出。在設(shè)計(jì)中分出了2個(gè)支路,一個(gè)輸出的電壓為9V,另外一個(gè)輸出的電壓為5V。
直流穩(wěn)壓電源的主要由電源變壓器、整流電路、濾波電路和穩(wěn)壓電路四部分組成??驁D如圖4-1所示。
圖4-1 直流穩(wěn)壓電源的方框圖
4.1直流穩(wěn)壓電源采用單相橋式整流電路
整流電路主要實(shí)現(xiàn)將交流電變換成直流電。實(shí)現(xiàn)這一目標(biāo)主要是靠二極管的單向?qū)щ娮饔?,因此二極管是構(gòu)成整流電路的關(guān)鍵元件。我采用的是單橋式整流電路。本設(shè)計(jì)整流電路如圖4-2所示。
圖4-2 單橋式整流電路圖
在圖中,輸入電壓V1通過(guò)電源變壓器成V2。它的作用是將交流電電壓V1變成整流電路要求的交流電壓V2。其中的電阻是要求支流供電的負(fù)載電阻。四個(gè)整流二極管D1到D4接成電橋的形式。通過(guò)負(fù)載R的電流I以及電壓V3的波形如圖4-3。它們都是單方向的全波脈動(dòng)波形。
4.2 濾波電路
在整流電路輸出波形中由于含有較多的紋波成分,與所要求的波形不太符合。所以在整流電路后接濾波電路以濾去整流輸出電壓的紋波。而濾波電路常有電容濾波,電感濾波和RC濾波等。本電路采用的是電容濾波電路。如圖4-4所示。
O
O
V2
t
O
2
3
4
iLO
O
t
D1
D3
D2
D4
D1
D3
D2
D4
t
vL
圖4-3 單相橋式整流電路波形圖
圖4-4 電容濾波電路圖
4.3 穩(wěn)壓電路
典型應(yīng)用電路如圖4-5所示。圖中C1、C2用于頻率補(bǔ)償,防止自激振蕩和抑制高頻干擾;C3采用電解電容,以減少電源引入的低頻干擾對(duì)輸出電壓的影響;D是保護(hù)二極管,當(dāng)輸入端短路時(shí),給C3一個(gè)放電的通路,防止C3兩端電壓激穿調(diào)整管的發(fā)射結(jié)。
圖5-5 穩(wěn)壓電路圖
5 LED顯示電路的設(shè)計(jì)
LED顯示主要是顯示所發(fā)射的所發(fā)送的信號(hào)的個(gè)數(shù),它就實(shí)現(xiàn)以下的作用。當(dāng)按下某一按鍵比方說(shuō)2鍵,LED會(huì)顯示01,如果再按下2鍵,LED就顯示00。如果同時(shí)按下2個(gè)鍵,那么LED就顯示02。下面介紹LED的主要性能。
LED顯示器由7個(gè)發(fā)光二極管組成,又叫7段LED顯示器,顯示器中還有一個(gè)圓點(diǎn)型發(fā)光二極管,用于顯示小數(shù)點(diǎn)。通過(guò)七個(gè)發(fā)光二極管亮暗的不同組合,可以顯示多種數(shù)字、字母以及其它符號(hào)。
LED顯示器中的發(fā)光二極管共有兩種連接方法:
(1) 共陽(yáng)極接法
把發(fā)光二極管的陽(yáng)極連在一起構(gòu)成公共陽(yáng)極。使用時(shí)公共陽(yáng)極接+5V。這樣陰極端輸入低電平的段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平的則不點(diǎn)亮。
(2) 共陰極接法
把發(fā)光二極管的陽(yáng)極連在一起構(gòu)成公共陽(yáng)極。使用時(shí)公共陽(yáng)極接+5V。這樣陰極端輸入低電平的段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平的則不點(diǎn)亮。
b
COM
R*8
a
d
f
在設(shè)計(jì)的電路中,采用了共陽(yáng)極接法,原理圖如5-1所示。它顯示十六進(jìn)制數(shù)的字形代碼如表5-2所示。
c
g
dp
e
圖5-1 LED顯示原理圖
表5-2 十六進(jìn)制數(shù)的字形代碼表
dp
g
f
e
d
c
b
a
字形
字形碼
1
1
0
0
0
0
0
0
0
C0H
1
1
1
1
1
0
0
1
1
F9H
1
0
1
0
0
1
0
0
2
A6H
1
0
1
1
0
0
0
0
3
B0H
1
0
0
1
0
0
1
0
4
99H
1
0
0
1
0
0
1
0
5
92H
1
0
0
0
0
0
1
0
6
82H
1
1
1
1
1
0
0
0
7
F8H
1
0
0
0
0
0
0
0
8
80H
1
0
0
1
0
0
0
0
9
90H
0
1
0
0
0
0
0
0
0
40H
6 控制部分
在控制部分采用了隔離驅(qū)動(dòng)電路,用光電器件作為隔離元件,利用光耦來(lái)隔離強(qiáng)電,以防止強(qiáng)電影響單片機(jī)的工作。光電耦合器是由發(fā)光二極管和光敏三極管組合起來(lái)的器件,發(fā)光二極管是把輸入邊的電信號(hào)變換成相同規(guī)律變化的光,而光敏三極管是把光又重新變換成變化規(guī)律相同的電信號(hào),因此,光起著媒介的作用。由于光電耦合器抗干擾能力強(qiáng),容易完成電平匹配和轉(zhuǎn)移,又不受信號(hào)源是否接地的限制。所以應(yīng)用日益廣泛。
光電隔離的目的是割斷兩個(gè)電路的電氣聯(lián)系,使之相互獨(dú)立,從而也就割斷了噪聲從一個(gè)電路進(jìn)入另一個(gè)電路的通路。光電隔離是通過(guò)光電耦合器實(shí)現(xiàn)的。外殼有金屬的或塑料的兩種。發(fā)光二極管和光敏三極管之間用透明絕緣體填充,并使發(fā)光管與光敏管對(duì)準(zhǔn),以提高其靈敏度,光電耦合器的電路符號(hào)如圖6-1所示。
圖6-1 光電耦合器原理圖
輸入信號(hào)使用權(quán)發(fā)光二極管發(fā)光,其光線又使光敏三極管產(chǎn)生電信號(hào)輸出,從而既完成了信號(hào)的傳遞又實(shí)現(xiàn)了電氣上的隔離。光電耦合的響應(yīng)時(shí)間一般不超過(guò)幾個(gè)微秒。
光電耦合器的輸入 端與輸出 端在電氣上是絕緣的,且輸出端對(duì)輸入端也無(wú)反饋,因而具有隔離和抗干擾兩方面的獨(dú)特性能。通常使用光電耦合器是為實(shí)現(xiàn)以下兩個(gè)主要功能:
電平轉(zhuǎn)換:TTL電路與電源電路之間不需另加匹配電路就可以傳輸信號(hào),從而實(shí)現(xiàn)了電平轉(zhuǎn)換。
隔離:這時(shí)由于信號(hào)電路與接收電路之間被隔離,因此即使兩個(gè)電路的接地電位不同,也不會(huì)形成干擾。
光電耦合器中光敏三極管的基極有引出和不引出兩種形式?;鶚O引出通常是經(jīng)一個(gè)電阻接地。
通過(guò)接地電阻可以控制耦合的響應(yīng)速度和靈敏度??偟膩?lái)說(shuō),電阻越小,響應(yīng)速度越高。電路如圖6-2所示。
繼電器
圖6-2 控制電路圖
通過(guò)光耦后,利用繼電器就可以實(shí)現(xiàn)對(duì)不同的設(shè)備或者其他要控制的設(shè)備進(jìn)行控制,從而實(shí)現(xiàn)了弱電來(lái)控制強(qiáng)電的功能,也能控制不同的設(shè)備。這里用發(fā)光二極管來(lái)代替,實(shí)際上可以控制多個(gè)不同的強(qiáng)電設(shè)備。
7 調(diào)試結(jié)果及其分析
本電路總共設(shè)計(jì)了8個(gè)輸入按鍵,7,8為特殊按鍵。
當(dāng)輸入一個(gè)按鍵5時(shí),通過(guò)紅外發(fā)射和接收電路,對(duì)應(yīng)的繼電器5的設(shè)備工作即5號(hào)發(fā)光二極管發(fā)光,而數(shù)碼管顯示工作的設(shè)備的個(gè)數(shù),就顯示1。當(dāng)再次按下按鍵5時(shí),5號(hào)發(fā)光二極管滅,數(shù)碼管顯示0。
當(dāng)同時(shí)按下兩個(gè)鍵3和4時(shí),3號(hào)和4號(hào)二極管亮,數(shù)碼管顯示2。
當(dāng)按下按鍵7時(shí),所有設(shè)備都不工作,數(shù)碼管顯示0,發(fā)光二極管都不發(fā)光。
當(dāng)按下按鍵8時(shí),所有設(shè)備都工作,數(shù)碼管顯示6,發(fā)光二極管都發(fā)光。
本設(shè)計(jì)在調(diào)試過(guò)程中也遇到很多問(wèn)題。
(1) 電路要求遙控控制距離為4—6m,在利用38KHz的接收頭時(shí),雖然能接收到信號(hào),但是接收的距離很有限。經(jīng)過(guò)反復(fù)調(diào)試,換用40KHz的接收頭時(shí)基本滿足了設(shè)計(jì)需求。
(2) 由于將3ms的接收脈沖放在1ms的后面,編碼解調(diào)出現(xiàn)錯(cuò)誤,導(dǎo)致接受端無(wú)信號(hào)輸出。解決方法是將3ms的接收脈沖放在前面就可以接收到信號(hào)。因?yàn)樵陔娐返慕獯a過(guò)程中,單片機(jī)進(jìn)行數(shù)碼幀的接收處理,首先是對(duì)3ms的脈沖檢驗(yàn),當(dāng)?shù)谝晃坏碗娖酱a的脈寬小于2ms時(shí)就會(huì)錯(cuò)誤處理。
在初始化過(guò)程中,將P1口全置0,但是繼電器仍工作,通過(guò)反復(fù)調(diào)試,將初始化的P1口全置1,通過(guò)反向使得輸出全為0,從而滿足上電復(fù)位,繼電器掉電,滿足初始化要求。
8結(jié)論
由于目前的遙控裝置大多對(duì)某一設(shè)備進(jìn)行單獨(dú)控制,而在本設(shè)計(jì)中的紅外遙控電路設(shè)計(jì)了多個(gè)控制按鍵,可以對(duì)不同的設(shè)備,也可以對(duì)同一設(shè)備的多個(gè)功能進(jìn)行不同的控制?;痉霞夹g(shù)要求。
但是本電路也有不完善的地方,它只能單通道實(shí)現(xiàn)對(duì)多個(gè)設(shè)備的控制,即它不能同時(shí)控制兩個(gè)或者兩個(gè)以上的設(shè)備。
在設(shè)計(jì)過(guò)程中,通過(guò)大量的查閱資料,認(rèn)真研究教材,對(duì)單片機(jī)有了更為深刻的理解,在設(shè)計(jì)軟件時(shí),須仔細(xì)的分析硬件電路,畫(huà)出程序流程圖,培養(yǎng)了我的耐性和刻苦鉆研的精神。
參考文獻(xiàn)
[1]全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì).第五屆全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編,第1版,北京理工大學(xué)出版社,2005年,P10-17.
[2]康華光,陳大欽.電子技術(shù)基礎(chǔ)模擬部分,第4版,高等教育出版社,1999年,第四版,P82-155.
[3]康華光,鄒壽彬.電子技術(shù)基礎(chǔ)數(shù)字部分,第4版,高等教育出版社,2000年,第四版, P83-155.
[4]李錦春,蔡仁明.常用晶體二極管、大功率三極管手冊(cè),人民郵電出版社,1981年,第一版, P23-55.
[5]黃智偉,王彥,陳文光.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽訓(xùn)練教程,第1版,電子工業(yè)出版社,2005年,P304-P314.
[6]吳金戌,沈慶陽(yáng),郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用,第1版,清華大學(xué)出版社,2002年,P147-167.
[7]青木英彥.模擬電路的設(shè)計(jì)與制作,第1版,科學(xué)出版社,2005年, 119-131.
[8]李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ),第2版,北京航空航天大學(xué)出版社,2001年,P13-71.
[9]梅麗風(fēng),王艷秋,張軍等.單片機(jī)原理及接口技術(shù),第1版,清華大學(xué)出版社,2004年,P296-323.
[10]何立民.單片機(jī)應(yīng)用文集,第一版,北京航空航天大學(xué)出版社,1991, P1-310.
[11]何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)——系統(tǒng)配置與接口技術(shù),第2版,北京航空航天大學(xué)出版社,1995,P31-175.
[12]趙亮,侯國(guó)銳.單片機(jī)C語(yǔ)言編程與實(shí)例,第一版,人民郵電出版社,2003.9, P1-152.
[13]劉勝利.新型顯示器電路分析,第一版,電子工業(yè)出版社,1999,P122-344.
[14]胡偉.單片機(jī)C程序設(shè)計(jì)及應(yīng)用實(shí)例人民郵電出版社,2003.7,P1-247.
[15]實(shí)用電子元器件手冊(cè).上??茖W(xué)技術(shù)出版社,1998.2,P1-21.
[16]李廣弟等.單片機(jī)基礎(chǔ),北京航空航天大學(xué)出版社,2002.6,P1-223.
[17] Michael A. Miller. Data and Network Communications,第一版,科學(xué)出版社,2002年
[18] J.Bhasker著,徐振林譯..Verilog HDL硬件描述語(yǔ)言,第一版,電子工業(yè)出版社,2004年
附錄1:發(fā)射程序
ORG 0000H ;程序執(zhí)行開(kāi)始地址
AJMP START ;跳至START執(zhí)行
ORG 001BH ;定時(shí)器T1中斷入口地址
LJMP INTT1 ;跳至INTT1中斷服務(wù)程序
ORG 0030H
START: MOV SP,#70H ;設(shè)堆?;窞?0H
CLR P3.5 ;關(guān)遙控輸出
MOV IE,#00H ;關(guān)所有中斷
MOV IP,#01H ;設(shè)優(yōu)先級(jí)
MOV TMOD,#22H ;8位自動(dòng)重裝初值模式
MOV TH1,#0F3H ;定時(shí)為13微秒初值
MOV TL1,#0F3H ;
SETB EA ;開(kāi)總中斷允許
;鍵盤(pán)
MOV P1,#0FFH
JIAN: LCALL DELAY2
MOV A,P1
CJNE A,#0FFH,JIAN1
LJMP JIAN
JIAN1:MOV A,P1
CJNE A,#0FEH,JIAN2
LJMP MN4
JIAN2:MOV A,P1
CJNE A,#0FDH,JIAN3
LJMP MN0
JIAN3:MOV A,P1
CJNE A,#0FBH,JIAN4
LJMP MN6
JIAN4:MOV A,P1
CJNE A,#0F7H,JIAN5
LJMP MN2
JIAN5:MOV A,P1
CJNE A,#0EFH,JIAN6
LJMP MN5
JIAN6:MOV A,P1
CJNE A,#0DFH,JIAN7
LJMP MN1
JIAN7:MOV A,P1
CJNE A,#0BFH,JIAN8
LJMP MN3
JIAN8:MOV A,P1
CJNE A,#07FH,NN
LJMP MN7
NN:LJMP JIAN
mn0: MOV A,#02H ;發(fā)2個(gè)脈沖
LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
ajmp nn
mn1: MOV A,#03H ;發(fā)3個(gè)脈沖
LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
ajmp nn
mn2: MOV A,#04H ;發(fā)4個(gè)脈沖
LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
ajmp nn
mn3: MOV A,#05H ;發(fā)5個(gè)脈沖
LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
ajmp nn
mn4: MOV A,#06H ;發(fā)6個(gè)脈沖
LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
ajmp nn
mn5: MOV A,#07H ;發(fā)7個(gè)脈沖
LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
ajmp nn
mn6: MOV A,#08H ;發(fā)8個(gè)脈沖
LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
ajmp nn
mn7: MOV A,#09H ;發(fā)9個(gè)脈沖
LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
ajmp nn
;mn8: MOV A,#0AH ;發(fā)10個(gè)脈沖
; LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
; ajmp nn
;mn9: MOV A,#0BH ;發(fā)11個(gè)脈沖
; LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
; ajmp nn
;mn10: MOV A,#0CH ;發(fā)12個(gè)脈沖
; LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
; ajmp nn
;mn11: MOV A,#0DH ;發(fā)13個(gè)脈沖
; LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
; ajmp nn
;mn12: MOV A,#0EH ;發(fā)14個(gè)脈沖
; LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
; ajmp nn
;mn13: MOV A,#0FH ;發(fā)15個(gè)脈沖
; LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
; ajmp nn
;mn14: MOV A,#10H ;發(fā)16個(gè)脈沖
; LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
; ajmp nn
;mn15: MOV A,#11H ;發(fā)17個(gè)脈沖
; LCALL REMOTE ;轉(zhuǎn)發(fā)送程序
; ajmp nn
;*************************************
;* 編 碼 發(fā) 射 程 序 *
;*************************************
REMOTE: MOV R1,A ;裝入發(fā)射脈沖個(gè)數(shù)
LJMP OUT3 ;轉(zhuǎn)第一個(gè)碼發(fā)射處理
OUT: MOV R0,#55H ;1MS寬低電平發(fā)射控制數(shù)據(jù)
OUT1: SETB ET1 ;開(kāi)T1中斷
SETB TR1 ;開(kāi)啟定時(shí)器T1
NOP ;延時(shí)
NOP
NOP
NOP
NOP
DJNZ R0,OUT1 ;時(shí)間不到轉(zhuǎn)OUT1再循環(huán)
MOV R0,#32H ;1MS高電平間隙控制數(shù)據(jù)
OUT2: CLR TR1 ;關(guān)定時(shí)器T1
CLR ET1 ;關(guān)T1中斷
CLR P3.5 ;關(guān)脈沖輸出
NOP ;空操作延時(shí)
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R0,OUT2 ;時(shí)間不到轉(zhuǎn)OUT2再循環(huán)
DJNZ R1,OUT ;脈沖未發(fā)完,轉(zhuǎn)OUT再循環(huán)發(fā)射
LCALL DL500MS ;
RET ;
OUT3: MOV R0,#0FFH ;裝發(fā)謝3MS寬控制數(shù)據(jù)
LJMP OUT1 ;轉(zhuǎn)OUT1
;;*************************************
;* 延時(shí)513 us *
;*************************************
;513微秒延時(shí)程序
DELAY: MOV R2,#0FFH
DELAY1: DJNZ R2,DELAY1
RET
DELAY2: MOV R2,#0FFH
DELAY3: MOV R3,#0FFH
DJNZ R3,$
DJNZ R2,DELAY3
RET
;*************************************
;* 延時(shí)10ms *
;*************************************
;10毫秒延時(shí)程序
DL10MS: MOV R3,#14H
DL10MS1: LCALL DELAY
DJNZ R3,DL10MS1
RET
;500毫秒延時(shí)程序
DL500MS: MOV R4,#32H
DL500MS1: LCALL DL10MS
DJNZ R4,DL500MS1
RET
;*************************************
;* T1中斷服務(wù)程序 *
;*************************************
INTT1: CPL P3.5 ;40kHZ紅外線遙控信號(hào)產(chǎn)生
RETI ;中斷返回
END ;程序結(jié)束
附錄2:接收程序
ORG 0000H
LJMP START
ORG 0003H
LJMP INTEX0
ORG 0030H
START: MOV SP,#70H
MOV IE,#00H ;關(guān)所有中斷
SETB EX0 ;開(kāi)外中斷
SETB EA ;總中斷允許
MOV P1,#00H
MAIN: LCALL DELAY ;持續(xù)512微秒
MOV 31H,#00H
MOV 30H,P1
MOV R7,#08H
XUN: CLR C
MOV A,30H
RLC A
MOV 30H,A
MOV A,31H
ADDC A,#00H
MOV 31H,A
DJNZ R7,XUN
MOV A,31H
SWAP A
MOV P2,A
LJMP MAIN ;轉(zhuǎn)MAIN循環(huán)
NOP ;PC值出錯(cuò)處理
LJMP START ;出錯(cuò)時(shí)重新初始化
;******************************
; 遙控接收程序
;******************************
;采用中斷接收
INTEX0: MOV 32H,A
MOV 20H,C
CLR EX0 ;關(guān)外中斷
JNB P3.1,READ1 ;P3.5口為低電平轉(zhuǎn)READ1
READOUTT0: SETB EX0 ;P3.5口為高電平開(kāi)中斷(系干擾)
MOV A,32H
MOV C,20H
RETI ;退出中斷
READ1: CLR A ;清A
MOV DPH,A ;清DPTR
MOV DPL,A ;
HARD1: JB P3.1,HARD11 ;P3.5變高電平轉(zhuǎn)HARD11
INC DPTR ;用DPTR對(duì)低電平計(jì)數(shù)
NOP ;1微秒延時(shí)
NOP
AJMP HARD1 ;轉(zhuǎn)HARD1循環(huán)(循環(huán)周期為8微秒)
HARD11: MOV A,DPH ;DPTR高8位放入A
JZ READOUTT0 ;為0(脈寬小于8*255=2毫秒)退出
CLR A ;不為0說(shuō)明是第一個(gè)寬脈沖(3毫秒)
READ11: INC A ;脈沖個(gè)數(shù)計(jì)1
READ12: JNB P3.1,READ12 ;低電平時(shí)等待
MOV R1,#06H ;高電平寬度判斷定時(shí)值
READ13: JNB P3.1,READ11 ;變低電平時(shí)轉(zhuǎn)READ11脈沖計(jì)數(shù)
LCALL DELAYREAD ;延時(shí)(512微秒)
DJNZ R1,READ13 ;6次延時(shí)不到轉(zhuǎn)READ13再延時(shí)
DEC A ;超過(guò)3毫秒判為結(jié)束,減1
DEC A ;減1
JZ FUN0 ;為0執(zhí)行FUN0(2個(gè)脈沖)
DEC A ;減1
JZ FUN1 ;為0執(zhí)行FUN1(3個(gè)脈沖)
DEC A ;
收藏