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

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文_基于單片機(jī)的紅外遙控器設(shè)計(jì)(參考版)

2024-09-01 10:36本頁(yè)面
  

【正文】 else IrOK=0。 f=0。 m++。amp。 基于單片機(jī)的紅外遙控器設(shè)計(jì) 第 38 頁(yè) 共 57 頁(yè) m++。amp。 return。(TcImax)) { m=0。 if((TcImin)amp。 TH0=0。 IrOK=0。 if(Receive_dat==0x55) R_flag=0。 BEEP=1。 BEEP=0。 while(1) { if(IrOK==1) //解碼成功 { Receive_dat=Im[2]。 //定時(shí)器 T0 運(yùn)行控制位 江蘇理工學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 第 37 頁(yè) 共 57 頁(yè) EA=1。 TL0=0。 //外部中斷 0觸發(fā)方式控制位 EX0=1。 TMOD=0X01。 f=0。j)。i) for(j=110。 for(i=xms。 sbit BEEP=P1^0。 uchar IrOK。 uchar f。 } 基于單片機(jī)的紅外遙控器設(shè)計(jì) 第 36 頁(yè) 共 57 頁(yè) 附錄 2 接收模塊程序: include define uchar unsigned char define uint unsigned int define Imax 14000 define Imin 8000 define Inum1 1450 define Inum2 700 define Inum3 3000 uchar Im[4]={0x00,0x00,0x00,0x00}。 R_TIME=0。 } } while(count0endcount)。 基于單片機(jī)的紅外遙控器設(shè)計(jì) 第 35 頁(yè) 共 57 頁(yè) do { if(count=10) { count=0。 count0=0。 else endcount=3。wy[s]。 } } while(count0endcount)。 do { if(count=10) { count=0。 count0=0。s++) { endcount=3。 for(s=0。 } } while(count0endcount)。 do { if(count=10) { count=0。 count0=0。 else endcount=10。wy[s]。 } } while(count0endcount)。 do { if(count=10) { count=0。 count0=0。s++) { endcount=3。 for(s=0。 } } while(count0endcount)。 do { if(count=10) { count=0。 count0=0。 else endcount=3。wy[s]。 } } while(count0endcount)。 do 基于單片機(jī)的紅外遙控器設(shè)計(jì) 第 33 頁(yè) 共 57 頁(yè) { if(count=10) { count=0。 count0=0。s++) { endcount=3。 for(s=0。 } } while(count0endcount)。 do { if(count=10) { count=0。 count0=0。 else endcount=10。wy[s]。 } } while(count0endcount)。 do { if(count=10) { count=0。 count0=0。s++) { endcount=3。 for(s=0。 } } while(count0endcount)。 do { if(count=10) { count=0。 count=0。 endcount=30。 count0++。 count0=0。 //發(fā)送 9ms 起始碼的高電平 Rxd_Infr=1。 TR0=1。 void sendirdata(uchar dat) { uchar s=0,user=0,shuju=0,hc=0。 //初始化系統(tǒng)碼 uchar code wy[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}。 } sbit Rxd_Infr=P2^6。 sendirdata(0x55)。 sendirdata(0x55)。 sendirdata(key_num)。 } } void keyscan() { key()。 else if(!KEY_LIN4) key_num=16。 else if(!KEY_LIN2) key_num=14。(key_fla g==0)) { key_flag=4。 if(((!KEY_LIN1)||(!KEY_LIN2)||(!KEY_LIN3)||(!KEY_LIN4))amp。 DEF_KEY4。 else if(!KEY_LIN4) key_num=12。 else if(!KEY_LIN2) key_num=10。(key_flag==0)) { key_flag=3。 if(((!KEY_LIN1)||(!KEY_LIN2)||(!KEY_LIN3)||(!KEY_LIN4))amp。 DEF_KEY3。 else if(!KEY_LIN4) key_num=8。 else if(!KEY_LIN2) key_num=6。(key_flag==0)) { key_flag=2。 if(((!KEY_LIN1)||(!KEY_LIN2)||(!KEY_LIN3)||(!KEY_LIN4))amp。 DEF_KEY2。 else if(!KEY_LIN4) key_num=4。 else if(!KEY_LIN2) key_num=2。(key_flag==0)) { key_flag=1。 if(((!KEY_LIN1)||(!KEY_LIN2)||(!KEY_LIN3)||(!KEY_LIN4))amp。KEY_ROW4=0 void key() { if(key_num==0) { DEF_KEY1。KEY_ROW2=1。KEY_ROW3=0。KEY_ROW4=1 define DEF_KEY3 KEY_ROW1=1。KEY_ROW2=0。KEY_ROW3=1。 define DEF_KEY1 KEY_ROW1=0。 unsigned char key_flag=0。 sbit KEY_LIN4=P1^7。 sbit KEY_LIN2=P1^5。 sbit KEY_ROW4=P1^0。 sbit KEY_ROW2=P1^2。 count++。 while(1) { keyscan()。 sendirdata(0x00)。 EA=1。 ET0=1。 //定時(shí)器 0 工作方式 2 8 位自動(dòng)重裝 TH0=244。 } include include void init() { R_TIME=0。j0。i0。 /*************************************************** 函數(shù)名稱:延時(shí)子函數(shù) 函數(shù)功能:按鍵消抖 ***************************************************/ void delayms(uint xms) { uint i,j。 基于單片機(jī)的紅外遙控器設(shè)計(jì) 第 27 頁(yè) 共 57 頁(yè) 附錄 1 發(fā)射模塊程序: include //頭文件 define uchar unsigned char //宏定義 define uint unsigned int sbit R_TIME=P2^7。沒(méi)有他們的幫助,我也不可能很好 地 完成本次設(shè)計(jì) 任務(wù) 。通過(guò)這次設(shè)計(jì)使我從中學(xué)到到了很多課本上學(xué)不到的知識(shí),了解了紅外遙控器的現(xiàn)狀和發(fā)展趨勢(shì), 我不但更深地掌握了單片機(jī)控制方面的知識(shí),更為重要地是也學(xué)到了做人做事應(yīng)該所必 要的素質(zhì),那就是 汪 老師 那種治學(xué)嚴(yán)謹(jǐn)、平易近人、無(wú)私奉獻(xiàn)的精神。 所以我們 做 畢業(yè)設(shè)計(jì)必須有一個(gè)良好的態(tài)度,認(rèn)真地對(duì)待,只有這樣才可以學(xué)到更多的專業(yè)知識(shí),為將來(lái)的工作做好各個(gè)方面準(zhǔn)備。 以上三點(diǎn)不足之處是我能想到的,系統(tǒng)還存在著不足,希望在以后的學(xué)習(xí)和工作中不斷的改進(jìn)與完善。 第二點(diǎn),就是精度的問(wèn)題,由于紅外管的靈敏度問(wèn)題,以及設(shè)計(jì)在布線 焊接上,器件與器件之間的相互干擾,多少存在一定的影響,所以這種遙控操作準(zhǔn)確性還存在不足。遙控接收器通過(guò)對(duì)紅外光接收頻率的識(shí)別,判斷解碼控制操作,來(lái)完成整個(gè)紅外遙控發(fā)射、接收過(guò)程。 江蘇理工學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 第 23 頁(yè) 共 57 頁(yè) 總 結(jié) 本設(shè)計(jì)主要應(yīng)用了 AT89S52 單片機(jī)作為核心,綜合應(yīng)用了單片機(jī)中斷系統(tǒng)、定時(shí)器、計(jì)數(shù)器等知識(shí),應(yīng)用紅外光的優(yōu)點(diǎn)。 軟硬件聯(lián)調(diào) 將軟件成功下載進(jìn)單片機(jī)之后,將電路板接上電池盒( 3 節(jié) 5 號(hào)電池),測(cè)試最終結(jié)果。編寫(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ú)誤。 經(jīng)過(guò)硬件調(diào)試排查出了一些下面一些問(wèn)題:一是接收模塊的數(shù)碼管用的是共陰極數(shù)碼管,導(dǎo)致數(shù)碼管不能顯示;二是接收模塊的按鍵復(fù)位電路有一根接地線錯(cuò)接到了 VCC 上;三是接收模塊三極管的一個(gè)引腳漏接一根線。 ( 1)正確使用測(cè)量?jī)x器的接地端,儀器的接地端與電路的接地端要可靠連接; ( 2)在信號(hào)較弱的輸入端,盡可能使用屏蔽線連線,屏蔽線的外屏蔽層要江蘇理工學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 第 22 頁(yè) 共 57 頁(yè) 接到公共地線上,在頻率較高時(shí)要設(shè)法隔離連接線分布電容的影響,例如用示波器測(cè)量時(shí)應(yīng)該使用示波器探頭連接,以減少分布電容的影響。這說(shuō)明了此電路是工作在正常狀態(tài)的。發(fā)現(xiàn)問(wèn)題,要設(shè)法找出原因,排除故障,繼續(xù)進(jìn)行。 電路經(jīng)過(guò)上述檢查,確認(rèn)無(wú)誤后,可轉(zhuǎn)入 靜態(tài)檢測(cè)與調(diào)試 [14]。對(duì)試驗(yàn)階段的電路板安裝一般有焊接方式和 PCB 板插接方式兩種方式,我采用的是焊接方式。 程序開(kāi)始是對(duì)單片機(jī)進(jìn)行初始化設(shè)置,使用顯示程序,循環(huán)掃描判斷信號(hào)是否有效,如果有效就接收,接收后調(diào)用相應(yīng)功能程序,遙控接收程序流程圖如圖32 所示。定時(shí)器 1 作為計(jì)數(shù)時(shí)間控制器,計(jì)數(shù)器 0 作為在規(guī)定記數(shù)時(shí)間內(nèi)所記得的紅外脈沖數(shù)。 開(kāi) 始初 始 化結(jié) 束調(diào) 用 按 鍵掃 描 程 序鍵 按 下按 鍵 信 號(hào)調(diào) 制發(fā) 送NY 圖 31 遙控發(fā)射程序流程圖 江蘇理工學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 第 19 頁(yè) 共 57 頁(yè) 接收模塊軟件流程圖 遙控接收器是根據(jù)接收到的不同頻率的紅外光信號(hào),由 CPU 轉(zhuǎn)化為對(duì)應(yīng)的控制功能對(duì)控制電路實(shí)施控制。本設(shè)計(jì)采用單片機(jī)制作,采用編程的方法,由于編程具有靈活性,故應(yīng)用范圍較廣,操作碼可隨意設(shè)定。 12345678RST91011121314151617XTAL218XTAL119GND202122232425262728PSEN29ALE/PROG30EA/VPP31323334353637
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1