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

正文內(nèi)容

基于at89s52單片機(jī)的智能家居設(shè)計(jì)(文件)

2024-12-28 01:35 上一頁面

下一頁面
 

【正文】 統(tǒng)資源,包括 ROM、 RAM、定時(shí)器 /計(jì)數(shù)器、中斷源等。 C 語言可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作。 C 語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。上電復(fù)位后,初始化各端口,標(biāo)志位和有關(guān)寄存器,接著開始檢測遙控器是否有輸入,如沒有就不斷檢測,如果有輸入就轉(zhuǎn)到相應(yīng)處理程序。 .然后開始 檢測是否接收到紅外信號,接收到紅外信號的標(biāo)志是 irok,用 irtime來 計(jì)數(shù) 2個(gè)下降沿之間的時(shí)間 , irtime42amp。接下來用 irdata[]表示 一次 行 存儲 32 位電平寬度,其中 irdata[0]中存放的是引導(dǎo)碼 的時(shí)間長度,所以下面的程序從 irdata[1]開始判斷 ,接收完畢后, irok 置 1,進(jìn)入碼值處理程序 Ircordpro(),碼值處理是將剩下的 4 個(gè)字節(jié)分別處理,然后將每個(gè)字節(jié)的 8 位分別處理, cord7 表示 大于某值 25 為 1 即 時(shí)間大于 認(rèn)為發(fā)射的是 1,因?yàn)樵?TC9012 的編碼中將發(fā)射脈沖時(shí)間大于 的當(dāng)做 1,將時(shí)間是 的當(dāng)做是 0,考慮一定的誤差,將 cord 設(shè)為 7。 ?? for(i=0。j++) //處理 1 個(gè)字節(jié) 8 位 { cord=irdata[k]。 } k++。并在 LCD 液晶屏顯示。 其 刪除 代碼部分如下所示。r9。 //按鍵標(biāo)志 keyscan()。num=9) { pswd[w]=num。 } if(flag==1amp。 write_(0x80+9+w)。num=9) { pswd[w]=num。根據(jù)其硬件特性,四相步進(jìn)電機(jī)正轉(zhuǎn)和反轉(zhuǎn)均為通過依次調(diào)用數(shù)組中的值便可實(shí)現(xiàn)。j12*n。 28 delayms(15)。 圖 4318B20 溫度傳感器流程圖 ?? read_temp() { ow_reset()。 。 write_byte(0xcc)??刂瞥绦虼a 主要如下。i4。 其控制程序如 下所示。 } } } while(w=5)。 if(flag==1amp。num==14) //刪除鍵則刪除誤輸入的密碼,即返回上一步 . { w。 //輸入密碼時(shí)用“ *”代替 w++。 if(flag==1amp。 write_data(table10[r])。 //局部變 量很重要 init()。 26 42 密碼鎖流程圖 當(dāng)用戶按鍵選擇進(jìn)入密碼鎖功能時(shí),首先對于密碼鎖功能進(jìn)行初始化,主要是對LCD1602 的初始化,接下來進(jìn)入鍵盤掃描函數(shù),要求用戶輸入開鎖密碼,當(dāng)則判斷是否為確認(rèn)鍵,按下確認(rèn)鍵后進(jìn)入對比密碼,密碼正確則 LCD 會予以提示,不正確則要求重新輸入,三次輸入不成功則報(bào)警提示。 //記錄按鍵值 value=0。 } else { value=value。i++) //處理 4 個(gè)字節(jié),即一幀 32 位數(shù)據(jù) { for(j=1。 根據(jù)按鍵,系統(tǒng)會算出鍵值,轉(zhuǎn)入相應(yīng)的程序當(dāng)中。irtime=33 表示 9ms+,TC9012 從 9ms 時(shí)開始記錄 引導(dǎo)碼 即 TC9012 的頭碼 ,因?yàn)?紅外接收頭默認(rèn)為高電平,TC9012在載波頭碼前還有一段 9ms的低電平,所以會產(chǎn)生一次中斷,載波頭碼發(fā)送完 后又一次中斷,共 。流程圖如圖 41 所示。具有各種各樣的數(shù)據(jù)類型。結(jié)構(gòu)式語言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。 C 語言的特點(diǎn) C 是中級語言。這不僅是程序設(shè)計(jì)的一個(gè)重要組成部分,而且是決定成敗的關(guān)鍵部分。 設(shè)計(jì)出合理的軟件總體結(jié)構(gòu),使其清晰、簡潔、流程合理。 系統(tǒng)的應(yīng)用軟件是根據(jù)系統(tǒng)功能要求設(shè)計(jì)的。所謂模塊化就是把一個(gè)完整的程序分解成完整的程序分解成若干個(gè)功能上相對獨(dú)立的較小程序塊,各小程序進(jìn)行單獨(dú)設(shè)計(jì)和調(diào)試,最后將各程序模塊連接起來進(jìn)行總調(diào)試。由于程序是軟件的本體,軟件的質(zhì)量主要通過程序的質(zhì)量來體現(xiàn), 在軟件研究中,程序設(shè)計(jì)的工作非常重要,內(nèi)容涉及到有關(guān)的基本概念、工具、方法以及方法學(xué)等。 22 圖 318 蜂鳴器電路 報(bào)警控制電路的功能是控制系統(tǒng)的報(bào)警裝置。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。電容取值為 30pF。 單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入端為引腳 XTAL1,輸出端為引腳 XTAL2。石英晶體振蕩器是利用石英晶體(二氧化硅的結(jié)晶體)的壓電效應(yīng)制成的一種諧振器件,它的基本構(gòu)成大致是:從一塊石英晶體上按一定方位角切下薄片(簡稱為晶片,它可以是正方形、矩形或圓形等),在它的兩個(gè)對應(yīng)面上涂敷銀層作為電極,在每個(gè)電極上各焊一根引線接到管腳上,再加上封裝外殼就構(gòu)成了石英晶體諧振器,簡稱為石英晶體或晶體、晶振。當(dāng)復(fù)位按鍵按下后電容 C1 通過 R 放電。地址鎖存信號 ALE 也為高電平。 以單支共陰數(shù)碼管為例,可將段極接到某端口 Pn,共陰極接 GND,則可編寫出對應(yīng)十六進(jìn)制碼的七段碼表字節(jié)數(shù)據(jù)如圖 315 所示。如圖 314 所示。 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管 比七段數(shù)碼管多一個(gè)發(fā)光二極管 單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“ 8”可分為 1 位、 2 位、 4 位等等數(shù)碼管。在 DS18B20 出廠時(shí)該 位被設(shè)置為 0,用戶不要去改動(dòng)。 18 圖 313 DS18B20 溫度值格式表 這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲在 18B20 的兩個(gè) 8 比特的 RAM中,二進(jìn)制中的前面 5 位是符號位,如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于 625 即可得到實(shí)際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加 1 再乘于 0.0625 即可得到實(shí)際溫度。 64 位光刻 ROM的排列是:開始 8 位( 28H)是產(chǎn)品類型標(biāo)號,接著的 48 位是該 DS18B20 自身的序列號,最后 8 位是前面 56 位的循環(huán)冗余校驗(yàn)碼( CRC=X8+X5+X4+1)。 DS18B20 的管腳排列如 圖 311 所示。而且新一代產(chǎn)品更便宜,體積更小。C 。176。 DS18B20 一線總線 數(shù)字化溫度傳感器 同 DS1820 一樣, DS18B20 也 支持 一線總線 接口,測量溫度范圍為 55176。 初始化設(shè)置 ( 1) 顯示模式設(shè)置 如圖 39 所示。 表 32 1602 型 LCD 的接口信號說明 編號 符號 引腳說明 編號 符號 引腳說明 1 VSS 電源地 9 D2 Data I/O 2 VDD 電源正極 10 D3 Data I/O 3 V0 液晶顯示偏壓信號 11 D4 Data I/O 4 RS 數(shù)據(jù) /命令選擇端( H/L) 12 D5 Data I/O 5 R/W 讀寫選擇端( H/L) 13 D6 Data I/O 6 E 使能信號 14 D7 Data I/O 7 D0 Data I/O 15 BLA 背光源正極 8 D1 Data I/O 16 BLK 背光源負(fù)極 主要技術(shù)參數(shù) 1602 型 LCD 的主要技術(shù)參數(shù)如表 33 所示所示。 1602 型 LCD 可以顯示 2 行 16個(gè)字符,有 8 位數(shù)據(jù)總線 D0~D7 和 RS, R/W, EN三個(gè)控制端口,工作電壓為 5V,并且具有字符對比度調(diào)節(jié)和背光功能。 感應(yīng)子式步進(jìn)電機(jī)分類 感應(yīng)子式步進(jìn)電機(jī)以相數(shù)可分為 :二相電機(jī)、三相電機(jī)、四相電機(jī)、五相電機(jī)等。 感應(yīng)子式步進(jìn)電機(jī)某種程度上可以看作是低速同步電機(jī)。I為勵(lì)磁繞阻安匝數(shù)(電流乘匝數(shù)) R為磁阻。并且導(dǎo)電按一定的相序電機(jī)就能正反轉(zhuǎn)被控制 ——這是步進(jìn)電機(jī)旋轉(zhuǎn)的物理?xiàng)l件。 不過,出于對力矩、平穩(wěn)、噪音及減少角度等方面考慮。如 A相通電, B, C相不通電,齒 4與 A對齊,轉(zhuǎn)子又向右移過 1/3て這樣經(jīng) 過 A、 B、 C、 A分別通電狀態(tài),齒 4(即齒 1前一齒)移到 A相,電機(jī)轉(zhuǎn)子向右轉(zhuǎn)過一個(gè)齒距,如果不斷地按 A, B, C, A……通電,電機(jī)就每步(每脈沖) 1/3て ,向右旋轉(zhuǎn)。 電機(jī)轉(zhuǎn)子均勻分布著很多小齒,定子齒有三個(gè)勵(lì)磁繞阻,其幾何軸線依次分別與轉(zhuǎn)子齒軸線錯(cuò)開。 現(xiàn)在比較常用的步進(jìn)電機(jī)包括反應(yīng)式步進(jìn)電機(jī)( vr)、永磁式步進(jìn)電機(jī)( pm)、混合式步進(jìn)電機(jī)( hb)和單相式步進(jìn)電機(jī)等。 步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。 11 圖 33 行列式矩陣鍵盤電路示意圖 本設(shè)計(jì)中使用的這 個(gè) 4*4鍵盤不但能完成密碼的輸入還能作特別功能鍵使用。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為 1。它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點(diǎn)上,密碼鎖的密碼由鍵盤輸入完成,與獨(dú)立式按鍵鍵盤相比,要節(jié)省很多 I/O 口。此時(shí)可停止定時(shí)器的計(jì)時(shí),并判斷本次接收是否有效.如果兩次地址碼相同且等于本系統(tǒng)的地址,數(shù)據(jù)碼與數(shù)據(jù)反碼之和等 0FFH,則接收的本幀數(shù)據(jù)碼有效。如果計(jì)時(shí)值等于前導(dǎo)碼的時(shí)間,設(shè)立前導(dǎo)碼標(biāo)志。 解碼方法如下: (1) 設(shè)外部中斷 0(或者 1)為下降沿中斷,定時(shí)器 0(或者 1)為 16 位計(jì)時(shí)器.初始值為 0。因?yàn)椴煌倪b控器由于晶振參數(shù)等原因,發(fā)射及接收到的時(shí)間也會有很小的誤差。如果計(jì)時(shí)值為 9ms。由于與單片機(jī)的中斷腳相連,將會引起單片機(jī)中斷 (單片機(jī)預(yù)先設(shè)定為下降沿產(chǎn)生中斷 )。數(shù)據(jù)碼為十六進(jìn)制的 0CH,數(shù)據(jù)反碼為十六進(jìn)制的 0F3H(注意低位在前 ),兩者之和應(yīng)為 0FFH。數(shù)據(jù)碼為 8 位,可編碼 256 種狀態(tài),代表實(shí)際所按下的鍵。不同的設(shè)備可以擁有不同的地址碼。地址碼由 8 位二進(jìn)制組成,共 256 種。高位在后。 2. 按鍵的編碼 當(dāng)我們按下遙控器的按鍵時(shí),遙控器將發(fā)出一串二進(jìn)制代碼,我 們稱它為一幀數(shù)據(jù)。通常有曼徹斯特編碼和脈沖寬度編碼。如果能將遙控器上許多的按鍵解碼出來.用作單片機(jī)系統(tǒng)的輸入.則解決了常規(guī)矩陣鍵盤線路板過大、布線復(fù)雜、占用 I/ O口過多的弊病。 FLASH 存儲器編程時(shí),該引腳加上 +12V的編程允許電源 Vpp,當(dāng)然 這必須是該器件是使用 12V編程電壓 Vpp。 SEN:程序儲存允許( PSEN) 輸出是外部程序存儲器的讀選通信號,當(dāng) AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 PSEN 有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次 PSEN 信號。對 FLASH存儲器編程期間,該引腳還用于輸入編程脈沖( PROG)。當(dāng)振蕩器工作時(shí), RST 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。在使用 8 位地址訪問外部數(shù)據(jù)存儲器時(shí), P2口輸出 P2鎖存器的內(nèi)容。對 P2 端口寫 “1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。 此外, 和 /計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入( )和定時(shí)器 /計(jì)數(shù)器 2 的觸發(fā)輸入( )。程序校驗(yàn) 時(shí),需要外部上拉電阻。作為輸出口,每位能驅(qū)動(dòng) 8 個(gè) TTL邏 輯電平。掉電保護(hù)方式下, RAM 內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程Flash,使得 AT89S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。其原理圖如圖 22所示。 圖 21 智能家居系統(tǒng)原理框圖 系統(tǒng)組成 在確定了選用什么型號的單片機(jī)后,就要確定外圍電路。 系統(tǒng)共 有兩部分構(gòu)成,即硬件部分與軟件部分。 4 設(shè)計(jì)原理 結(jié)合整個(gè)系統(tǒng)的功能、成本、美觀度等方面的綜合考慮,本系統(tǒng)主要由單片機(jī)、矩陣鍵盤、液晶顯示器和密碼存儲、紅外遙控等部分組成。 基于 實(shí)際考慮,本系統(tǒng)選擇方案二來設(shè)計(jì)密碼鎖。 方案二:采用 AT89S52 單片機(jī) AT89S52單片機(jī)具有 AT89C51的全部功能,最高外接晶振可達(dá) 33MHz,而且內(nèi)部 ROM 為 8KB,有利于功能的擴(kuò)展。該方案雖然提高了編程的難度,但是節(jié)約了單片機(jī)大量的 I/O 口資源,免去了為焊接上拉電阻帶來了麻煩,提高了整塊電路板的美觀度。 鍵盤的選擇 方案一:采用獨(dú)立式按鍵來控制 使用獨(dú)立式按鍵來控制液晶的顯示需要很多的按鍵。 方案二:以 74LS112 雙 JK 觸發(fā)器構(gòu)成的數(shù)字邏輯電路控制方案
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1