基于单片机的红外遥控开关系统内容摘要:
遥控码波形图.图3—14 一帧遥控码波形图键按下? 图3—15 遥控发射程序控制流程图图3—16遥控发射控制流程图低电子脉冲>2ms?高电子脉冲>3ms?=0?图3—17遥控接收控制流程图第四章 系统程序分析 键盘扫描程序本电路采用44矩阵式键盘电路,0F0H送至P0口,再读入P0口值与0F0H相比较,相等则说明没有键按下,再调用延时消抖程序,并将R2赋行号初值,(送寄存器A).KEYWORK: MOV P0,0F0H。 置P0口输入状态 MOV A,P10 读入P0口值MOV B,A。 P0口值暂存B中CJNE A,0F0H,KEYHIT。 不等于0FFH,转KEYHIT(有键按下)KEYOUT: RET。 没有键按下返回。 KEYHIT: LCALL DL10MS。 延时去抖动 MOV A,P0。 再读入P0口值至A CJNE A,B,KEYOUY。 A不等于B(是干扰),子程序返回 SETB。 有键按下,找键号开始,查0行 SETB SETB MOV A,P0。 读入P0口值CJNE A,0FEH,KEYVAL0。 P0不等于0FEH,按下键在第0行 SETB。 不在第0行,开始查1行 CLR MOV A,P0。 读入P1口值CJNE A,0FDH,KEYVAL1。 P0口不等于0FDH,按下键在第1行 SETB。 不在第1行,开始查2行 CLR MOV A,P0 读入P0口值CJNE A,0FBH,KEYVAL2。 P0口不等于0FBH,按下键在第2行 SETB。 不在第2行,开始查3行 CLR MOV A,P0。 读入P0口值CJNE A,0F7H,KEYVAL3。 P0口不等于0F7H,按下键在第3行 LJMP KEYOUT。 不在第3行,子程序返回KEYVAL0: MOV R2,00H。 按下键在第0行,R2赋行号初值0 LJMP KEYVAL4。 跳到KEYVAL4KEYVAL1: MOV R2,04H。 按下键在第1行,R2赋行号初值4 LJMP KEYVAL4。 跳到KEYVAL4KEYVAL4: MOV DPTR,KEYVALTAB。 翻译成连续数字 MOV B,A。 P1口值暂存B内 ANL B,0F0H。 取高四位 MOV R0,0。 清R0KEYVAL5: 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 R0。 查得值和P1口值相等,R0减1MOV A,R0。 放入A(R0中数值即为列号值)ADD A,R2。 与行号初值相加成为键号值(015)KEYVALTAB: DB 0E0H,0D0H,0B0H,07H。 列号对应数据表。 对应列号: 0 1 2 3 根据寄器A中的键号,首先执行A3程序,(因为以下所执行的长跳转指令“LJMP”为3字节指令)然后使用散转指令“JMP A,@A+DPTR”,各跳转指令均指向与之相应的红外线脉冲赋值程序,最后跳转至脉冲发送程序,发出与键号相对应的脉冲.MOV B,A。 键号乘3处理用于JMP散转指令 RL A。 键号乘3处理用于JMP散转指令 ADD A,B。 键号乘3处理用于JMP散转指令 MOV DPTR,KEYFUNTAB。 取散转功能程序(表)首址 JMP @A+DPTR。 散转至对应功能程序标号KEYFUNTAB: LJMP KEYFUN00。 跳到键号0对应功能程序标号 LJMP KEYFUN01。 跳到键号1对应功能程序标号 LJMP KEYFUN15。 跳到键号15对应功能程序标号 RETKEYFUN00: MOV A,02H。 发2个脉冲 LJMP REMOTE。 转发送程序 RETKEYFUN01: MOV A,03H。 发3个脉冲 LJMP REMOTE。 转发送程序 RET KEYFUN15: MOV A,11H。 发17个脉冲 LJMP REMOTE。 转发送程序 RET ,通过定时器中断程序实现,每次溢出中断时对T0取反。 机器周期为:T=1/f=1/56700=。 设需要装入T0的初值为X,则有:(X)=≈9。 ,则定时器设定为模式2,初值为(2569)=,.MOV IE,00H。 关所有中断 MOV TMOD,20H。 8位自动重装初值模式 MOV TH1,0F7H。 定时为9微秒初值 MOV TL1,0F7H SETB EA。 开总中断允许INTT1: CPL T0。 RETI。 中断返回REMOTE: MOV R1,A。 装入发射脉冲个数 LJMP OUT3。 转第一个码发射处理OUT: MOV R0,64H。 1MS宽低电平发射控制数据OUT1: SETB ET1。 开T1中断 SETB TR1。 开启定时器T1 NOP。 延时。基于单片机的红外遥控开关系统
相关推荐
下图 37为显示电路。 江苏理工学院毕业设计说明书(论文) 第 11 页 共 37 页 图 37 显示模块 数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同,并且相应的 0~ 9 的显示代码也正好相反。 本系统数码管选择共阳极接法。 , , 控制数码管的千,百,十个位,当相应的端口为低电平,驱动晶体管导通 ,驱动晶体管的数字控制提供了高电平 ,这时只要 P0
号输入端, “V+”、 “V”为正、负电源端, “Vo”为输出端。 两个信号输入端中, Vi( )为反相输入端,表示运放输出端 Vo 的信号与该输入端的相位相反; Vi+( +)为同相输入端,表示运放输出端 Vo 的信号与该输入端的相位相同。 LM358 的引脚排列见图。 图 图 由于 LM358 二运放电路具 有电源电压范围宽,静态功耗小,可单电源使用, 价格低廉等优点
自行车里程 /速度计的设计 16 致谢 首先,我要感谢 何景峰 老师在本次毕业设计中不厌其烦的指导我, 在整个毕业设计制作过程中, 使得我在单片机方面 的 技能得到了进一步提高。 何老师 给予了全程的帮作、鼓励与指导, 他的细心是我非常感动, 在此我表示衷心的感谢。 还有我要感谢筹划、负责这次毕业设计的老师领导。 有了你们仔细认真的工作,我们的毕业设计才能有条不紊的展开。 最后
在 P1口作 为输 入口使用 时 , 应 先向 P1口 锁 存 器 (地址 90H)写 入全 1,上拉 电阻 接成高 电平。 P2 口 (21— 28 脚 ): P2 口是一 个带内 部上接 电阻 的 8 位准 双向 埠。 P2 口的每一 位能驱动 4个 LS 型 TTL负载。 P3 口 (21— 28 脚 ): P3 口是一 个带内 部上接 电阻 的 8 位准 双向 埠。 P3 口的每一
0 内部结 构主要由六部分组成:电源电路、 64 位光刻 ROM 及 1wire 接口、温度传感器、非易失性温度报警触发器 TH 和 TL、配置寄存器和 CRC 校验码产生器。 其内部结构如图 33 所示。 辽宁工程技术大学毕业设计(论文) 13 64位ROM 和单线接口存储器和逻辑控制器 高 速 缓 存存储器温度灵敏元件低温触发器TL高温触发器TH配置存储器8位 CRC生
示。 在增强型 MCS51系列中, 6 个中断源对应 8个中断请求标志(串行发送结束中断标志 TI和串行接收有效中断标志 RI相 “ 或 ” 后作为一个中断源—— 串行口中断,共用一个中断开关;定时器 T2溢出中断 TF2和外部触发中断 EXF2相 “ 或 ” 后作为一个中断源 —— 定时器 T2 中断,也共用一个中断开关)。 图 12增强型 MCS51 中断系统结构 增强型 MCS51定时