




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、红外遥控电风扇控制系统设计概述 遥控电风扇是 90年代初期在广东珠江三角洲地区作做大量的研发和生产,并有专门的掩模芯片作为主控芯片使用,现本人用单片机作了接收和发射的配套使用的系统方案.红外遥控电路现在已成为一种设计电路的时尚,现简单地介绍了红外线遥控发射、接收系统的原理,给出用 89C2051作为遥控接收系统解码器的一种巧妙实现方法,以及完整的51汇编程序代码。包括发射、接收的原理图及其编程的主程序、发送程序、接收程序、定时中断程序的流程过程,从而完成此设计的要点,参考流程方框图的构思过程,可以编写应用软件。遥控电风扇控制系统分为两大部分:遥控器和电风扇控制板,下面分
2、别加以描述。一、遥控器 为了能远离距的控制电风扇,采用了红外遥控器。通常红外遥控器由发射和接收两部分组成,发射部分由单片机 80C2051等构成.接收部分装在电风扇的控制器内,由89C51等构成。1。 工作原理及组成部分(1)CPU 采用AT89C2051单片机,AT89C2051的功能: 和 MCS8051产品兼容、2KB可重编程闪速存储器、耐久性:1000写/擦除周期、2。7V6V的操作范围、全静态操作:0Hz24MHz、两级加密程序存储器、128×8位内部RAM、15根可编程I/O引线、6个中断源、可编程串行UART通道、直接LED驱动输出、
3、片内模拟比较器、低耗空载和掉电方式。(2)电源采用4节7号电池来提供电源,并用一个二极管(IN4148)进行降压。(3)调制部分:采用CD40106进行缓冲放大并整形.发送的数字信号与38K的载波进行相与,将其调制在一起,整形并缓冲放大,经过8050进行放大驱动红外发射管,使其发射红外光。(4)红外发射方原理见图(1)所示。 (图 1 )遥控器原理框图2。红外发射(1)发射部分包括键盘矩阵、编码调制、红外发送器。使用89C2051芯片 将按键信号调制在 38KHz 的载波信号上通过三极管放大后发射出去。红外编码为: 全码 =引导码+系统码+系统反码+数据码+数据反码。89C2051
4、的 P1口构成矩阵式键盘,用T1产生定时中断,驱动P3.3产生一个38K的方波,作为红外线的调制基波。将发送的数据和P3.0进行逻辑与后,经过40106整形,用三极管驱动红外发射管发射。(2)按键功能K1:低档、中档、高档;键值为 01HK2彩灯:键值为 02HK3:自然风、睡眠风、正常风键;值为03HK4定时;键值为04HK5开/关机;键值为05H(3)当无键按下时,延时10秒后进入待机状态,系统处于低功耗模式。当有按键按下时,INT0中断产生中断,同时唤醒CPU进行工作状态.3.红外发射的编码方式 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比
5、较广泛,解码比较容易的一类来加以说明,现以日本 NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:(1)采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1。125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”。“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管发射。(2)遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别
6、不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制0FFH;后16位为8位操作码(功能码)及其反码。(3)遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4563ms之间.(4)其相关的波形图如下:(图 2)遥控编码4.硬件设计硬件设计见电路原理图(3)所示。(图3)遥控器电路原理图5。软件设计(1)采用中断的处理程序完成整个系统的操作,INT0中断处理完成键盘扫描以及发送.(2)程序流程图:(图 4)遥控器软件流程图二、 电风扇控制板1。工作原理及组成部分: 红外接收
7、部分包括光电转换放大器、解调、解码电路。(1)CPU板将单片机、控制、键盘组合在一起完成了人机对话. 用 AT89C51单片机来作主芯片控制,采用红外T1838接收头,用双向可控硅MC97A6控制电机档位,具有红外遥控功能。(2)电源部分:交流220V经变压器降压为2×8V,全波整流后再由三端稳压器LM7805稳压,供给控制板.(3) 电风扇控制板框图 (图 5 )电风扇控制板框图2。设计方案(1)控制部分(图 6)电机引线图K1:低、中、高档,相应的指示灯亮。参见(图6)K2:控制彩灯,相应的指示灯亮K3:自然风、睡眠风、正常风控制 。参见(图8)、(图9)、(图10)K
8、4: 定时30分钟,1小时,2小时,4小时.相应的指示灯点亮。参见(图7)K5:具有开机功能和关机功能 (图7)定时时循环图(2)风类自然风的处理流程 : ( 图 8) 自然风的循环图睡眠风的处理流程 : ( 图 9) 自然风的循环图正常风的处理流程 : (图10)正常风循环(3)工作方式:分为手动和遥控两种方式。4。硬件设计:参见(图11)(图 11)电风扇控制板电路原理图5.软件设计:(1)红外遥控输入在 P3.2(INT0),面板按键P3.3(INT1)。(2) 遥控的解码过程:(图12)编码(图13)数据帧图形 单片机收到
9、一个中断后,开始计数, 然后在主程序有一个判断子程序,首先判断是否8MS,是否有高电平,再判断是否>4MS的低电平,然后再判断是否是0或1,循环32次完成,32个码的接收和存储。(3)程序流程图 : (图14)控制板主程序流程 (图15)键值处理流程 =电风扇红外发射(遥控器)程序=;按键说明:;K1:低风档,键值为 01;K2:中风档,键值为 02;K3:高风档,键值为 03;K4:彩灯档,键值为 04;K5:自然风档,键值为05;K6:睡眠风档,键值为06;K7:正常风档,键值为07;K8:定时档,键值为08
10、;K9:开关机,键值为9;采用 4×1.5V 供电,用89C2051作CPU芯片,当没有按键按下时,进入待机状态;按键采用INT0进行中断,只采用了8个按键;=include(2051RAM。INC);include(REG51。INC) ORG 0000H JMP MAIN ORG 0003H ;INT0的中断入口 JMP KEY_INT0 ORG 000BH T0的中断入口 JMP FM_T0&
11、#160;ORG 0100H;-;进入主程序;-MAIN: MOV R0,#7FH 预使用单元清0 CLR AMAIN0: MOV R0,A DJNZ R0,MAIN0 ;清缓冲的地址单元值 MOV SP,#60H MOV P1,#00001111B 将P1置输入 CLR KEYON CLR
12、;IT0 设置电平触发 SETB PT0 SETB EX0 SETB EA MOV 40H,0FFH MOV 41H,#0FFH MOV 42H,#0FFH CLR DATAOUT CLR FMOUT ;38K的中断初始值
13、60;MOV TMOD,02H T0的工作方式2 MOV TH0,#0F7H ;送初值 SETB FMOUT CLR TR0 ;1/3的高电平标志 MOV R2,02H ;2/3的循环次数 DJNZ 40H,LOOP1 DJNZ 41H,LOOP1 DJNZ 42H
14、,LOOP1 MOV PCON,#01H ;进入待机LOOP1: JMP MAIN = ;中断程序:完成其按键按下的标志位;=KEY_INT0: PUSH ACC PUSH PSW CLR EX0 MOV A,P1 CPL A ANL A,0FH MOV R2,A
15、60;将行号存入R2中 MOV P1,0F0H 将列置输入端 MOV A,P1 CPL A ANL A,#0F0H 取列号并存入A中 MOV R1,#03H ;置列初号 MOV R3,#03H 置循环次数 CLR CPINT01: RLC A 取
16、列号 JC PINT01 DEC R1 DJNZ R3,PINT01 PINT02: MOV A,R2 ;取行号 MOV R2,#00H MOV R3,#03H ;置循环次数PINT03: RRC A JC PINT04 INC R2 DJNZ
17、160;R3,PINT03PINT04: MOV A,R2 CLR C RLC A RLC A ADD A,R1 MOV SENDBUF+2,A 键号存于32H单元中 CPL A MOV SENDBUF+3,A ;存键号的反码 MOV SENDBUF,#0FFH ;系统码在30H单
18、元中 MOV SENDBUF+1,00H ;系统反码在31H单元中 LCALL SEND SETB ET0 ;发送引导码 SETB TR0 启动T0 LCALL PP ;发送一帧数据。包括系统码和数据码 CLR TR0 ;当发送完后关断定时器 CLR ET0 ;关T0
19、的中断 SETB EX0 执行完后打开外INT0 MOV 40H,0FFH MOV 41H,#0FFH MOV 42H,0FFH POP PSW POP ACC RETI;=FM_T0: JB F0,IT01 DJNZ R2,GRET MOV R2,#2IT01: CPL FMOUT CPL F0GRET: RETI;=
20、160; ;引导脉冲子程序SEND: SETB DATAOUT LCALL DY9000us CLR DATAOUT LCALL DY4500us RET ;=个人收集整理,勿做商业用途文档为个人收集整理,来源于网络;发送四个缓冲单元中的内容程序:PP: MOV R3,4 ;发送的字节数 MOV R1,SENDBUF PP0: MOV R2,#08H ;让其循环
21、8次 MOV A,R1 ;将数据首址 CLR C ;清CYPP1: RRC A ;右环移带进位 JC ONE ;若C等1ZER0: SETB DATAOUT 若C等0 CALL DY562us CLR DATAOUT CALL DY562us ONE: SETB DATAOUT
22、;CALL DY562us CLR DATAOUT CALL DY1687us DJNZ R2,PP1 INC R1 DJNZ R3,PP0 ;等四个字节的发送完 RET;= DY1687us: MOV R31,38L2: PUSH R31L3: DJNZ &
23、#160;R31,L3 POP R31 DJNZ R31,L2 RET;= DY562us: MOV R31,#20L22: PUSH R
24、31L33: DJNZ R31,L33 POP R31 DJNZ R31,L22 RET =;延时9000us子程序:DY9000us: MOV
25、160;R31,91L2A: PUSH R31L3A: DJNZ R31,L3A POP R31 DJNZ R31,L2A
26、; RET ;=;延时4500us子程序 DY4500us: MOV R31,#67L2B: PUSH R31L3B: DJNZ R31,L3B POP R31 D
27、JNZ R31,L2B RET ;=文档为个人收集整理,来源于网络个人收集整理,勿做商业用途DY10S: MOV R6,#10L2C: MOV R4,2L3C: MOV R5,248 DJNZ R5,$ DJNZ R4,L3C DJNZ R6,L2C RETEND
28、160; INC文件内容 -; AT89C2051 内存RAM分配 Fiel = 2051ram。INC;-SAVENOLISTR31 DATA 1FHKEYON BIT 20H。0 按键按下的标志SENDBUF DATA 30H ;定义发送系统码缓冲的地址FMOUT BIT P3。3 ;38K输出DATAOUT
29、BIT P3。0 数据输出RESTORE;=电风扇红外接收(控制板)程序= 用89C51单片机来作主芯片控制,采用红外1838接收头,可控硅采用MC97A6;风扇具有红外遥控功能;K1:低档,相应的指示灯亮 ,中档,相应的指示灯亮 , 高档,相应的指示灯亮 K2:彩灯,相应的指示灯亮;K3:自然风控制 睡眠风的控制 正常风的控制 ;K4:定时30分钟,1小时
30、,2小时,4小时;K5:开关机功能;自然风的处理流程:停-开低档->延时6秒->开中档->;延时6秒-开高档->循环;睡眠风的处理流程:停6S-开低档10S->停延时10S>开中档10S>停延时10S->开高档10S->循环;正常风的处理流程:开低档10S> 开中档10S- 开高档10S-> 循环;=INCLUDE(REG51。INC)$INCLUDE(89C51RAM.INC) ORG 0000H JMP START ORG 0003H JMP J
31、ISH_INT0 红外遥控中断设置 ORG 000BH JMP LP0 定时中断 ORG 0013H JMP KEY_INT1 按键中断 ORG 0100HSTART: MOV R0,7FH ;预使用单元清0 CLR AMAIN0: MOV R0,A DJNZ R0,MAIN0 MOV
32、SP,#60H MOV TMOD,#01H MOV TH0,#3CH 定时50MS MOV TL0,#0B0H SETB LLOW ;关低风 SETB MDI 关中风 SETB HIGHT ;关高风 SETB LLAP ;关彩灯 MOV P0,#0FFH
33、160;;关所有的指示灯 SETB EX0 SETB EX1 SETB EA ;CPU开中 MAIN: JB LKEYON,KEYHANDLE ;检按键标志位 JB REC,KEYHANDLE 检接收中断标志位个人收集整理,勿做商业用途个人收集整理,勿做商业用途 JMP MAIN ;转主程序 ;= ;
34、键值的处理的程序;键盘处理程序;K1键:完成弱、中、强控制,相应的指示灯点亮;K2键:完成彩灯控制,相应的指示灯点亮;K3键:完成自然风、睡眠风、正常风的控制,相应的指示灯点亮;K4键:完成定时的控制,同时0。5H,1H,2H,4H,相应的指示灯点亮;K5键:开/关机;=KEYHANDLE: CLR LKEYON CLR LREC MOV A,MRD CJNE A,#01H,KEY2 当键值=01H时, -;低、中、高、的控制;-KEY
35、1: JB DANG01,DIFENG JB DANG02,ZHONGFENG DANG02 中档标志位 JB DANG03,QIANGFENG DANG03 强档标志位 JMP MAIN;-;低档控制 DIFENG: JNB DANG01,FAN0 SETB LLOW 完成了低档的程序,关低 SETB MDI 关中 SETB
36、 HIGHT ;关高 CALL DY20MS ;保证三个SCR全部为关断状态 CLR LLOW ;开低风 CLR LED_L ;开低档指示灯 CLR DANG01FAN0: JMP MAIN个人收集整理,勿做商业用途文档为个人收集整理,来源于网络;-;中档控制ZHONGFENG: JNB DANG02,FAN
37、0 SETB LLOW ;关低 SETB MDI 关中 SETB HIGHT ;关高 CALL DY20MS ;保证三个SCR全部为关断状态 CLR MDI CLR LED_M CLR DANG02 AJMP MAIN 跳转到;-;高档控制QIANGFENG
38、: JNB DANG03,FAN0 SETB LLOW 关低 SETB MDI 关中 SETB HIGHT 关高 CALL DY20MS ;保证三个SCR全部为关断状态 CLR HIGHT CLR LED_H CLR DANG03 AJMP MAIN
39、; ;跳转到;-;彩灯控制;- KEY2: CJNE A,02H,KEY3 K4的处理程序彩灯的处理程序 JB PLAP,LED1 CLR LLAP ;第一次按时将彩灯打开, CLR LED_LAP SETB PLAP JMP MAIN 返回LED1: SETB&
40、#160;LLAP ;第二次按时将彩灯关断 SETB LED_LAP CLR PLAP JMP MAIN ;跳转到;-;风类处理过程;- KEY3: CJNE A,03H,KEY4_A K3的处理程序处理风类 JB SMF,SKEEP JB ZCF,SPRING_A JB ZRF,WATERM JMP MAIN
41、160;KEY4_A:JMP KEY4 SPRING_A: JMP SPRING;-;自然风控制 WATERM: JNB ZRF,FAN1 CLR ZRF SETB LLOW 处理自然风,关低中高 SETB MDI SETB HIGHT JB LREC,ZHUAN0 ;查询 JB LKEYON,ZHUAN
42、0 ;查询 CALL DY6S CLR LLOW JB LREC,ZHUAN0 查询 JB LKEYON,ZHUAN0 查询 CALL DY6S SETB LLOW 关低中高 SETB MDI SETB HIGHT JB LREC,ZHUAN0 ;查询 JB
43、60;LKEYON,ZHUAN0 查询 CALL DY20MS CLR MDI JB LREC,ZHUAN0 ;查询 JB LKEYON,ZHUAN0 ;查询 CALL DY6S SETB LLOW ;关低中高 SETB MDI SETB HIGHT JB LREC,ZHUAN0 查询
44、 JB LKEYON,ZHUAN0 查询 CALL DY20MS CLR HIGHT CALL DY6S AJMP WATERMZHUAN0: SETB SMFFAN1: JMP MAIN ;-;睡眠风控制SKEEP: JNB SMF,FAN2 CLR SMFSLEEP1: SETB LLOW 处
45、理睡眠风,关低'中'高 SETB MDI SETB HIGHT JB LREC,ZHUAN1 查询 JB LKEYON,ZHUAN1 ;查询 CALL DY6S CLR LLOW 开低档 JB LREC,ZHUAN1 查询 JB LKEYON,ZHUAN1 ;查询 CALL DY1
46、0S SETB LLOW 关低中高 SETB MDI SETB HIGHT JB LREC,ZHUAN1 ;查询 JB LKEYON,ZHUAN1 查询 CALL DY10S CLR MDI 开中档 JB LREC,ZHUAN1 ;查询 JB LKEYON,ZH
47、UAN1 查询 CALL DY10S SETB LLOW 关低中'高 SETB MDI SETB HIGHT JB LREC,ZHUAN1 ;查询 JB LKEYON,ZHUAN1 查询 CALL DY10S SETB LLOW ;关低'中'高 S
48、ETB MDI SETB HIGHT JB LREC,ZHUAN1 查询 JB LKEYON,ZHUAN1 查询 CALL DY10S CLR HIGHT 开高档 JB LREC,ZHUAN1 查询 JB LKEYON,ZHUAN1 查询 CALL DY10S
49、SETB LLOW 关低中'高 SETB MDI SETB HIGHT JB LREC,ZHUAN1 查询 JB LKEYON,ZHUAN1 查询 CALL DY10S AJMP SKEEPZHUAN1: CLR SMF SETB ZCFFAN2: JMP MAIN -;正常风控制
50、0; SPRING: JNB ZCF,FAN3 CLR ZCFSPRING1: SETB LLOW 处理正常风,关低中高 SETB MDI SETB HIGHT CALL DY20MS CLR LLOW 开低档 JB LREC,ZHUAN2 ;查询 JB LKEYON,ZHUAN2 &
51、#160;;查询 CALL DY10S SETB LLOW 关低中高 SETB MDI SETB HIGHT LCALL DY20MS JB LREC,ZHUAN2 ;查询 JB LKEYON,ZHUAN2 查询 CLR MDI ;开中档 CALL DY10S
52、SETB LLOW 关低中高 SETB MDI SETB HIGHT LCALL DY20MS JB LREC,ZHUAN2 ;查询 JB LKEYON,ZHUAN2 ;查询 CLR HIGHT ;开高档 CALL DY10S AJMP SPRINGZHUAN2: CLR ZCFFAN3:
53、0;JMP MAIN -;定时控制;- KEY4: CJNE A,#04H,KEY5 K4的定时的处理程序 JB SJ01,DY1H JB SJ02,DY2H JB SJ03,DY4H JNB SJ00,FAN4 CLR SJ00 SETB TR0 ;0 5H处理 J
54、MP MAIN DY1H: JNB SJ01,FAN4 CLR SJ01 SETB TR0 JMP MAIN DY2H: JNB SJ02,FAN4 CLR SJ02 SETB TR0 JMP MAIN DY4H: JNB SJ03,FAN4 CLR SJ02 SETB TR0FAN4:
55、160;JMP MAIN;-;开关机;- KEY5: CJNE A,05H,POTHER ;开关机处理程序 JB KAI,GUAN CLR MDI CLR LED_M SETB KAI JMP MAIN 返 GUAN: SETB LLOW 关低'中
56、高 SETB MDI SETB HIGHT CLR KAI JMP MAINPOTHER: JMP MAIN 其他键的不处理直接返回 ;=;T0定时中断处理;= LP0: PUSH ACC ;中断处理 PUSH PSW MOV TH0,#3CH ;定时50MS MOV TL0,#0B0H
57、;DJNZ CUZHI,GRET ;1S到后向下执行 MOV CUZHI,20 ;给50MS的寄存器给初值 INC SEN MOV A,SEN CJNE A,#60,GRET ;1分钟到后向下执行 INC MIN MOV A,MIN JB SJ01,LOOP_1H ;定时1小时的处理 JB&
58、#160;SJ02,LOOP_2H ;定时2小时的处理 JB SJ03,LOOP_4H 定时4小时的处理 CJNE A,#30,GRET ;半小时到后向下执行 MOV P1,0FFH 关断所有档位 MOV P0,0FFH SETB SJ01 ;将1H的标志位进行置 1 JMP GRETLOOP_1H: CJNE
59、A,#60,GRET ;1小时到后向下执行 MOV P1,0FFH MOV P0,#0FFH CLR SJ01 将1H的标志位进行置 0 SETB SJ02 将2H的标志位进行置 1 JMP GRETLOOP_2H: CJNE A,#60,GRET 1小时到后向下执行 INC HOUR MOV A,HOUR CJNE
60、 A,#2,GRET MOV P1,0FFH ;关断 MOV P0,#0FFH CLR SJ02 ;关断2H的标志位 SETB SJ03 将4H的标志位进行置位 JMP GRET 中断返回LOOP_4H: CJNE A,#60,GRET 1小时到后向下执行 INC HOUR
61、60;MOV A,HOUR CJNE A,#4,GRET 4小时到后向下执行 MOV P1,0FFH 关断 MOV P0,0FFH CLR SJ03 ;将4H的标志位进行清零 JMP GRET 中断返回GRET: CLR TR0 POP PSW POP ACC RETI文档为个人收集整理,来源于
62、网络本文为互联网收集,请勿用作商业用途;= ;INT0中断处理程序:对接收数据进行接收 ;=JISH_INT0: PUSH ACC PUSH PSW CLR EX0 ;关断中断 MOV R6,#10 ;避开9MS时间的引导码SB: CALL DY882US JB P3。2,EXIT ;,EX检测为1时退出 DJNZ
63、0;R6,SB 检测为0时,引导码过 JNB P3.2,$; ;检测为0时,等待 ACALL DY4700US ;避开4。5MS时间的引导码 MOV R7,16 ;避开系统码JJJJA: JNB P3.2, LCALL DY882US MOV C,P3。2 ;将P3。2送C中 JNC UUUA
64、0; 若C=0则转 LCALL DY1000USUUUA: DJNZ R7,JJJJA MOV R1,MRD MOV R2,#2PP: MOV R3,#8 ;右移的次数JJJJ: JNB P3。2,$ ;=0则等 LCALL DY882US MOV C,P3.2 ;送C中 JNC UUU
65、0;LCALL DY1000USUUU: MOV A,R1 送存贮的首址 RRC A MOV R1,A 送存贮单元中 DJNZ R3,JJJJ ;完成一个字节,没完则 INC R1 DJNZ R2,PP MOV A,MRD CPL A CJNE A,31H,EXIT 进行数据码和数据的
66、反码进行比较EXIT: POP PSW POP ACC SETB LREC ;置REC的标志位 SETB EX0 打开INT0的中断 RETI ;=;INT1的中断处理;=KEY_INT1: PUSH ACC PUSH PSW CLR EX1 ;关断INT1 LCALL SCANKEY
67、0;CALL KEY_K10 置高、中、低的标志位 CALL FENG_3 ;置风类的标志位 CALL JS ;置定时时间标志位 SETB LKEYON 按键标志位 SETB EX1 ;打开中断位 POP PSW POP ACC RETI;-;定时的置位标志程序;- JS:
68、60;CLR SJ00 CLR SJ01 CLR SJ02 CLR SJ03 MOV A,MRD CJNE A,04H,KEY_K4D ; INC TIME MOV A,TIME CJNE A,#5,KEY_K4 MOV TIME,1KEY_K4: MOV A,TIME CJNE A,1,KEY_K4A
69、0;等1则置ZRF SETB SJ00 JMP KEY_K4D本文为互联网收集,请勿用作商业用途文档为个人收集整理,来源于网络KEY_K4A: CJNE A,#2,KEY_K4B 等2则置SMF SETB SJ01 JMP KEY_K4DKEY_K4B: CJNE A,3,KEY_K4C ;等3则置ZCF SETB SJ02 JMP KEY_K4DKEY_K4C: CJN
70、E A,4,KEY_K4D 等3则置ZCF SETB SJ03 JMP KEY_K4DKEY_K4D: RET;-;高中低档的置标志位子程序;-KEY_K10: CLR DANG01 CLR DANG02 CLR DANG03 MOV A,MRD CJNE A,#01H,KEY_K1C INC FENG MOV A,FENG
71、160;CJNE A,4,KEY_K1 MOV FENG,1KEY_K1: MOV A,FENG CJNE A,#1,KEY_K1A SETB DANG01 JMP KEY_K1CKEY_K1A: CJNE A,#2,KEY_K1B SETB DANG02 JMP KEY_K1C个人收集整理,勿做商业用途个人收集整理,勿做商业用途KEY_K1B: CJNE A,#3,KEY_K1C S
72、ETB DANG03 JMP KEY_K1CKEY_K1C: RET;-;自然风、睡眠风、正常风的置标志位子程序;-FENG_3: CLR ZRF CLR SMF CLR ZCF MOV A,MRD CJNE A,03H,KEY_K3C INC FLEI MOV A,FLEI CJNE A,#4,KEY_K3 MOV FLEI,#
73、1KEY_K3: MOV A,FLEI CJNE A,1,KEY_K3A ;等1则置ZRF SETB ZRF JMP KEY_K3CKEY_K3A: CJNE A,2,KEY_K3B 等2则置SMF SETB SMF JMP KEY_K3CKEY_K3B: CJNE A,3,KEY_K3C ;等3则置ZCF SETB ZCF JM
74、P KEY_K3CKEY_K3C: RET;=;扫描键盘程序。;= SCANKEY: MOV A,P1 CPL A ANL A,#0FH MOV R2,A 将行号存入R2中 MOV P1,#0F0H 将列置输入端 MOV A,P1 CPL A ANL
75、60;A,#0F0H ;取列号并存入A中 MOV R1,#03H ;置列初号 MOV R3,03H 置循环次数 CLR CPINT01: RLC A 取列号 JC PINT01 DEC R1 DJNZ R3,PINT01 PINT02: MOV A,R2 取行号 MOV R2,00H MOV R3,#03H 置循环次数PINT03: RRC A JC PINT04 INC R2 DJNZ R3,PINT03PINT04:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025民营医院药房药师全职聘用协议范本
- 2025年高端咖啡厅品牌加盟合作协议(含知识产权)
- 二零二五年度特色农业品牌建设与全国性营销推广合作协议
- 2025年度音乐设备制造行业规范制定联合合同
- 2025生物科技企业成长期研发资金贷款协议
- 2025年特色主题餐厅股权并购及品牌战略发展合同
- 2025年新型医用耗材进口代理及全国连锁药店销售合同
- 2025年新型城市污水处理设施设备研发与采购一体化合同
- 民法典与罪犯
- 《关于新形势下党内政治生活的若干准则》辅导
- GB/T 18710-2002风电场风能资源评估方法
- 第三章 群速度色散
- 田英章楷书心经-高清米字格版
- 2021年成都中医药大学辅导员招聘考试题库及答案解析
- 液相色谱柱使用记录
- 项目检查汇报报告(52张)课件
- 直螺纹套筒现场平行检查及记录表
- JJG 856-2015 工作用辐射温度计检定规程-(高清现行)
- J-STD-020D[1].1中文版
- 益美高引风式冷却塔特点介绍
- 1沥青混合料生产工艺
评论
0/150
提交评论