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

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文_基于單片機(jī)的紅外遙控器設(shè)計(jì)-免費(fèi)閱讀

  

【正文】 } if(m==32) { m=0。 } if(f==1) { if(TcInum1amp。 } } } //外部中斷解碼程序 void intersvrl(void) interrupt 0 using 1 { Tc=TH0*256+TL0。 if(!R_flag) { if(Receive_dat17) { P0=dispcode[Receive_dat1]。 //T0 工作于方式 1,16 位定時(shí)器 IT0=1。i0。 uchar code dispcode[]={0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}。 count=0。 count0++。 } /**********發(fā)送數(shù)據(jù)反碼 ***********************/ /**********發(fā)送數(shù)據(jù)碼 ***********************/ shuju=dat。 //發(fā)送脈沖間距 江蘇理工學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 第 34 頁(yè) 共 57 頁(yè) if(hc==0) endcount=3。 //發(fā)送公共的 高電平 Rxd_Infr=1。 count=0。 count0++。 } /**********發(fā)送系統(tǒng)反碼 ***********************/ user=system。 //發(fā)送脈沖間距 if(hc==0) endcount=3。 //發(fā)送公共的 高電平 Rxd_Infr=1。 count0=0。 count=0。 uchar system=0xd1。 if(key_num0) { sendirdata(key_num)。amp。 if(!KEY_LIN1) key_num=9。 else if(!KEY_LIN3) key_num=7。 } } else if(key_flag==1) key_flag=0。 if((!KEY_LIN1)||(!KEY_LIN2)||(!KEY_LIN3)||(!KEY_LIN4)) { delayms(8)。KEY_ROW3=1。 unsigned char key_num=0。 } sbit KEY_ROW1=P1^3。 TR0=1。i) for(j=110。 其次要感謝我的同學(xué)們 , 感謝他們?cè)?畢業(yè) 設(shè)計(jì)的過(guò)程中給我的幫助。 本設(shè)計(jì)還存在很多的不足,第一點(diǎn),雖然本系統(tǒng)采用的是靜態(tài)數(shù)碼管顯示,當(dāng)數(shù)碼管增加時(shí),要求系統(tǒng)進(jìn)行功能的擴(kuò)展,由于單片機(jī)引腳的限制,則就需要采用動(dòng)態(tài)顯示,編程上需要作修改。 軟件調(diào)試 本設(shè)計(jì)包括紅外發(fā)射和紅外接收模塊,兩個(gè)模塊都需要進(jìn)行程序的編寫(xiě)。 動(dòng)態(tài)調(diào)試是在靜態(tài)調(diào)試的基礎(chǔ)上進(jìn)行的,調(diào)試的方法是在電路的輸入端加上所需的信號(hào)源,并循著信號(hào)的注射逐級(jí)檢測(cè)各有關(guān)點(diǎn)的波形、參數(shù)和性能指標(biāo)是否滿足設(shè)計(jì)要求,如有必要?jiǎng)t對(duì)電路參數(shù)作進(jìn)一步調(diào)整。當(dāng)接收電路接收到第一個(gè)紅外線脈沖時(shí),中斷INT0 被觸發(fā),啟動(dòng)定時(shí)器 0 和計(jì)數(shù)器 0。如果兩次地址碼相同且等于本系統(tǒng)的地址,數(shù)據(jù)碼與數(shù)據(jù)反碼之和等于 0FFH,則接收的本幀數(shù)據(jù)碼有效 [12]。 (2)第一次進(jìn)入遙控中斷后,開(kāi)始計(jì)時(shí)。便可知接收到的是引導(dǎo)碼還是 0 和 1。 單 片 機(jī) 電源電路 控制對(duì)象 紅外接收 復(fù)位電路 時(shí)鐘電路 江蘇理工學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 第 16 頁(yè) 共 57 頁(yè) 圖 211 紅外遙控單元發(fā)射框圖 接收控制模塊由一個(gè) AT89S52 芯片作為控制中心 ,與接收電路和各自的控制電路共同構(gòu)成。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制 “0”和 “1”的個(gè)數(shù)不同而不同,大約在45~ 63ms 之間。考慮到按鍵較多 ,可采用矩陣式 ,這里采用 4 4 的發(fā)射端利用單片機(jī)將待發(fā)送的二進(jìn)制信號(hào)編碼調(diào)制為一系列的脈沖串信號(hào) ,通過(guò) P1口發(fā)出,經(jīng) 8050 功率放大驅(qū)動(dòng)紅外發(fā)射管。這種七段顯示器能顯示的字符的形狀有些失真,字符比較少,但是與單片機(jī)的控制接口十分簡(jiǎn)單,使用起來(lái)很方便。本設(shè)計(jì)運(yùn)用外部中斷 0,通過(guò)電平觸發(fā)方式,實(shí)現(xiàn)外部中斷,接收紅外信號(hào)。按位操作時(shí),各位的地址為 88H~ 8FH。 51 單片機(jī)的中斷系統(tǒng)提供 5個(gè)中斷源:外部中斷 0和外部中斷 1,定時(shí) /計(jì)數(shù)器 (T0)和 (T1)的溢出中斷,串行接口的接收和發(fā)送中斷 [6]。通過(guò)這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容,石英晶體為一感性原件,與電容構(gòu)成振蕩回路,江蘇理工學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 第 8 頁(yè) 共 57 頁(yè) 為片內(nèi)放大器提供正反饋和振蕩的相移條件,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。 通過(guò)某種方式,使單片機(jī)內(nèi)各寄存器的值變?yōu)槌跏紶顟B(tài)的操作稱為復(fù)位。 PSEN :外部程序存儲(chǔ)器選通信號(hào)( PSEN ) 是外部程序存儲(chǔ)器選通信號(hào)。 ALE/ PROG :地址鎖存控制信號(hào)( ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低 8 位地址的輸出脈沖。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。對(duì) P2 端口寫(xiě)“ 1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí), P0 口也被作為低 8 位地址 /數(shù)據(jù)復(fù)用。AT89S52 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié) Flash, 256 字節(jié) RAM, 32 位 I/O 口線,看門狗定時(shí)器, 2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器 /計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu) ,全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。為此,采用第二種方案。遙控器分為發(fā)射模塊和接收模塊兩部分,遙控發(fā)射模塊發(fā)射電路采用紅外發(fā)光二極管發(fā)出經(jīng)過(guò)調(diào)制的紅外光波,接收模塊將紅外發(fā)射模塊發(fā)射的紅外光波轉(zhuǎn) 換為相應(yīng)的電信號(hào),再送放大器處理還原成信號(hào)。對(duì)推動(dòng)國(guó)家的工業(yè)現(xiàn)代化進(jìn)程有著重大意義。對(duì)于遙控操作的不同,遙控發(fā)射模塊通過(guò)對(duì)紅外光發(fā)射頻率的控制來(lái)區(qū)別不同的操作,遙控接收模塊通過(guò)對(duì)紅外光接收頻率的識(shí)別,判斷出控制操作,來(lái)完成整個(gè)紅外發(fā)射、接收過(guò)程 [1]。如今,由于嵌入式的廣泛應(yīng)用,促進(jìn)了新一代紅外遙控器的發(fā)展,將微型計(jì)算機(jī)芯片融入到遙控器中,使之使用更加方便快捷,也使人們的生活簡(jiǎn)易化。 紅外線遙控是目前使用最廣泛的一種通信和遙控手段。 主要技術(shù)指標(biāo)有:遙控器的遙控距離范圍在 0— 2m,額定工作電壓是 5V 的直流電。 單 片 機(jī) 遙控 按鈕 紅外 發(fā)射 單 片 機(jī) 紅外 接收 控制方式選擇開(kāi)關(guān) 受控 電器 基于單片機(jī)的紅外遙控器設(shè)計(jì) 第 4 頁(yè) 共 57 頁(yè) 第 2 章 系統(tǒng)硬件電路設(shè)計(jì) 器件選擇 單片機(jī)的選擇 本設(shè)計(jì)所使用的單片機(jī)可以用 AT89C3 AT89C51;羚羊單片機(jī)等多種單片機(jī)來(lái)實(shí)現(xiàn)。另外, AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式。在這種模式下, P0具有內(nèi)部上拉電阻。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。 P3口亦作為 AT89S52 特殊功能(第二功能)使用。在 flash 編程時(shí),此引腳( PROG )也用作編程輸入脈沖。當(dāng) AT89S52 從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí), PSEN 在每個(gè)機(jī)器周期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí), PSEN 將不被激活 [4]。 51單片機(jī)在時(shí)鐘電路工作以后,在 RST/VPD 端持續(xù)給出 2 個(gè)機(jī)器周期的高電平就可以完成復(fù)位操作(一般復(fù)位正脈沖寬度大于 10 ms)。振蕩器的頻率主 要取決于晶體的振蕩頻率 , 一般晶體可在 ~ 12 MHz之間任選 , 電容 C C2可在 5~ 30 pF之間選擇 , 電容的大小對(duì)振蕩頻率有微小的影響 , 可起頻率微調(diào)作用 [5]。 (1)中斷允許寄存器 IE(A8H) CPU 對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開(kāi)放和屏蔽是由中斷允許寄存器 (IE)控制的。寄存器的內(nèi)容及位地址表示如表 23所示。 顯示器件選擇 在單片機(jī)應(yīng)用系統(tǒng)中 ,使用的顯示器主要有 LED(發(fā)光二 極管 )和 LCD(液晶顯示器 )。 12345678RST91011121314151617XTAL218XTAL119GND202122232425262728PSEN29ALE/PROG30EA/VPP313233343536373839VCC40U1AT89S52VCCVCCVCC8f9g10e1d23c4DP5b6a7DS1SMG 圖 24 數(shù)碼管與單片機(jī)連接圖 按鍵控制方式選擇 由于本設(shè)計(jì)要發(fā)射 16 種不同頻率的紅外線,所以采用 4 4 矩陣鍵盤,如圖25所示,它是用 4 條 I/O 線作為行線, 4 條 I/O 線作為列線,在行線 和列線的交叉點(diǎn)上設(shè)置一個(gè)按鍵。 江蘇理工學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 第 13 頁(yè) 共 57 頁(yè) 圖 210 為該遙控系統(tǒng)的發(fā)射原理圖,其中 P1口作為鍵盤掃描口,具有 16個(gè)功能操作鍵,第 9 腳為單片機(jī)復(fù)位腳,采用復(fù)位電路如圖所示, 26 腳作為紅外遙控碼的輸出口,用于 38KHZ 載波編碼, 18 、 19腳 12MHZ 晶振。 當(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)組成。其中接收電路使用一體化紅外接收頭 HS0038, HS0038 工作頻率為 38KHz,它是一種集紅外線接收、放大、整形于一體的集成電路,不需要任何外接原件,就能完成從紅外線接收到輸出與 TTL 電平信號(hào)兼容的所有工作 ,再送給單片機(jī) ,經(jīng)單片機(jī)解碼并執(zhí)行相關(guān)控制程序 ,對(duì)外只有 3 個(gè)引腳 :+5V電源、地、信號(hào)輸出,使用方便 ,性能可靠 [11]。如果計(jì)時(shí)值為 9ms,接收到的是引導(dǎo)碼,如果計(jì)時(shí)值等于 ,接收到的是編碼 0。 (3)從第二次進(jìn)入遙控中斷起,先停止 計(jì)時(shí)。否則丟棄本次接收到的數(shù)據(jù)。定時(shí)器 1 作為計(jì)數(shù)時(shí)間控制器,計(jì)數(shù)器 0 作為在規(guī)定記數(shù)時(shí)間內(nèi)所記得的紅外脈沖數(shù)。發(fā)現(xiàn)問(wèn)題,要設(shè)法找出原因,排除故障,繼續(xù)進(jìn)行。編寫(xiě)程序時(shí),要分模塊進(jìn)行編寫(xiě),在對(duì)發(fā)射模塊的程序進(jìn)行編寫(xiě)時(shí),要分別編寫(xiě)按鍵消抖、按鍵掃描、系統(tǒng)初始化等子程序,在對(duì)接收程序進(jìn)行編寫(xiě)時(shí),要分別編寫(xiě)系統(tǒng)初始化、解碼等子程序 ,先分別對(duì)這些子程序進(jìn)行編譯,確保無(wú)誤。 第二點(diǎn),就是精度的問(wèn)題,由于紅外管的靈敏度問(wèn)題,以及設(shè)計(jì)在布線 焊接上,器件與器件之間的相互干擾,多少存在一定的影響,所以這種遙控操作準(zhǔn)確性還存在不足。沒(méi)有他們的幫助,我也不可能很好 地 完成本次設(shè)計(jì) 任務(wù) 。j0。 EA=1。 sbit KEY_ROW2=P1^2。 unsigned char key_flag=0。KEY_ROW4=1 define DEF_KEY3 KEY_ROW1=1。 if(((!KEY_LIN1)||(!KEY_LIN2)||(!KEY_LIN3)||(!KEY_LIN4))amp。 DEF_KEY2。 else if(!KEY_LIN4) key_num=8。 else if(!KEY_LIN2) key_num=10。(key_fla g==0)) { key_flag=4。 sendirdata(key_num)。 //初始化系統(tǒng)碼 uchar code wy[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}。 count0=0。 do { if(count=10) { count=0。 count0=0。 else endcount=10。 for(s=0。 } } while(count0endcount)。 do { if(count=10) { count=0。 co
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1