毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc

上传人:b****3 文档编号:15410857 上传时间:2022-10-30 格式:DOC 页数:28 大小:162KB
下载 相关 举报
毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc_第1页
第1页 / 共28页
毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc_第2页
第2页 / 共28页
毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc_第3页
第3页 / 共28页
毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc_第4页
第4页 / 共28页
毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc

《毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc(28页珍藏版)》请在冰豆网上搜索。

毕业设计基于单片机的遥控控制酒店客房灯光系统设计Word格式.doc

第9脚为单片机的复位脚,采用RC上电复位电路;

15脚作为红外线遥控码的输出口,用于输出38KHz载波编码。

脉冲经9013放大然后由红外发射管输出;

18、19脚接12M晶振。

P1.4—P1.7需接上拉电阻。

图3

遥控发射电路图

2、 

遥控接收电路

如图4所示,为该系统遥控接收电原理图,其中P1.0—P1.2口作为数码管的二进制数据输出,显示数字为“0—7”,“0”表示最暗,“7”表示最亮,采用带锁存功能的七段译码电路74HC4511集成块译码显示数值。

4511的LE端接8051的30脚(地址锁存允许控制);

P0.0—P0.7以及P2.2—P2.7作为14个电器的电源控制输出,接口用继电器隔离输出。

P2.0口为调光脉冲输出,输出脉冲由三极管9012放大后经光电耦合器MOC3021驱动双向可控硅控制负载;

P3.0口为交流50Hz同步检测输入。

系统对市电进行变压、整流、并经施密特触发器整形后得到100Hz的方波(周期10ms),作为发送调光脉冲的同步信号,系统采用10ms为一个“单位时间”的长度,灯的亮度越高,则可控硅导通时间的占空比越大;

P3.1口为红外遥控码输入,采用集成红外线接收路SFH506-38,此集成元件体积小、抗干扰性好、灵敏度高、并且价格低廉。

它仅有三个脚,分别是电源正极、电源负极以及信号输出端,其工作电压为5V左右,它的主要功能包括放大、选频、解调几大部分,要求输入是已经被调制的信号,经过它的接收放大和解调会在输出端直接输出原始信号至P3.1脚。

这款红外线接收电路接收距离可以达8米左右,完全可以满足客房内的遥控距离(一般客房标准间都在30平米左右);

P3.2脚为外部中断0输入脚,采用下降沿触发,当有信号时,第一位码的低电平启动中断程序,实时接收数据帧。

图4

遥控接收电路图

二系统的遥控功能实现方法

遥控编码格式

该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为17个脉冲。

为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控数据帧间隔大于10ms,如图5所示。

图5

遥控脉冲编码图

遥控码的发射

当某个操作键按下时,单片机先读出该键值,然后根据键值设定的遥控脉冲个数,再调制成38KHz的方波由红外线发射管发射出去。

P3.5端口的输出调制波如图5所示。

3、 

数据帧的接收处理

当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧。

在数据接收时,先对第一位(起始位)码的码宽进行验证。

若第一位低电平码的脉宽小于2ms,将作为错误码处理;

否则认为是起始码,累加器A加1。

当间隔位的高电平大于3ms时,结束接收,然后根据累加器A中的脉冲个数,执行相应的输出操作。

图6为红外线接收器输出的一帧遥控码波形图。

图6

一帧遥控码波形图

三遥控发射及接收控制程序流程图

遥控发射程序控制流程图

图7

遥控发射控制流程图

遥控接收程序控制流程图

图8

遥控接收控制流程图

四主要程序分析

键盘扫描程序

本电路采用4×

4矩阵式键盘电路,共16个按健开关可发送16种编码指令。

首先将立即数#0F0H送至P1口,再读入P1口值与#0F0H相比较,相等则说明没有键按下,返回。

不相等则表示有键按下,再调用延时消抖程序,确认有键按下。

转至行扫描程序确认按键所在的行,并将R2赋行号初值,然后调用列扫描程序确认按键所在例号。

例号与行号初值相加即得按键号(送寄存器A)。

KEYWORK:

 MOV   

P1,#0F0H  

  

;

置P1口输入状态

 MOV 

   A,P1 

 

    

;

读入P1口值

  

MOV 

   B,A     ;

P1口值暂存B中

CJNE   

A,#0F0H,KEYHIT 

不等于#0FFH,转KEYHIT(有键按下)

KEYOUT:

    

RET          ;

没有键按下返回;

KEYHIT:

   

 LCALL   

DL10MS    ;

延时去抖动

    

   MOV 

   

A,P1     

再读入P1口值至A

   CJNE 

A,B,KEYOUY  ;

A不等于B(是干扰),子程序返回

 

SETB  

 P1.1     ;

有键按下,找键号开始,查0行

P1.2

P1.3

MOV   A,P1     

CJNE   A,#0FEH,KEYVAL0 

P1不等于#0FEH,按下键在第0行

 P1.0     

不在第0行,开始查1行

CLR    

P1.1

A,#0FDH,KEYVAL1 

P1口不等于#0FDH,按下键在第1行

 P1.1     

不在第1行,开始查2行

CLR   P1.2

MOV   A,P1     ;

A,#0FBH,KEYVAL2 

P1口不等于#0FBH,按下键在第2行

 P1.2     

不在第2行,开始查3行

CLR  

MOV   

A,#0F7H,KEYVAL3 

P1口不等于#0F7H,按下键在第3行

   LJMP KEYOUT   

不在第3行,子程序返回

KEYVAL0:

R2,#00H  ;

按下键在第0行,R2赋行号初值0

       

LJMP  

KEYVAL4    

跳到KEYVAL4

KEYVAL1:

 MOV   

R2,#04H  ;

按下键在第1行,R2赋行号初值4

KEYVAL4  

       .

KEYVAL4:

MOV   

DPTR,#KEYVALTAB;

翻译成连续数字

MOV     

B,A     ;

P1口值暂存B内

ANL   

B,#0F0H   ;

取高四位

R0,#0    ;

清R0

KEYVAL5:

MOV    

A,R0     

查列号开始,R0数据放入A

SUBB  

A,#04H    

A中数减4

JNC  

 KEYOUT   

借位C为0,查表出错,返回

MOV  

A,R0  

   ;

查表次数小于4,继续查,

MOVC  

A,@A+DPTR   

查列号表

INC   

R0      

R0加1

CJNE   

A,B,KEYVAL5  

查得值和P1口值不等,转KEYVAL5再查

DEC   

查得值和P1口值相等,R0减1

MOV    

放入A(R0中数值即为列号值)

ADD  

A,R2    

 ;

与行号初值相加成为键号值(0-15)

KEYVALTAB:

 DB 

0E0H,0D0H,0B0H,07H  ;

列号对应数据表

对应列号:

   0  

1  

2  

3

键号处理程序

根据寄器A中的键号,首先执行A×

3程序,(因为以下所执行的长跳转指令“LJMP”为3字节指令)然后使用散转指令“JMPA,@A+DPTR”跳到相应的程序标号。

各键号相应的程序标号均为一条长跳转指令,各跳转指令均指向与之相应的红外线脉冲赋值程序,最后跳转至脉冲发送程序,发出与键号相对应的脉冲。

MOV  

键号乘3处理用于JMP散转指令

   RL 

A      ;

ADD  

A,B     ;

DPTR,#KEYFUNTAB;

取散转功能程序(表)首址

   JMP  

@A+DPTR   

散转至对应功能程序标号

KEYFUNTAB:

KEYFUN00   

跳到键号0对应功能程序标号

     LJMP  

KEYFUN01   

跳到键号1对应功能程序标号

      .

.    

.

      LJMP 

KEYFUN15   

跳到键号15对应功能程序标号

      RET

KEYFUN00:

   

A,#02H    ;

发2个脉冲

REMOTE  

转发送程序

RET

KEYFUN01:

A,#03H    ;

发3个脉冲

REMOTE    ;

RET              

.

KEYFUN15:

A,#11H    ;

发17个脉冲

     RET

3、38KHz载波及编码脉冲发射程序

本系统所用的红外线接收集成电路SFH506-38的解调中心频率为38KHz,故发射频率也采用38KHz,通过定时器中断程序实现,每次溢出中断时对P3.5取反,输出38KHz载波。

  

计算得周期为26.3us,则定时器设定为模式2,初值为(256-13)=0

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1