中南大学家用风扇课程设计单片机_第1页
中南大学家用风扇课程设计单片机_第2页
中南大学家用风扇课程设计单片机_第3页
中南大学家用风扇课程设计单片机_第4页
中南大学家用风扇课程设计单片机_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

中南大学单片机课程设计报告题目:家用风扇控制器班级:姓名: 学号:目 录 1. 方案论证21.1 设计任务21.2 功能框图设计21.3 元器件介绍31.3.1 AT89S51单片机简介3 1.3.2 DAC0832介绍.62. 系统硬件设计8 2.1 硬件原理图.83. 系统软件设计84. 调试175. 心得体会17参考文献17181、 方案论证1.1设计任务设计内容:1. 设计并制作一个家用风扇控制器。控制器面板为:按钮三个,分别为风速、类型和停止,LED指示灯六个,指示风速强、中、弱,类型为睡眠、自然和正常。2. 电扇处于停转状态时,所有指示灯不亮,只有按下“风速”键时,才会响应,进入起始工作状态;电扇在任何状态,只要按停止键,则进入停转状态。3. 处于工作状态时,有: (1) 初始状态为:风速-“弱”,类型-“正常”;(2) 按“风速”键,其状态由“弱”“中”“强” “弱” 往复循环改变,每按一下按键改变一次;(3) 按“类型”键,其状态由“正常”“睡眠”“自然”“正常” 往复循环改变;4. 风速的弱、中、强对应于电扇的转动由慢到快。5. 类型的不同选择,分别为:(1) 正常电扇连续运转;(2) 自然电扇模拟自然风,即转4s,停8s;(3) 睡眠电扇慢转,产生轻柔的微风,运转 8s,停转8s;6. 按照风速与类型的设置输出相应的控制信号。设计要求:设计出电路原理图,说明工作原理,编写程序及程序流程图。1.2功能框图设计主程序流程图:开始系统初始化是否有风速键按下初始化风速-“弱”,类型-“正常”风扇运行控制模块是否有键按下是风速键按下是类型键按下是停止键按下风速控制模块停止控制模块类型控制模块YNYNYNYNYN1.3元器件介绍1.3.1 AT89S51单片机简介AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机。片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器。器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,既可在线编程(ISP),也可用传统方法进行编程。功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案及应用场合,可灵活应用于各种控制领域。此外,AT89S51设计和配置了振荡频率可为0Hz,并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器、串行口、外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。(1)AT89S51引脚功能介绍图1.4 AT89S51的引脚功能图VCC:电源端,接+5V;GND:接地端。XTAL1:系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般只要在 XTAL1 和XTAL2上接一只石英晶体振荡器就可以工作了,此外还可在两引脚与地之间加一个 20PF 的小电容,这样系统更稳定,可避免噪声干扰。RESET:重置引脚,高电平动作。当要对芯片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA:EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作。即当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。ALE:ALE是英文Address Latch Enable的缩写,表示地址锁存器启用信号。AT89S51可利用该引脚来触发外部的8位锁存器,将端口0的地址总线(A0A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可用来驱动其他周边芯片的时基输入。PSEN:PSEN为英文Program Store Enable的缩写,其意为程序储存启用。AT89S51可利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。P0(P0.0P0.7):端口0是一个8位宽的开路基极双向I/O端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路。P0在作I/O用时可以推动8个LS的TTL负载;当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一个锁存器将P0送出的地址栓锁住成为A0A7,再配合P2所送出的A8A15合成完整的16位地址总线,从而定址到64K的外部存储器空间。P1(P1.0P1.7):端口1是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS的TTL负载。若将端口1的输出设为高电平,则是由此端口来输入数据。P2(P2.0P2.7):端口2也是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载。同样若将端口2的输出设为高电平,此端口便作输入端口使用。若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这时P2便不能作I/O来使用了。P3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载。同时还有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等。其引脚分配如表1.1所示。表1.1 P3口引脚功能表P3.0/RXD串行通信输入P3.1/TXD串行通信输出P3.2 /INT0外部中断0输入P3.3/INT1外部中断1输入P3.4/T0计时计数器0输入P3.5/T1计时计数器1输入P3.6/WR外部数据存储器的写入信号P3.7/RD外部数据存储器的读取信号(2)AT89S51的主要功能特性表1.2 AT89S51的主要功能特性主要功能特性兼容MCS-51指令系统 4k可反复擦写(1000次)ISP Flash ROM32个双向I/O口4.5-5.5V工作电压 2个16位可编程定时/计数器时钟频率0-33MHz 全双工UART串行中断口线128x8bit内部RAM2个外部中断源低功耗空闲和省电模式中断唤醒省电模式3级加密位看门狗(WDT)电路软件设置空闲和省电功能 灵活的ISP字节和分页编程双数据寄存器指针1.3.2 DAC0832介绍DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。ADC0832引脚功能介绍:D0D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错); ILE:数据锁存允许控制信号输入线,高电平有效; CS:片选信号输入线(选通数据锁存器),低电平有效; WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存; XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效; WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。 IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化; IOUT2:电流输出端2,其值与IOUT1值之和为一常数; Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度; Vcc:电源输入端,Vcc的范围为+5V+15V; VREF:基准电压输入线,VREF的范围为-10V+10V; AGND:模拟信号地 DGND:数字信号地2、 系统硬件设计由于本实验利用直流电机模拟家用风扇控制器,所以实验依照小直流电机调速实验做了一些修改。除利用了PC机本身资源外,还利用平台上DA 0832,LED指示灯电路。2.1 硬件原理图3、 系统软件设计本方案按照功能的不同可将系统软件分成四大模块:主程序,风速控制模块,类型控制模块,停止模块。(一)、主程序主程序流程图:开始系统初始化是否有风速键按下初始化风速-“弱”,类型-“正常”风扇运行控制模块是否有键按下是风速键按下是类型键按下是停止键按下风速控制模块停止控制模块类型控制模块YNYNYNYNYN主程序: ORG 0000HBE0: MOV R0,#00H ;初始化 MOV R1,#00H MOV P1,#00H MOV P3,#0FFH MOV DPTR,#8000H MOV A,#80H MOVX DPTR,A JB P3.2,BE0 JB P3.0,BE1 LJMP BE0BE1: MOV A,R1 ; 判断状态 JB P3.1,A0CLP0: JB ACC.1,CP0 JB ACC.0,TABS LJMP BE2CP0: JB ACC.0,TAB00 LJMP TABZTAB00: MOV R1,#00H MOV A,R1 AJMP CLP0A0: MOV A,R1 ADD A,#01H MOV R1,A AJMP CLP0BE2: MOV A,R0 ;判断风速 JB P3.0,A1 JB ACC.2,CLP1CLP2: JB ACC.1,CP1 JB ACC.0,TAB1 LJMP BE2CP1: JB ACC.0,TAB3 AJMP TAB2CLP1: MOV R0,#01H MOV A,R0 AJMP CLP2A1: ADD A,#01H MOV R0,A AJMP CLP2TAB1: MOV P1,#0CH ;正常 弱风 MOV DPTR,#8000H MOV A,#0D0H MOVX DPTR,A LCALL DELAY JB P3.2,STOP0 JB P3.1,BRET LJMP BE1TAB2: MOV P1,#0AH ;正常 中风 MOV DPTR,#8000H MOV A,#0E8H MOVX DPTR,A LCALL DELAY JB P3.2,STOP0 JB P3.1,BRET LJMP BE1TAB3: MOV P1,#9H ;正常 强风 MOV DPTR,#8000H MOV A,#0FFH MOVX DPTR,A LCALL DELAY JB P3.2,STOP0 JB P3.1,BRET LJMP BE1BRET: LJMP BE1STOP0: LJMP STOPTABS: MOV P1,#10H ;睡眠 转8s 停8s MOV R3,#08HTS01: MOV DPTR,#8000H MOV A,#0E0H MOVX DPTR,A LCALL DELAY1 JB P3.2,STOP JB P3.1,SRET1 MOV A,R3 DEC A MOV R3,A JNZ TS01 MOV R3,#08HTS02: MOV DPTR,#8000H MOV A,#80H MOVX DPTR,A LCALL DELAY1 JB P3.2,STOP JB P3.1,SRET1 MOV A,R3 DEC A MOV R3,A JNZ TS02 LJMP TABSSRET1: LJMP A0TABZ: MOV P1,#20H ;自然 转4s 停8s MOV R3,#04HTZ01: MOV DPTR,#8000H MOV A,#0E0H MOVX DPTR,A LCALL DELAY1 JB P3.2,STOP JB P3.1,ZRET MOV A,R3 DEC A MOV R3,A JNZ TZ01 MOV R3,#8TZ02: MOV DPTR,#8000H MOV A,#80H MOVX DPTR,A LCALL DELAY1 JB P3.2,STOP JB P3.1,ZRET MOV A,R3 DEC A MOV R3,A JNZ TZ02 LJMP TABZZRET: LJMP A0STOP: MOV DPTR,#8000H MOV A,#00H MOVX DPTR,A MOV P1,#00H LJMP BE0DELAY: MOV R5,#2DEL0: MOV R6,#255DEL1: MOV R7,#98DEL2: DJNZ R7,DEL2 DJNZ R6,DEL1 DJNZ R5,DEL0 RETDELAY1:MOV R5,#10DEL00: MOV R6,#255DEL10: MOV R7,#98DEL20: DJNZ R7,DEL20 DJNZ R6,DEL10 DJNZ R5,DEL00 RETEND(二)、风速控制模块TAB1: MOV P1,#0CH ;正常 弱风 MOV DPTR,#8000H MOV A,#0D0H MOVX DPTR,A LCALL DELAY JB P3.2,STOP0 JB P3.1,BRET LJMP BE1TAB2: MOV P1,#0AH ;正常 中风 MOV DPTR,#8000H MOV A,#0E8H MOVX DPTR,A LCALL DELAY JB P3.2,STOP0 JB P3.1,BRET LJMP BE1TAB3: MOV P1,#9H ;正常 强风 MOV DPTR,#8000H MOV A,#0FFH MOVX DPTR,A LCALL DELAY JB P3.2,STOP0 JB P3.1,BRET LJMP BE1BRET: LJMP BE1(三)、类型控制模块TABS: MOV P1,#10H ;睡眠 转8s 停8s MOV R3,#08HTS01: MOV DPTR,#8000H MOV A,#0E0H MOVX DPTR,A LCALL DELAY1 JB P3.2,STOP JB P3.1,SRET1 MOV A,R3 DEC A MOV R3,A JNZ TS01 MOV R3,#08HTS02: MOV DPTR,#8000H MOV A,#80H MOVX DPTR,A LCALL DELAY1 JB P3.2,STOP JB P3.1,SRET1 MOV A,R3 DEC A MOV R3,A JNZ TS02 LJMP TABSSRET1: LJMP A0TABZ: MOV P1,#20H ;自然 转4s 停8s MOV R3,#04HTZ01: MOV DPTR,#8000H MOV A,#0E0H MOVX DPTR,A LCALL DELAY1 JB P3.2,STOP JB P3.1,ZRET MOV A,R3 DEC A MOV R3,A JNZ TZ01 MOV R3,#8TZ02: MOV DPTR,#8000H MOV A,#80H MOVX DPTR,A LCALL DELAY1 JB P3.2,STOP JB P3.1,ZRET MOV A,R3 DEC A MOV R3,A JNZ TZ02 LJMP TABZZRET: LJMP A0(四)、停止模块STOP: MOV DPTR,#8000H MOV A,#00H MOVX DPTR,A MOV P1,#00H LJMP BE04、 调试本实验共用三个开关分别控制风速,类型,停止。六个LED指示灯分别显示风速的强、中、弱和类型的正常、睡眠、自然。当拨动一次风速开关,系统进入初始状态:风速-“弱”,类型-“正常”。在正常风速状态下,拨动风速开关,能够循环调节风速,分别为强风,中风,弱风。当拨动类型开关,能够循环调节类型,分别为正常,睡眠,自然。但在睡眠和自然类型下,风速调节开关无效。在任意时候,拨动停止开关,电机会立刻停止转动。5、 心得体会通过这次的课程设计让我对单片机的理论有了更加深入的了解,同时在具体的设计过程中我们能够充分运用所学,并把所学的知识融会贯通。通过这次家用风速控制器的设计,开始是遇到的不少的困难,但通过网上查阅资料,翻阅书籍和与同学们的讨论,帮助我解决了一个又一个困难。在这个过程中,让我对我所设计的题目有了深入的了解和体会。6、 参考文献1 余锡存,曹国华单片机原理及接口技术M西

温馨提示

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

评论

0/150

提交评论