版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11设计题目:空调遥控器可以用来庙宇空调机的控制温度(室内温度)、工作状态(常态、除湿、通风)、风扇风速(强、弱、中)以及定时时间(空调工作多少小时自动开机或延时多少小时自动开机)。使用者在遥控器上庙宇预期的空调机工作状态、控制温度及延时时间后,这些参数即送至空调机,空调机按要求开始工作。该遥控器的要求如下:(1)数字显示器:第一组显示时间,发送前指示设定的延时时间:0——9h,发送后指示剩余的延时时间;第二组显示控制温度15——35℃。(2)工作状态指示器3组:第一组指示设定的工作状态:常态、除湿、通风;第二组指示延时开机、延时停机、取消等三种延时要求;第三组指示空调机的三种工作速度:慢速、中速、高速。(3)红外发射管,发射的调制频率是45KHz。(4)3节5号电供电。(5)面板示意图见图。设计以AT89C51为核心的遥控器电路,并编写相关的系统软件(汇编、C51程序均可)。设计思路:数字显示器使用LCD1602显示时间和温度值,其中时间的切换利用AT89C51内部自带的定时器0,定时初值为3cb0,定时器工作模式为’01’16位定时器,工作状态利用LED灯的亮灭来指示,其中LED亮代表相对应的工作模式被选中,各种工作状态的切换使用8个独立按键来实现,分别位‘工作状态设定键’、‘延时状态设定键’、‘风速选定键’、‘温度+键’、‘温度-键’、‘延时时间位选定键’、‘延时时间设置键’、‘发送键’;按下‘发送键’后信息的发送使用串行口的方式发送给上位机并显现出来,当延时时间到启动空调。具体实现:经分析将该设计划分为如下4个模块:按键模块,LED状态显示模块,LCD1602显示模块,双机串口通信模块按键模块:仿真原理图:详细描述:8个按键的功能如下表:按键功能K1工作状态设定键(常态、除湿、通风)K2延时状态设定键(延时开、延时关、取消)K3风速选定键(慢、中、快)K4温度设定键(增加+)K5温度设定键(减少-)K6延时时间位选定键(XXXXXX)K7延时时间设置键(默认为循环增加)K8发送键当K1按下时,保持P0高5位状态,按下第一次最后一位置0,倒数第二、三位置1按下第二次时到数第二位置0,倒数第一、三位置1,按下第三次时倒数第三位置0,倒数第一、二位置1,依次循环,代码实现:P0=(states1[i]&(P0|0x07));当K2按下时,保持P0倒数第1、2、3位和正数第1、2、3状态按下第一次时倒数第一位亮表示延时开,按下第二次时倒数第五位亮表示延时关,按下第三次时倒数第3、4位皆灭表示取消延时,依次循环,代码实现: P0=(states2[j]&(P0|0x18));当K3按下时,保持P0低5位不变,按下最高两位置1,第三位置0,表示慢速,按下第二次时第二位置0,第一、三位置1,表示中速,按下第三次时第一位置0,第一、二位置1,依次循环,代码实现:P0=(states3[k]&(P0|0xe0));LED状态显示模块:仿真原理图:详细描述:8个按键的功能如下表:LED状态指示D1正常D2除湿D3通风D4延时开(如果D4/D5两灯全灭则取消延时)D5延时关D6慢D7中D8高LCD1602显示模块:仿真原理图:详细描述:LCD1602一共可以显示16x2个字符,其中数据线为8位分别接AT89C51的P2端口的8个管脚,控制线为RS、RW、E分别接P3.3,P3.4,P3.5管脚,仿真电路中排阻是必要的它的功能是电阻作为有功原件串联在电路中能消除振荡,目的是得到更好的EMC性能。主要子函数包括:(详细代码见附录源程序LCD部分)voidinitLCM(void);//LCD初始化子程序voidDisplayListChar(unsignedcharX,unsignedcharY,unsignedchar*DData);//显示指定坐标的一串字符子函数voidDisplayOneChar(ucharX,ucharY,ucharDData);//显示单个字符双机串口通信功能:仿真原理图:详细描述:TXD、P3.0/RXD引脚。发送机和接收机串口采用方式1,8位UART,波特率可变,其中T1的采用方式3(8位自填装模式),计数初值为f4f4,因此串口的波特率为2400bits主要实现代码如下:(详细代码见附录源代码部分:)主机发送:while(++counter<=8) {SBUF=sender[counter-1]; while(TI==0); TI=0; while(RI==0); RI=0; }从机接收:counter++;RI=0; //接受中断标志清零,可以接收新的数据receive=SBUF;//开始接收新的数据ADDRR[counter-1]=receive;//把接受的数据存入字符串数组ADDRR中delay_LCM(100);delay_LCM(100);SBUF=ADDRR[counter-1];//由单片机2向单片机1发送数据while(TI==0); //循环等待直到发送数据完毕TI=0;设计过程中遇到的问题及解决过程:问题1、LCD1602不能够显示最终解决方案:经查阅相关资料与书上LCD1602电路连线图相对照发现未接排阻。仿真电路中排阻是必要的它的功能是电阻作为有功原件串联在电路中能消除振荡,目的是得到更好的EMC性能。经加入排阻后能够正常显示。问题2、通过串口线两片单片机不能正常的通信最终解决方案:原因是在主机中由于我既用到了定时器来作为计时中断,有用到了定时器为串口提供波提率,我误把定时器0来为串口提供波特率,定时器1来为做计时时钟,后查阅书籍在《单片机原理及控制技术》P161、L17中提到方式1和方式3的波特率“与定时器T1的溢出率有关。”也就是说串口通信方式1的波特率不能由定时器0来提供后经改变两定时器的功能后串口通信正常。问题3、编译程序代码时总会出现“ERRORL107:ADDRESSSPACEOVERFLOW”.最终解决方案:AT89C51有三种存储器模式:“SMALL模式,COMPACT模式,LARGE模式。不同的存储模式对变量的默认的存储器类型不一样。”程序在编译时默认为小编译模式,此时数据的存储容量为128B当我定义的数据变量所占据的地址空间超过128B时,编译器就会报错。我首先尝试将编译器的模式设置为CMOPACT模式,但发现编译器虽无报错但仿真的结果并不是我所期望的结果,最终我在SMALL模式下,将我所定义的数据变量尽量缩减,例如用10个字符“0123456789”来表示21个温度数据,这样的缺点是给软件的编写带来了较大的复杂度,优点是可以节省内存空间,最终将所用字节缩减至97远小于128B,编译无错误,且仿真成功。课程设计收获与心得:本次课程设计从审题、模块的划分、各个模块的实现和各个模块之间的连接均为自己独立完成,无抄袭借鉴他人的现象发生,通过本次课程设计自己几乎将单片机教材又细致的看了一遍尤其是中断一章看了不下3遍其中串口一节更是把每个字都仔细研究一番,最终完成了课程设计题目的要求。通过此次课程设计增强了我对学习单片机的信心,也激发了我对单片机设计的热情。成为我大学生涯中的一次难忘的经历,我会在今后生活中更加深入学习单片机知识,争取设计出更多自己喜欢的又实用价值的作品。附录:软件仿真图:源代码:第一部分:LCD显示文件11#include<reg51.h>#include<>#include<>#include<>#defineucharunsignedchar#defineuintunsignedint#defineBUSY0x80#defineDATAPORTP2sbitLCM_RS=P3^3;sbitLCM_RW=P3^4; sbitLCM_EN=P3^5; voiddelay_LCM(uint); voidlcd_wait(void); voidWriteCommandLCM(ucharWCLCM,ucharBusyC);voidWriteDataLCM(ucharWDLCM);voidDisplayOneChar(ucharX,ucharY,ucharDData);voidinitLCM(void); voidDisplayListChar(ucharX,ucharY,unsignedchar*DData);voiddelay_LCM(uintk){uinti,j;for(i=0;i<k;i++){for(j=0;j<60;j++) {;}}}voidWriteCommandLCM(ucharWCLCM,ucharBusyC){if(BusyC)lcd_wait(); DATAPORT=WCLCM;LCM_RS=0;LCM_RW=0;LCM_EN=1; _nop_(); _nop_(); _nop_();LCM_EN=0;}voidWriteDataLCM(ucharWDLCM){lcd_wait(); DATAPORT=WDLCM;LCM_RS=1;LCM_RW=0; LCM_EN=1;_nop_(); _nop_(); _nop_();LCM_EN=0;}voidlcd_wait(void){DATAPORT=0xff; LCM_EN=1;LCM_RS=0; LCM_RW=1; _nop_();while(DATAPORT&BUSY) {LCM_EN=0; _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); } LCM_EN=0; }voidinitLCM(){ DATAPORT=0; delay_LCM(15); WriteCommandLCM(0x38,0);delay_LCM(5);WriteCommandLCM(0x38,0);delay_LCM(5);WriteCommandLCM(0x38,0);delay_LCM(5);WriteCommandLCM(0x38,1);WriteCommandLCM(0x08,1);WriteCommandLCM(0x01,1);WriteCommandLCM(0x06,1);WriteCommandLCM(0x0c,1);}voidDisplayOneChar(ucharX,ucharY,ucharDData){ucharmx,my; my=Y&1; mx=X&0xf;if(my>0)mx+=0x40;mx+=0x80;WriteCommandLCM(mx,0);WriteDataLCM(DData);}voidDisplayListChar(ucharX,ucharY,unsignedchar*DData){uchari=0,n;Y&=0x01;X&=0x0f; n=strlen(DData);while(i<n){DisplayOneChar(X,Y,DData[i]);i++;X++;}}#include<reg51.h>#include<>#defineucharunsignedcharstates1[3]={0xfe,0xfd,0xfb};states2[3]={0xf7,0xef,0xff};states3[3]={0xdf,0xbf,0x7f};unsignedcharinittempreture[12]="tempreture:";unsignedcharinittime[5]="time:";unsignedchartempreture[10]="0123456789";sbitk1=P1^0;sbitk2=P1^1;sbitk3=P1^2;sbitk4=P1^3;sbitk5=P1^4;sbitk6=P1^5;sbitk7=P1^6;sbitk8=P1^7;#defineuintunsignedint#defineucharunsignedcharuchardatasend=0;ucharkeynum;uchartimenum;ucharn;ucharcount;ucharcounter=0;unsignedchartime[7]="000000";unsignedcharsender[9]="00000000";externvoidinitLCM(void); externvoidDisplayListChar(unsignedcharX,unsignedcharY,unsignedchar*DData);externvoidDisplayOneChar(ucharX,ucharY,ucharDData);externdelay_LCM(unsignedintk);externvoidWriteCommandLCM(ucharWCLCM,ucharBusyC);voiddelay(unsignedinti){unsignedintj;unsignedchark;for(j=i;j>0;j--)for(k=255;k>0;k--);}voiddelay1ms(){unsignedinti;for(i=500000;i>0;i--);}Initial_time0com(){TMOD=0X21;TL0=0Xb0;TH0=0X3c;IE=0x82;TR0=0;}Initial_sconcom(){TH1=0Xf4;TL1=0Xf4;PCON=0X00;TR1=1;SCON=0X50;}voidmain(){unsignedinti=0;unsignedintj=0;unsignedintk=0;unsignedcharl=0;unsignedintm=0;unsignedintn=0;count=20;n=count;keynum=0;timenum=0;initLCM();Initial_time0com();Initial_sconcom();delay_LCM(100);DisplayListChar(0,0,inittempreture);delay_LCM(100);DisplayListChar(0,1,inittime);delay_LCM(100);delay_LCM(100);delay_LCM(50); while(1) { DisplayListChar(5,1,time); delay_LCM(100); if(k1==0) { delay(255); P0=(states1[i]&(P0|0x07)); datasend=(states1[i]&(datasend|0x07)); delay(255); i++; } if(i==3) i=0; if(k2==0) { delay(255); P0=(states2[j]&(P0|0x18)); datasend=(states2[j]&(datasend|0x18)); delay(255); j++; } if(j==3) j=0; if(k3==0) { delay(255); P0=(states3[k]&(P0|0xe0)); datasend=(states3[k]&(datasend|0xe0)); delay(255); k++; } if(k==3) k=0; if(k4==0) {if(l!=21) {l++; } delay_LCM(100); if(l<=5) { delay_LCM(1000); DisplayOneChar(11,0,tempreture[1]); delay_LCM(100); DisplayOneChar(12,0,tempreture[l+4]); } if((l>5)&&(l<=15)) { delay_LCM(1000); DisplayOneChar(11,0,tempreture[2]); delay_LCM(100); DisplayOneChar(12,0,tempreture[l-6]); } if(l>15) { delay_LCM(1000); DisplayOneChar(11,0,tempreture[3]); delay_LCM(100); DisplayOneChar(12,0,tempreture[l-16]); } } if(k5==0) { if(l>1) {l--; } if(l<=5) { delay_LCM(1000); DisplayOneChar(11,0,tempreture[1]); delay_LCM(100); DisplayOneChar(12,0,tempreture[l+4]); } if((l>5)&&(l<=15)) { delay_LCM(1000); DisplayOneChar(11,0,tempreture[2]); delay_LCM(100); DisplayOneChar(12,0,tempreture[l-6]); } if(l>15) { delay_LCM(1000); DisplayOneChar(11,0,tempreture[3]); delay_LCM(100); DisplayOneChar(12,0,tempreture[l-16]); } } if(k6==0) {TR0=0; delay_LCM(100); if(k6==0) { timenum++;delay_LCM(100);delay_LCM(100); } } if((k7==0)&&(TR0==0)) { delay_LCM(100); if(k7==0) {delay_LCM(100); time[((timenum-1)%6)]++;if(time[((timenum-1)%6)]>'9')time[((timenum-1)%6)]='0'; } } if(k8==0) {TR0=1; sender[0]=datasend; sender[1]=time[0]; sender[2]=time[1]; sender[3]=time[2]; sender[4]=time[3]; sender[5]=time[4]; sender[6]=time[5]; sender[7]=l; while(++counter<=8) {SBUF=sender[counter-1]; while(TI==0); TI=0; while(RI==0); RI=0; } counter=0; } }}voidtime0_int(void)interrupt1{TL0=0xb0;TH0=0x3c; if((time[0]=='0')&&(time[1]=='0')&&(time[2]=='0')&&(time[3]=='0')&&(time[4]=='0')&&(time[5]=='0')){TR0=0;delay_LCM(100);}n--;if(n==0){if(time[5]=='0'){time[5]='9';if(time[4]=='0'){time[4]='5'; if(time[3]=='0') {time[3]='9'; if(time[2]=='0') {time[2]='5'; if(time[1]==0) {TR0=0; } else time[1]--; } else time[2]--;} elsetime[3]--;}elsetime[4]--; }elsetime[5]--;n=count;}}#include<reg51.h>#defineucharunsignedcharunsignedcharinittempreture[12]="tempreture:";unsignedcharinittime[6]="time:";ucharn;ucharcount;unsignedcharADDRR[9]="00000000";externvoidinitLCM(void); externvoidDisplayListChar(unsignedcharX,unsignedcharY,unsignedchar*DData);externvoidDisplayOneChar(ucharX,ucharY,ucharDData);externdelay_LCM(unsignedintk);Initial_time0com(){TMOD=0X21;TL0=0Xb0;TH0=0X3c;IE=0x82;TR0=0;}voidmain(){ucharreceive;ucharcounter=0;count=20;n=count;initLCM();Initial_time0com();TH1=0xf4;TL1=0Xf4;PCON=0x00;TR1=1;SCON=0x50;P2=0XFF;DisplayListChar(0,0,inittempreture);delay_LCM(100);while(1){while(RI==1){counter++;RI=0; receive=SBUF;ADDRR[counter-1]=receive;delay_LCM(100);delay_LCM(100);SBUF=ADDRR[counter-1];while(TI==0); TI=0; if(counter==8) {if(ADDRR[7]<=5){DisplayOneChar(12,0,'1');DisplayOneChar(13,0,ADDRR[7]+52);}if((ADDRR[7]>5)&&(ADDRR[7]<=15)){DisplayOneChar(12,0,'2');DisplayOneChar(13,0,ADDRR[7]+42);}if(ADDRR[7]>15){DisplayOneChar(12,0,'3');DisplayOneChar(13,0,ADDRR[7]+32);}P2=ADDRR[0];TR0=1;counter=0;}}}}voidtime0_int(void)interrupt1{TL0=0xb0;TH0=0x3c;if((ADDRR[1]=='0')&&(ADDRR[2]=='0')&&(ADDRR[3]=='0')&&(ADDRR[4]=='0')&&(ADDRR[5]=='0')&&(ADDRR[6]=='0')){TR0=0;if(((ADDRR[0]|0XF7)==0XF7)&&((ADDRR[0]|0XEF)==0XEF)){}else{if(((ADDRR[0]|0XF7)==0XF7)&&((ADDRR[0]|0XEF)!=0XEF)){DisplayOneChar(7,1,'O');DisplayOneChar(8,1,'N');delay_LCM(100);}if(((ADDRR[0]|0XEF)==0XEF)&&((ADDRR[0]|0XF7)!=0XF7)){DisplayOneChar(7,1,'O');DisplayOneChar(8,1,'F');delay_LCM(100);}}}n--;if(n==0){if(ADDRR[6]=='0'){ADDRR[6]='9';if(ADDRR[5]=='0'){ADDRR[5]='5'; if(ADDRR[4]=='0') {ADDRR[4]='9'; if(ADDRR[3]=='0') {ADDRR[3]='5'; if(ADDRR[2]==0) {TR0=0; } else ADDRR[2]--; } else ADDRR[3]--;} elseADDRR[4]--;}elseADDRR[5]--; }elseADDRR[6]--;n=count;}}
本科生学位论文论多媒体技术在教学中的应用姓名:指导教师:专业:教育管理专业年级:完成时间:
论多媒体技术在教学中的应用[摘要]多媒体不再是传统的辅助教学工具,而是为构造一种新的网络教学环境创造了条件,特别是对于教育社会化来说,多媒体网络是一种更理想的传播工具。多媒体本身具有:融合性、非线性化,无结构性、相互交涉性、可编辑性、实时性等特点;同时运用在教育教学上又有其特长:利于信息的存储利用、是培养发散性思维的工具、促使学习个别化的实现。多媒体在教学中的应用有着多种的形式,它在提高学生学习兴趣上有着积极的作用,同时它还能促进学生知识的获取与保持、对教学信息进行有效的组织与管理、建构理想的学习环境,促进学生自主学习等多方面的效果。立足未来发展,利用多媒体网络技术,开展教学试验。[关键词]多媒体网络教学系统资源共享多媒体技术主要指多媒体计算机技术,加工、控制、编辑、变换,还可以查询、检索。人们借助于多媒体技术可以自然贴切地表达、传播、处理各种视听信息,并具有更多的参与性和创造性。当今多媒体已成为广泛流传的名词,但人们对于它的认识,特别是对于它在教育教学方面如何更好应用,未知的因素还很多。
一、多媒体的教育特长任何一种媒体不管其怎样先进,它只能是作为一种工具被应用到教育领域,能不能促进教育的改革,。。。。。。应当吸取教训,加强理论研究,充分认识多媒体的特性及其教育特长,以便更好地在教育领域开发应用多媒体。
1、多媒体的特性
(1)融合性多种符号系统的融合是多媒体的特性之一,多媒体的这一特性区别于过去媒体符号系统的单一性或复合性。也就是说多媒体技术不是将符号系统叠加,而是具有整体性的融合。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 26年靶向疗效代诊服务
- 26年治未病效果评估手册
- 2025年等高线地形图判读学习效果评估
- 2026 减脂期失败复盘课件
- 面部护理的仪器使用
- 跖骨骨折患者饮食指导与营养支持
- 2026 宿舍增肌期饮食规划课件
- 2026 增肌期维生素精准补充课件
- 静脉输液技术与护理
- 2026 塑型进阶驴肉火烧课件
- 视野报告简单分析-课件
- 项目推进缓慢表态发言稿三篇
- 自然辩证法智慧树知到期末考试答案章节答案2024年浙江大学
- 2024年西藏开发投资集团有限公司招聘笔试参考题库含答案解析
- 第二章-生命的物质基础
- 我院药学专业药理课程期末试卷成绩分析与评价
- 四川省河长制湖长制基础数据表结构与标识符(试行稿)
- 维克多高中英语3500词汇
- 顶板危险源辨识及防范措施
- 2023年广东省佛山市南海区桂城街道东二社区工作人员考试模拟题及答案
- GB/T 18615-2002波纹金属软管用非合金钢和不锈钢接头
评论
0/150
提交评论