一 总体设计方案 ................................................... 3 1利用红外遥控开关电路 ............................................. 3 二 系统硬件电路设计 ............................................... 4 1.2显示器件选择 .................................................. 5 1.3调光器件选择 .................................................. 5 1.4按键控制方式选择 .............................................. 5 2.电路设计: ...................................................... 6 2.1.发射电路部分 ................................................. 6 2.2.接收电路部分 ................................................. 9 2.3.系统功能实现方法 ............................................. 10 2.3.1.遥控码的编码格式 .......................................... 10 2.3.2.遥控码的发射 .............................................. 11 2.3.3.数据帧的接收处理 .......................................... 11 2.4.遥控发射及接收控制电路的软件设计 ............................. 12 2.4.1遥控发射部分: ............................................. 12 2.4.2遥控接收部分: .............................................. 14 三 设计调试 ...................................................... 15 调试步骤: ........................................................ 15 四 结束语 ........................................................ 18 附录(参考文献及计算机程序清单) ................................. 19 参考文献: ....................................................... 19 程序清单 ......................................................... 20
1
摘要
随着电子科学技术的发展,遥控遥测技术在高科技研究、工农业生产、通信
技术、军事技术、家用电器等诸多领域得到了广泛地应用。特别是随着各类遥控专用集成电路不断问世,使得各类遥控设备的性能更加优越、可靠,功能也更加完善。
该系统设计主要是围绕红外遥控的相关理论和应用进行研究。该遥控装置采用晶体稳频脉冲调幅发射机,电路较简单,频率稳定度高,发射的是间断的28MHZ等幅载波。接收机采用自熄式超再生检波方式,检波级工作在非线性工作状态,具有间歇高频振荡和检波双重功能,接收灵敏度较高。检波后的沙沙噪音为超再生电路所特有的。它的有效控制距离不低于30M可以用来进行汽车模型、舰船模型、家用电器等的遥控。
Abstract
With the electronic science and technology,remote telemetry study
in the high-tech,industrial and agricultural production,communication,technology,military technology,household appliances and many other fields has been widely used.Especially with the various types of remote control application-specific integrated circuits continue to come out,making all kinds of remote control equipment,superior performance,reliability and function better.
The system is designed mainly around the infrared-controlled application of relevant theory and research.The remote control device crystal frequency stabilization using pulse amplitude modulation transmitter,A simpler circuit,high frequency stability,launched 28MHZ are continuous carrier amplitude.The use of self-extinguishing type surpass generate receiver detection mode,detector non-linear class job at jobstatus,with intermittent high-frequency oscillation and detection of double features,a higher receiver sensitivity.Rustling noise after de-tection for specific circuit.The effective control of it from no less than 30M can be used for car models,model ships,home appliances,such as the remote control.
关键字:遥控电路,红外发射,红外接收,单片机
2
一 总体设计方案
根据任务书的要求,利用单片机设计一个遥控开关电路,可以拟定以下的几种方案。
1利用红外遥控开关电路
用单片机制作一个红外电器遥控器,可以分别控制5个电器的电源开关,和一个电灯开关,并且可以对电灯进行亮度的调光控制。
红外发射部分结构图如下:
图1.5
当按下遥控按钮时,单片机产生相应的控制脉冲,由红外发光二极管发射出去。
红外接收部分结构如下:
单 按键 控制 片 机 红外 发射 显示 单 片 图1.6 受控电器电源开关 电灯 调光电路 红外接收
机 3
当红外接收器接收到控制脉冲后,经单片机处理由显示设备显示出当前受控电器的序号,并判断是否对电灯进行调光,如需调光则经调光电路处理后实现调光功能。
二 系统硬件电路设计
由于本设计为—红外遥控装置,根据所选择方案将其分为发射和接收两大模块进行设计
1器件选择
1.1单片机的选择
本设计所用的单片机可以用C-31, ATC-51,羚羊单片机等多种单片机来实现。但是C-31没有内部存储器,本设计需要编写程序,那么就要用外部扩展,比较麻烦。本设计所编写的程序比较简单,功能也比较少,如用羚羊单片机过于麻烦,大材小用,本设计所用到的输入输出端口也不是很多,所以我们决定用ATC-51单片机来完成本设计,及方便也很实用。
ATC51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 ? 指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的ATC51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 主要特性: ·与MCS-51 兼容
·4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器
4
·5个中断源
·可编程串行通道 低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 1.2显示器件选择
在单片机应用系统中,使用的显示器主要有LED(发光二极管)以及LCD(液晶显示器)。这两种显示器成本低廉,配置灵活,与单片机接口方便。但是他们也是各有特点的:LED接口非常简单,不需要专用的驱动程序,在设计程序时也非常的简单;LCD显示的字比较丰富,也比较清楚,给人的感觉很好,但是他接口复杂,且要自己造字库,难度不小。对于万用表来说,在配置一些指示灯的前提下,只显示数字就够了,故没必要采用LCD,用LED就够了。 1.3调光器件选择
因为本设计所用到的调光功能仅仅是调节电灯的亮暗,所以无需使用复杂的调光控制系统,可直接使用一个光电藕合器,来实现此功能。光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强。无触点且输入与输出在电气上完全隔离等特点,因而在各种电子设备上得到广泛的应用。光电耦合器可用于隔离电路、负载接口及各种家用电器等电路中。
光电耦合器的种类较多,但在家电电路中,常见的只有4种结构:
1.第一类,为发光二极管与光电晶体管封装的光电耦合器,结构为双列直插4引脚塑封,内部电路见表一,主要用于开关电源电路中。
2.第二类,为发光二极管与光电晶体管封装的光电耦合器,主要区别引脚结构不同,结构为双列直插6引脚塑封,内部电路见表一,也用于开关电源电路中。 3.第三类,为发光二极管与光电晶体管(附基极端子)封装的光电耦合器,结构为双列直插6引脚塑封,内部电路见表一,主要用于AV转换音频电路中。 4.第四类,为发光二极管与光电二极管加晶体管(附基极端子)封装的光电耦合器,结构为双列直插6引脚塑封,内部电路见表一,主要用于AV转换视频电路中。
本设计采用的就是第二类的一个型号为PS2019。
1.4按键控制方式选择
由于本设计所控制的电器数目较少,所以不用外接扩充键盘,直接使用单片
5
机上的接口,直接使用8个点触式开关即可。
2.电路设计:
用单片机制作一个红外电器遥控器,可以分别控制5个电器的电源开关。并且可以对其中一路电灯进行亮度的调节控制。 2.1.发射电路部分 2.1.1遥控发射器遥控方式
本遥控发射器采用码分制遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。当不同的指令键被按下时,指令信号电路产生不同脉冲编码的指令信号,也就是进行编码,然后经调制电路调制,变为编码脉冲编码脉冲调制信号,再由驱动电路驱动红外发射器发射红外信号。整体过程如下:
指 令 键 指 令 编码 调 制 驱 动 红外发射 图2.1
2.1.2发射电路的设计
本发射电路采用一个12M的晶体振荡器,产生相对应受控开关的脉冲频率,通过红外发射管发射出去。发射电路图如下:
6
图2.2
其中第9脚(RST)所接的是一个最简单的RC上电复位电路。P3.5接一个三级管发光二级管利用红外光为介质,将控制信以红外光脉冲的形式发射出去,由接收电路再进行放大,解调,信号还原。
晶体三极管主要用于放大电路中起放大作用,本设计采用的是一个NPN型的三级管9013,为了得到更大的放大倍数,采用了类似共射级接法。因为从p3.5口出来的为高电压,而三级管9013不能承受此电压,所以采用了一个阻值较大的电阻来起分压作用,从而缓冲了加到三级管上的电压。
9013的工作特性如下: 极限值:(Ta=25℃) 参数名称 最高集电极-基极电压 最高发射极-基极电压 符号 额定值 单位 V V V VCBO 40 VEBO 5 最高集电极-发射极电压 VCEO 20 7
最大集电极电流 耗散功率 最高结温 贮存温度
电特性:(Ta=25℃) 参数名称 集电极-基极截止电流 发射极-基极截止电流 的静态值 集电极-发射极饱和电压 基极-发射极饱和电压
Ic Pc Tj 500 625 150 mA mW ℃ Tstg -55~150 ℃ 符号 ICBO IEBO 测试条件 VCB=40V,IE=0 VEB=5V,Ic=0 最小最大单值 - - 值 150 150 300 0.6 1.2 位 nA nA V V 共发射极正向电流 传输比HFE VCE=1V,Ic=50mA ,- ,- VCESat Ic=500mAIB=50mA VBEsat Ic=500mAIB=50mA 红外发射管的工作电压一般为1.5至1.7v,不能直接用5V的电压加在上面,所以又接了一个39Ω的电阻,起分流作用,以保证红外发射管正常工作。
本设计采用的红外发射管为J16TE2-8A6R01M-SC其具体参数如下: 型号:
公司:EG&G Judson 相应度Re Min(A/W):600m 相应度Re @λ(m):1.3μ 暗电流ID(A)
光普范围(℃)Min:800n 光普范围(℃)Max:1.8μ 说明:
相应时间tResp(s): 反应电压VR(v):
8
总电容CT(F):2.0n 材料:Ge
2.1.3遥控发射器电路原理图
下图为该系统遥控发射器电路原理图,其中第1脚至第7脚接7个点触式的开关,第1脚至第5脚用来遥控电器电源开关,第6脚为可调光电灯的开关,第7脚,第8脚为调节电灯亮度的控制开关,当按第7脚开关时,电灯增亮,当按下第8脚时电灯减暗,第9脚为单片机的复位脚,采用简单的RC上复位电路,15脚作为红外线遥控码的输出口,用于输出40kHz载波编码,18,19脚接12MHz晶振
图2.3
2.2.接收电路部分
2.2.1红外遥控接收器的接收过程
红外接收 前置放大 解调 指令解码 9 记忆驱动 执行
图2.4
由上述可见,红外遥控系统中的指令信号及检出电路,在码分制系统中
由编码电路和解码电路构成,而且要有调制和解调的过程,因为码分制系统编码
脉冲的频率极低,为超低频,如果不用调制与解调电路,外界突然的光线变化可
能会对接收电路造成干扰,产生误动作,系统的抗干扰能力及可靠性就难以保证。
2.2.2遥控接收器电路原理图
以下是为该系统的遥控接收器电原理图。第1至8接数码管,用来显示被控电灯开关的亮度,显出数字0至8,显0时最暗,显8时最亮。第35至39口接作为5个电器的电源控制输出。其中第34口为可调节亮度的电灯。第28脚为光电耦合调光灯的调光脉冲输出,第10脚为50Hz交流市电相位基准输入,第12脚为中断输入口,第11脚用于接收红外遥控码输入信号。
`
2.3.系统功能实现方法 2.3.1.遥控码的编码格式
图2.5
该遥控器采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为2个脉冲,最大为9个脉冲,为了使接收可靠,第一位码宽为3ms,其余为1ms,遥控码数据帧间隔大于10ms,如下图所示:第10脚输出编码波形
10
图2.6
2.3.2.遥控码的发射
当某个被控电器的电源开关被按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数,再调制成40kHz方波由红外线发光管发身出去。发射电路的第15脚的输出调制波如下图所示:
图2.7
2.3.3.数据帧的接收处理
当红外线接收器输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧.在数据帧接收时,将对第一位(起始位)码的码宽进行验证.若第一位低电平码的脉宽小于2ms,将作为错误码处理.当间隔位的高电平脉宽大于3ms时,结束接收,然后根据累加器A中的脉冲个数,执行相应输出口的操作.下图为红外线接收器输出的一帧遥控码波形图.
11
图2.8
2.4.遥控发射及接收控制电路的软件设计 2.4.1遥控发射部分:
调用键扫描 处理子程序 初始化 开始
图2.9
上图是遥控发射的主程序,首先初始化程序,然后调用键扫描处理子程序.
扫键开始 12
键按下? N Y
返回 逐行扫描,按P 口值查键号 按键号转至相应的发射程序 图2.10
扫键过程:首先判断控制键是否按下,若有控制键按下则进行逐行扫描,按照P口值查找键号.最后按照键号转至相应的发射程序如下所示.
发射开始 装入发射脉冲个数(R1) 发3ms脉冲 停发1ms (R1)-1=0
N 返 回 发1ms脉冲 停发1ms
图2.11
红外信号发射过程:首先装入发射脉冲个数(发射时为3ms脉冲,停发时为
13
1ms脉冲),此时若发射脉冲个数为1则返回主程序,若不为1则发1ms脉冲,然后停发1ms脉冲,这样便结束整个发射过程.
在实践中,采用红外线遥控方式时,由于受遥控距离,角度等影响,使用效果不是很好,如采用调频或调幅发射接收码,可提高遥控距离,并且没有角度影响 2.4.2遥控接收部分:
开始
初始化
按显示亮度数据设定调
光脉冲延时值
N P3.0=0?
Y 调延时程序 P2.7口输出调光脉冲
图2.12
遥控接收部分的主程序及初始化及延时过程如上:首先初始化,然后按照显示亮度数据设定调光脉冲延时值,看P3.0口的脉冲是否为0,若不为0则调入延时程序,此时P2.7口输出调光脉冲然后返回;若为0则直接返回.
中断开始 14
N 低电平脉宽>2ms
Y
接收并对低电平脉冲计数
N 高电平脉宽>3ms?
按脉冲个数至对应的功能程序
Y
中断返回
图2.13
中断过程:首先判断低电平脉宽度是否大于2ms,若脉宽不到2ms,则中断返回;若低电平大于2ms,则接收并地低电平脉冲计数,接下来看判断高电平脉宽度冲是否大于3ms,若脉宽不到3ms,则返回上一接收计数过程;若高电平脉宽大于3ms,则按照脉冲个数至对应功能程序.此时中断返回。
三 设计调试
控制电路板的安装与调试在整个电路的设计中占有重要位置,它是把理论付诸实践的过程,也是把纸面设计转变位实际产品的必经阶段。对试验阶段的电路板的安装一般有两种方式即焊接方式和面包板插接方式。使用面包板焊接更加方便,容易更换线路和器件,而且可以多次使用。
本设计常用的调试仪器有:万用表、稳压电源、示波器、信号发生器等。
调试步骤:
1.调试前不加电源的检查
15
对照电路图和实际线路检查连线是否正确,包括错接、少接、多接等;用万用表电阻档检查焊接和接插是否良好;元器件引脚之间有无短路,连接处有无接触不良,二极管、三极管、集成电路和电解电容的极性是否正确;电源供电包括极性、信号源连线是否正确;电源端对地是否存在短路(用万用表测量电阻)。
经过上述检查,我们发现我们所设计的电路存在错接和连接处不良接触的问题,经过细心的检查后,解决了上述的一些电路上的问题。
2.静态检测与调试
断开信号源,把经过准确测量的电源接入电路,用万用表电压档监测电源电压,观察有无异常现象:如冒烟、异常气味、手摸元器件发烫,电源短路等,如发现异常情况,立即切断电源,排除故障;
我们的电路在此项测试中如无异常情况,接着我们又分别测量各关键点直流电压,如静态工作点、放大电路输入、输出端直流电压等是否在正常工作状态下,结果有个别电路不符,经过调整电路元器件参数、更换元器件,使电路最终工作在合适的工作状态;
对于放大电路我们还用示波器观察是否有自激发生。结果一切正常。
3.动态检测与调试
动态调试是在静态调试的基础上进行的,调试的方法地在电路的输入端加上所需的信号源,并循着信号的注射逐级检测各有关点的波形、参数和性能指标是否满足设计要求,如必要,要对电路参数作进一步调整。发现问题,要设法找出原因,排除故障,继续进行。
我们所设计的遥控器电路是采用码分制遥控方式,我们用示波器对发射电路输出端及接收电路输入端的信号波型的进行了检查,发现当按下不同的开关按钮时所显示的波型是不同的。这说明了此电路是工作在正常状态的。
4.调试注意事项
经过我们自己动手调试电路。我们从问题之中总结出来一些常用电路调试的注意事项。
(1)正确使用测量仪器的接地端,仪器的接地端与电路的接地端要可靠连接;
(2)在信号较弱的输入端,尽可能使用屏蔽线连线,屏蔽线的外屏蔽层要接到公共地线上,在频率较高时要设法隔离连接线分布电容的影响,例如用示波器测量时应该使用示波器探头连接,以减少分布电容的影响。
16
(3)测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗。 (4)测量仪器的带宽必须大于被测量电路的带宽。 (5)正确选择测量点和测量
(6)认真观察记录实验过程,包括条件、现象、数据、波形、相位等。 (7)出现故障时要认真查找原因。
17
四 结束语
经过几个月的努力,我们在*老师的耐心帮助和自己的努力下终于完成了此次设计,并按设计要求实现了遥控器的各项功能。通过这次设计使我们从中学到到了很多课本上学不到的知识,了解了红外遥控器的现状和发展趋势,并学会了用单片机开发产品的完整的过程,明白了设计的概念。通过自己亲自去动手和调试我明白的实践的重要性,明白了理论结合实践的含义,同时也大大的提高了自己的动手能力和团队合作能力,这在我以后的工作中都是非常有用的。
在这次设计中,*老师不厌其烦的给我讲解问题和修正错误,在此表示衷心的感谢!!
18
附录(参考文献及计算机程序清单)
参考文献:
[1]李建华. 实用遥控器原理与制作.北京: 人民邮电出版社,1996 [2]苏长赞. 红外线与超声波遥控. 北京: 人民邮电出版社,1995
[3]舒. 最新彩电机芯及其遥控系统的原理与维修. 北京: 电子工业出版社, 1993 [4]王明亮等. 广播.电视调频发送技术,上、下册. 北京: 中国广播电视出版社,1993 [5]梁延贵. 遥控电路可控硅触发电路语音电路分册 北京: 科学技术文献出版社,2002 [6] 李华. MCS-51系列单片机实用接口技术. 北京: 航天航空大学出版社,1999 [7] 邱关源.电路.高等教育出版社.19.第三版. [8] 焦李成.电流模式信号处理的进展与展望.电子学报.1992.20(7):87-92 [9] 张肃文,陆兆文. 高频电子电路.高等教育出版社.1993.第三版. [10] 康光华,陈大钦. 电子技术基础(模拟部分).高等教育出版社.1999.6.第四版. [11] 陈汝全. 电子技术常用器件手册.北京:机械工业出版社,1994 [12] 鲁兵,杨楚民. 基于单片机系统的显示接口.机械与电子出版社,1992
[13] 孙函芳,徐爱卿. MCS-51系列单片机原理及应用.北京:北京航天航空大学,1996 [14] 何立民. MCS-51系列单片机应用系统设计,系统配置与接口技术.北京: 北京航天航空大学,1995
[15] 陈书开,潭汉松. 单片计算机的硬件软件及设计.湖南: 中南工业大学出版社,1994
19
程序清单
伪定义:
KEYX0 EQU P1.0 KEYX1 EQU P1.1 KEYX2 EQU P1.2 KEYX3 EQU P1.3 KEYY EQU P0
主 程 序 和 中 断 程 序 入 口
ORG 0000H
ORG AJMP START ORG 0003H
RETI
ORG 000BH
RETI
ORG 0013H
RETI
ORG 001BH
LJMP INTT1
ORG 0023H
RETI
ORG 002BH
RETI
初 始 化 程 序 CLEARMEMIO: CLR A DEC A MOV P0,A MOV P1,A MOV P2,A MOV P3,A CLR P3.5 CLEARMEM: MOV SP,#70H MOV IE,#00H MOV IP,#01H MOV TMOD,#22H MOV TH1,#0F3H MOV TL1,#0F3H SETB EA RET 主程序
START: LCALL CLEARMEMIO MAIN: LCALL KEYWORK LJMP MAIN NOP
20
NOP NOP
LJMP START
; T1中断服务程序 INTT1: CPL P3.5 RET1
KEYWORK: MOV KEYY,#0FFH CLR KEYX0 CLR KEYX1 CLR KEYX2 CLR KEYX3 MOV A,KEYY MOV B,A
CLNE A,#0FFHKKEYHIT KEYOUT: RET
KEYHIT: LCALL DL10MS MOV A,KEYY
CJNE A,B,KEYOUT SETB KEYX1 SETB KEYX2 SETB KEYX3 MOV A,KEYY
CJNE A,#0FFH,KEYVAL0 SETB KEYX0 CLR KEYX1 MOV A,KEYY
CJNE A,#0FFH,KEYVAL1 SETB KEYX1 CLR KEYX2 MOV A,KEYY
CJNE A,#0FFH,KEYVAL2 SETB KEYX2 CLR KEYX3 MOV A,KEYY
CJNE A,#0FFH,KEYVAL3 LJMP KEYOUT KEYVAL0: MOV R2,#00H LJMP KEYVAL4 KEYVAL1: MOV R2,#08H LJMP KEYVAL4 KEYVAL2: MOV R2,#10H LJMP KEYVAL4 KEYVAL3: MOV R2,#18H LJMP KEYVAL4
21
KEYVAL4: MOV DPTR,#KEYVALTAB MOV B,A CLR A MOV R0,A KEYVAL5: MOV A,R0 SUBB A,#08H JNC KEYOUT MOV A,R0
MOVC A,@A+DPTR INC R0
CJNE A,B,KEYVAL5 DEC R0 MOV A,R0 ADD A,R2 MOV B,A RL A ADD A,B
MOV DPTR,#KEYFUNTAB JMP @A+DPTR KEYFUNTAB: LJMP KEYFUN00 LJMP KEYFUN01 LJMP KEYFUN02 LJMP KEYFUN03 LJMP KEYFUN04 LJMP KEYFUN05 LJMP KEYFUN06 LJMP KEYFUN07
KEYVALTAB DB 0FEH,0FDH,0FBH,0F7H,0EFH,ODFH,0BFH,7FH; RET
KEYFUN00: MOV A,#02H LJMP REMOTE RET
KEYFUN01: MOV A,#03H LJMP REMOTE RET
KEYFUN02: MOV A,#04H LJMP REMOTE RET
KEYFUN03: MOV A,#05H LJMP REMOTE RET
KEYFUN04: MOV A,#06H LJMP REMOTE RET
22
KEYFUN05: MOV A,#07H LJMP REMOTE RET
KEYFUN06: MOV A,#08H LJMP REMOTE RET
KEYFUN07: MOV A,#09H LJMP REMOTE RET
REMOTE: MOV R1,A LJMP OUT3 OUT: MOV R0,#55H OUT1: SETB ET1 SETB TR1 NOP NOP NOP NOP NOP
DJNZ R0,OUT1 MOV R0,#32H OUT2: CLR TR1 CLR ET1 CLR P3.5 NOP NOP NOP NOP NOP
DJNZ R0,OUT2 DJNZ R1,OUT LCALL DL500MS RET
OUT3: MOV R0,#0FFH LJMP OUT1
DELAY: MOV R2,#0FFH DELAY1: DJNZ R2,DELAY1 RET
DL10MS: MOV R3,#14H DL10MS1: LCALL DELAY
DJNZ R3,DL10MS1
编码发射程序
延时513μS
10ms延时程序
23
RET END
主程序和中断程序入口
ORG 0000H
LJMP START ORG 0003H
LJMP INTEX0 ORG 000BH RETI ORG 0013H RETI ORG 001BH RETI ORG 0023H RETI ORG 002BH RETI
CLEARMEMIO: CLR A DEC A MOV P0,A MOV P1,A MOV P2,A MOV P3,A CLEARMEM: MOV IE,#00H SETB EX0 SETB EA RET
START: LCALL CLEARMEMIO LCALL LOOP
MAIN: JB P3.0,MAIN LCALL DLX CLR P2.7 LCALL DELAY SETB P2.7 LJMP MAIN NOP NOP
LJMP STAR INTEX0: CLR EX0
JNB P3.1,READ1 READOUTT0: SETB EX0
初始化程序
主程序
24
RET1
READ1: CLR A
MOV DPH,A MOV DPL,A
HARD1: JB P3.1,HARD11 INC DPTR NOP NOP
AJMP HARD1 HARD11: MOV A,DPH JZ READOUTT0 CLA A READ11: INC A
READ12: JNB P3.1,READ12 MOV R1,#06H READ13: JNB P3.1,READ13 DEC A DEC A JZ FUN0 DEC A JZ FUN1 DEC A
DEC A JZ FUN3 DEC A JZ FUN4 DEC A JZ FUN5 DEC A JZ FUN6 DEC A JZ FUN7 NOP NOP
LJMP READOUTT0 FUN0: CPL P0.0 LJMP READOUTTP FUN1: CPL P0.1 LJMP READOUTTP FUN2: CPL P0.2
25
JZ FUN2
LJMP READOUTTP FUN3: CPL P0.3 LJMP READOUTTP FUN4: CPL P0.4 LJMP READOUTTP FUN5: CPL P0.5 LJMP READOUTTP FUN6: CPL P0.6 LJMP READOUTTP FUN7: CPL P0.7 LJMP READOUTTP RET;
DELAY: MOV R0,#OFFH DELAY1: DJNZ R0,DELAY1 RET;
DL10MS: MOV R1,#14H DL10MS1: LCALL DELAY DJNZ R1,DL10MS1 RET;
DLX: MOV R2,B DLX1: LCALL DELAY DJNZZ R2,DLX1 RET;
LOOP: MOV A,P1 SUBB A,#0FFH
延时程序
延时10ms
调光延时时间控制
调光控制程序
26
JZ LOOP7 MOV A,P1
SUBB A,#0FEH JZ LOOP6 MOV A,P1 SUBB A,#0FDH JZ LOOP5 MOV A,P1 SUBB A,#0FCH JZ LOOP4 MOV A,P1 SUBB A,#0FBH JZ LOOP3 MOV A,P1 SUBB A,#0FAH JZ LOOP2 MOV A,P1 SUBB A,#0F9H JZ LOOP1 MOV A,P1 SUBB A,#0F8H JZ LOOP0 RET;
LOOP7: MOV B,#01H RET
LOOP6: MOV B,#02H RET
LOOP5: MOV B,#04H RET
27
LOOP4: MOV B,#06H RET
LOOP3: MOV B,#08H RET
LOOP2: MOV B,#0AH RET
LOOP1: MOV B,#0CH RET
LOOP0: MOV B,#0DH RET END
28
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务