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

正文內(nèi)容

基于stc89c52單片機的紅外遙控系統(tǒng)-文庫吧

2025-06-12 18:41 本頁面


【正文】 第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和R/W共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時可以讀忙信號,當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負極。(6)聲音提示模塊該設(shè)計有聲音報警,當(dāng)有病人呼叫時,蜂鳴器就會大聲提示,直到護士應(yīng)答回復(fù),才會停止鳴叫,利用三極管當(dāng)做開關(guān)電路可以保護單片機,還可以起到放大電流的作用,當(dāng)三極管基極為高電平時,發(fā)射極截止,為低電平時,發(fā)射極導(dǎo)通。報警模塊如圖25所示。圖25聲音提示模塊三 系統(tǒng)硬件設(shè)計 紅外遙控系統(tǒng) 通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專用集成電路芯片來進行控制操作,如圖1所示。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。如圖所示: 遙控發(fā)射器及其編碼 遙控發(fā)射器專用芯片很多,根據(jù)編碼格式可以分成兩大類,這里我們以運用比較廣泛,解碼比較容易的一類來加以說明,現(xiàn)以兼容NEC的uPD6121G芯片發(fā)射碼格式的芯片組成發(fā)射電路為例說明編碼原理。當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,、“0”;、“1”,其波形如圖所示: 上述“0”和“1”組成的32位二進制碼經(jīng)38kHz的載頻進行二次調(diào)制以提高發(fā)射效率,達到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,如圖所示:UPD6121G產(chǎn)生的遙控編碼是連續(xù)的32位二進制碼組,其中前16位為用戶識別碼,能區(qū)別不同的電器設(shè)備,防止不同機種遙控碼互相干擾。芯片廠商把用戶識別碼固定為十六進制的一組數(shù);后16位為8位操作碼(功能碼)及其反碼。UPD6121G最多額128種不同組合的編碼。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進制碼,周期約為108ms。一組碼本身的持續(xù)時間隨它包含的二進制“0”和“1”的個數(shù)不同而不同,大約在45~63ms之間,圖4為發(fā)射波形圖。當(dāng)一個鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個起始碼(9ms),一個結(jié)果碼(),低8位地址碼(9ms~18ms),高8位地址碼(9ms~18ms),8位數(shù)據(jù)碼(9ms~18ms)和這8位數(shù)據(jù)的反碼(9ms~18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼()組成。一體化紅外線接收器是一種集紅外線接收和放大于一體,不需要任何外接元件,就能完成從紅外線接收到輸出與TTL電平信號兼容的所有工作,而體積和普通的塑封三極管大小一樣,它適合于各種紅外線遙控和紅外線數(shù)據(jù)傳輸。紅外接收頭將38K載波信號過慮,得到與發(fā)射代碼反向接收代碼,如圖:(1)解碼的關(guān)鍵是如何識別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”,不同的是高電平的寬度不同,“0”,“1”,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。,開始延時,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,,否則如果該位為“0”,讀到的已是下一位的高電平,因此取(+)/2=。(2)根據(jù)碼的格式。四 電路框圖設(shè)計 遙控發(fā)射單元的框圖設(shè)計 遙控發(fā)射單元由單片機最小系統(tǒng)和按鍵電路、紅外發(fā)射器電路等組成,遙控發(fā)射單元框圖如圖所示:電源電路STC89C52 單片機紅外發(fā)射器按鍵電路復(fù)位電路晶振電路 圖41 紅外遙控單元發(fā)射框圖 遙控接收單元由單片機最小系統(tǒng)和紅外接收器、控制對象電路等組成,遙控接收單元框圖如圖32所示:晶振電路STC89C52單片機電源液晶顯示器紅外接收器復(fù)位電路 圖42 紅外遙控接收單元框圖五 電路原理圖及程序流程圖 遙控發(fā)射單元原理圖遙控發(fā)射單元由單片機最小系統(tǒng)和按鍵電路、紅外發(fā)射器電路等組成,遙控發(fā)射單元原理圖如圖51所示。 圖51遙控發(fā)射單元原理圖 遙控接收單元原理圖 遙控接收單元由單片機最小系統(tǒng)和紅外接收器、控制對象電路等組成,遙控接收單元原理圖如圖52所示。 圖52 遙控接收單元原理圖:圖53 總PCB圖 紅外遙控程序流程圖(1) 程序開始是對單片機進行初始化設(shè)置,循環(huán)掃描判斷是否有鍵按下,如果有鍵按下就發(fā)射相應(yīng)的紅外信號,遙控發(fā)射程序流程圖如圖54所示:開始初始化有鍵按下?查詢被按下的鍵發(fā)送紅外脈沖個數(shù)(按鍵值)YN圖54 遙控發(fā)射程序流程圖(2) 程序開始是對單片機進行初始化設(shè)置,循環(huán)掃描判斷是否有鍵按下,如果有鍵按下就發(fā)射相應(yīng)的紅外信號,遙控發(fā)射程序流程圖如圖55所示,中斷延時有開始脈沖?接收紅外執(zhí)行相應(yīng)功能中斷返回YN 程序附錄1:/***************************************************************名稱:紅外線遙控發(fā)射(NEC編碼)單片機:STC89C52RC晶振:12M***************************************************************/include include include define KEY_PORT P1define KEY_NULL 80sbit IR = P2^0。 //發(fā)射引腳//sbit LED1=P2^0。sbit LED2=P2^1。sbit LED3=P2^2。sbit LED4=P2^3。sbit KEY1=P1^0。sbit KEY2=P1^1。sbit KEY3=P1^2。sbit KEY4=P1^3。sbit KEY5=P1^4。define USER_H P2 //用戶碼高8位define USER_L P0 //用戶碼低8位Uint8tab[16]={0x12,0x05,0x1e,0x55,0x01,0x1b,0x03,0x6b,0x07,0x08,0x09,0x68,0x22,0xE6,0x33,0xe2}。//操作碼uint16 M = 0。define m9 (655369000) //9mSdefine m4_5 (655364500) //define m1_6 (655361650) //define m_56 (65536560) //define m40 (6553640000) //40mSdefine m56 (6553656000) //56mSdefine m2_25 (655362250) //void SanZhuan()。uint8 KEY(void)。void ZZ(uint8 x)。 //NEC編碼發(fā)送程序void Z0(uint8 temp)。 //單幀(8位數(shù)據(jù))發(fā)送程序void TT0(bit BT,uint16 x)。 //38KHz載波發(fā)射 + 延時程序char keyscan()。void delayk()。/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函數(shù):主程序┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/void main(void){ uchar m。 TMOD = 0x01。 IE = 0x81。 //允許總中斷中斷,使能 INT0 外部中斷 TCON = 0x01。 //觸發(fā)方式為脈沖負邊沿觸發(fā) IRIN=1。 //I/O口初始化 BEEP=1。 IR = 1。 delay1(10)。 //延時 lcd_init()。 //初始化LCD lcd_pos(0)。 //設(shè)置顯示位置為第一行的第1個字符 m = 0。 while(cdis1[m] != 39。\039。) { //顯示字符 lcd_wdat(cdis1[m])。 m++。 } lcd_pos(0x40)。 //設(shè)置顯示位置為第二行第1個字符 m = 0。 while(cdis2[m] != 39。\039。) { lcd_wdat(cdis2[m])。 //顯示字符 m++。 } while(1) {if(LED4 == 0){IE = 0x00。} else{IE = 0x81。} SanZhuan()。}}/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈函數(shù):獨立鍵盤┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/uint8 KEY(void){ uint8 Key = 0xff。 if(KEY1 == 0) {Key = 0。 } // LED1 =~ LED1。} if(KEY2 == 0) {Key = 1。 LED2 =~ LED2。} if(KEY3 == 0) {Key = 2。 LED3 =~ LED3。} if(KEY4 == 0) {Key = 3。 LED3 =~ LED3。} if(KEY5 == 0) {LED4 =~ LED4。} return Key。 //返回鍵值}/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1