freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的紅外遙控窗簾設(shè)計(jì)論文含c語(yǔ)言源程序-在線瀏覽

2025-03-07 14:28本頁(yè)面
  

【正文】 射二極管產(chǎn)生紅外線向空間發(fā)射。該芯片的用戶識(shí)別碼固定為十六進(jìn)制01H;后16位為8位操作碼(功能碼)及其反碼。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為100ms。當(dāng)一個(gè)鍵按下超過(guò)36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個(gè)起始碼(9ms),一個(gè)結(jié)果碼(),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據(jù)碼(9ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。代碼格式(以接收代碼為準(zhǔn),接收代碼與發(fā)射代碼反向)①位定義        ?、趩伟l(fā)代碼格式        ③連發(fā)代碼格式 注:代碼寬度算法: 16位地址碼的最短寬度:16=18ms 16位地址碼的最長(zhǎng)寬度:16=36ms易知8位數(shù)據(jù)代碼及其8位反代碼的寬度和不變:(+)8=27ms∴32位代碼的寬度為(18ms+27ms)~(36ms+27ms)1. 解碼的關(guān)鍵是如何識(shí)別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”,不同的是高電平的寬度不同,“0”,“1”,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。2. 2. 根據(jù)碼的格式,[6]。電路原理: ,主要由紅外接收頭和IC4069組成的紅外控制開(kāi)關(guān)電路。當(dāng)收到遙控發(fā)射器送來(lái)的紅外脈沖信號(hào)時(shí),接收頭的第腳輸出低電平(脈沖信號(hào))。這樣,每按動(dòng)一次紅外發(fā)射器,在IC6輸出端就得到一個(gè)負(fù)脈沖信號(hào),去觸發(fā)由ICc和ICd組成的雙穩(wěn)態(tài)電路,促使雙穩(wěn)態(tài)電路翻轉(zhuǎn),輸出H或L電平,通過(guò)R8控制單向可控硅的導(dǎo)通或截止 紅外接收電路紅外遙控接收頭解調(diào)出的編碼是串行二進(jìn)制碼,包含著遙控器按鍵信息。 經(jīng)過(guò)串并轉(zhuǎn)換,我們得到了8位并行遙控碼。但這樣做要占用CPU一個(gè)外部中斷資源并需編寫(xiě)額外的中斷服務(wù)程序,顯得比較煩瑣。因此,我們想尋求一種不占用儀器CPU的軟、硬件資源而實(shí)現(xiàn)遙控的方法,使鍵盤(pán)輸入和遙控輸入統(tǒng)一起來(lái),占用同一個(gè)端口、同一個(gè)中斷、同一個(gè)中斷服務(wù)程序。但實(shí)際上卻有遙控器與鍵盤(pán)兩套鍵輸入硬件在同時(shí)而獨(dú)立地工作。在這種方式下,CPU通過(guò)輸出指令使鍵盤(pán)矩陣的行掃描線依次為“0”(低電平),同時(shí)監(jiān)測(cè)鍵盤(pán)矩陣的列掃描線。我們?cè)O(shè)想,可否將遙控接收頭輸出的含有按鍵信息的8位遙控碼通過(guò)某種轉(zhuǎn)換,并入鍵盤(pán)矩陣電路,當(dāng)遙控器有鍵按下時(shí),就會(huì)在機(jī)上鍵盤(pán)對(duì)應(yīng)鍵處產(chǎn)生一個(gè)“模擬”按鍵動(dòng)作,產(chǎn)生一個(gè)鍵碼可供CPU讀取。這樣就將遙控鍵盤(pán)和本機(jī)鍵盤(pán)統(tǒng)一起來(lái),二者的鍵數(shù)和鍵功能定義都一樣,一個(gè)相同的鍵在遙控器上按下和在本機(jī)鍵盤(pán)上按下對(duì)CPU而言沒(méi)有任何區(qū)別,只不過(guò)對(duì)鍵盤(pán)矩陣來(lái)說(shuō)前者是軟接觸,后者是硬接觸。 這是一個(gè)12變量輸入S變量輸出的組合邏輯函數(shù),最小項(xiàng)總數(shù)為1620=320個(gè)。EPROM就是一種與陣列固定、或陣列可編程的邏輯器件。而且,EPROM地址譯碼器的輸出包含了全部輸入變量的最小項(xiàng),每一位數(shù)據(jù)輸出又都是這些最小項(xiàng)之和,因而任何形式的組合邏輯函數(shù)均能通過(guò)向EPROM中寫(xiě)入相應(yīng)的數(shù)據(jù)來(lái)實(shí)現(xiàn)。根據(jù)這個(gè)原理,選用4K8EPROM2732,可以實(shí)現(xiàn)任意12變量輸入、8變量輸出的組合邏輯函數(shù)。需要指出的是,EPROM的地址譯碼是全譯碼,而在本方案中占據(jù)地址線A0~A7的8位遙控碼只有20種有效碼值(20個(gè)鍵),即一頁(yè)(2S6字節(jié))中只有20個(gè)有效數(shù)據(jù),則應(yīng)將剩余空間填入0FFH。當(dāng)遙控器上沒(méi)有按鍵按下時(shí),EPROM2732的端為“1”,使得2732的數(shù)據(jù)線D0~D4為高阻態(tài)與鍵盤(pán)矩陣線脫離,而本機(jī)鍵盤(pán)的掃描與讀出照常進(jìn)行不受影響,若遙控器上有鍵按下時(shí),經(jīng)紅外發(fā)射、接收對(duì)應(yīng)的8位遙控碼出現(xiàn)在74HC595的輸出端,并作為EPROM2732的A0~A7輸入,此時(shí)的行掃描碼(CPU發(fā)出)作為A8~A11輸入,2732的端為低電平,讀出A0~A11指定單元的數(shù)據(jù),將其中D0~D4放在鍵盤(pán)矩陣列線上。接下來(lái)CPU對(duì)這個(gè)“按鍵”動(dòng)作的響應(yīng)、處理就和本機(jī)鍵盤(pán)完全一樣了。程序流程圖下:解碼程序在比較器中斷服務(wù)程序中實(shí)現(xiàn)。每一組有效的編碼由24為組成,因此程序中需要有一個(gè)脈沖計(jì)數(shù)變量來(lái)記錄是否有24位碼,只有確認(rèn)收到24位碼后,才認(rèn)為這次按鍵有效??梢栽O(shè)一個(gè)變量來(lái)記錄同一個(gè)鍵值收到的次數(shù),當(dāng)它的記錄小于某一預(yù)定的值時(shí),表示用戶在進(jìn)行同一操作。4 單片機(jī)介紹 MCS51系列單片機(jī)是美國(guó)Intel公司在1980年推出的高性能8位單片微機(jī),較原來(lái)的MCS48系列結(jié)構(gòu)更為先進(jìn),功能增強(qiáng),它包括51和52兩個(gè)子系列。51子系列的主要功能為: 8為CPU。 128個(gè)字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器。 程序存儲(chǔ)器的尋址范圍為64K字節(jié)。 21個(gè)字節(jié)專用寄存器。 1個(gè)全雙工串行I/O接口,可多機(jī)通訊。 中斷系統(tǒng)有5個(gè)中斷源,可編程為兩個(gè)優(yōu)先級(jí)。 有強(qiáng)的位尋址、位處理能力。 用單一+5V電源。與51子系列的不同在于:片內(nèi)數(shù)據(jù)存儲(chǔ)器增至256個(gè)字節(jié);片內(nèi)程序存儲(chǔ)器增至8KB(8032無(wú));有3個(gè)16位定時(shí)器/計(jì)數(shù)器;有6個(gè)中斷源。它含運(yùn)算器、控制器、片內(nèi)存儲(chǔ)器、4個(gè)I/O接口、串行接口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)、振蕩器等功能器件。見(jiàn)圖。低功耗的、采用CHMOS工藝制造的機(jī)型(在型號(hào)中間家一“C”字作為識(shí)別,如80C380C587C51)也有用方型封裝結(jié)構(gòu)的。 Vss:接+5V電源地端。 XTAL2:片內(nèi)反相放大器輸出端。 ~:P0口的8個(gè)引腳。在接有片外存儲(chǔ)器或擴(kuò)展I/O接口時(shí),P0口分時(shí)復(fù)用為低8位地址總線和雙向數(shù)據(jù)總線??勺鳛闇?zhǔn)雙向I/O接口使用。 ~:;在接有片外存儲(chǔ)器或擴(kuò)展I/O接口且尋址范圍超過(guò)256字節(jié)時(shí),P2口用為高8為地址總線。當(dāng)然只要再加上兩根I/O口線即可輕易實(shí)現(xiàn)8位LED的顯示電路[7]。74LS164(詳細(xì)技術(shù)手冊(cè))是一個(gè)8位串入并出的移位寄存器,其此處的功能是將C2051串行通信口輸出的串行數(shù)據(jù)譯碼并在其并口線上輸出,從而驅(qū)動(dòng)LED數(shù)碼管。但74LS138電流驅(qū)動(dòng)能力較小,為此,我們使用了未級(jí)驅(qū)動(dòng)三極管2SA1015作為地址驅(qū)動(dòng)。使用串行口進(jìn)行LED通信,程序編寫(xiě)相當(dāng)簡(jiǎn)單,用戶只需將需顯示的數(shù)據(jù)直接送串口發(fā)送緩沖器,等待串行中斷即可,看看下面的程序。 ORG 0100H MOV SCON,00H 。下面以MCS51單片機(jī)系統(tǒng)為例,對(duì)微機(jī)系統(tǒng)軟件抗干擾方法進(jìn)行研究。 軟件抗干擾方法的研究 在工程實(shí)踐中,軟件抗干擾研究的內(nèi)容主要是: 一、消除模擬輸入信號(hào)的嗓聲(如數(shù)字濾波技術(shù));二、程序運(yùn)行混亂時(shí)使程序重入正軌的方法。 指令冗余 CPU取指令過(guò)程是先取操作碼,再取操作數(shù)。若“飛” 到了三字節(jié)指令,出錯(cuò)機(jī)率更大。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個(gè)字節(jié)以上的NOP。此外,對(duì)系統(tǒng)流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入兩條NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。 通常用軟件陷阱來(lái)攔截亂飛的程序。 通過(guò)軟件陷阱,攔截亂飛程序,將其引向指定位置,再進(jìn)行出錯(cuò)處理。通常在EPROM中非程序區(qū)填入以下指令作為軟件陷阱: NOP NOP LJMP 0000H其機(jī)器碼為0000020000。最后一條應(yīng)填入020000,當(dāng)亂飛程序落到此區(qū),即可自動(dòng)入軌。當(dāng)使用的中斷因干擾而開(kāi)放時(shí),在對(duì)應(yīng)的中斷服務(wù)程序中設(shè)置軟件陷阱,能及時(shí)捕獲錯(cuò)誤的中斷。返回指令可用“RETI”,也可用“LJMP 0000H”。 軟件“看門(mén)狗”技術(shù)通過(guò)不斷檢測(cè)程序循環(huán)運(yùn)行時(shí)間,若發(fā)現(xiàn)程序循環(huán)時(shí)間超過(guò)最大循環(huán)運(yùn)行時(shí)間,則認(rèn)為系統(tǒng)陷入“死循環(huán)”,需進(jìn)行出錯(cuò)處理。 在工業(yè)應(yīng)用中,嚴(yán)重的干擾有時(shí)會(huì)破壞中斷方式控制字,關(guān)閉中斷。而軟件看門(mén)狗可有效地解決這類問(wèn)題。用定時(shí)器T0監(jiān)視定時(shí)器T1,用定時(shí)器T1監(jiān)視主程序,主程序監(jiān)視定時(shí)器T0。對(duì)于需經(jīng)常使用T1定時(shí)器進(jìn)行串口通訊的測(cè)控系統(tǒng),則定時(shí)器T1不能進(jìn)行中斷,可改由串口中斷進(jìn)行監(jiān)控(如果用的是MCS52系列單片機(jī),也可用T2代替T1進(jìn)行監(jiān)視)。在T0中斷服務(wù)程序中通過(guò)檢測(cè)T1Watch的變化情況判定T1運(yùn)行是否正常,在T1中斷服務(wù)程序中檢測(cè)MWatch的變化情況判定主程序是否正常運(yùn)行,在主程序中通過(guò)檢測(cè)T0Watch的變化情況判別T0是否正常工作。當(dāng)然,對(duì)主程序最大循環(huán)周期、定時(shí)器T0和T1定時(shí)周期應(yīng)予以全盤(pán)合理考慮[5]。 非正常復(fù)位的識(shí)別四種情況中除第一種情況外均屬非正常復(fù)位,需加以識(shí)別。 此處硬件復(fù)位指開(kāi)機(jī)復(fù)位與看門(mén)狗復(fù)位,硬件復(fù)位對(duì)寄存器有影響,如復(fù)位后PC=0000H, SP=07H,PSW=00H等。故對(duì)于微機(jī)測(cè)控系統(tǒng),當(dāng)程序正常運(yùn)行時(shí),將SP設(shè)置地址大于07H,或者將PSW的第5位用戶標(biāo)志位在系統(tǒng)正常運(yùn)行時(shí)設(shè)為1。、軟件復(fù)位識(shí)別流程此外,由于硬件復(fù)位時(shí)片內(nèi)RAM狀態(tài)是隨機(jī)的,而軟件復(fù)位片內(nèi)RAM則可保持復(fù)位前狀態(tài),因此可選取片內(nèi)某一個(gè)或兩個(gè)單元作為上電標(biāo)志。若用兩個(gè)單元作上電標(biāo)志,則這種判別方法的可靠性更高。 當(dāng)系統(tǒng)正常運(yùn)行時(shí),設(shè)置一可掉電保護(hù)的觀測(cè)單元。 正常開(kāi)機(jī)復(fù)位與非正常開(kāi)機(jī)復(fù)位的識(shí)別識(shí)別測(cè)控系統(tǒng)中因意外情況如系統(tǒng)掉電等情況引起的開(kāi)機(jī)復(fù)位與正常開(kāi)機(jī)復(fù)位,對(duì)于過(guò)程控制系統(tǒng)尤為重要。在已執(zhí)行測(cè)控50分鐘的情況下,系統(tǒng)電壓異常引起復(fù)位,此時(shí)若系統(tǒng)復(fù)位后又從頭開(kāi)始進(jìn)行測(cè)控則會(huì)造成不必要的時(shí)間消耗。那么系統(tǒng)復(fù)位后可據(jù)此單元判系統(tǒng)原來(lái)的運(yùn)行狀態(tài),并跳到出錯(cuò)處理程序中恢復(fù)系統(tǒng)原運(yùn)行狀態(tài)。該窗簾控制器采用89C2051單片機(jī)的最小系統(tǒng)設(shè)計(jì),控制一個(gè)220V的可逆、變速電動(dòng)機(jī)控制窗簾的拉開(kāi)和關(guān)閉。三種工作方式可以方便地進(jìn)行選擇,當(dāng)選擇時(shí)間控制的方案時(shí),數(shù)碼管還能顯示當(dāng)時(shí)小時(shí)和分鐘時(shí)間,不過(guò)時(shí)間數(shù)據(jù)只能順序顯示,顯示一遍后,略等片刻再顯示下一遍時(shí)間。電路分為8個(gè)部分,分別是電源部分、顯示部分、鳴響提示部分、紅外線接收部分、數(shù)據(jù)儲(chǔ)存部分、光控電路測(cè)光部分、電機(jī)控制執(zhí)行部分、單片機(jī)主控器件部分。同時(shí)經(jīng)過(guò)3端集成穩(wěn)壓器IC2穩(wěn)壓后輸出5V電壓VBB,為訊響電路、紅外接收電路、顯示電路提供電源,5V電源經(jīng)過(guò)二極管D限流電阻R18后,為單片機(jī)提供VCC電壓,E1是直流供電電源,電壓為3V~,在本電路中為了節(jié)省成本,使用兩節(jié)5號(hào)普通電池,C6和C7是單片機(jī)電源濾波電容。在控制器設(shè)置成手動(dòng)控制時(shí),單片機(jī)除執(zhí)行任務(wù)外,均處于睡眠狀態(tài),遙控器信號(hào)的到來(lái),單片機(jī)從睡眠中喚醒,恢復(fù)正常工作,所以手動(dòng)狀態(tài)下當(dāng)交流停電時(shí),電池的耗電電流更小。二極管D3用來(lái)提供C10的放電回路,保證交流信號(hào)的正常耦合。紅外線接收電路使用一個(gè)集成紅外接收器,型號(hào)是PIC12043。 ,該口對(duì)應(yīng)的第二功能是外部中斷0開(kāi)啟中斷功能的目的,既減輕了單片機(jī)的工作負(fù)擔(dān),又保證接收到的紅外信號(hào)的完整性,同時(shí)在手動(dòng)工作狀態(tài)下,單片機(jī)進(jìn)入睡眠后,利用外部中斷功能完成對(duì)單片機(jī)的喚醒。GM1可以使用光敏電阻或者光敏二極管,本電路中使用光敏二極管。使得C3放電工作在線性比較好的一個(gè)工作段上。電機(jī)執(zhí)行部分完全受單片機(jī)的控制。兩個(gè)繼電器便會(huì)有一個(gè)導(dǎo)通,、V4導(dǎo)通,J1吸合,電機(jī)得電轉(zhuǎn)動(dòng),電機(jī)則反方向轉(zhuǎn)動(dòng),實(shí)現(xiàn)了窗簾的拉開(kāi)和關(guān)閉。即便是在電機(jī)工作期間,操作了反向轉(zhuǎn)動(dòng)按鍵,單片機(jī)也是先釋放當(dāng)前工作的繼電器,并延時(shí)一段時(shí)間后再吸合另外一個(gè)繼電器,防止了電機(jī)正反工作線圈同時(shí)通電的冒險(xiǎn)。電路中使用P1口的8個(gè)I/O口分別驅(qū)動(dòng)數(shù)碼管的7個(gè)筆劃和數(shù)點(diǎn)。所以數(shù)碼管除顯示0~9數(shù)字外,還可以顯示軟件編輯的任意字符,數(shù)點(diǎn)用來(lái)指示工作狀態(tài)和不同的設(shè)置狀態(tài)。書(shū)點(diǎn)控制腳兼用鳴響信號(hào)輸出端,輸出的音頻信號(hào)通過(guò)RC10輸入到V6的基極,放大后推動(dòng)發(fā)聲器Y1發(fā)聲。,本電路使用AT24C02完成對(duì)設(shè)置狀態(tài)和設(shè)置數(shù)據(jù)的儲(chǔ)存[17]。 遙控器面板示意圖。設(shè)置部分—輸入定時(shí)打開(kāi)窗簾的時(shí)間;定時(shí)關(guān)閉窗簾的時(shí)間;輸入當(dāng)時(shí)的時(shí)間;開(kāi)關(guān)整點(diǎn)報(bào)時(shí)功能;開(kāi)關(guān)電機(jī)工作的時(shí)候聲音提示功能;設(shè)置電機(jī)運(yùn)行的時(shí)間長(zhǎng)度;選擇定時(shí)、光控、手動(dòng)控制的方式;查詢現(xiàn)在預(yù)設(shè)工作狀態(tài)和預(yù)設(shè)定時(shí)時(shí)間以及光控級(jí)別等。工作方式的選擇是選擇時(shí)控、光控和僅僅手動(dòng)控制方式之一,在時(shí)控和光控狀態(tài)下,手動(dòng)控制仍然有效,在手動(dòng)狀態(tài)下僅能手動(dòng)遙控操作。電機(jī)工作時(shí)間長(zhǎng)度設(shè)置,是根據(jù)用戶窗簾的長(zhǎng)度不同,設(shè)置對(duì)應(yīng)的電機(jī)一次運(yùn)行時(shí)間,保證在時(shí)控和光控狀態(tài)下窗簾拉開(kāi)或者關(guān)閉到位。聲音開(kāi)關(guān)是開(kāi)啟或者關(guān)閉電機(jī)在運(yùn)行的時(shí)候,鳴響器是否配合運(yùn)行發(fā)出一種“嘀—嘀—嘀—嘀—”的斷續(xù)提示音,以便用戶聽(tīng)覺(jué)感知窗簾的工作。在此時(shí)如果開(kāi)啟整點(diǎn)報(bào)時(shí)功能,一旦時(shí)鐘到達(dá)整點(diǎn),鳴響器發(fā)出聲音報(bào)時(shí),長(zhǎng)聲音表示10個(gè)點(diǎn),短促聲音表示一個(gè)點(diǎn)。同時(shí)我也還有很多的不足之處。需要在今后的工作學(xué)習(xí)當(dāng)中加強(qiáng)學(xué)習(xí)。感謝學(xué)校和二級(jí)學(xué)院在這大學(xué)四
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1