1、郑州科技学院 单片机原理及应用课程设计题 目 基于单片机红外遥控LED灯控制设计 学生姓名 XX 专业班级 XXXX 学 号 XXXXX 院 (系) 信息工程学院 指导老师 XXXXX 完成时间 年 9 月 20 日 目 录0. 引 言11.设计方案21.1 系统方案选择31.2 系统组成框图52. 系统设计62.1 硬件原理82.1.1 硬件组成介绍82.1.2 电路各部分功效原理132.2 软件步骤152.3 试验和仿真212.4 实物图23结 论24参考文件25附录1原理图26附录2 源程序26基于单片机红外遥控LED灯控制系统设计和实现0.引 言伴随国民经济快速发展和社会进步,教育在全
2、社会愈加被关注和重视,校园规模也伴随受教育者数量增加而不停扩大,教室数量也大幅度增加。为使师生有舒适教学和学习环境,不管是教室面积、设施和照度,校方在力所能及范围内,全部付出了十分努力。但因为学校开放型管理模式,和全员节能意识淡薄,高校教室在白天室内照度很高情况下,仍然普遍存在开灯作业;即使室内无人或人数极少情况下,也是全部开启室内照明。夜间很多教室,即使仅有多个学生在教室自习,但室内照明全部开启,绝不会有师生因为只有少数人而仅开几盏灯。LED被认为是二十一世纪照明光源。LED发光器件是冷光源,光效高,工作电压低,而且能耗低,一样亮度下,LED能耗为白炽灯10,荧光灯50。LED寿命可达10万
3、小时,是荧光灯10倍,白炽灯100倍。用LED替换白炽灯或荧光灯,环境保护无污染。使用安全可靠,便于维护。中国照明用电占总发电量12。现在,公共建筑照明灯具控制大多采取手动开关,常常出现没有立即开关现象,从而造成大量能源浪费和使用上不便。另外,无须要使用,也会缩短灯具使用寿命。本文叙述了一套LED智能照明控制系统设计方案,能够依据工作环境中是否有些人员和环境补光亮度等来自动控制照明开关和亮度。采取本系统含有提升用电效率,节省电能和缓解了用电高峰电力供双重作用。单片机出现至今已经有30多年历史了。微型计算机快速发展,促进微型计算机测量和控制技术快速发展和广泛应用,单片机(单片微型计算机)应用已经
4、渗透到广泛渗透到社会经济、军事、交通、通信等相关行业,而且也深入到家电、娱乐、艺术、社会文化等各个领域,并掀起了一场数字化技术革命。单片微型计算机就是将中央处理单元、存放器、定时/计数器和多个接口全部集成到一块集成电路芯片上微型计算机。所以一块芯片就组成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日常生活中最广泛使用计算机。本篇论文介绍了就是基于单片机AT89C51室内灯光控制系统研究和开发。本系统是以单片机为控制器关键,本系统关键由光照检测电路、热释电红外线传感器及处理电路、单片机系统及控制电路组成。工作时,光照检测电路和热释电红外线传感器采集光照强弱、室人是否有些人等信息送
5、到单片机,单片机依据这些信息经过控制电路对LED照明设备进行开关操作,从而实现照明控制,以达成节能目标。1. 设计方案该设计由硬件和软件共同组成。首先是硬件部分,该系统最终实现选择单片处理器(89S52)、键盘、LED显示、单片机串行接口电路。所以应充足了解单片机,包含存放空间,并行口,串行口,串行通信,定时器等,掌握非编码键盘和LED动态显示,并要在充足满足系统可实现功效基础上考虑到器件价格,制版复杂度和软件实现难度。其次是软件部分,该系统软件环境是S52,所以应了解S52编程方法,常见部分编程技巧,调试运行程序,尽可能使程序简练,易懂,便于移植,编译效率高,健壮性好。为了用计算机处理某一具
6、体问题或实现某一特定功效,总要先对问题或功效要求进行分析,确定对应算法和步骤,然后选择对应指令,并按一定次序排列起来,这就组成了处理某一问题或实现某一特定功效应用程序。编制好程序经过仿真器进行调试,将调试成功程序经过T写入器写入到芯片AT89S52中,最终把芯片AT89S52插入连接完成硬件系统中投入实际使用。1.1 系统方案选择(1)红外编码和发射部分 方案一:专用芯片处理方案。 专用红外编码芯片种类很多,如日本三菱企业M50426AP、PT2262、BL9148、zD6631等,这类芯片通常集载波振荡、编码、发射于一体,含有很强抗干扰能力,外围电路简单,使用很方便,而且价格也很低。通用遥控
7、器上大多使用这类专用芯片。不过,专用芯片也有致命弱点:专用芯片应用灵活性很差,其内部编码已经固定,无法修改内部数据,不适适用于常常需要改动传送数据场所;专用芯片几乎全部是面向指令型编码遥控方法,传输效率较低;大多数专用芯片内部编码及技术数据已经公诸于世,会产生安全漏洞。 方案二:微处理器单独处理方案。电路图(a)所表示。 该方案使用微处理器I/O口直接产生38KHZ已调波,驱动红外发光二极管,发射红外数据。38KHZ方波由CPU定时器产生或由软件编程产生。红外编码工作由软件完成,所以,红外编码方案能够任意设计,外部只需配接很简单硬件电路,大大降低了了电路复杂性,有利于降低成本,减小遥控器体积。
8、因为使用软件编码方案,占用了CPU一定时间,CPU处理速度受到一定影响,不过,对于遥控器这一类功效比较单一系统来说,处理任务比较少,根本影响不了CPU处理效率,仅仅是增加了软件编程负担。 经比较,方案二既可满足题目要求,电路又很简单,硬件成本又很低,仅仅是增加了软件编程负担,使得红外编码很灵活,所以采取该方案。(2)红外接收和解码部分 方案一:分立元件处理方案,电路图2-1所表示。 图中RD1为红外接收管;R3、R4,VT1组成反相放大器;VT2、R5、C2组成滤波器,滤掉38KHZ高频载波;R6、R7、VT3组成整形电路,将滤波后波形处理为很好方波;Cl、C3为耦合电容;R2为限流电阻,当接
9、收到较强信号是保护VT1。该方案最大优点是供电电压比较低,可用两节电池3V电压供电。不过,因为电路使用分立元件组成,其稳定性和抗干扰能力不高,影响红外数据传输正确性。图1-1低电压红外接收电路方案二:集成电路处理方案,电路图(b)所表示。该方案使用一体化红外接收器,集红外接收和放大于一体,不需任何外接元件,就能完成从红外接收到输出和TTL电平兼容全部工作,而体积和一般塑封三极管大小一样。结合设计任务书比较以上两种方案,可知,利用电子电路装置控制,其电路不是很复杂,相对来说,制作更简单部分,而且成本也相对较低,不过其可调性能差,亮灯模式少而且样式单调,不能满足现代社会对彩灯要求,也不能达成设计任
10、务要求,或说极难实现, 经比较,方案二既可满足题目要求,电路又很简单,硬件成本又很低,经过软件编程,使得红外编码很灵活,所以采取该方案。(3)器件选择:采取12MHZ晶振;红外接收端采取价格廉价,性能可靠一体化红外接收头:HSOO38;采取89S52进行控制;控制方面采取小灯进行模拟。1.2 系统组成框图单片机红外发射电路一体化红外接收头单片机编码调制发送接收解调解码图1-2 系统结构框图2. 系统设计系统工作原理:红外遥控有发送和接收两个组成部分:发送端采取单片机将待发送二进制信号编码调制为一系列脉冲串信号,经过红外发射管发射红外信号。红外接收端普遍采取价格廉价,性能可靠一体化红外接收头(如
11、HSOO38,它接收红外信号频率为38KHz,周期约26US)接收红外信号,它同时对信号进行放大、检波、整形,得到对应电平编码信号,再送给单片机,经单片机解码并实施,去控制相关对象。(1)二进制信号编码 本设计采取不一样脉宽宽度来实现二进制信号编码,可由发送单片机来完成。用图2-1(a)表示二制信号中高电平1,其特征是脉冲中低电平宽度等于0.26ms,相当于10个26us宽度,高电平宽度等于0.52ms,相当于20个26us宽度;用图2-1(b)表示二进制信号中低电平0,其特征是脉冲中高电平宽度等于0.26mS,而低电平宽度是高电平二倍,等于0.52ms,相当于20个26us宽度。上述10个和
12、20个脉冲宽度还可合适调整,以适应不一样数据传输速度需要。图2-1(a) 1表示图2-1(b) 0表示(3)二进制信号解调 二进制信号解调由一体化红外接收头HSOO38来完成,它把收到红外信号(图2-2中波形D,经内部处理并解调复原,输出图2-2中波形E,HS0038解调可了解为:在输入有脉冲串时,输出端输出低电平,不然输出高电平。二进制信号解码由接收单片机来完成它把红外接收头送来二进制编码波形经过解码,还原出发送端发送数据。图2-2,把波形E解码后还原成数据信息101。D、红外接收头接收波形(输入)E、解调后输出波形图2-2、HS0038输入输出波形(4)基于字节传输红外遥控数据格式在发送字
13、节开始先经过单片机发送20个脉冲宽度(每个脉冲周期26uS)高电平作为传输开始,接着发送8位数据(字节高位在前,低位在后),最终发送10个脉冲宽度低电平作为传输结束,图2-3所表示。传输开始8位数据传输结束20个脉冲高位在前,低位在后10个脉冲图2-3 基于字节传输红外遥控数据格式2.1 硬件原理2.1.1 硬件组成介绍 LED彩灯显示电路:LED彩灯显示电路(图所表示)实际上是由8个发光二极管和8个电阻组成电路。发光二极管和电阻对应串联,然后接在和之相对应P2口上。经过软件编程对P2口输出高低电平来实现不一样闪烁花型。因为发光二极管导通电压通常为1.7V以上,另外,她工作电流依据型号不一样通
14、常为1mA到30mA,电阻选择范围100欧姆3千欧姆在此我们这里选择560欧姆电阻。新型 LED 彩灯系统包含 2 大部分,即 LED 彩灯控制器( 89C51 主控模块)和 LED 彩灯管(管内 LED 板模块)。前者是主控模块,含有按键、显示等功效,并利用 89C51 P 口输出控制信号;后者是受控模块,上面焊有三色 LED 彩灯和信号驱动芯片,模块置于 LED 透明灯管内。彩灯控制器可直接和 220 V 交流市电相连接,经过开关电源变换,输出直流工作电压,首先为管内 LED 模块提供 12 V 工作电源,其次为主控模块单片机系统(彩灯控制器)提供 5 V 工作电源。整个系统工作由软件程序
15、控制运行,依据需要,用户能够在 LED 彩灯工作时经过主控模块上按键来设定亮灯时间和灯光闪动频率。 芯片AT89S52:(1)关键性能: 和MCS-51单片机产品兼容、8K字节在系统可编程Flash存放器、1000次擦写周期、全静态操作:0Hz33Hz、三级加密程序存放器、32个可编程I/O口线、三个16位定时器/计数器、八个中止源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中止可唤醒、看门狗定时器、双数据指针、掉电标识符。(2)功效特征描述: At89s52是一个低功耗、高性能CMOS8位微控制器,含有 8K 在系统可编程Flash 存放器。使用Atmel 企业高密度非 易失性存放
16、器技术制造,和工业80C51 产品指令和引脚完 全兼容。片上Flash许可程序存放器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效处理方案。 AT89S52含有以下标准功效: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中止结构,全双工串行口, 片内晶振立即钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,许可RAM、定时器/
17、计数器、串口、中止继续工 作。掉电保护方法下,RAM内容被保留,振荡器被冻结, 单片机一切工作停止,直到下一个中止或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52 (3)管脚说明:P0 口:P0口是一个8位漏极开路双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存放器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0含有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个含有内部上拉电阻
18、8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时能够作为输入口使用。作为输入使用时,被外部拉低引脚因为内部电阻原因,将输出电流(IIL)。另外,P1.0和P1.2分别作定时器/计数器2外部计数输入(P1.0/T2)和时器/计数器2 触发输入(P1.1/T2EX),具体以下所表示。 在flash编程和校验时,P1口接收低8位地址字节。 引脚号第二功效 P1.0 T2(定时器/计数器T2外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2捕捉/重载触发信号和方向控制) P1.5 MOSI(在系统编程用) P1.6
19、 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:P2 口是一个含有内部上拉电阻8 位双向I/O 口,P2 输出缓冲器能驱动4 个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时能够作为输入口使用。作为输入使用时,被外部拉低引脚因为内部电阻原因,将输出电流(IIL)。在访问外部程序存放器或用16位地址读取外部数据存放器(比如实施MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存放器时,P2口输出P2锁存器内容。 在flash编程和校验时,P2口也接收高8位地
20、址字节和部分控制信号。 P3 口:P3 口是一个含有内部上拉电阻8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时能够作为输入口使用。作为输入使用时,被外部拉低引脚因为内部电阻原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功效(第二功效)使用。在flash编程和校验时,P3口也接收-部分控制信号。(4)振荡器特征:XTAL1和XTAL2分别为反向放大器输入和输出。该反向放大器能够配置为片内振荡器。石晶振荡和陶瓷振荡均可采取。如采取外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要经过一个二分频触发器,
21、所以对外部时钟信号脉宽无任何要求,但必需确保脉冲高低电平要求宽度。(5)时钟电路时钟电路是计算机心脏,它控制着计算机工作节奏。MCS-51单片机许可时钟频率是因型号而异经典值为12MHZMCS-51内部全部有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部各个部件。AT89S52是属于CMOS8位微处理器,它时钟电路在结构上有别于NMOS型单片机。CMOS型单片机内部(如AT89S52)有一个可控负反馈反相放大器,外接晶振(或陶瓷谐振器)和电容组成振荡器,图31为CMOS型单片机时钟电路框图。振荡器工作受/PD端控制,
22、由软件置“1”PD(即特殊功效寄存器PCON.1)使/PD0,振荡器停止工作,整个单片机也就停止工作,以达成节电目标。清“0”PD,使振荡器工作产生时钟,单片机便正常运行。图中SYS为晶振或陶瓷谐振器,振荡器产生时钟频率关键由SYS参数确定(晶振上标明频率)。电容C1和C2作用有两个:其一是使振荡器起振,其二是对振荡器频率f起微调作用(C1、C2大,f变小),其经典值为30pF。(6)复位电路计算机在开启运行时全部需要复位,使中央处理器CPU和系统中其它部件全部处于一个确定初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,它是史密特触发输入(对于CHMOS单片机,RST引
23、脚内部有一个拉低电阻),当振荡器起振后,该引脚上出现2个机器周期(即24个时钟周期)以上高电平,使器件复位,只要RST保持高电平,MCS-51保持复位状态。此时ALE、PSEN、P0、P1、P2、P3接口全部输出高电平。RST变为低电平后,退出复位,CPU从初始状态开始工作。本设计采取复位方法是自动复位方法。对于MOS(AT89S52)单片机只要接一个电容至VCC即可(见图2-4)。在加电瞬间,电容经过电阻充电,就在RST端出现一定时间高电平,只要高电平时间足够长,就能够使MCS-51有效复位。RST端在加电时应保持高电平时间包含VCC上升时间和振荡器起振时间,Vss上升时间若为10ms,振荡
24、器起振时间和频率相关。10MHZ时约为1ms,1MHZ时约为10ms,所以通常为了可靠复位,RST在上电进应保持20ms以上高电平。RC时间常数越大,上电进RST端保持高电平时间越长。若复位电路失效,加电后CPU从一个随机状态开始工作,系统就不能正常运转。图2-4 接收器HS0038一体化红外接收头HSOO38外部结构图2-5所表示,1脚GND接电源地,2脚VCC接十SV,3脚OUT为数据输出端( TTL电平,反相输出),可直接和单片机相联。以HSOO38作为红外接收头,介绍了红外遥控信号单片机软件编码解码方法,包含编码、调制和解码原理,和硬件电路和程序实现。经试验测试,该方法能使红外遥控信号
25、可靠发送和接收,并实施对应功效。图2-5 HS0038外观及引脚2.1.2 电路各部分功效原理(1)接收电路原理图图2-6所表示:图2-6接收电路原理图各个基础电路图设计(2)发射接收电路图2-7所表示:图2-7(a)接收电路 图2-7(b) 发射电路(3)控制电路:采取小灯亮灭来模拟实际应用中电路,电路图2-8所表示。图2-8 小灯控制电路2.2 软件步骤单片机应用系统由硬件和软件组成,上述硬件原理图搭建完成上电以后,我们还不能看到多控制、多闪烁方法LED灯系统循环点亮现象,我们还需要告诉单片机怎么样进行控制,即编写程序控制单片机管脚电平高低改变,来实现发光二极管明灭。软件编程是多控制、多闪
26、烁方法LED灯系统中一个关键组成部分,是本设计关键和难点。下面,我将叙述多控制、多闪烁方法LED灯系统是怎样实现,软件部分关键任务是完成对光照检测电路和对热释电传感器信号处理电路输出信号进行处理。在光照较强时,系统继续对光照检测电路输出状态进行检测。光照较弱时,系统对信号处理电路输出状态Vo进行检测。若室内有些人时Vo为高电平,系统控制照明设备点亮并按设定时间进行延时。在延时时间内再一次检测到有些人时,则系统又按设定时间进行延时;若在延时时间内检测到室内无人时,则系统控制照明设备熄灭并重新对信号处理电路输出状态Vo进行检测。基于上述分析,系统软件设计步骤图2-9所表示。:数据10解码8位结束y
27、esono开始初始化接收1解码接收下一位数据判别取值控制noyeso图2-9、步骤图程序以下:#include #include #define uchar unsigned charuchar distemp;sbit IRIN = P33; uchar IRCOM7;table1=0xff,0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00;table2=0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7e,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f;table3=0xaa,0x7e,0xb
28、d,0xdb,0xe7,0xff,0xe7,0xdb,0xbd,0x7e,0x55,0xff,0x00;void delay(unsigned char x) /x*0.14MS unsigned char i; while(x-) for (i = 0; i13; i+) /*/ void Delay100ms(uchar x)/11.0592MHzunsigned char i, j,n;for(n=0;nx;n+)i = 180;j = 73;dowhile (-j); while (-i); /*/int main() IE = 0x84; TCON = 0x10; IRIN=1; D
29、elay100ms(1); P2 = 0xff; while(1); /*/void IR_IN() interrupt 2 unsigned char j,k,N=0,i=0; EX1 = 0; delay(15); if (IRIN=1) EX1 =1; return; while (!IRIN) delay(1); for (j=0;j4;j+) for (k=0;k=30) EX1=1; return; IRCOMj=IRCOMj 1; if (N=8) IRCOMj = IRCOMj | 0x80; N=0; if (IRCOM2!=IRCOM3) EX1=1; return; sw
30、itch(IRCOM2) case 0x16:for(;i11;i+)P2 = table1i;Delay100ms(10);break;case 0x0c:for(;i15;i+)P2 = table2i;Delay100ms(10);break;case 0x18:for(;i12;i+)P2 = table3i;Delay100ms(10);break; EX1 = 1; 2.3 试验和仿真依据系统设计方案,本系统调试共分为三大部分:硬件调试,软件调试和软硬件联调。因为在系统设计中采取模块设计法,所以方便对各电路模块功效进行逐层测试:LED驱动模块调试,单片机最小系统调试,最终将各模块组
31、合后进行整体测试10。硬件调试:对各个模块功效进行调试,关键调试各模块能否实现指定功效。软件调试:软件调试采取仿真软件Proteus 6.9 SP4,将程序调入MCS-51 单片机试验系统进行编译,然后调入仿真软件Proteus 6.9 SP4中运行,关键是检验语法错误,程序在硬件上可实施性。硬件软件联调:将调试好硬件和软件进行联调,关键调试系统实现功效。即仿真图如2-10所表示图2-10 仿真图经过测验,红外遥控信号发送和接收没有出现传输误码,发光二极管能够正确地显示发射信号,可靠使用,在编码解码方面降低了硬件成本。若在数据传输协议中,加上地址帧(设备号识别)和校验帧,该方法在计算机系统中将
32、有更广泛应用。 2.4 实物图实物图正面:实物图反面:结 论经过这两周学习,在试验过程中发觉很多问题,也认识到团体合作关键性,同学之间主动主动,相互督促,团结协作,也增强了我们之间感情和动手动脑能力。在焊接过程中,即使碰到了部分问题,但经过耐心、仔细地排查后最终处理了这些问题。所以,我们知道了在工作时要有耐心和细心,这两样缺一不可,而且在平日里就要养成这么好习惯,会对以后道路很有帮助,在我们努力下最终成功地完成了这次试验。对部分不知道新知识进行查阅,认真学习,而且增强了利用书本所学理论知识到实践中能力,对模拟电路充满了爱好,从而增加了对模拟电路学习热情。经过预先设计电路,然后再参考部分书籍上电
33、路并经过修改和发明,设计成了最终符合要求电路原理图,并深入了解和学习了整个电路各个部分具体工作原理,达成了理论要求。最终用Multisim软件对电路图进行了部分仿真。经过对前面部分电路仿真掌握了仿真基础方法。因为现在遥控装置大多对某一设备进行单独控制,而在本设计中红外遥控电路设计了多个控制按键,能够对不一样设备,也能够对同一设备多个功效进行不一样控制。基础符合技术要求。不过本电路也有不完,它只能单通道实现对多个设备控制,即它不能同时控制两个或两个以上设备。我深深知道,每一次学习实践步骤全部是那么来之不易,全部是经过老师深思熟虑后,才给我们定下目标。然后让我们在知识海洋里翱翔,让我们伴随年纪增加
34、不停扩充自己知识领域,也逐步成熟,逐步长大,老师同时也教导我们逐步成为一个能够为身边人,为家庭,为国家做出点点贡献人,教导我们学会感恩。参考文件1 张友德著.单片微型计算机原理、应用和试验. 复旦大学出版社.177-179 2 徐煜明、韩雁著.单片机原理及接口技术. 电子工业出版社.151-1523 何立民著.单片微型计算机原理及应用. 航空航天大学出版社.101-103 4 王文升.智能照明控制和节能J.智能建筑和城市信息.323-3255 李林功.单片机原理和应用M.北京:机械工业出版社,.6 陈涛,毛信伟.智能照明控制系统工程应用J. 智能建筑和城市信息.37-387 何立民著.单片机高
35、级教程. 北京航空航天大学出版社.201-2038 余孟尝主编.数字电子技术基础简明教程M.北京:高等教育出版社, .9 孙丽霞. 基于单片机LED彩灯控制器设计西安电子科技大学出版社.55-57附录1原理图附录2 源程序#include #include #define uchar unsigned charuchar distemp;sbit IRIN = P33; uchar IRCOM7;table1=0xff,0x00,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x00;table2=0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0
36、x3f,0x7e,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f;table3=0xaa,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xdb,0xbd,0x7e,0x55,0xff,0x00;void delay(unsigned char x) /x*0.14MS unsigned char i; while(x-) for (i = 0; i13; i+) /*/ void Delay100ms(uchar x)/11.0592MHzunsigned char i, j,n;for(n=0;nx;n+)i = 180;j = 73;dowhile (
37、-j); while (-i); /*/int main() IE = 0x84; TCON = 0x10; IRIN=1; Delay100ms(1); P2 = 0xff; while(1); /*/void IR_IN() interrupt 2 unsigned char j,k,N=0,i=0; EX1 = 0; delay(15); if (IRIN=1) EX1 =1; return; while (!IRIN) delay(1); for (j=0;j4;j+) for (k=0;k=30) EX1=1; return; IRCOMj=IRCOMj 1; if (N=8) IRCOMj = IRCOMj | 0x80; N=0; if (IRCOM2!=IRCOM3) EX1=1; return; switch(IRCOM2) case 0x16:for(;i11;i+)P2 = table1i;Delay100ms(10);break;case 0x0c:for(;i15;i+)P2 = table2i;Delay100ms(10);break;case 0x18:for(;i12;i+)P2 = table3i;Delay100ms(10);break; EX1 = 1;