当前位置:文档之家› 用51单片机解码的12通道315M遥控器DIY

用51单片机解码的12通道315M遥控器DIY

用51单片机解码的12通道315M遥控器DIY
用51单片机解码的12通道315M遥控器DIY

用51单片机解码的12通道315M遥控器DIY

2011-06-21 18:22:28| 分类:单片机| 标签:遥控单片机解码 12通道|字号大中小订阅N久前作的一个遥控插座,通过单片机进行12通道解码。

原理图

PCB

内部结构

面板:红色指示灯为巡检指示灯,绿色指示灯为通道工作指示灯。

程序代码:

#include

sfr WDT_CONTR=0xe1;//看门狗初始化

#define uchar unsigned char

#define uint unsigned int

#define uint unsigned int

sbit run=P3^7;

sbit out=P3^2;

sbit out1=P3^3;

sbit out2=P3^4;

sbit out3=P3^5;

bit bzw;

bit bzw1;

bit bzw2;

bit bzw3;

void jsdb();

void shuchu();

void delay(uint k);

/*********************************************************/

void main()

{

P1=0xff;

out=1;

out1=1;

out2=1;

out3=1;

WDT_CONTR=0x35; //启动看门狗

while(1)

{

run=1;

delay(1000);

delay(1000);

delay(1000);

delay(1000);

delay(1000);

delay(1000);

run=0;

delay(200);

jsdb();

shuchu();

WDT_CONTR=0x35;

}

}

/********************************************************/

void jsdb()

{

switch(P1)

{

case 0x1f:bzw=1;break;//out 1号键

case 0x2f:bzw1=1;break;//out1 2号键

case 0x3f:bzw2=1;break;//out2 3号键

case 0x4f:bzw3=1;break;//out3 4号键default:{bzw=0;bzw1=0;bzw2=0;bzw3=0;}break;

}

}

void shuchu()

{

if(bzw)

{ delay(100); out=~out;

run=1; delay(500);

run=0; delay(500);

run=0; delay(500);

bzw=0;

}

if(bzw1)

{ delay(100); out1=~out1;

run=1; delay(500);

run=0; delay(500);

run=1; delay(500); bzw1=0;

}

if(bzw2)

{ delay(100); out2=~out2;

run=1; delay(500);

run=0; delay(500);

run=1; delay(500); bzw2=0;

}

if(bzw3)

{ delay(100); out3=~out3;

run=1; delay(500);

run=0; delay(500);

run=1;

delay(500);

bzw3=0;

}

}

void delay(uint k)

{

uint i,j;

for(i=0;i

{

for(j=0;j<121;j++)

{;}}

}

单片机实验报告简易报警器

简易报警器 一、本次根据单片机课程设计题目与要求,我选择的是设计一个简易报警器。 二、课程设计要求:自制一个单片机最小系统,包括串口下载、复位电路,采用两路外部中断输入门禁和红外探测两路信号(采用两个小按键模拟),中断信号输入后能将报警信息在四位一体数码管上显示,并输出声光报警信号。 三、设计所需的硬件:的无极性电容五个;10uF的极性电容两个;发光二极管两个;三极管9013四个;千欧的排阻一个;100,1k,10k 的电阻若干;芯片插座若干;的晶振一个;单片机STC89C54RD芯片一块;MAX232串口芯片一块;导线若干; 四、课程设计要求是用按键红外探测和输入门禁。但是由于实验室设备的条件,我采用的是红绿两个二极管代替红外探测的发光显示和输入门禁的报警装置。 五、总体设计思想

六、晶振电路 振荡器是数字钟的核心。振荡器的稳定度及频率的精确度决定了数字钟计时的准确程度,通常选用石英晶体构成振荡器电路。石英晶体振荡器的作用是产生时间标准信号。因此,一般采用石英晶体振荡器经过分频得到这一时间脉冲信号。 七、按键模块

鉴于使用中断电路会增加硬件电路的复杂度,本电路采用独立按键的方法,只需在程序中加入扫描程序即可。其中接按键光标移位,接按键时间加数,接按键时间减数,接按键模拟红外探测,接按键模拟输入门禁,。 九、SPEAKER电路 报警器装置的原理就是利用出来的高低电平交换使得扬声器发出声音。但是由于实验室的器材有限,所以我们改用了发光二极管来代替SPEAKER电路。

十、实验仿真程序如下: #include <> #include <> #define uchar unsigned char #define uint unsigned int uchar code table_data[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x00}; uchar code table_select[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; uchar table_buffer[]={0,0}; uchar count0,count1; sbit LEDREDCON=P0^0; sbit LEDGREENCON=P0^1; sbit spe=P0^2; sbit Kint0=P3^2;

51单片机实例程100讲全集

目录 目录 (1) 函数的使用和熟悉 (4) 实例3:用单片机控制第一个灯亮 (4) 实例4:用单片机控制一个灯闪烁:认识单片机的工作频率 (4) 实例5:将P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能 (5) 实例6:使用P3口流水点亮8位LED (5) 实例7:通过对P3口地址的操作流水点亮8位LED (6) 实例8:用不同数据类型控制灯闪烁时间 (7) 实例9:用P0口、P1 口分别显示加法和减法运算结果 (8) 实例10:用P0、P1口显示乘法运算结果 (9) 实例11:用P1、P0口显示除法运算结果 (9) 实例12:用自增运算控制P0口8位LED流水花样 (10) 实例13:用P0口显示逻辑"与"运算结果 (10) 实例14:用P0口显示条件运算结果 (11) 实例15:用P0口显示按位"异或"运算结果 (11) 实例16:用P0显示左移运算结果 (11) 实例17:"万能逻辑电路"实验 (11) 实例18:用右移运算流水点亮P1口8位LED (12) 实例19:用if语句控制P0口8位LED的流水方向 (13) 实例20:用swtich语句的控制P0口8位LED的点亮状态 (13) 实例21:用for语句控制蜂鸣器鸣笛次数 (14) 实例22:用while语句控制LED (15) 实例23:用do-while语句控制P0口8位LED流水点亮 (16) 实例24:用字符型数组控制P0口8位LED流水点亮 (17) 实例25:用P0口显示字符串常量 (18) 实例26:用P0 口显示指针运算结果 (19) 实例27:用指针数组控制P0口8位LED流水点亮 (19) 实例28:用数组的指针控制P0 口8 位LED流水点亮 (20) 实例29:用P0 、P1口显示整型函数返回值 (21) 实例30:用有参函数控制P0口8位LED流水速度 (22) 实例31:用数组作函数参数控制流水花样 (22) 实例32:用指针作函数参数控制P0口8位LED流水点亮 (23) 实例33:用函数型指针控制P1口灯花样 (25) 实例34:用指针数组作为函数的参数显示多个字符串 (26) 实例35:字符函数ctype.h应用举例 (27) 实例36:内部函数intrins.h应用举例 (27) 实例37:标准函数stdlib.h应用举例 (28) 实例38:字符串函数string.h应用举例 (29) 实例39:宏定义应用举例2 (29) 实例40:宏定义应用举例2 (29) 实例41:宏定义应用举例3 (30)

单片机的红外遥控器解码设计

第1章红外解码系统分析 第1节设计要求 整个控制系统的设计要求:被控设备的控制实时反应,从接收信号到信号处理及对设备控制反映时间应小于1s;整个系统的抗干扰能力强,防止误动作;整个系统的安装、操作简单,维护方便;成本低。 红外载波、编码电路设计要求:单片机定时器精确产生38KHz红外载波;根据控制系统要求能对红外控制指令信号精确编码并迅速发送。 红外解码电路设计要求:精确接收红外信号,并对所接收信号进行解码、放大、整形、解调等处理,最后输出TTL电平信号;对非红外光及边缘红外光抗干扰能力强。 设备扩展模块设计要求:直流控制交流;抗干扰能力强;反应迅速不产生误动作;能承受大电流冲击。 第2节总体设计方案 2.1方案论证 驱动与开关 方案一:采用晶闸管直接驱动。 其优点是体积小,电路简单,外围元件少。但控制电流小,大电流晶闸管成本高,并且隔离性能差。 方案二:采用三极管驱动继电器。 其体积大,外围元件多。优点是控制电流大,隔离性能好。 根据实际情况,拟采用方案二。 2.2总体设计框图 经过上述方案的分析选择,得出系统硬件由以下几部分组成:电视红外遥控器,51单片机最小系统,接收放大于一体集成红外接收头,1602液晶显示驱动电路。 整体设计思路为:根据扫描到不同的按键值转至相对应的ROM表读取数据。确认设备及菜单选择键后AT89S2将从ROM读取出来的值,按照数据处理要求从P2.5输出控制脉冲与T0产生的38KHz的载波(周期是26.3μs)进行调制,经NPN三极管对信号放大驱动红外发光管将控制信号发送出去。红外数据接收则是采用HS0038一体化红外接收头,内部集成红外接收、数据采集、解码的功能,只要在接收端INT0检测头信号低电平的到来,就可完成对整个串行的信号进行分析得出当前控制指令的功能。然后根据所得的指令去操作相应的用电器件工作,如图1-1所示。

(完整版)基于单片机的红外报警器的设计

微机原理与单片机系统课程设计 专 班 姓 名: 学 兰州交通大学自动化与电气工程学院 2014 年 12 月 31 日

基于51单片机的红外防盗报警器的设计 1设计说明 1.1设计目的 该设计以单片机AT89C51芯片为核心,加上必要的外围电路,构成了一个基于单片机的红外线防盗报警器。功能主要通过软件编程来实现,降低了硬件电路的复杂性和制作成本。此外,设计中所采用的红外线是不可见光,有很强的隐蔽性和保密性,以满足现代人们住宅防盗的需要。 1.2设计要求 该设计要求当热释电红外线传感器探测到人体辐射的红外线时,单片机控制电路启动声光报警并显示报警次数。此外,用户还可以设定报警时间并手动解除报警。 1.3设计方法 该设计以AT89C51单片机为核心,由时钟电路、复位电路、外部触发电路、报警时间选择电路、声光报警电路、报警次数显示电路和中断报警电路共同组成报警系统。系统具有显示报警次数,设定报警时间,手动解除报警的功能。 2设计方案及原理 2.1设计方案简述 该设计使用AT89C51单片机芯片控制电路,通过热释电红外传感器采集外部触发信号,采用7段LED数码管显示报警次数,采用蜂鸣器和红色发光二极管实现声光报警,手动解除报警功能由单片机外部中断实现,报警时间由单片机内部定时器实现。 2.2热释电红外传感器简单介绍 热释电红外线(PIR)传感器是80年代发展起来的一种新型高灵敏度探测元件。是一种能检测人体发射的红外线而输出电信号的传感器,它能组成防入侵报警器或各种自动化节能装置。它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。将这个电压信号加以放大,便可驱动各种控制电路。 2.3 PIR的原理特性 热释电红外线传感器主要是由一种高热电系数制成的探测元件,在每个探测器内装入一个或两个探测元件,并将两个探测元件以反极性串联,以抑制由于自

基于51单片机的红外遥控器设计

天津职业大学 二○一五~二○一六学年第1学期 电子信息工程学院 通信系统综合实训报告书 课程名称:通信系统综合实训 班级:通信技术(5)班 学号:1304045640 1304045641 1304045646姓名:韩美红季圆圆陈真真指导教师:崔雁松 2015年11月17日

一、任务要求 利用C51单片机设计开发一套红外线收发、显示系统。 具体要求: ●编写相关程序(汇编、C语言均可); ●用Proteus绘制电路图并仿真实现基本功能; ●制作出实物 二、需求分析(系统的应用场景、环境条件、参数等) 现在各种红外线技术已经源源不断进入我们的生活中,在很多场合发挥着作用。 机场、宾馆、商场等的自动门,会在人进出时自动地开启和关闭。原来,在自动门的一侧有一个红外线光源,发射的红外线照射到另一侧的光电管上,红外线是人体察觉不到的。当人走到大门口,身体挡住红外线,电管接收不到红外线了。根据设计好的指令,触发相应开关,就把门打开了。等人进去后,光电管又可以接到红外线,恢复原来的线路,门又会自动关闭。因此这种光电管被称为“电眼”,在许多自动控制设备中大显身手。 在家庭中,许多电子设备如彩色电视、空调、冰箱和音响等,都使用了各种“红外线遥控器”。利用它我们可以非常方便的转换电视频道或设定空调的温度档次。 三、概要设计(系统结构框图/系统工作说明流程图) 红外线收发、显示系统硬件由以下几部分组成:红外遥控器,51单片机最小系统,接收放大器一体集成红外接收头,LED灯显示电路。 红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式(高、低电位刚好相反)的脉冲信号。这些工作通常由一体化的接收头来完成,输出TTL兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。 红外遥控系统电路框图

51单片机实用汇编程序库(word)

51 单片机实用程序库 4.1 流水灯 程序介绍:利用P1 口通过一定延时轮流产生低电平 输出,以达到发光二极管轮流亮的效果。实际应用中例如:广告灯箱彩灯、霓虹灯闪烁。 程序实例(LAMP.ASM) ORG 0000H AJMP MAIN ORG 0030H MAIN: 9 MOV A,#00H MOV P1,A ;灭所有的灯 MOV A,#11111110B MAIN1: MOV P1,A ;开最左边的灯 ACALL DELAY ;延时 RL A ;将开的灯向右边移 AJMP MAIN ;循环 DELAY: MOV 30H,#0FFH D1: MOV 31H,#0FFH D2: DJNZ 31H,D2 DJNZ 30H,D1 RET END 4.2 方波输出 程序介绍:P1.0 口输出高电平,延时后再输出低电 平,循环输出产生方波。实际应用中例如:波形发生器。 程序实例(FAN.ASM): ORG 0000H MAIN: ;直接利用P1.0 口产生高低电平地形成方波////////////// ACALL DELAY SETB P1.0 ACALL DELAY 10 CLR P1.0 AJMP MAIN ;////////////////////////////////////////////////// DELAY: MOV R1,#0FFH DJNZ R1,$ RET

五、定时器功能实例 5.1 定时1 秒报警 程序介绍:定时器1 每隔1 秒钟将p1.o 的输出状态改变1 次,以达到定时报警的目的。实际应用例如:定时报警器。程序实例(DIN1.ASM): ORG 0000H AJMP MAIN ORG 000BH AJMP DIN0 ;定时器0 入口 MAIN: TFLA G EQU 34H ;时间秒标志,判是否到50 个 0.2 秒,即50*0.2=1 秒 MOV TMOD,#00000001B;定时器0 工作于方式 1 MOV TL0,#0AFH MOV TH0,#3CH ;设定时时间为0.05 秒,定时 20 次则一秒 11 SETB EA ;开总中断 SETB ET0 ;开定时器0 中断允许 SETB TR0 ;开定时0 运行 SETB P1.0 LOOP: AJMP LOOP DIN0: ;是否到一秒//////////////////////////////////////// INCC: INC TFLAG MOV A,TFLAG CJNE A,#20,RE MOV TFLAG,#00H CPL P1.0 ;////////////////////////////////////////////////// RE: MOV TL0,#0AFH MOV TH0,#3CH ;设定时时间为0.05 秒,定时 20 次则一秒 RETI END 5.2 频率输出公式 介绍:f=1/t s51 使用12M 晶振,一个周期是1 微秒使用定时器1 工作于方式0,最大值为65535,以产生200HZ 的频率为例: 200=1/t:推出t=0.005 秒,即5000 微秒,即一个高电

c51、c52单片机红外线遥控接收解码c程序(可直接使用)

/ 亲,此程序以经过测试,可直接使用!!!/ #include #define uchar unsigned char #define uint unsigned int void delay(uchar x); sbit IRIN = P3^2; uchar IRCOM[4]; void main() { IE = 0x81; TCON = 0x01; IRIN=1; /* 此处可以根据按键码自由编写程序 /以下为3*7遥控按键码/ /(也可以应用与其他类型遥控,本程序只以3*7遥控为例)/ / 0x45 0x46 0x47 / / 0x44 0x40 0x43 / / 0x07 0x15 0x09 / / 0x16 0x19 0x0d / / 0x0c 0x18 0x5e / / 0x08 0x1c 0x5a / / 0x42 0x52 0x4a / 例如: while(1) {switch(IRCOM[2]) {case 0x45: P2=0x7f; break; case 0x44: P2=0xbf; break; case 0x07: P2=0xdf; break; case 0x16: P2=0xef; break; case 0x0c: P2=0xf7; break; case 0x08: P2=0xfb; break; case 0x42: P2=0xfd; break; case 0x52: P2=0xfe; break; case 0x4a: P2=0xff; break; case 0x5a: P2=0x00; break;} } */ while(1); } //end main /**********************************************************/ void IR_IN(void) interrupt 0 //外部中断服务程序 {unsigned char j,k,N=0; EX0 = 0; delay(15); if (IRIN==1) { EX0 =1;

基于单片机控制的红外线防盗报警器的设计

目录 1 绪论 (3) 1.1 研究目的和意义 (3) 1.2 研究内容 (3) 1.3研究方法和技术路线 (3) 1.4 预期的研究目标 (4) 2 系统总体设计 (4) 2.1系统概述 (4) 2.2 主要器件介绍 (6) 2.2.1 热释电红外传感器概述 (6) 2.2.2 AT89C51 单片机概述 (9) 2.3 总体设计框图 (14) 3 系统硬件设计 (15) 3.1信号检测与放大模块 (15) 3.1.1电路实现功能 (15) 3.1.2电路图 (15) 3.1.3电子元件介绍 (15) 3.2 LED显示模块 (16) 3.2.1 电路实现功能 (16) 3.2.2电路图 (16) 3.2.3电子元件介绍 (16) 3.3 报警执行模块 (17) 3.3.1 电路实现功能 (17) 3.3.2电路图 (17) 3.3.3电子元件介绍 (17) 3.4 手工暂停模块 (18) 3.4.1 电路实现功能 (18)

3.4.2电路图 (18) 3.5 晶振与复位模块 (18) 3.5.1 电路实现功能 (18) 3.5.2电路图 (19) 3.5.3电子元件介绍 (19) 4 系统软件设计 (21) 4.1 软件设计介绍 (21) 4.2 主程序设计 (21) 4.2.1 实现功能 (21) 4.2.2 流程图 (21) 4.3 定时中断程序设计 (23) 4.3.1 实现功能 (23) 4.3.2 10s定时流程图 (23) 4.3.3 关键技术 (23) 4.3.4 关键代码: (25) 4.4 解除中断程序设计 (26) 4.4.1 实现功能 (26) 4.4.2 程序流程图 (26) 4.4.3 关键技术 (27) 4.4.4 关键代码 (28) 5 实验结论 (29) 结束语 (30) 附录一 (30) 附录二 (33) 附录三 (33) 参考文献 (34) 致谢 (35)

51单片机实例(含详细代码说明)

1.闪烁灯 1.实验任务 如图4.1.1所示:在P1.0端口上接一个发光二极管L1,使L1在不停地一亮一灭,一亮一灭的时间间隔为0.2秒。 2.电路原理图 图4.1.1 3.系统板上硬件连线 把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。 4.程序设计内容 (1).延时程序的设计方法 作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要 求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在 执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程 序是如何设计呢?下面具体介绍其原理:

如图4.1.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒机器周期微秒 MOV R6,#20 2个 2 D1: MOV R7,#248 2个 2 2+2×248=498 20× DJNZ R7,$ 2个2×248 (498 DJNZ R6,D1 2个2×20=40 10002 因此,上面的延时程序时间为10.002ms。 由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时, 延时10ms,以此为基本的计时单位。如本实验要求0.2秒=200ms, 10ms×R5=200ms,则R5=20,延时子程序如下: DELAY: MOV R5,#20 D1: MOV R6,#20 D2: MOV R7,#248 DJNZ R7,$ DJNZ R6,D2 DJNZ R5,D1 RET (2).输出控制 如图1所示,当P1.0端口输出高电平,即P1.0=1时,根据发光二极管 的单向导电性可知,这时发光二极管L1熄灭;当P1.0端口输出低电平, 即P1.0=0时,发光二极管L1亮;我们可以使用SETB P1.0指令使P1.0 端口输出高电平,使用CLR P1.0指令使P1.0端口输出低电平。 5.程序框图 如图4.1.2所示

基于单片机的报警系统

毕业设计 热释电人体感应红外报警器设计制作 学生学号:141101043 141101066 学生姓名:张飞鹏白堆兑 导师姓名:杜娟 班级机电一体化(2)班专业名称机电一体化 提交日期年月日答辩日期年月日 年月

摘要 热释电红外传感器,它的制作简单、成本低、安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。这种防盗器安装隐蔽,不易被盗贼发现,便于多用户统一管理。本设计包括硬件和软件设计两个部分。硬件部分包括单片机控制模块、红外探头模块、驱动执行报警模块、LED控制模块等部分组成。处理器采用51系列单片机AT89C51,程序使用C语言编写。 关键字:热释电红外传感器、AT89C51、红外线.

目录 一、引言 (4) 二、设计任务分析 (4) 三、技术方案的详细设计(实施) (5) (一)本系统的设计方案 (5) 1.系统概述 (5) (二)硬件电路设计 (5) (三)单片机部分 (6) 1.AT89C51单片机简介 (10) 2.单片机最小系统 (11) 3.按键部分电路 (11) 4.报警电路 (12) 5.红外感应部分 (110) 6.主程序工作流程图 (13) 四、调试及调试中遇到的问题 (14) 五、总结评价 (15) 致谢 (16) 参考文献 (17) 附件一:总体原理图设计 (18) 附件二:实物图 (20) 附件三:程序源代码 (20)

一、引言 随着科技的提高,电子电器飞速发展,人民生活水平有了很大提高。各种高档家电和贵重物品为许多家庭所拥有。然而一些不法分子也越来越多。这点就是因为不法分子看到了大部分人防盗意识不够强所造成的结果。因此越来越多的居民家庭对财产安全问题十分担忧。报警系统这时为人们解决了大部分问题。但是市场上的报警系统大部分是适用于一些大公司的重要机构。其价格昂贵,使普通家庭难以承受。如果设计一种价格低廉,性能可靠、智能化的报警系统,必将在私人财产的防盗领域起到巨大作用。由于红外线是不可见光,隐蔽性能良好,因此在防盗、警戒等安保装置中被广泛应用。而本设计的电路包括硬件和软件两个部分。硬件部分包括红外感应部分与单片机控制部分,整个系统电路可划分为:电源部分、传感器模块部分、单片机控制电路,而单片机控制由最小系统和指示灯电路、报警电路等子模块组成。主要工作由热释电红外感应器完成信息采集、处理、数据传送经过单片机功能设定到达报警模块这一过程。就此设计的核心模块来说,单片机就是设计的中心单元。单片机应用系统也是由硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是主要是工作的程序通过编写程序来控制输入的信号。 二、设计任务分析 1.该设计包括硬件和软件设计两个部分。模块划分为数据采集、按键设定、报警等。 2.本红外线防盗报警系统由热释电红外传感器、蜂鸣器、单片机控制电路、LED指示电路及软件组成。 3.系统可实现功能。当人员外出时,可把报警系统设置在外出布防状态,探测器工作起来,当有人闯入时,热释电红外传感器将探测到动作,设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,红外热释电模块送出TTL 电平至AT89C51单片机,经单片机处理运算后驱动执行报警电路使警号发声。

红外遥控编码原理及C程序,51单片机红外遥控

红外遥控解解码程序 #include #include #define uchar unsigned char #define uint unsigned int sbit lcden=P1^0; sbit rs=P1^2; sbit ir=P3^2; sbit led=P1^3; sbit led2=P3^7; unsigned int LowTime,HighTime,x; unsigned char a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u; unsigned char flag;//中断进入标志位 uchar z[4]; uchar code table[]={"husidonghahahah"}; uchar code table1[]={"User Code:"}; void delay(uint x) { uint i,j; for(i=x;i>0;i--) //i=xms即延时约xms毫秒for(j=100;j>0;j--); } void write_com(uchar com) {//写液晶命令函数 rs=0; lcden=0; P2=com; delay(3); lcden=1; delay(3); lcden=0; } void write_date(uchar date) {//写液晶数据函数 rs=1; lcden=0; P2=date; delay(3); lcden=1;

delay(3); lcden=0; } void init_anjian() //初始化按键 { a=0;b=0;c=0;d=0; e=0;f=0;g=0;h=0; i=0;j=0;k=0;l=0; m=0;n=0;o=0;p=0; q=0;r=0;s=0;t=0; u=0; } void init_1602() {//初始化函数 uchar num; lcden=0; rs=0; write_com(0x38);//1602液晶初始化 write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(num=0;num<14;num++)//写入液晶固定部分显示{ write_date(table[num]); delay(3); } write_com(0x80+0x40); for(num=0;num<9;num++) { write_date(table1[num]); delay(3); } } void write_dianya(uchar add,char date) {//1602液晶刷新时分秒函数4为时,7为分,10为秒char shi,ge; shi=date%100/10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge); }

基于51单片机的红外遥控

基于51单片机的红外遥控 红外遥控就是无线遥控的一种方式,本文讲述的红外遥控,采用STC89C52单片机,1838红外接收头与38k红外遥控器。 1838红外接收头: 红外遥控器: 原理: 红外接收的原理我不赘述,百度文库上不少,我推荐个网址,这篇文章写得比较清楚,也比较全面, 我主要讲下程序的具体意思,在了解原理的基础上,我们知道,当我们在遥控器上每按下一个键,遥控器上的红外发射头都会发出一个32位的编码(32位编码分成4组8位二进制编码,前16位为用户码与用户反码,后16位为数据码与数据反码,用户码表示遥控器类型,数据码表示按键编码),不同的键对应不同的编码,红外接收头接收到这个编码后,发送给单片机,再进行相关操作。 源程序1:(这个程序的功能就是将用户码与用户反码,数据码与数据反码显示在1602液晶上,因为遥控器买回来就是不会说明按键对应什么码值,所以先自己测试,确定每个按 键的码值) #include #include #include #define uint unsigned int #define uchar unsigned char #define _Nop() _nop_() #define TURE 1 #define FALSE 0

/*端口定义*/ sbit lcd_rs_port = P3^5; /*定义LCD控制端口*/ sbit lcd_rw_port = P3^6; sbit lcd_en_port = P3^4; #define lcd_data_port P0 /////////////////////////////////// void delay1 (void)//关闭数码管延时程序 { int k; for (k=0; k<1000; k++); } //////////////////////////////////// uchar code line0[16]={" user: "}; uchar code line1[16]={" data: "}; uchar code lcd_mun_to_char[16]={"0123456789ABCDEF"}; unsigned char irtime;//红外用全局变量 bit irpro_ok,irok; unsigned char IRcord[4];//用来存放用户码、用户反码、数据码、数据反码unsigned char irdata[33];//用来存放32位码值 void ShowString (unsigned char line,char *ptr); ////////////////////////////////////////////// void Delay(unsigned char mS); void Ir_work(void); void Ircordpro(void); void tim0_isr (void) interrupt 1 using 1//定时器0中断服务函数 { irtime++; } void ex0_isr (void) interrupt 0 using 0//外部中断0服务函数 { static unsigned char i; static bit startflag; if(startflag){ if(irtime<63&&irtime>=33)//引导码TC9012的头码 i=0; irdata[i]=irtime; irtime=0; i++; if(i==33){ irok=1; i=0; }

基于89C51单片机的红外线通信接口电路

基于89C51单片机的红外线通信接口电路 简介:在通信系统中,常利用非电信号来传递控制信号和数 ... 关键字:红外线 在通信系统中,常利用非电信号来传递控制信号和数据,以实现遥控或遥测的功能红外通信,具有控制简单、实施方便,传输可靠性高的特点,是一种较为常用的通信方式。红外通信利用950 nm近红外波段的红外线作为传递信息的媒体,发送端采用脉时调制方式,将二进制数字信号调制成某一频率的脉冲序列,并驱动红外发射管以光脉冲的形式发送,接收端将收到的光脉冲转换成电信号。再经过放大、滤波处理后送给解调电路,还原为二进制 数字信号后输出。 1 系统的总体构成 红外通信系统采用红外光传输及无限工作机制,其组成结构主要包括:红外发射器,通 信信道,红外接收器三大部分组成。 (1)完成信号的电光变换并向空间发射红外脉冲 红外发射器的关键是红外发光二极管和响应的驱动电路。红外发光耳机光首先要满足其调制带宽大于信号的频谱宽度,保证通信线路畅通。此外发光二极管的发射波长应与接收端的光电探测器(选用硅光二极管)的峰值响应相匹配,最大程度地抑制背景杂散光干扰,现阶段一般选用780nm~950 nm的红外波段进行数字信号传输。由于红外无线通信系统的信噪比与发射功率的平方成正比,所以适当提高红外发射器的发射功率,并采用空间分集、全息漫射片等可使发射端的光功率在空间均匀分布的措施来降低误码率,提高通信质量。其原 理图如图1所示。 (2)红外接收器 红外接收器包括红外接收部分以及后续的信号采滤波、判决、量化、均衡和解码等其原 理框图如图2所示。

红外接收端的工作过程,首先进行光电转换,将红外脉冲信号变为电信号,经过适当的频域均衡后进行码元判决,码元判决电路是接收器设计的核心部分。由于信号采用红外无线进行穿社,其电平变化范围较大,所以码元判决电路必须是自适应的。接收的信号经自适应码元判决后变成数字信号,再进行适当的解码转换为差分信号进入计算机网卡的信号输入端。 (3)通信信道 红外无线数字通信的信道泛指发射器与接收器之间的空间。由于自然光及人工光源等背景光信号的介入,信号源以及发射、接收设备中电学或光学噪声的影响,红外无线数字通信在某些场合的通信质量较差,需要采用信道编码技术来提高抗干扰能力。 在红外线通信系统中,由于红外发射器的发射功率较小,而且信号采用红外线进行传输,易受外界环境的影响,这些因素导致了红外接收器的信号很弱,并且电平变化范围较大。因此,低噪声的前置放大器设计和自适应的码元判决电路是必须的。低噪声的前置放大器一般选用输入阻抗较高的场效应管放大器,并要求带宽大,增益高,噪声低,干扰小,频率响应与信道脉冲响应匹配。自适应的码元判决电路能自动跟踪输入信号电平的变化,得到最佳的阈值电平,并根据此阈值电平对信号进行判决,将其变换为数字电平之后进行解码,恢复原始信号。同时,为了滤去低频噪声及人为干扰采用带通滤波器,为了与调制特性匹配并消除码间干扰常采用均衡技术,为了获得较大的光接收器工作范围及瞬时视场采用球形光学透镜。这些措施都是将有利于红外无线通信质量的提高。 2 红外串行通信接口电路设计 单片机控制的红外通信系统主要有红外发射器,红外接收器,以及单片机89C51三部分组成,单片机本身并不具备红外通信接口,可以利用单片机的串行接口与片红外发射和接收电路,组成一个单片机控制系统的红外串行通信接口。 2.1 发射部分设计 红外发送电路包括脉冲振荡器、三极管和红外发射管等部分。其中脉冲振荡器有NE55

基于51单片机的家庭热释红外防盗报警系统..

齐齐哈尔大学 综合实践(论文) 题目基于51单片机的家庭热释红外防盗报警系统 学院通信与电子工程学院 专业班级电子121班 学生姓名车贵平 学生学号2012131076 指导教师题原

随着社会经济的飞速发展和人民生活水平的提高,人们对住宅的要求也越来越高,表现在不仅希望拥有舒适、安逸的住所,而且对安全性、智能性等方面也提出了要求。相反地,经济的快速增长也带来了相当大的负面社会效应,城乡、区域收入差距进一步拉大,流动人口也开始迅速增加,盗窃、入室抢劫等刑事案件也呈现出了增长趋势,人们也越来越渴望有一个安全的空间。人们迫切需要一种智能型的家庭防盗报警系统,能可靠的进行日常安全防范工作,即时发现各种险情并通知户主,以便将险情消灭在萌芽状态,这样人们便可安心工作,同时也保证了居民的生命财产不受损失。于是有关家庭、办公室和仓库等处的安全防范和自动报警系统的开发研制日益被科研单位和生产厂家所重视,现在市场上也出现了各种名目繁多的报警装置,但多由于可靠性较差、功能单一或造价高而难于普及。本文着重阐述热释红外防盗报警器的设计过程,了解防盗报警器的实际情况,最后提出了一些现阶段防盗报警器应用发展可采用的策略和应用前景。 关键词:传感器单片机防盗报警器

摘要 0 第1章绪论 (1) 1.1概述 (1) 1.2研究的目的与意义 (1) 1.3研究现状 (3) 第2章硬件介绍 (4) 2.1系统功能的要求 (4) 2.2总体的设计方案 (4) 2.3系统的传感器技术及单片机技术 (5) 第3章报警器硬件设计 (11) 3.1蜂鸣器电路 (11) 3.2电热释红外探测器电路设计 (11) 3.3清单及实物图 (12) 第4章报警器软件设计 (15) 4.1程序语言的分类 (15) 4.2单片机汇编语言程序设计的基本步骤 (15) 4.3汇编语言程序设计方法 (16) 总结 (17) 致谢 (17) 参考文献 (18) 附录1 电路原理图 (19) 附录2 源程序 (20)

用单片机解码红外遥控器

用单片机解码红外遥控器 遥控器使用方便,功能多.目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到。如果能将遥控器上许多的按键解码出来.用作单片机系统的输入.则解决了常规矩阵键盘线路板过大、布线复杂、占用I/O口过多的弊病。而且通过使用遥控器,操作时可实现人与设备的分离,从而更加方便使用。下面以TC9012编码芯片的遥控器为例。谈谈如何用常用的51系统单片机进行遥控的解码。 一、编码格式 1、0和1的编码 遥控器发射的信号由一串O和1的二进制代码组成.不同的芯片对0和1的编码有所不同。通常有曼彻斯特编码和脉冲宽度编码。TC9012的O和1采用PWM方法编码,即脉冲宽度调制,其O码和1码如图1所示(以遥控接收输出的波形为例)。O码由O.56ms低电平和0.56ms高电平组合而成.脉冲宽度为1.12ms.1码由0.56ms低电平和1.69ms高电平组合而成.脉冲宽度为2.25ms。在编写解码程序时.通过判断脉冲的宽度,即可得到0或1。 2、按键的编码

当我们按下遥控器的按键时,遥控器将发出如图2的一串二进制代码,我们称它为一帧数据。根据各部分的功能。可将它们分为5部分,分别为引导码、地址码、地址码、数据码、数据反码。遥控器发射代码时.均是低位在前。高位在后。由图2分析可以得到.引导码高电平为4.5ms,低电平为4.5ms。当 接收到此码时.表示一帧数据的开始。单片机可以准备接收下面的数据。地址码由8位二进制组成,共256种.图中地址码重发了一次。主要是加强遥控器的可靠性.如果两次地址码不相同.则说明本帧数据有错.应丢弃。不同的设备可以拥有不同的地址码.因此。同种编码的遥控器只要设置地址码不同,也不会相互干扰。图中的地址码为十六进制的0EH(注意低位在前)。在同一个遥控器中.所有按键发出的地址码都是相同的。数据码为8位,可编码256种状态,代表实际所按下的键。数据反码是数据码的各位求反,通过比较数据码与数据反码.可判断接收到的数据是否正确。如果数据码与数据反码之间的关系不满足相反的关系.则本次遥控接收有误.数据应丢弃。在同一个遥控器上.所有按键的数据码均不相同。在图2中,数据码为十六进制的0CH,数据反码为十六进制的0F3H(注意低位在前).两者之和应为0FFH。 二、单片机遥控接收电路

基于单片机的红外报警器设计

刘卉讲师

目录 绪论 (1) 1 无线报警器系统总体设计 (2) 系统概述 (2) 主要器件介绍 (3) 热释电红外传感器概述 (3) AT89S51 单片机概述 (7) 总体设计 (12) 2 无线报警器系统硬件设计 (12) 系统工作原理图 (12) 信号检测与放大电路 (13) 电路实现功能 (13) 电路图图2-1信号检测与放大电路 (13) LED显示电路 (14) 电路实现功能 (14) 电路图 (14) 电路实现原理 (15) 报警执行电路 (15) 电路实现功能 (15) 电路图 ........................................................... 电路实现原理 (16) 手工暂停 (16) 电路实现功能 (16)

电路图 (16) 电路工作原理 (17) 单片机控制晶振与复位电路 (17) 电路实现功能: (17) 电路图: (17) 电路工作原理 (17) 3 无线报警器系统软件设计................................................ 流程图............................................................... 主程序设计 (20) 4 系统调试 (30) 结论和展望 (31) 心得体会 (34) 参考文献 (34) 附录 (34) 绪论 随着社会的不断进步和科学技术、经济的不断发展,人们生活水平得到很大的 提高,对私有财产的保护意识在不断的增强,因而对防盗措施提出了新的要求。本设计就是为了满足现代住宅防盗的需要而设计的家庭式电子防盗系统。 就目前市面上装备主要有压力触发式防盗报警器、开关电子防盗报警器和压力遮光触发式防盗报警器等各种报警器,但这几种比较常见的报警器都存在一些缺点。而我所研究的防盗报警器采用了热释电红外传感器,它的制作简单、成本低,安装比较方便,而且防盗性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。这种防盗器安装隐蔽,不易被盗贼发现,同时它的信号经过单片机系统处理后方便和PC机通信,便于多用户统一管理和用户操作。

51单片机实现红外线编码检测

51单片机实现红外编码检测 通过51 单片机及外围电路实现对接受信号的处理(通过外部中断和计数器)获得信号的01编码,设备显示。 红外传感基础知识: ?红外发光管:红外发光二极管通常使用砷化镓(GaAs)、砷铝化镓(GaAlAs)等材料,采用全透明或浅蓝色、黑色的树脂封装。 产生的光波波长为940nm左右,为红外光 ?红外接收头:左图为一常用的红外接收模块。其内部含有高频的滤波电路,专门用来滤除红外线合成信号的载波信号(38KH),并送出接收到的信号。当红外线合成信号进入红外接收模块,在其输出端便可以得到原先发射器 发出的数字编码,只要经过单片机解码程序进行解码,便可以 得知按下了哪一个按键,而做出相应的控制处理,完成红外遥 控的动作。 ?红外发送协议:引导码+客户码1+客户码2+操作码 +操作反码 ***用户真正须要的只有操作码***

?调制:“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率(因红外接收头能接收的红外线为38KHz 左右),还可达到降低电源功耗的 目的。 主要内容: 通过51 单片机及外围电路实现对接受信号的处理(通过外部中断和计数器)获得信号的01编码,用设备显示,(lcd或数码管);这里管脚的对应P3.2接受红外对管信息,lcd接线:

主程序: #include //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义 #include sbit IR=P3^2; //红外接口标志 /*------------------------------------------------ 全局变量声明 ------------------------------------------------*/ unsigned char irtime;//红外用全局变量 bit irpro_ok,irok; unsigned char IRcord[4]; unsigned char irdata[33]; /*------------------------------------------------ 函数声明 ------------------------------------------------*/ void Ircordpro(void); /*------------------------------------------------ 定时器0中断处理 ------------------------------------------------*/ void tim0_isr (void) interrupt 1 using 1 { irtime++; //用于计数2个下降沿之间的时间 } /*------------------------------------------------ 外部中断0中断处理 ------------------------------------------------*/ void EX0_ISR (void) interrupt 0 //外部中断0服务函数 { static unsigned char i; //接收红外信号处理 static bit startflag; //是否开始处理标志位 if(startflag) {

相关主题
文本预览
相关文档 最新文档