国产未成女一区二区三区,成人区人妻精品一熟女,亚洲精品乱码久久久久久中文字幕 ,成人欧美一区二区三区在线观看

資料

單片機(jī)遙控的酒店客房燈光控制系統(tǒng)(圖)

上傳人:admin

上傳時(shí)間: 2008-09-09

瀏覽次數(shù): 2838

  前言:本人工作的酒店開業(yè)于一九九八年,至今已有七年之久,當(dāng)初選型設(shè)備老化過時(shí),特別對(duì)于科技飛速發(fā)展的當(dāng)今。酒店原有的智能控制系統(tǒng)較周邊新開張酒店相比,已跟不上潮流,失去競(jìng)爭(zhēng)能力。例如原來酒店客房燈光控制系統(tǒng)均采用TCL2.0系列產(chǎn)品,房間的電視、臺(tái)燈、地?zé)簟Ⅳ~缸照明、夜燈、廊燈、吧臺(tái)燈等開關(guān)與床頭燈調(diào)光開關(guān)均集中安裝在床頭柜處(如圖1)。由于開關(guān)較多且固定在床頭柜側(cè)面,客人想開燈時(shí)必須先看清開關(guān)下面的標(biāo)記才能正確開燈,有時(shí)為開一盞燈竟把所有的開關(guān)都按了一遍,使用時(shí)極為不便。現(xiàn)在大多數(shù)星級(jí)酒店都采用微動(dòng)開關(guān)輕觸式集中控制面板,安裝在床頭柜的正上方。雖然較以前直觀,但是開關(guān)多且固定仍不是十分方便。本人采用8051系列單片機(jī)將原來固定的機(jī)械式開關(guān)改用遙控控制,這樣一個(gè)遙控器就可以控制整個(gè)房間的燈光開啟,電源控制箱可以放在床頭柜內(nèi);遙控器在放置在床頭柜上,可以任意移動(dòng),還可以在遙控面板中間加裝一液晶時(shí)鐘(如圖2所示)。美觀且實(shí)用即大方便客人的使用。

圖1 老式控制柜

圖2 新式遙控發(fā)射器

  一 硬件電路的設(shè)計(jì)

  1、 遙控發(fā)射電路

  如圖3所示,為該系統(tǒng)遙控發(fā)射器電原理圖,其中P1口作為鍵盤掃描端口,具有16個(gè)操作鍵,可分別控制單片機(jī)發(fā)出16種不同脈沖,執(zhí)行16種操作。第9腳為單片機(jī)的復(fù)位腳,采用RC上電復(fù)位電路;15腳作為紅外線遙控碼的輸出口,用于輸出38KHz載波編碼。脈沖經(jīng)9013放大然后由紅外發(fā)射管輸出;18、19腳接12M晶振。P1.4P1.7需接上拉電阻。

圖3 遙控發(fā)射電路圖

  2、 遙控接收電路

  如圖4所示,為該系統(tǒng)遙控接收電原理圖,其中P1.0P1.2口作為數(shù)碼管的二進(jìn)制數(shù)據(jù)輸出,顯示數(shù)字為07,0表示最暗,7表示最亮,采用帶鎖存功能的七段譯碼電路74HC4511集成塊譯碼顯示數(shù)值。4511的LE端接8051的30腳(地址鎖存允許控制);P0.0P0.7以及P2.2P2.7作為14個(gè)電器的電源控制輸出,接口用繼電器隔離輸出。P2.0口為調(diào)光脈沖輸出,輸出脈沖由三極管9012放大后經(jīng)光電耦合器MOC3021驅(qū)動(dòng)雙向可控硅控制負(fù)載;P3.0口為交流50Hz同步檢測(cè)輸入。系統(tǒng)對(duì)市電進(jìn)行變壓、整流、并經(jīng)施密特觸發(fā)器整形后得到100Hz的方波(周期10ms),作為發(fā)送調(diào)光脈沖的同步信號(hào),系統(tǒng)采用10ms為一個(gè)單位時(shí)間的長(zhǎng)度,燈的亮度越高,則可控硅導(dǎo)通時(shí)間的占空比越大;P3.1口為紅外遙控碼輸入,采用集成紅外線接收路SFH506-38,此集成元件體積小、抗干擾性好、靈敏度高、并且價(jià)格低廉。它僅有三個(gè)腳,分別是電源正極、電源負(fù)極以及信號(hào)輸出端,其工作電壓為5V左右,它的主要功能包括放大、選頻、解調(diào)幾大部分,要求輸入是已經(jīng)被調(diào)制的信號(hào),經(jīng)過它的接收放大和解調(diào)會(huì)在輸出端直接輸出原始信號(hào)至P3.1腳。這款紅外線接收電路接收距離可以達(dá)8米左右,完全可以滿足客房?jī)?nèi)的遙控距離(一般客房標(biāo)準(zhǔn)間都在30平米左右);P3.2腳為外部中斷0輸入腳,采用下降沿觸發(fā),當(dāng)有信號(hào)時(shí),第一位碼的低電平啟動(dòng)中斷程序,實(shí)時(shí)接收數(shù)據(jù)幀。第9腳為單片機(jī)的復(fù)位腳,采用RC上電復(fù)位電路;18、19腳接12M晶振。

圖4 遙控接收電路圖

  二 系統(tǒng)的遙控功能實(shí)現(xiàn)方法

  1、 遙控編碼格式

  該遙控器采用脈沖個(gè)數(shù)編碼,不同的脈沖個(gè)數(shù)代表不同的碼,最小為2個(gè)脈沖,最大為17個(gè)脈沖。為了使接收可靠,第一位碼寬為3ms,其余為1ms,遙控?cái)?shù)據(jù)幀間隔大于10ms,如圖5所示。

圖5 遙控脈沖編碼圖

  2、 遙控碼的發(fā)射

  當(dāng)某個(gè)操作鍵按下時(shí),單片機(jī)先讀出該鍵值,然后根據(jù)鍵值設(shè)定的遙控脈沖個(gè)數(shù),再調(diào)制成38KHz的方波由紅外線發(fā)射管發(fā)射出去。P3.5端口的輸出調(diào)制波如圖5所示。

  3、 數(shù)據(jù)幀的接收處理

  當(dāng)紅外線接收器輸出脈沖幀數(shù)據(jù)時(shí),第一位碼的低電平將啟動(dòng)中斷程序,實(shí)時(shí)接收數(shù)據(jù)幀。在數(shù)據(jù)接收時(shí),先對(duì)第一位(起始位)碼的碼寬進(jìn)行驗(yàn)證。若第一位低電平碼的脈寬小于2ms,將作為錯(cuò)誤碼處理;否則認(rèn)為是起始碼,累加器A加1。當(dāng)間隔位的高電平大于3ms時(shí),結(jié)束接收,然后根據(jù)累加器A中的脈沖個(gè)數(shù),執(zhí)行相應(yīng)的輸出操作。圖6為紅外線接收器輸出的一幀遙控碼波形圖。

圖6 一幀遙控碼波形圖

  三 遙控發(fā)射及接收控制程序流程圖

  1、 遙控發(fā)射程序控制流程圖

圖7 遙控發(fā)射控制流程圖

  2、 遙控接收程序控制流程圖

圖8遙控接收控制流程圖

  四 主要程序分析

  1、 鍵盤掃描程序

  本電路采用44矩陣式鍵盤電路,共16個(gè)按健開關(guān)可發(fā)送16種編碼指令。首先將立即數(shù)#0F0H送至P1口,再讀入P1口值與#0F0H相比較,相等則說明沒有鍵按下,返回。不相等則表示有鍵按下,再調(diào)用延時(shí)消抖程序,確認(rèn)有鍵按下。轉(zhuǎn)至行掃描程序確認(rèn)按鍵所在的行,并將R2賦行號(hào)初值,然后調(diào)用列掃描程序確認(rèn)按鍵所在例號(hào)。例號(hào)與行號(hào)初值相加即得按鍵號(hào)(送寄存器A)。

  KEYWORK: MOV P1,#0F0H ;置P1口輸入狀態(tài)

  MOV A,P1 ;讀入P1口值

  MOV B,A ;P1口值暫存B中

  CJNE A,#0F0H,KEYHIT ;不等于#0FFH,轉(zhuǎn)KEYHIT(有鍵按下)

  KEYOUT: RET ;沒有鍵按下返回;

  KEYHIT: LCALL DL10MS ;延時(shí)去抖動(dòng)

  MOV A,P1 ;再讀入P1口值至A

  CJNE A,B,KEYOUY ;A不等于B(是干擾),子程序返回

  SETB P1.1 ;有鍵按下,找鍵號(hào)開始,查0行

  SETB P1.2

  SETB P1.3

  MOV A,P1 ;讀入P1口值

  CJNE A,#0FEH,KEYVAL0 ;P1不等于#0FEH,按下鍵在第0行

  SETB P1.0 ;不在第0行,開始查1行

  CLR P1.1

  MOV A,P1 ;讀入P1口值

  CJNE A,#0FDH,KEYVAL1 ;P1口不等于#0FDH,按下鍵在第1行

  SETB P1.1 ;不在第1行,開始查2行

  CLR P1.2

  MOV A,P1 ;讀入P1口值

  CJNE A,#0FBH,KEYVAL2 ;P1口不等于#0FBH,按下鍵在第2行

  SETB P1.2 ;不在第2行,開始查3行

  CLR P1.3

  MOV A,P1 ;讀入P1口值

  CJNE A,#0F7H,KEYVAL3 ;P1口不等于#0F7H,按下鍵在第3行

  LJMP KEYOUT ;不在第3行,子程序返回

  KEYVAL0: MOV R2,#00H ;按下鍵在第0行,R2賦行號(hào)初值0

  LJMP KEYVAL4 ;跳到KEYVAL4

  KEYVAL1: MOV R2,#04H ;按下鍵在第1行,R2賦行號(hào)初值4

  LJMP KEYVAL4 ;跳到KEYVAL4

  .

  .

  KEYVAL4: MOV DPTR,#KEYVALTAB ;翻譯成連續(xù)數(shù)字

  MOV B,A ;P1口值暫存B內(nèi)

  ANL B,#0F0H ;取高四位

  MOV R0,#0 ;清R0

  KEYVAL5: MOV A,R0 ;查列號(hào)開始,R0數(shù)據(jù)放入A

  SUBB A,#04H ;A中數(shù)減4

  JNC KEYOUT ;借位C為0,查表出錯(cuò),返回

  MOV A,R0 ;查表次數(shù)小于4,繼續(xù)查,

  MOVC A,@A+DPTR ;查列號(hào)表

  INC R0 ;R0加1

  CJNE A,B,KEYVAL5 ;查得值和P1口值不等,轉(zhuǎn)KEYVAL5再查

  DEC R0 ;查得值和P1口值相等,R0減1

  MOV A,R0 ;放入A(R0中數(shù)值即為列號(hào)值)

  ADD A,R2 ;與行號(hào)初值相加成為鍵號(hào)值(0-15)

  KEYVALTAB: DB 0E0H,0D0H,0B0H,07H ;列號(hào)對(duì)應(yīng)數(shù)據(jù)表

  ;對(duì)應(yīng)列號(hào): 0 1 2 3

| 收藏本文
最新評(píng)論

用戶名: 密碼:

主站蜘蛛池模板: 荔波县| 临澧县| 井陉县| 油尖旺区| 沾益县| 外汇| 霍林郭勒市| 大庆市| 九龙坡区| 佛坪县| 杭锦后旗| 磐安县| 怀远县| 溧阳市| 桐庐县| 密山市| 泾阳县| 蒲城县| 古蔺县| 孝感市| 奉新县| 枝江市| 闸北区| 花莲市| 左贡县| 普宁市| 广饶县| 兴安盟| 略阳县| 瑞安市| 富源县| 徐州市| 揭阳市| 新巴尔虎右旗| 武强县| 碌曲县| 云浮市| 琼中| 获嘉县| 宁蒗| 彭州市|