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

正文內(nèi)容

課程設(shè)計(jì)論文-單片機(jī)的紅外遙控系統(tǒng)(編輯修改稿)

2024-12-11 15:27 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 鍵盤掃描 從 AT24C04 中取出對(duì)應(yīng)數(shù)據(jù) 發(fā)射 結(jié)束 14 圖 19 此時(shí)說(shuō)明該紅外遙控分析器的接受功能已經(jīng)正常實(shí)現(xiàn)。 發(fā)射時(shí),通過鍵盤矩陣輸入一個(gè)鍵值,則在另外的一塊電路板的顯示器上顯示相應(yīng)的鍵值。例如,輸入鍵值“ 4”,則有如下結(jié)果: 圖 20 由此,說(shuō)明該遙控器的學(xué)習(xí)功能已經(jīng)正常實(shí)現(xiàn)。 、軟件測(cè)試 接收程序測(cè)試 軟件測(cè)試通過仿真軟件 Proteus 進(jìn)行仿真 .測(cè)試接收程序時(shí),利用信號(hào)源產(chǎn)生類似紅外線脈沖,由單片機(jī)接收口輸入,通過液晶顯示相應(yīng)的波形數(shù)值。 仿真模型如圖 21,波形設(shè)置如圖 22 15 圖 21 圖 22 發(fā)射程序測(cè)試 用示波器接在發(fā)射電路的發(fā)射端,仿真時(shí),通過程序發(fā)射紅外波形, 在示波器上觀察波形圖 。 如圖 23 圖 23 總結(jié)與展望 本次課程設(shè)計(jì)要求 基于 51 單片機(jī) ,設(shè)計(jì)制作一個(gè)紅外遙控器,可分析解讀并顯示紅外信號(hào) ,擴(kuò)展電路要求制作具有學(xué)習(xí)功能的紅外遙控器。從接到任務(wù)要求開始,我們便開始進(jìn)行相關(guān)資料的查閱,同時(shí)初步考慮制作方案。隨后,認(rèn)真研究了紅外一體接收頭的內(nèi)部原理,如何用單片機(jī)分析出接收到的信號(hào),以及16 LCD 液晶屏的顯示,從而最終擬定了接收方案的電路,并開始寫作程序。接收電路完成后,便開始對(duì)發(fā)射電路進(jìn)行研究。通過查閱資料,明白了發(fā)射原理,并且設(shè)計(jì)出了發(fā)射電路圖,用程序?qū)崿F(xiàn)。當(dāng)順利分別實(shí)現(xiàn)發(fā)射和接收功能后,再將兩個(gè)程序綜合的過程中,遇到了難題:發(fā)射功能不能實(shí)現(xiàn)了。經(jīng)過請(qǐng)教同學(xué),最終完成了整個(gè)要求的電路功能。 這次實(shí)驗(yàn)不僅讓我們進(jìn)一步了解了紅外遙控技術(shù),增強(qiáng)自己動(dòng)手能力,最重要的是讓我們學(xué)會(huì)了團(tuán)隊(duì)協(xié)作,為了共同的目標(biāo)努力,大家一起查閱資料,探討設(shè)計(jì),遇到難題總是一起尋求解決的方法,當(dāng)有想放棄的不良情緒產(chǎn)生時(shí),相互鼓 勵(lì)打氣。尤其是答辯前最后幾天,為進(jìn)行最后的攻堅(jiān),大家同吃同睡,一起熬夜,相互解惑,加深了彼此之間的感情。 隨著科學(xué)技術(shù)的飛速發(fā)展,紅外遙控技術(shù)必將有進(jìn)一步的飛躍,其運(yùn)用領(lǐng)域也將大大擴(kuò)展。無(wú)論是在軍事還是民用,起作用都將日益增大。其發(fā)展前景會(huì)相當(dāng)美好。 參考文獻(xiàn) [1] 胡漢才 . 單片機(jī)原理及接口技術(shù) [M] 北京 : 清華大學(xué) 大學(xué)出版社 ,2020 [2] 嚴(yán)后選 ,孫建國(guó),張?zhí)旌?,無(wú)線紅外智能遙控器的設(shè)計(jì) [J] 測(cè)控技術(shù), 2020,22( 3) [3]裴彥純,陳志超,基于單片機(jī)系統(tǒng)的紅外遙控器應(yīng)用 [J] 現(xiàn)代電子技術(shù),2020,4 [4]馮成德,劉棟,基于 keil C51的紅外遙控器解碼設(shè)計(jì) [J] 自動(dòng)化與儀器儀表,2020,6 17 附 件 附件一: 仿真 電路圖 18 附件二:實(shí)物圖 19 附件 二 :程序 include include include define uint unsigned int define uchar unsigned char define yhm 0x40 //用戶碼 sbit irin=P3^3。 //紅外接收口( int1) sbit irout=P1^4。 //紅外發(fā)射口 sbit rs = P1^0。 //指令數(shù)據(jù)選擇 sbit rw = P1^1。 //讀寫選擇 sbit e = P1^2。 //lcd 使能 sbit led=P1^3。 //指示燈 sbit scl=P3^6。 //at24c02 時(shí)鐘 sbit sda=P3^7。 //at24c02 數(shù)據(jù) sbit learn=P1^5。 //學(xué)習(xí)鍵 sbit fashe=P1^6。 //發(fā)射鍵 char code Tab[16]=0123456789ABCDEF。 char data TimeNum[]= 。 char data Test1[]= 。 uchar irtime。//紅外用全局變量 bit irpro_ok,irok。 uchar IRcord[4]。 //處理后的紅外碼,分別是 客戶碼,客戶碼,數(shù)據(jù)碼,數(shù)據(jù)碼反碼 uchar irdata[33]。 //33 個(gè)高低電平的時(shí)間數(shù)據(jù) /************初值 *********************/ define m9 (655369000) define m4_5 (655364500) define m1_6 (655361630) define m_65 (65536580) define m_56 (65536560) define m40 (6553640000) define m56 (6553656000) define m2_25 (655362250) /******************************************************************/ /* 函數(shù)聲明 */ /******************************************************************/ void Ir_work(void)。 void Ircordpro(void)。 20 void ShowString (uchar line,char *ptr)。 void irfa(uchar temp)。 void date(uchar temp)。 void maichong(bit op,uint temp)。 /******************************************************************/ /* 定時(shí)器 0 中斷服務(wù)函數(shù) */ /******************************************************************/ void tim0_isr() interrupt 1 //定時(shí)器 0 中斷服務(wù)函數(shù) { irtime++。 //用于計(jì)數(shù) 2 個(gè)下降沿之間的時(shí)間 } /******************************************************************/ /* 外部中斷 0 函數(shù) */ /******************************************************************/ void ex0_isr (void) interrupt 2 using 0//外部中斷 0 服務(wù)函數(shù) { uchar i。 //接收紅外信號(hào)處理 static bit startflag。 //是否開始處理標(biāo)志位 static if(startflag) { if(irtime63amp。amp。irtime=33)//引導(dǎo)碼 9ms+ i=0。 irdata[i]=irtime。//存儲(chǔ)每個(gè)電平 的持續(xù)時(shí)間,用于以后判斷是 0 還是 1 irtime=0。 i++。 if(i==33) { irok=1。 i=0。 } } else { irtime=0。 startflag=1。 } } /******************************************************************/ 21 /* 定時(shí)器 0 初始化 */ /******************************************************************/ void TIM0init(void)//定時(shí)器 0 初始化 { TMOD=0x02。//定時(shí)器 0 工作方式 2, TH0 是重裝值, TL0 是初值 TH0=0x00。 //重載值 TL0=0x00。 //初始化值 ET0=1。 //開中 斷 TR0=1。 } void TIM1init(void) { TMOD=0x01。 } /******************************************************************/ /* 外部中斷初始化 */ /******************************************************************/ void EX1init(void) { IT1 = 1。 //指定外部中斷 1 下降沿觸發(fā), INT1 () EX1=1。 //使能外部中斷 EA = 1。 //開總中斷 } /******************************************************************/ /* 紅外鍵值處理 */ /******************************************************************/ void Ir_work(void) //紅外鍵值散轉(zhuǎn)程序 { TimeNum[5] = Tab[IRcord[0]/16]。 //處理客戶碼并顯示 TimeNum[6] = Tab[IRcord[0]%16]。 TimeNum[8] = Tab[IRcord[1]/16]。 //處理客戶碼并顯示 TimeNum[9] = Tab[IRcord[1]%16]。 TimeNum[11] = Tab[IRcord[2]/16]。 //處理數(shù)據(jù)碼并顯示 TimeNum[12] = Tab[IRcord[2]%16]。 TimeNum[14] = Tab[IRcord[3]/16]。 //處理數(shù)據(jù)反碼并顯示 TimeNum[15] = Tab[IRcord[3]%16]。 ShowString(1,TimeNum)。//顯示處理過后的碼值 irpro_ok=0。 //處理完成后復(fù)位標(biāo)志位 } 22 /******************************************************************/ /* 紅外解碼函數(shù)處理 */ /******************************************************************/ void Ircordpro(void)//紅外碼值處理函數(shù) { uchar i, j, k。 uchar cord,value。 k=1。 for(i=0。i4。i++) //處理 4 個(gè)字節(jié) { for(j=1。j=8。j++) //處理 1 個(gè)字節(jié) 8 位 { cord=irdata[k]。 value=value1。 if(cord7)//跟晶振有關(guān) { value=value|0x80。 } k++。 } IRcord[i]=value。 value=0。 } irpro_ok=1。//處理完畢標(biāo)志位置 1 } /******************************************************************/ /* 微秒延時(shí)函數(shù) */ /******************************************************************/ void Delay
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1