中南大学家用风扇课程设计单片机.doc

上传人:re****.1 文档编号:560524925 上传时间:2023-08-10 格式:DOC 页数:19 大小:136.50KB
返回 下载 相关 举报
中南大学家用风扇课程设计单片机.doc_第1页
第1页 / 共19页
中南大学家用风扇课程设计单片机.doc_第2页
第2页 / 共19页
中南大学家用风扇课程设计单片机.doc_第3页
第3页 / 共19页
中南大学家用风扇课程设计单片机.doc_第4页
第4页 / 共19页
中南大学家用风扇课程设计单片机.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《中南大学家用风扇课程设计单片机.doc》由会员分享,可在线阅读,更多相关《中南大学家用风扇课程设计单片机.doc(19页珍藏版)》请在金锄头文库上搜索。

1、中南大学单片机课程设计报告题目:家用风扇控制器班级:姓名: 学号:目 录 1. 方案论证21.1 设计任务21.2 功能框图设计21.3 元器件介绍31.3.1 AT89S51单片机简介3 1.3.2 DAC0832介绍.62. 系统硬件设计8 2.1 硬件原理图.83. 系统软件设计84. 调试175. 心得体会17参考文献1791、 方案论证1.1设计任务设计内容:1. 设计并制作一个家用风扇控制器。控制器面板为:按钮三个,分别为风速、类型和停止,LED指示灯六个,指示风速强、中、弱,类型为睡眠、自然和正常。2. 电扇处于停转状态时,所有指示灯不亮,只有按下“风速”键时,才会响应,进入起始

2、工作状态;电扇在任何状态,只要按停止键,则进入停转状态。3. 处于工作状态时,有: (1) 初始状态为:风速-“弱”,类型-“正常”;(2) 按“风速”键,其状态由“弱”“中”“强” “弱” 往复循环改变,每按一下按键改变一次;(3) 按“类型”键,其状态由“正常”“睡眠”“自然”“正常” 往复循环改变;4. 风速的弱、中、强对应于电扇的转动由慢到快。5. 类型的不同选择,分别为:(1) 正常电扇连续运转;(2) 自然电扇模拟自然风,即转4s,停8s;(3) 睡眠电扇慢转,产生轻柔的微风,运转 8s,停转8s;6. 按照风速与类型的设置输出相应的控制信号。设计要求:设计出电路原理图,说明工作原

3、理,编写程序及程序流程图。1.2功能框图设计主程序流程图:开始系统初始化是否有风速键按下初始化风速-“弱”,类型-“正常”风扇运行控制模块是否有键按下是风速键按下是类型键按下是停止键按下风速控制模块停止控制模块类型控制模块YNYNYNYNYN1.3元器件介绍1.3.1 AT89S51单片机简介AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机。片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器。器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引

4、脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,既可在线编程(ISP),也可用传统方法进行编程。功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案及应用场合,可灵活应用于各种控制领域。此外,AT89S51设计和配置了振荡频率可为0Hz,并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器、串行口、外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。(1)AT89S51引脚功能介绍图1.4 AT89S51的引脚功能图VCC:电源端,接+5V;GND:接地端。XTAL1:系统

5、时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般只要在 XTAL1 和XTAL2上接一只石英晶体振荡器就可以工作了,此外还可在两引脚与地之间加一个 20PF 的小电容,这样系统更稳定,可避免噪声干扰。RESET:重置引脚,高电平动作。当要对芯片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA:EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作。即当此引脚接低电平后,系统会取用外部的程

6、序代码(存于外部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的定址范

7、围。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端口,其输

8、出缓冲器可以推动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负载。同时还有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等。其引脚分配如

9、表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

10、内部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

11、:片选信号输入线(选通数据锁存器),低电平有效; WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存; XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效; WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。 IOUT1:电流输出端1,其值

12、随DAC寄存器的内容线性变化; IOUT2:电流输出端2,其值与IOUT1值之和为一常数; Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度; Vcc:电源输入端,Vcc的范围为+5V+15V; VREF:基准电压输入线,VREF的范围为-10V+10V; AGND:模拟信号地 DGND:数字信号地2、 系统硬件设计由于本实验利用直流电机模拟家用风扇控制器,所以实验依照小直流电机调速实验做了一些修改。除利用了PC机本身资源外,还利用平台上DA 0832,LED指示灯电路。2.1 硬件原理图3、 系统软件设计本方案按照功能的不同可将系统软件分成四大模块:主程序,风速控制模块,类

13、型控制模块,停止模块。(一)、主程序主程序流程图:开始系统初始化是否有风速键按下初始化风速-“弱”,类型-“正常”风扇运行控制模块是否有键按下是风速键按下是类型键按下是停止键按下风速控制模块停止控制模块类型控制模块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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号