电风扇模拟控制系统设计_第1页
电风扇模拟控制系统设计_第2页
电风扇模拟控制系统设计_第3页
电风扇模拟控制系统设计_第4页
电风扇模拟控制系统设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要本次课程设计通过keilC软件和Proteus软件设计一个电风扇模拟控制系统设计。基于AT89C51芯片实现了用四位数码管实时显示电风扇的工作状态,最高位显示风类:“自然风”显示“1”、“常风”显示“2”、“睡眠风”显示“3”。后3位显示定时时间:动态倒计时显示剩余的定时时间,无定时显示“000”。设计一个“定时”键,用于定时时间长短设置;设置一个“摇头”键用于控制电机摇头。设计过热检测与保护电路,若风扇电机过热,则电机停止转动,电机冷却后电机又恢复转动。最终完成了设计任务。关键词:AT89C51keilC软件Proteus软件目录TOC\o"1-5"\h\z\o"CurrentDocument"PROTEUS和KEIL的使用 1\o"CurrentDocument"1.1Proteus的使用 1软件打开 1工作界面 2\o"CurrentDocument"KeilC51的使用 2软件的打开 2工作界面 3\o"CurrentDocument"电风扇实例程序设计 4\o"CurrentDocument"电风扇硬件控制系统 8\o"CurrentDocument"设计方案特点 8\o"CurrentDocument"关于AT89C51单片机的介绍 9主要特性: 9管脚说明: 102.2.3.振荡器特性: 11\o"CurrentDocument"仿真与调试 11\o"CurrentDocument"软件设计部分 12\o"CurrentDocument"复位电路 12\o"CurrentDocument"时钟电路 13\o"CurrentDocument"3.3显示电路设计 13\o"CurrentDocument"3.4框图流程 14\o"CurrentDocument"总结 17\o"CurrentDocument"致谢 18\o"CurrentDocument"参考文献 19\o"CurrentDocument"附录 201Proteus和Keil的使用Proteus7.0是目前最好的模拟单片机外围器件的工具,非常不错,可以仿真51系列,AVR,PIC等常用的MCU及其外围电路(如RAM,ROM,LED,LCD,AD/DA,部分SPI器件,键盘,部分IIC器件),虽然有那么多优点和长处,但还是与实际情况有不少的差别。如果条件允许,还可以实实在在地学习和体会,仿真毕竟还是仿真,不能代替实际操作实际许多问题是在仿真中碰不到的,当然我们可以仿真达到学习目的。如果学习和使用单片机,除了灵活应用Protel等绘制原理图和PCB图以外,那么keilC51软件应该掌握,我们要通过它来编写和调试单片机程序。keilC51软件是众多单片机应用开发的优势软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。下面进行分别介绍。Proteus的使用软件打开双击桌面上的ISIS7professional图标,出现如图1.1所示界面,随后就进入了proteusISIS集成环境。ElectronicsDasigriISISSCHEMATICCAPTUREPRQTEL5DE5IGIMSUITE

ElectronicsDasigriISISSCHEMATICCAPTUREPRQTEL5DE5IGIMSUITE工作界面Proeus的工作界面是一种标准的windows界面,如图1.2所示。图1.2ProteusISIS的工作界面KeilC51的使用软件的打开双击桌面上的KeiluVision3图标或者单击屏幕左下方的“开始”一“程序”f“KeiluVision3”,出现如图1.3所示界面,随后就进入了KeiluVision3集成环境。

图1.3启动KeiluVision3时的界面1.2.2工作界面KeiluVision2的工作界面是一种标准的Windows界面,包括:标题栏、主菜单标准工具栏、代码窗口等,如图1.4所示。图1.4工作界面

关于该软件的使用,与学习其他软件的方法没有多大区别,当然我们也不是每个功能都使用,没必要逐一介绍,下面举一个例子说明使用就行了,如果想详细了解,请搜索其详细使用资料。1.2.3电风扇实例程序设计建立一个新工程,单击Project菜单,在弹出的下拉菜单中选中NewProject选项,如图1.5所示。FileEditViewPr>:■j己匚tDebugFer1pheraleToolsSVCSjVit血wHelpNewFroject...ImportRVieionlFroject….Of«enFrojectClo-sfrFrojectFile ensicrns,BooksandEnvirorifnerLt图1.5选择建立工程菜单确定之后选择你要保存的路径,输入工程文件的名字,比如保存到“电风扇”目录里,工程文件的名字为“电风扇”如下图1.6所示,然后点击保存。图1.6创建工程

随后会弹出一个对话框,要求你选择单片机的型号,你可以根据你使用的单片机来选择,KeilC51几乎支持所有的单片机,由于Proteus选用AT89C52原理图,那么选择AT89C52之后,右边栏是对这个单片机的基本的说明,然后点击确定即可,如图1.7所示。完成上一步骤后,工程到此就已经创建起来了,其屏幕如图1.8所示图1.8已创建好的工程工程虽然已经创建好,即已经建立好了一个工程来管理跑电风扇这样一个项目,但我们还没写一行程序,因此还需要建立相应的C文件或汇编文件。下面我们就来新建一

个C文件,新建之后并保存,如图1.9所示。-Add冒自rf-31eftI电凤扇.匚②冈叹件E编辑墮看E工程m周试-Add冒自rf-31eftI电凤扇.匚②冈叹件E编辑墮看E工程m周试m矽卜圉设备TTB話置版本址视窗H帮助|冋|,麒Target1ProjectWorkspace查找范围(I):|—r电斑扇CSourcefilet*.c)CloseAddFilestoGroupvSourceGroup1*文件名(S):文件类型II):[电凤扇.CEU图1.9新建C文件并保存把刚才新建的电风扇.c添加到工程来添加后的界面如图1.10所示。图1.10添加完成后的界面单击“Project”菜单,再在下拉菜单中单击“”在下图中,单击“Output”中单击“CreateHEXFile”选项,使程序编译后产生HEX代码,以便在Proteus里加载

可执行代码,并单击“Target”选项,更改晶振频率(本例使用12M晶振),其如图1.11所示。图1.11修改晶振频率到此,设置工作已完成,下面我们将编译、链接、转换成可执行文件(.HEX的文件)。编译、链接、生成可执行文件。如图3.18所示。图1.12编译、链接、生成可执行文件图标依次单击上述图2-12所示图标,如果没有语法错误,将会生成可执行文件,即本例可执行文件为“电风扇.hex”。2电风扇硬件控制系统设计方案特点初始加电时,电风扇不加电,四位数码显示器不显示,只有按下“自然风”,“常风”和“睡眠风”任意按键,电风扇开始工作。同时,定时器只要不进行新的时间设置,电路就将按系统默认控制负责定时工作的时间方式自动开始运行》电路允许用户随时通过按键开关自行输入设置新的定时时间参数,其范围可在1分钟至999秒之间任意设置。在进行时间参数设置和整个定时过程中,系统采用四位数码管显示,最高位显示风类,后三位显示定时时间,做“百位,十位,个位”的倒计时显示,同时用数码管上的小数点的同步闪亮作为秒显示,显示直观,准确。在整个定时状态下,电路具有允许用户随时自行选择使用“自然风”状态,也可选择使用“常风”和“睡眠风”状态。过热检测与保护电路不用传感器,用信号源产生的正弦信号代替传感器“感应”出的信号,若信号幅度大于10MV,则电机停止转动。按下“摇头”键,“摇头”电机先正转30MS,再反转30MS,如此反复。关于AT89C51单片机的介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。如图2.1。图主要特性:•与MCS-51兼容・4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年•全静态工作:0Hz-24Hz•三级程序存储器锁定•128*8位内部RAM•32可编程I/O线•两个16位定时器/计数器・5个中断源•可编程串行通道•低功耗的闲置和掉电模式•片内振荡器和时钟电路2.2.2管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下列所示:口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INTO(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2.2.3.振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。仿真与调试单击仿真运行开始按钮,原理图开始运行。如2.2图所示。

囂誥0一"囂誥0一"士ff:pf图2.2调试过程中,要注意原件的参数,接地标志,避免出现错误。3软件设计部分此电路有:时钟电路,复位电路,驱动电路,显示电路等部分。复位电路首先形成单片机最小系统,在89c51单片机芯片XTAL1、XTAL2加入时钟电路,RST加入复位电路,EA加入高电平。89c51的复位是有外部复位电路来实现的。复位分为上复位和手动复位,我们采用的是手动复位,正常时按下S1键,9脚变为高电平,单片机复位,按键松开,通过电容放电,9脚回到低电平。采用12MHZ的晶振,C=10uf,r1=8.2k,r2=200。时钟电路C1=30pfC2=30pf晶振位12MHZC1C15Qpf□TXTALC2 19图2.4显示电路设计此显示电路采用两位静态数码管显示,用八位串入并出移位寄存器74LS164作为驱动电路,采用共阴极八段数码管原理图示意图如图2.5:从图中可以看出控制线只有两条:1、数据线;2、移位脉冲线。它只占用很少的10口。此为电路图,编程参见附录本次设计的模拟电风扇控制系统设计有三种风种:自然风、常风、睡眠风它们都是按照电机运行的占空比区别的。具有倒计时和摇头功能及信号指示。3.4框图流程二时卄数曙-7?応时时河加IDS匸二时卄数曙-7?応时时河加IDS匸时珈计数觀II1:■LirJtr-JTH^o定时计数器晴。JT-忙时湍0屮断淆标志■&18刃fl"?.V定II:列问汨7■吗V桥止位为1标志1;,为N占心比旳曬求诂刘定时器18刃fl"?.V定II:列问汨7■吗V桥止位为1标志1;,为N占心比旳曬求诂刘定时器T1臼斯稈序■rUFTJEl1'I绘中断定则器TO中斷堆序开屮断?;<_ii-|器1加壯札芒刊吨取反电2'时也!:<伍疋时器1t'Jli'i;Tib;、总常定时时河减1杪开屮斷吴中脐i讪:i讹观值总结本系统是以单片机AT89C51芯片为核心部件,实现了电风扇系统控制功能,在软件上是花费时间最多的,我们上网找资料,上图书馆,尽可能的了解有关于电风扇的知识。通过这次设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步。本应用系统设计的目的是通过在“单片机原理及应用”课堂上学习的知识,以及查阅资料,培养一种自学的能力。并且引导一种创新的思维,把学到的知识应用到日常生活当中。在设计的过程中,不断的学习,思考和同学间的相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。全能提高个人系统开发的综合能力,开拓了思维,为今后能在相应工作岗位上的工作打下了坚实的基础。通过本次课程的设计,不但加深我对在课程上所学到的单片机理论知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,并且通过知识与应用于实践的结合更加丰富了自己的知识。扩展了知识面,不但掌握了本专业的相关知识,而且对其他专业的知识也有所了解,而且较系统的掌握单片机应用系统的开发过程,因而自身的综合素质有了全面的提高。经过这次一个较完整的产品设计和制作过程,对于认识到自己在知识方面存在的不足,明确今后的学习方向是非常有益的,为将来的的就业提前打了下坚实的基础。在设计过程中,得到了我的指导老师的悉心指导与帮助,还有其他老师和同学的大力支持和协助,在此一并表示衷心的感谢。致谢课程设计是培养学生综合所学知识,发现、提出、分析和解决实际问题,锻炼自身能力的重要培养,是对我们学生能力的具体陪练和考察过程。短短一周的时间,我们做完了我们小组的单片机实验,感触很深,我们小组做的是“电风扇控制系统设计”对我们很有挑战,虽然在别人眼中我们的实验很简单,不过我们还是遇到了很多困难。在这次设计任务中,通过我们三人的共同努力,老师的精心指导,还有和在网上找到的资料,我们主要掌握了动态发光显示数码管的编程,掌握了数据运算的编程方法,这也是编程必须掌握的知识,当然仿真与调试也是一个很重要的环节,也让我们收获良多,这其中就是硬件和软件两部分,虽然我们没有做硬件,但软件的制作与编程我们也做得很认真。你必须对程序的每部分都很熟悉,掌握每句程序的作用,这样你出现问题时才能根据问题改编程序,我们出现问题最多的也是在这个地方,对编程的不全面理解,导致我们不能顺利的完成这个程序任务,当然也有很多细节问题,我们三人小组的第一次合作虽然配合不是很好,但是,在过程中,我们都很努力,尽了全力,这让我们相互之间产生了默契。我很感谢我们小组的另外两位成员,他们让我学到了很多很多,也帮助了我很多,在这里再次感谢他们。通过这次课题设计使我懂得了理论与实践相结合是非常重要的,从理论中得出结论,才能真正为社会服务,从而提高自己思考的能力,同时在设计中发现自己的不足之处。这次设计的顺利完成,我们更要感谢我们的指导老师,他帮助了我们许多,就是在老师的讲解中,我们才迎刃而解,才对自己的专业知识有所真正的提高,也对自己的实验技术有所提高,对自己有所锻炼,在这里,我们真诚的感谢老师,忠心的谢谢您—老师!参考文献2011年3月第三次印刷周国运主编单片机原理及运用2011年3月第三次印刷.附录#include<reg51.h>#defineuintunsignedint#defineucharunsignedchar#defineoutputP2ucharcodetable1[4]={0xf1,0xf2,0xf4,0xf8};ucharcodetable2[4]={0xf8,0xf4,0xf2,0xf1};ucharcodetable3[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};intx,a,b,c,d,y,z;sbitstart=P0A0;sbitstop=P0A1;sbitfrount=P0A2;sbitbehind=P0A3;sbitup=P0A4;sbitdown=P0A5;sbithuang=P3A2;sbitlv=P3A3;sbithong=P3A4;bitstart_fu;bitfrount_fu;bitbehind_fu;sbitsuo0=P3A1;sbitsuo1=P3A0;voidshow();voiddelay(uintx);voidout1();voidout2();voidan_quan();voidmain(){x=20;a=0;b=0;show();an_quan();while(1){if(start==0){start_fu=1;while(start_fu==1){if(frount==0){frount_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论