毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 计算机安全 >> 正文

基于单片机的红外遥控系统 第7页

更新时间:2014-6-29:  来源:毕业论文

基于单片机的红外遥控系统 第7页
4.2.2外部中断1和定时器1中断服务程序
INT1SERVE:
CLR IE1
ANL PCON,#00H
RETI
外部中断1中断服务程序的功能是:当有键按下时,通过与门触发中断1中断,IDL被硬件清零,单片机结束低功耗空闲节电方式,执行进入低功耗空闲方式命令后面的一条指令。所以在外部中断1中断服务程序中需一条中断返回指令。
T1SERVE:
CPL  P3.5
RETI
定时器1中断服务程序的功能是:红外管发射的信号需经过高频调制载波才可以发射出去,利用定时器1的定时作用,在发射高频脉冲时,通过定时对P3.5口的取反操作,使发射信号调制成38.5kHz高频。
4.2.3 键盘扫描和红外发射程序
键盘扫描和红外发射程序流程图如下所示。
图4-3  键盘扫描和红外发射程序流程图
遥控器的编码采用脉冲个数编码格式,不同的脉冲个数代表不同的操作码,最少为2个脉冲,其他信息码的脉冲个数逐个递增。为了使接收可靠,第一位码宽为3ms,其余为1ms,码间距为1ms,遥控码数据帧间隔大于10ms。遥控器上每个键都有唯一的一个键号,CPU通过查询按下键的键值发射约定个数的脉冲。遥控器编码格式如下图4-4所示:
图4-4 遥控器编码格式
4.3  接收控制系统的软件设计
4.3.1 初始化程序和主程序
初始化程序和主程序流程图4-5和图4-6所示。初始化程序部分主要使系统进入复位初始化的状态值。具体是:P1口到P3口为高电平状态,选择工作寄存器区,设置堆栈SP,设置中断优先级IP,设置LCD显示方式,开外部中断0,设置电机默认停机标志位50H。
主程序部分首先调用初始化程序,再进入主程序循环状态。在循环中主要任务是50Hz交流电过零检测和调用移相角控制的延时程序。
4.3.2 外部中断0中断服务程序
当红外接收器输出脉冲帧数据时(红外线接收器输出波形如图4-7所示)。第一位码的下降沿出发中断程序,实时接受数据帧,并对第一位(起始位)码的码宽进行验证。若第一位低电平,码的脉冲小于2MS,将作为错误帧处理。当间隔位的高电平脉冲大于3MS时,结束接收,然后根据累加器A中的脉冲数,执行相应的功能操作。
本设计红外的编码采用的是根据发送的连续1MS脉冲个数的不同进行编码以及解码方式,具有编码方式简单,而且脉冲的时间间隔计算简单,下面的图4-7即为发射帧及接收帧的对比图,这个波形也可以通过红外发射或者接收的过程通过示波器测试得到。
图4-5  初始化流程图                   图4-6  主程序流程图
:::
图4-7  红外线接收器输出波形
外部中断0中断服务程序流程图如图4-8:


图4-8  外部中断0中断服务程序流程图
外中断0服务程序:
INT0SERVE:
   CLR EX0
   JNB  P3.1,INT0SERVE1       
开外中断0,返回:
INT0RET:     SETB EX0             
        RETI
INT0SERVE1:  CLR  A
        MOV DPH,A           
        MOV DPL,A
对第一个低电平记时:            
INT0SERVE2:  JB  P3.1,INT0SERVE3  
        INC DPTR
        NOP
        NOP
        AJMP INT0SERVE2     
判断第一个脉冲是否为2MS,小于就是一个干扰:
INT0SERVE3:  MOV  A,DPH           
        JZ   INT0RET         
        CLR  A
脉冲个数加1,在判断:
INT0SERVE4:  INC  A                
INT0SERVE5:  JNB  P3.1,INT0SERVE5  
        MOV  R1,#06H
一帧判定结束,低电平时脉冲个数加一:         
INT0SERVE6:  JNB  P3.1,INT0SERVE4 
        LCALL DELAY513US     
        DJNZ  R1,INT0SERVE6
        DEC   A    
超过3MS一帧结束,然后对脉冲的个数进行判断:     
       DEC   A
    JZ    FUNCTION0
    DEC   A
    JZ    DD4
    DEC   A
    JZ    DD3
    DEC   A
    JZ    DD2
    DEC   A
    JZ   DD1
    DEC   A
    JZ    DD
    NOP
    NOP
    LJMP  INT0RET
DD: LJMP  FUNCTION5
    NOP
    NOP
    LJMP  INT0RET
DD1:LJMP  FUNCTION4
    NOP
    NOP
    LJMP  INT0RET
DD2:LJMP  FUNCTION3
    NOP
    NOP
    LJMP  INT0RET
DD3:LJMP  FUNCTION2
    NOP
    NOP
    LJMP  INT0RET
DD4:LJMP  FUNCTION1
    NOP
    NOP
    LJMP  INT0RET
FUNCTION0:……
脉冲需要的延时:  
DELAY513US:  MOV R5,#254
DELAY513US1:
DJNZ  R4,DELAY513US1
        RET
        END     

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

基于单片机的红外遥控系统 第7页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。