ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:732.76KB ,
资源ID:4302100      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4302100.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微波光电子课程设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微波光电子课程设计.docx

1、微波光电子课程设计 2014年微波光电子课程设计设计报告项目名称 基于51单片机的红外编码解码实验参 与 者 李思彧 徐楠 李梦婷 袁高峰 王阳所在学院 电子科学与应用物理学院专业年级 电子科学与技术11-1班指导教师 毛剑波报告人 李思彧时间 2014.7一、设计题目,主要指标和要求 1.利用Proteus设计仿真电路,要求可以实现红外编码以及红外解码。在编码端通过16个按钮开关实现选码,用单片机实现编码。在解码端要求利用数码管将编码电路中按键所对应的数值显示出来。2.编写程序,利用学林单片机实验箱实现对ht6221遥控器的红外解码,要求利用数码管显示ht6221各键所对应的键值编码。二、

2、方案设计以及基本原理 1. 红外遥控系统红外遥控系统主要由红外遥控发射装置、红外接收设备、遥控微处机等组成。 红外遥控发射装置,其主要组件为红外发光二极体。单只红外发光二极管的发射功约100mW。 接收电的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度。红外遥控器的常见协议分析常用的红外线信号传输协议有ITT 协议、NEC 协议、Nokia NRC协议、Sharp 协议、Philips RC5 协议、Philips RC6协议,Philips RECS80协议,以及Sony SIRC 协议等。协议组成:一般由引导码,用户码,资码,重复码或资码的反

3、码和结束码构成。载波:常用的有33K,36K,36.6K,38K,40K,56K,无载波、占空比:常用的有1/3,1/2,常用1/4、 调制方式:脉宽调制,相位调制,脉冲位置调制2红外编码和解码原理 红外遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC协议为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms间隔0.56ms周期1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms

4、的组合表示二进制的“1”其波形如下图所示。上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。编码数据如下图所示 遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4563ms之间,发射波形图如下图所示 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108

5、ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms18ms),高8位地址码(9ms18ms),8位数据码(9ms18ms)和这8位数据的反码(9ms18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。 需要注意的是:当一体化接收头接收到38kHz 红外信号时,输出端输出低电平,否则为高电平。所以一体化接收头输了的波形是与发射波形是反向的,接收头接收到的波形如图所示: 3.方案设计 根据题目要求我们需要利用Proteus完成电路的仿真,所以在设计方案时我们不仅要设计红外的接收模块,同时,也

6、要完成红外发射编码的模块设计为了完成任务要求我们将方案设计如下: 在红外编码发射模块中,我们用开关键盘实现红外编码发射过程的控制,并通过键盘选择需要发射的数据,之后经过单片机编码将数据传输给红外发射管进行发射。 在红外解码接收模块中,红外接收管接收到红外信号,将信号传输给单片机,利用单片机进行解码,解码的结果通过数码管显示出来。 设计方案如图: 三、电路设计1.单元电路设计 键盘电路:我们使用16个按钮开关作为键盘按键,按钮排列成四行四列,4根行选择线通过总线接单片机P1口的低四位,4根列选择线通过总线接单片机P1口的高四位。每个开关按钮一端接行线,另一端接列线。当开关被按下,低四位中的一位与

7、高四位中的一位引脚相连,利用P1口的高低电平变化来获取按键位置,从而获取按键信息。电路设计如图: 单片机编码电路: 红外发射电路:在红外发射电路中我们加入了PNP管来完成电平信号的放大,同时也使得电平反转。 红外接收电路: 在Proteus中我们使用irlink来模拟红外发射管与红外接收管。 红外解码电路: 数码管显示电路:在数码管显示电路中我们加入了74LS240来实现增强电平驱动的作用。2.完整电路设计:3.元件清单:3 ResistorsQuantity:ReferencesValueOrder Code1R12H1K1R210kM10K1R31kH1K3 Integrated Circ

8、uitsQuantity:ReferencesValueOrder Code2U1, U280C521U374LS2401 TransistorsQuantity:ReferencesValueOrder Code1Q1PNP1 MiscellaneousQuantity:ReferencesValueOrder Code1IRL1IRLINK 四、程序设计 1.单片机实验板红外接收程序设计: 数码管显示, P0口为数码管的数据口 ,p2为数码管的控制位 控器接p3.2 ,喇叭接p3.7,每次按键喇叭提示#include#include#define uchar unsigned char#d

9、efine uint unsigned intvoid IR_show();void delay(unsigned char x);sbit IRIN = P32;sbit GEWEI =P27;sbit SHIWEI =P26;uchar IRCOM8;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0X88,0X83,0XC6,0XA1,0X86,0X8E;uchar x,y;void main(void)x=0; y=0;IT0=1;EX0=1;EA=1;while(1)IR_show();void I

10、R_IN() interrupt 0 uint N; uchar i; EX0 = 0; N = 0; while(!IRIN) N+; if(N 400)EX0=1;return; if(N 200)EX0=1;return; for(i=0; i 200)EX0=1;return; IRCOMi/8 = 1; if(N60) IRCOMi/8 |= 0x80; if( IRCOM2=IRCOM3&IRCOM0=IRCOM1) x=IRCOM2/16; y=IRCOM2%16; EX0=1;void IR_show() SHIWEI=1; P0=tabley;GEWEI=0;delay(1)

11、; GEWEI=1;P0=tablex;SHIWEI=0;delay(1); void delay(uchar x) uchar i,j; for(i=0; ix; i+) for(j=0; j24; j+)_nop_();2.Proteus仿真红外解码程序:使用外部中断0接收P3.2 #include#include#define uchar unsigned char#define uint unsigned intvoid IR_show();void delay(unsigned char x);sbit IRIN = P32;sbit GEWEI =P27;sbit SHIWEI =

12、P26;uchar IRCOM8;ucharcodetable=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E;uchar x,y;void main(void) x=0;y=0;IT0=1;EX0=1;EA=1;while(1) IR_show();void IR_IN() interrupt 0 uint N; uchar i; EX0 = 0; N = 0; while(!IRIN) N+; if(N 400)EX0=1;return; if(N 200)EX0=1;retur

13、n; for(i=0; i 200)EX0=1;return; IRCOMi/8 = 1; if(N60) IRCOMi/8 |= 0x80; if( IRCOM2=IRCOM3&IRCOM0=IRCOM1) x=IRCOM2/16; y=IRCOM2%16; EX0=1;void IR_show() SHIWEI=1;P0=tabley;GEWEI=0; delay(1); GEWEI=1; P0=tablex; SHIWEI=0; delay(1); void delay(uchar x) uchar i,j; for(i=0; ix; i+) for(j=0; j24; j+)_nop_

14、();3.Proteus仿真红外编码程序:发射引脚(接PNP三极管b极)PNP三极管e极接2电阻,c极接红外发射管 #include #include #define uchar unsigned char #define uint unsigned int #define SBM 0x80 #define m9 (65536-9000) #define m4_5 (65536-4500) #define m1_6 (65536-1630) #define m_65 (65536-580) #define m_56 (65536-560) #define m40 (65536-40000) #

15、define m56 (65536-56000) #define m2_25 (65536-2250) sbit IR = P36; sbit LED = P37; uchar KEY(void);void SanZhuan(void);void ZZ(uchar x);void Z0(uchar temp);void TT0(bit BT,uint x);void YS(uchar time);void main(void) TMOD = 0x01; IR=1; while(1) SanZhuan(); uchar KEY(void) uchar H,L; H=0; L=0; P1 = 0x

16、f0; if(P1!= 0xf0) YS(10); if(P1!=0xf0) H = P1&0xf0; P1 = 0x0f; L = P1&0x0f; return (H+L); return 0;void SanZhuan(void) uchar v; v = KEY(); switch(v) case 0x77:ZZ(0x01);v=0;break; / case 0xb7:ZZ(0x02);v=0;break; / case 0xd7:ZZ(0x03);v=0;break; / case 0xe7:ZZ(0x04);v=0;break; / case 0x7b:ZZ(0x05);v=0;

17、break; / case 0xbb:ZZ(0x06);v=0;break; / case 0xdb:ZZ(0x07);v=0;break; / case 0xeb:ZZ(0x08);v=0;break; / case 0x7d:ZZ(0x09);v=0;break; / case 0xbd:ZZ(0x10);v=0;break; / case 0xdd:ZZ(0x11);v=0;break; / case 0xed:ZZ(0x12);v=0;break; / case 0x7e:ZZ(0x13);v=0;break; / case 0xbe:ZZ(0x14);v=0;break; / cas

18、e 0xde:ZZ(0x15);v=0;break; / case 0xee:ZZ(0x16);v=0;break; / default:v=0; void ZZ(uchar x) TT0(1,m9); TT0(0,m4_5); Z0(SBM);Z0(SBM); Z0(x); Z0(x); TT0(1,m_65); TT0(0,m40); while(KEY() TT0(1,m9); TT0(0,m2_25);TT0(1,m_56);TT0(0,m40);TT0(0,m56); void Z0(uchar temp) uchar v; for (v=0;v= 1; void TT0(bit B

19、T,uint x) TH0 = x8; TL0 = x; TF0=0; TR0=1; if(BT = 0) while(!TF0); else while(1) IR = 0; if(TF0)break;if(TF0)break;IR = 1;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break;if(TF0)break; TR0=0; TF0=0; IR =1; void YS(uchar time) uchar

20、i,j; for(i=0; itime; i+) for(j=0; j247; j+)_nop_();五、实验效果 利用软件仿真,实现了实验要求的各项功能,当我们按下按键时可以在数码管上看到对应的编码值,实验效果如图: 利用学林单片机实验箱实现效果如图 六、心得体会 通过这次课程设计,让我了解了红外编码,红外解码的基本原理,对日本NEC协议有了更深刻的了解,在这个过程中我也了解到了红外遥控系统的基本组成以及工作方式。对HT6221红外遥控的编码也有了一定的了解,这次课程设计让我接触到了以前不曾接触过的一个领域,学习到了很多课本中没有讲授过的知识。 通过这次课程设计,我将以前在课堂上学到的单片机的有关知识运用于实现一个具体的工程任务,使自己对单片机编程以及电路设计有了更清晰的认识,自己的编程能力也得到了锻炼,对c语言的使用也明显更加熟练。同时也让自己对单片机有了更大的兴趣去研究,探索。 通过这次课程设计,我初步掌握了Proteus ISIS软件的使用方法,对元件的查找,电路的绘制,程序的装载,仿真运行等环节可以熟练运用。 通过这次课程设计,我的解决实际问题的能力得到了提升,查找文献资料也比以前更加有针对性,但是这次课程设计也暴露了我的一些问题,比如:自己在遇到困难时不能坚持自己正确的看法,会动摇,容易放弃。这样的问题要在日后的学习过程中不断改进克服。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1