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

正文內(nèi)容

薦紅外感光智能led臺燈設(shè)計畢業(yè)論文[精選整理](參考版)

2024-11-06 18:49本頁面
  

【正文】 于濤 老師沒有給我們施加太大的壓力,把任務(wù)書發(fā)給我們,我們把自己的論文編寫日程給他看之后,我們按日程完成任務(wù),遇到不懂的問題,先查資料,向同學(xué)請教,實在不能解決的,在拿去請于 老師 和范老師 指導(dǎo)。他 們 嚴謹、細致、一絲不茍的作風(fēng)一直是我學(xué)習(xí)中的榜樣。畢業(yè)設(shè)計是我們大學(xué)生涯的最后一次作業(yè),是一次檢驗自己各方面能力的表現(xiàn)形式。在這期間,每位同學(xué)都很忙碌,都希望將這四年的辛勤汗水變成耀眼的果實。 P2=0xff。amp。 P2=0xff。amp。 P2=0xff。amp。 P2=0xff。amp。 P2=0xff。amp。 P2=0xff。amp。 P2=0xff。amp。 P2=0xff。amp。 P2=0xff。amp。 P2=0x7f。amp。 P2=0x3f。amp。 P2=0x1f。amp。 P2=0x0f。amp。 return (TH1 * 256 + TL1)。 while (jieshou)。 TH1 = 0。 } uint16 high() /*高電平時間 */ { TMOD=0X10。 TR1 = 0。 TR1 = 1。 TL1 = 0。 } } } void delay1(uint16 t) /*延時函數(shù) */ { while(t)。(ii==0)) { dc++。(mode==1)amp。(D[2]==0x09)amp。 } if((D[0]==0x00)amp。amp。amp。(D[2]==0x45)) { ii=1ii。 } } if((D[0]==0x00)amp。(temp21843))) D[i1]=1。((temp2184) amp。(temp1737))amp。 if(((temp1184)amp。i2++) { temp1=low()。i1++) { for(i2=0。(temp25530)) { for(i1=0。 if((temp22765)amp。amp。 case 3: temp1=low()。 } while(!key2)。 P2=0Xff。 P2=0x0f。 P2=0Xff。 P2=0Xff。 if(key2==0) dc++。(mode==1)) { zhishi1=0。 case 2:if((ii==0)amp。 while(!key1)。 if(key1==0) mode=1mode。 } jj++。 zhishi1=1。 P2=0Xff。 while(!key0)。 while((cs++)18) { switch(jj) { case 0: if(key0==0) delay1(1000)。 select()。 writeIIC(0x90,0x41)。dd500。ee40。 uint8 ee。 return(bb)。 Ack_I2c(1)。 if(ack==0) return(0)。 iicstart()。 iicstop()。 iicsendbyte(y)。 iicsendbyte(x)。 _nop_()。 SCL=0。 _nop_()。 _nop_()。 SCL=1。 _nop_()。 else SDA=1。 return(byte)。 } SCL=0。 _nop_()。 byte=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。n8。 SDA=1。 } uint8 iicreadbyte() /*IIC 讀一個字節(jié) */ { uint8 n。 SCL=0。 if(SDA==1) ack=0。 _nop_()。 SCL=1。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 mask=mask1。c)==0) SDA=0。 _nop_()。m++) { SCL=0。 for(m=0。 } void iicsendbyte(uint8 c) /*IIC 寫一個字節(jié) */ { uint8 m,mask。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 _nop_()。 SCL=0。 _nop_()。 _nop_()。 SDA=0。 _nop_()。 _nop_()。 SCL=1。 } } } } } void iicstart() /*IIC 起始信號 */ { SDA=1。 P2=0xff。 } if(i==3) { i=0。 i++。 aa=readIIC(0x90)。 } if(hw==1) { sweep()。 select()。 writeIIC(0x90,0x41)。amp。 while(1) { sweep()。 void select()。 uint16 low()。 void Ack_I2c(uint8)。 uint8 readIIC(uint8)。 void iicstop()。 void iicsendbyte(uint8)。 void delay()。 uint16 ss,temp1,temp2。 uint8 tt=0,kk=0,ii=0,mode=0,dc=0,i=0。 sbit zhishi=P1^0。 sbit key1=P1^5。 sbit hw=P3^4。 sbit SCL=P3^7。 typedef unsigned int uint16。 /key1, key2 同理可去抖動。P2=0XFF; /臺燈熄滅 /while(!key0)。/如果 key0 被按下 /delay()。本次設(shè)計采用的是軟件方 法,即延時去抖動。在鍵閉合穩(wěn)定時讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。按鍵穩(wěn)定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數(shù)秒,鍵抖動會引起一次按鍵被誤讀多次。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,抖動圖如圖 所示,為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。Key2 作用是控制臺燈亮度的變化,值得注 意的是該按鍵只有在手動模式下起作用, key1 和 key2 也只有在 key0 開啟時起作用。按鍵一共三個,其實現(xiàn)的功能是按鍵 key0 起開關(guān)作用,當(dāng) key0 關(guān)閉時臺燈不亮, key0 開啟時臺燈進入正常調(diào)控。TR0=1。 由此,定時器初始化程序為:TMOD=0X01。當(dāng)轉(zhuǎn)向中斷服務(wù)時,再有硬件自動清 0。 IT0( IT1) —— 外中斷請求信號方式控制位 當(dāng) IT0( IT1) =1 脈沖方式(后沿負跳有效) 當(dāng) IT0( IT1)= 0 電平方式(低電平有效)此位由軟件置 1或清 0。 其各個位的定義與置位如下: TF0(TF1)—— 計數(shù)溢出標(biāo)志位,當(dāng)計數(shù)器計數(shù)溢出時,該位置 1 TR0( TR1) —— 定時器運行控制位 當(dāng) TR0( TR1)= 0 停止定時器 /計數(shù)器工作 當(dāng) TR0( TR1)= 1 啟動 定時器 /計數(shù)器工作 IE0( IE1) —— 外中斷請求標(biāo)志位 當(dāng) CPU 采樣到 ( )出現(xiàn)有效中斷請求時,此位由硬件置 1。由此, TMOD=0X01。當(dāng) M1=M0=1 時 T0 為 2 個 8 位計數(shù)器,此時為方式 3,且 T1 無此方式。 當(dāng) M1=0, M0=1 時為 16 位定時器 /計數(shù)器,此時為方式 1。本設(shè)計選擇 C/T=0。 C/T=0 時為 定時功能 : 加 1 計數(shù)器對脈沖 f進行計數(shù),每來一個脈沖,計數(shù)器加 1,直到計時器 TFx 滿溢出 。 當(dāng) TR0=1,啟動定時器 T0。 當(dāng) INT0 引腳為高電平時且 TR0 置位, TR0=1; 啟動定時器T0; 當(dāng) INT1 引腳為高電平時且 TR1 置位, TR1=1; 啟動定時器T1。 其中低四位(即 D0 ~ D3)定義定時器 /計數(shù)器 T0,高四位(即 D4 ~ D7)定義定時器 /計數(shù)器T1。 圖 :引導(dǎo)反碼 :定時器的應(yīng)用: 由于在 NEC 協(xié)議中時間要求比較高,因此我選用定時器 T0來采集時間。 圖 :數(shù)據(jù)“ 1”和數(shù)據(jù)“ 0” 如圖可見, 0 與 1 前端的低電平持續(xù)都是 ,那么就是后面的高電平持續(xù)時間不同, 0 為 , 1 為 ,上述 “0”和 “1”組成的 32位二進制碼經(jīng) 38kHz的載頻進行二次調(diào)制以提高發(fā)射效率,達到降低電源功耗的目的 , 然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射 。 圖 :引導(dǎo)碼 圖 :連發(fā)碼 : NEC 協(xié)議中的高低電平 當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。如果鍵按下超過 108ms 仍未松開,接下來發(fā)射的代碼將僅由起始碼( 9ms)和結(jié)束碼( ) 組成,這就是連發(fā)碼,連發(fā)碼波形如圖 所示 。 圖 : NEC 協(xié)議 :引導(dǎo)碼與連發(fā)碼 引導(dǎo) 碼顧名思義就是起始碼,引導(dǎo)碼一來,數(shù)據(jù)輸送就開始了,在 NEC 協(xié)議中,引導(dǎo)碼是由 9ms 高電平 + 低電平組成,如圖 所示。 :紅外遙控的實現(xiàn) : NEC 協(xié)議 NEC 協(xié) 議是眾多紅外遙控協(xié)議的其中一種,通過該協(xié)議實現(xiàn)了遙控器的紅外通信功能。本設(shè)計選擇 0, D3 是固定位 為 0, D4, D5為模擬量輸入方式選擇位, 00:輸入方式 0,四路單端輸入; 01:輸入方式 1,三路差分輸入; 10:輸入方式 2,二路單端輸入,一路差分輸入; 11:輸入方式 3,二路差分輸入,本設(shè)計選擇輸入方式 0, D6 為模擬輸出允許位,本設(shè)計置 1, D7 為固定位 0,因此第二個位元組應(yīng)發(fā)送 0X41。模擬輸出被切換到高阻態(tài)??刂萍拇嫫鞯乃形辉谏想姀?fù)位后被復(fù)位為邏輯 0。所以,如果自動增量( autoincrement) 被置 1,下一個被選擇的通道將總是通道 0。 模擬輸 出允許標(biāo)志可以在其他時候復(fù)位以減少靜態(tài)功耗。 如果自動增量( autoincrement)模式是使用內(nèi)部振蕩器的應(yīng)用中所需要的,那么控制字中模擬輸出 允許標(biāo)志應(yīng)置 1。低半字節(jié)選擇一個由高半字節(jié)定義的 模擬輸入通道 。 發(fā)送到 PCF8591 的第二個位元組將被存儲在控制寄存器,用于控制器件功能。地址字節(jié)的最后一位是用于設(shè)置以后數(shù)據(jù)傳輸方向的讀 /寫位??删幊滩糠直仨毟鶕?jù)地址引腳 A0、 A1 和 A2 來設(shè)置 。 :寫數(shù)據(jù) writeIIC IIC 總線系統(tǒng)中的每一片 PCF8591 通過發(fā)送有效地址到該器件來啟動。其時序圖如圖 所示。其具體過程如下: SDA=1,SCL=0,延時2us, SCL=1, 延時 5us, if( SDA==0),則產(chǎn)生應(yīng)答信號,
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1