电子系统综合设计与实践报告模板.doc

上传人:jian****018 文档编号:9067734 上传时间:2020-04-02 格式:DOC 页数:20 大小:124.50KB
返回 下载 相关 举报
电子系统综合设计与实践报告模板.doc_第1页
第1页 / 共20页
电子系统综合设计与实践报告模板.doc_第2页
第2页 / 共20页
电子系统综合设计与实践报告模板.doc_第3页
第3页 / 共20页
点击查看更多>>
资源描述
电子系统综合设计与实践蜂鸣器乐曲演奏 院(系)名称信息工程学院电子与通信工程系 专业名称14通信工程设备 学生姓名郑军强1301100094王龙龙1301100080李帅 指导教师石钦亮2016年 12 月1日模拟风扇控制系统摘 要电风扇简称电扇,香港称为风扇,日本及韩国称为扇风机,是一种利用电动机驱动扇叶旋转,来达到使空气加速流通的家用电器,主要用于清凉解暑和流通空气。广泛用于家庭、办公室、商店、医院和宾馆等场所。1882年,美国纽约的克罗卡日卡齐斯发动机厂的主任技师休伊斯卡茨霍伊拉,最早发明了商品化的电风扇。如今的电风扇已一改人们印象中的传统形象,在外观和功能上都更追求个性化,而电脑控制、自然风、睡眠风、负离子功能等这些本属于空调器的功能,也被众多的电风扇厂家采用,并增加了照明、驱蚊等更多的实用功能。这些外观不拘一格并且功能多样的产品,预示了整个电风扇行业的发展趋势。其主要原因:一是风扇和空调的降温效果不同空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。关键词:STC89S51,直流电机,数码管,138译码器等.目录引言41、系统方案42、设计任务及要求51、工作模式52、数码管显示53、按键控制63.1 S4控制风扇工作模式63.2 S5定时器73.3 S6 停止93、重点、难点94.结束语9参考文献10引言电风扇是一种利用电动机驱动扇叶旋转,来达到时空气加速流通的家用电器,主要用于清凉解暑和流通空气,广泛用于家庭,办公室,商店,医院等场所。如今的电风扇也一改人们印象中的传统形象,在外观和功能上都更追求个性化,人性化,也增加了照明,驱蚊等更多的实用功能。电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,家用电风扇并没有随着空调的普及而消失于市场,近年来反而出现了市场销售复苏的趋势。其主要原因:一是风扇和空调的降温效果不同,空调有强大的制冷功能,可以快速有效的降低坏境温度,但电风扇更温和,更加适合老人儿童和体质较弱的群体使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用也非常简单。 1、系统方案“模拟风扇控制系统”能够模拟风扇工作,通过按键控制风扇的转速和定时时间,数码管显示风扇的工作模式,动态倒计时的显示剩余的工作时间,系统上主要有数码管显示,单片机最小系统、按键输入和电机的控制保护电路组成。数码管显示LED指示灯PWM输出按键输入DS18B20MCU本实验通过4个按键(K4、K5、K6、K7),分别控制风扇系统的工作模式、定时、清“0”。K4按一下,电机工作在“睡眠风”的状态,再按一次,电机工作在“自然风”状态,第三次按K4,工作在“常风”状态,当第四次按下K4,电机回到“睡眠风”工作状态。K5负责定时功能,当按下K5,定时1分钟,数码管倒计时显示,第二次按下K5,定时2分钟,当第三次按下K5,无定时,当定时结束,电机自动停止工作。K6是清“0”的功能,当按下K6,风扇工作在任何模式下,都停止工作,定时结束。并通过8个数码管显示电机的工作模式,定时剩余时间等等。通过18B20显示当前的温度。2、设计任务及要求1、工作模式设备具有“睡眠风”、“自然风”、“常风”三种工作模式可以通过按键切换,通过单片机P34引脚输出脉宽调制信号控制电机运行状态,信号频率为1KHz。2、数码管显示数码管实时显示设备当前工作模式和剩余工作时间(倒计时),如图2所示。一1一 0050工作模式:睡眠风熄灭剩余工作时间:50秒unsigned char tab=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;DisplayData0=0x40; DisplayData1=tabb%10; DisplayData2=0x40; DisplayData4=tab0; DisplayData5=tabseconed%1000/100&0x7f; DisplayData6=tabseconed%100/10; DisplayData7=tabseconed%10; DigDisplay();“睡眠风”状态下,对应数码管显示数值为1,自然风模式下,显示数值为2,常风模式下,显示数值为3.3、按键控制使用S4、S5、S6、S7四个按键完成按键控制功能。3.1 S4控制风扇工作模式 按键S4定义为工作模式切换按键,每次按下S4,设备循环切换三种工作模式。工作过程如下;睡眠风自然风常风在程序设计中,采用对按键是否按下的检测,当检测到按键有按下的操作后,通过用b限定按键的操作次数,第一次按下(b=1)为睡眠风,第二次(b=2)为自然风,第三次(b=3)为常风,当第四次按下后b=0,回到循环,重复操作。电机转速的调节,不同模式下的风扇转动速度不同,驱动直流电动机时,在栅极施加恒定的高电平,则电动机在额定电压下以额定的转速旋转。若在栅极施加了脉冲幅度为5V,脉冲周期相同而宽度不同的信号(即占空比不同)时,则转速发生变化。占空比大时转速高,占空比小时,转速低;当占空比小到某值时,点顶级停止旋转。改变占空比即可直接控制电动机的旋转。分别在b=1、b=2,b=3下实现不同的转速。void dj() DigDisplay_2(); if(K4=0) Delay10ms();if(K4=0) b+;if(b=4) b=1; while(!K4); if(b=1) P3=0xFE; DigDisplay_2();PWM=1;Delay100us(6);PWM=0;Delay100us(4); if(b=2) P3=0xfD; DigDisplay_2();PWM=1;Delay100us(7);PWM=0;Delay100us(3); if(b=3) P3=0xFB; DigDisplay_2();PWM=1;Delay100us(8);PWM=0;Delay100us(2); 3.2 S5定时器按键S5定义为“定时按键”每次按下S5,定时时间增加1分钟,设备的剩余工作时间重置为当前定时时间,重新开始倒计时,工作过程如下:1分钟2分钟0分钟针对于定时功能,采用定时器的方法,在工作模式1下,定时总中断,定时器0允许开关全部打开,TH0=(65536-50000)/256; TL0=(65536-50000)%256;定时时间为50ms,在定时器0中命名count+,当count=20时,定时时间1s(50x20=1000ms=1s),然后在定时器0之前定义的seconed的值,采用seconed的语句实现定时倒计时,倒计时在数码管上的显示调用DigDisplay_2()函数。前面介绍过。对于K5控制定时,由目的可知,无定时、定时1分钟、定时2分钟,之后回到无定时状态,依次循环。通过定义的变量c控制定时的时间,当c=3时,重新定义c=0,循环控制,seconed表示定时时间,由于要实现无论在任何工作状态时只要按下K6,一切工作结束,所以要添加一个K6按键的扫描,当检测到K6按下,break直接跳出。void ds() TMOD=0x01; /定时器0 16位定时器 TR0=(65536-50000)/256; TL0=(65536-50000)%256; IE=0x82; /这里是中断优先级控制EA=1(开总中断),ET0=1(定时器0允许中断),这里用定时器0来定时 TR0=1; if(K5=0) Delay10ms();if(K5=0) c+;if(c=3) c=0; while(!K5); if(c=0) seconed=0; DigDisplay_2(); dj(); if(c=1) seconed=60; while(K5=1) DigDisplay_2(); dj(); if(K6=0) break; if(c=2) seconed=120; while(K5=1) DigDisplay_2(); dj(); if(K6=0) break; 3.3 S6 停止按键S6定义为“停止”按键,按下S6按键,立即清零剩余工作时间,PWM信号停止输出,直到通过S5从新色指定时时间。3、重点、难点本设计的重点、难点在于对电机定时的程序控制,如何用定时器实现1分钟、2分钟的时间控制以及在数码管上倒计时显示。定时器的一个周期定时时间在90ms左右,单靠一个周期定义不可能实现长时间的定时,所以采用循环累加的方法,让定时器进行20次的定时循环(20*50=1000ms=1s),实现1s的定时。在赋值的seconed中,以seconed进行60次、120次的循环,实现定时60s、120s的功能。4.结束语通过本次设计,使我学到了许多书本上无法学到的知识,也使我深刻体会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生更大的兴趣。在本次设计过程中,我学会了在网络上查找有关设计的个硬件的资源。本系统是以单片机AT89C51芯片为核心部件,实现了电风扇系统控制功能,在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于电风扇的知识。通过这次设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通过知识与应用于实践的结合更加丰富了自己的知识。扩展了知识面,不但掌握了本专业的相关知识,而且对其他专业的知识也有所了解,而且较系统的掌握单片机应用系统的开发过程,因而自身的综合素质有了全面的提高。经过这次一个较完整的产品设计和制作过程,对于认识到自己在知识方面存在的不足,明确今后的学习方向是非常有益的,为将来的的就业提前打了下坚实的基础。的初期阶段,难度很大,没有头绪。通过求助老师,理清思路。同时,在图书馆里、网上查阅资料,攻克设计中的道道难题。在克服困难的过程中,我学到了许多,特别是在课堂上学不到的东西。总的感受有以下几方面:1、通过本次设计,我不但对单片机有了更深的了解,对一个课题如何画流程图,编程序等有了一定的认识。2、进一步加强了我的动手能力和运用专业知识的奴隶,从学习到如何去思考和解决问题,以及如何灵活地改变方法实现设计方案。3、让我了解到单片机技术对当今人们生活的重要性。同时这次设计的经历也使我受益匪浅,让我知道做任何事情都应脚踏实地,刻苦努力地去做,只有这样,才能做好。参考文献1杨雪.基于AT89C51单片机全部自动洗衣机仿真设计J.黑龙江:黑龙江科技信息,2013(05).2宋雪松.手把手教你学51单片机M. 北京:清华大学出版社,2015(10).3张毅刚.单片机原理及应用-C51编程+Proteus仿真M. 北京:高等教育出版社,2012(11).4 楼然苗.51系列单片机设计实例M.北京:北京航空航天大学出版社,2003.5朱宇光.单片机应用新技术教程M.北京:电子工业出版社,2000.程序:#include#includesbit K4=P13;sbit K5=P14;sbit K6=P15;sbit K7=P16;sbit LSA=P22;sbit LSB=P23;sbit LSC=P24;sbit PWM=P34;unsigned char tab=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;unsigned char code DIG_CODE17=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char seconed,count;unsigned int c,b,x;unsigned char DisplayData8;void Delay100us(unsigned int a);void DigDisplay();void DigDisplay_2();void Delay10ms();void dj();void ds() void ds() TMOD=0x01; /定时器0 16位定时器 TR0=(65536-50000)/256; TL0=(65536-50000)%256; IE=0x82; /这里是中断优先级控制EA=1(开总中断),ET0=1(定时器0允许中断),这里用定时器0来定时 TR0=1; if(K5=0) Delay10ms();if(K5=0) c+;if(c=3) c=0; while(!K5); if(c=0) seconed=0; DigDisplay_2(); dj(); if(c=1) seconed=60; while(K5=1) DigDisplay_2(); dj(); if(K6=0) break; if(c=2) seconed=120; while(K5=1) DigDisplay_2(); dj(); if(K6=0) break; /电机void dj() DigDisplay_2(); if(K4=0) Delay10ms();if(K4=0) b+;if(b=4) b=1; while(!K4); if(b=1) P3=0xFE; DigDisplay_2();PWM=1;Delay100us(6);PWM=0;Delay100us(4); if(b=2) P3=0xfD; DigDisplay_2();PWM=1;Delay100us(7);PWM=0;Delay100us(3); if(b=3) P3=0xFB; DigDisplay_2();PWM=1;Delay100us(8);PWM=0;Delay100us(2); /定时void Time() interrupt 1 TR0=(65536-50000)/256; TL0=(65536-50000)%256; while(K6=0) EA=0; seconed=0; count+; if(count=20) count=0; seconed-; if(seconed=0) seconed=0; TR0=0; if(seconed=0) while(K5=1) PWM=0; /延迟10msvoid Delay10ms()/12.000MHzunsigned char i, j;i = 117;j = 184;dowhile (-j); while (-i); /延迟100usvoid Delay100us(unsigned int a)/12.000MHzunsigned char j;j = 78;while(a-) while (-j); /温度void DigDisplay_2() DisplayData0=0x40; DisplayData1=tabb%10; DisplayData2=0x40; DisplayData4=tab0; DisplayData5=tabseconed%1000/100&0x7f; DisplayData6=tabseconed%100/10; DisplayData7=tabseconed%10; DigDisplay(); void DigDisplay()unsigned char i;unsigned int j;for(i=0;i8;i+)switch(i) /位选,选择点亮的数码管,case(0):LSA=0;LSB=0;LSC=0; break;/显示第0位case(1):LSA=1;LSB=0;LSC=0; break;/显示第1位case(2):LSA=0;LSB=1;LSC=0; break;/显示第2位case(3):LSA=1;LSB=1;LSC=0; break;/显示第3位case(4):LSA=0;LSB=0;LSC=1; break;/显示第4位case(5):LSA=1;LSB=0;LSC=1; break;/显示第5位case(6):LSA=0;LSB=1;LSC=1; break;/显示第6位case(7):LSA=1;LSB=1;LSC=1; break;/显示第7位P0=DisplayDatai;/发送段码j=40; /扫描间隔时间设定while(j-);P0=0x00;/消隐/* * 普中科技-* 实 验 名 : 18B20温度显示试验* 实验说明 : 数码管显示温度值,并且将温度值通过串口发送到电脑上。* 连接方式 : 见连接图* 注 意 : */#include/-定义使用的IO-/sbit K6=P15;void ds();/* 函 数 名 : main* 函数功能 : 主函数* 输 入 : 无* 输 出 : 无*/void main()while(1) ds(); if(K6=0) break;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!