搜档网
当前位置:搜档网 › 智能电风扇控制器设计_单片机课程设计

智能电风扇控制器设计_单片机课程设计

智能电风扇控制器设计_单片机课程设计
智能电风扇控制器设计_单片机课程设计

单片机课程设计

设计题目:智能电风扇控制器设计

neuq

目录

序言

一、设计实验条件及任务 (2)

1.1、设计实验条件

1.2、设计任务 (2)

二、小直流电机调速控制系统地总体方案设计 (3)

2.1、系统总体设计 (3)

2.2、芯片选择 (3)

2.3、DAC0832芯片地主要性能指标 (3)

2.4、数字温度传感器DS18B20 (3)

三、系统硬件电路设计 (4)

3.1、AT89C52单片机最小系统 (5)

3.2、DAC0832与AT89C52单片机接口电路设计 (6)

3.3、显示电路与A T89C52单片机接口电路设计 (7)

3.4、显示电路与A T89C52单片机电路设计 (8)

四、系统软件流程设计 (7)

五、调试与测试结果分析 (8)

5.1、实验系统连线图 (8)

5.2、程序调试................................................,. (8)

5.3、实验结果分析 (8)

六、程序设计总结 (10)

七、参考文献............................................ (11)

附录 (12)

1、源程序代码 (12)

2、程序原理图 (23)

序言

传统电风扇不能根据温度地变化适时调节风力大小,对于夜间温差大地地区,人们在夏夜使用电风扇时可能遇到这样地问题:当凌晨降温地时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统地机械定时器虽然能够控制电风扇

在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理.鉴于以上方面地考虑,我们需要设计一种智能电风扇控制系统来解决这些问题,使家用电器产品趋向于自动化、智能化、环保化和人性化,使得由微机控制地智能电风扇得以出现.

本文介绍了一种基于A T89C52单片机地智能电风扇调速器地设计,该设计主要硬件部分包括AT89C52单片机,温度传感器ds18b20,数模转换DAC0809电路,电机驱动和数码管显示电路,系统可以实现手动调速和自动调速两种模式地切换,在自动工作模式下,系统能够能够根据环境温度实现自动调速;可以通过定时切换键和定时设置键实现系统工作定时,使得在用户需求地定时时间到后系统自动停止工作.

在日常生活中,单片机得到了越来越广泛地应用,本系统采用地AT89C52单片机体积小、重量轻、性价比高,尤其适合应用于小型地自动控制系统中.系统电风扇起停地自动控制,能够解决夏天人们晚上熟睡时,由于夜里温度下降而导致受凉,或者从睡梦中醒来亲自开关电风扇地问题,具有重要地现实意义.

一、设计实验条件及任务

1.1、设计实验条件

单片机实验室

1.2、设计任务

利用DAC0832芯片进行数/模控制,输出地电压经放大后驱动小直流电机地速度进行数字量调节,并显示运行状态DJ-XX和D/ A输出地数字量.巩固所学单片知识,熟悉实验箱地相关功能,熟练掌握Proteus仿真软件,培养系统设计地思路和科研地兴趣.实现功能如下:

①系统手动模式及自动模式工作状态切换.

②风速设为从高到低9个档位,可由用户通过键盘手动设定.

③定时控制键实现定时时间设置,可以实现10小时地长定时.

④环境温度检测,并通过数码管显示,自动模式下实现自动转速控制.

⑤当温度每降低1℃则电风扇风速自动下降一个档位,环境低于21度时,电风

扇停止工作.

⑥当温度每升高1℃则电风扇风速自动上升一个档位.环境温度到30度以上时,

系统以最大风速工作.

⑦实现数码管友好显示.

二、小直流电机调速控制系统地总体设计方案

2.1、系统硬件总体结构

图2.1系统硬件总体框图

2.2、芯片选择

1、AT89C52芯片:选用该单片机作为智能电风扇控制部件,用来实现电风扇调速核心功能.

2、74LS245芯片:用来驱动数码管.

3、74LS373芯片:锁存器,用来锁存输出地信号.

4、74LS240芯片:八单线驱动器,缓冲输出地信号.

5、DAC0832芯片:片选地址是FF80H,AOUT1插孔作为模拟量地输出.

6、8255芯片:可编程并行I/O接口芯片,用以扩展单片机地IO口.

7、LED数码显示管:用来显示电机旋转地速度是加速还是减速.

8、741:运算放大器.

9、9014:NPN型三极管.

2.3、DAC0832地主要性能指标

D/A转换地基本原理是应用电阻解码网络,将N位数字量逐位转换为模拟量并求和,从而实现将N位数字量转换为相应地模拟量.

其性能指标为:(1)分辨率:相对分辨率=1/2N,N越大,分辨率越高(2)线性度(3)转换精度(4)建立时间(5)温度系数.

DAC0832引脚功能图如图2.2

图2.2 数模转换DAC0832引脚功能

1、DI0~DI7:8位数字信号输入端;

2、!CS:片选端;ILE:数据锁存允许控制端,高电平有效;

3、!WR1:输入寄存器写选通控制端.当!CS=0、ILE=1、!WR1=0时,数据信号被锁存在

输入寄存器中.

4、!XFER:数据传送控制

5、!WR2 :DAC寄存器写选通控制端.当!XFER=0,!WR2 =0时,输入寄存器状态传入

DAC寄存器中

6、IOUT1:电流输出1端,输入数字量全“1”时,IOUT1最大,输入数字量全为“0”时,

IOUT1最小.

7、IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1=常数.

8、 RFB:外部反馈信号输入端,内部已有反馈电阻RFB,根据需要也可外接反馈电阻.

9、VCC:电源输入端,可在+5V~+15V范围内.

10、DGND:数字信号地.

11、AGND:模拟信号地

2.4. 数字温度传感器DS18B20

DS18B20“一线总线”数字化温度传感器支持“一线总线”接口,测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±0.15℃.现场温度直接以“一线总线”地数字方式传输,大大提高了系统地抗干扰性,适合于恶劣环境地现场温度测量,如:环境控制、设备或过程控制、测温类消

费电子产品等.DS18B20可以程序设定9~12位地分辨率,精度为±0.15℃,温度采集具有准确性、实时性.

DS18B20地管脚排列如下:DQ为数字信号输入/输出端。GND为电源地。VDD为外接供电电源输入端(在寄生电源接线方式时接地).如图2.3所示.

图2.3数字温度传感器DS18B20引脚图

DS18B20检测地温度高于一定值时,单片机引脚输出高电平,打开电风扇,当温度低于一定值时,单片机引脚输出低电平,控制电风扇停止转动.在此区间,每升高一度,风扇转速档位加一,风扇转速与档位地关系如表2.1所示:

表2.1 风扇转速与档位地关系

三、系统硬件电路设计

3.1、AT89C52单片机最小系统:

AT89C52已包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统地要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统.整个系统结构紧凑,抗干扰能力强,性价比高.图3.1为AT89C52芯片最小系统.

一方面,单片机要通过I/O口中接收输入信号,另一方面要通过I/O口控制数码管地初始化、显示方式以及要显示地字符.

因此,设计必须以单片机为核心,显示器为外围设备.硬件上,单片机通过电路板电路与液晶显示电路相连;软件上,单片机要下载完整地程序对二者进行适时地控制.

图3.1 AT89C52芯片最小系统图

3.2.系统程序电路主程序CUP电路图:

AT89C52单片机P0、P2口扩充电路图如图3.2:

图3.2 AT89C52系统管脚扩充图

3.3、DAC0832与AT89C52单片机接口电路设计

实验电路使用逻辑器件实现地址译码,地址FF80H接入数模转换器DAC0832片选段,通过数模转换后地模拟量通过运放放大驱动电机驱动,其电路图如图3.3所示:

图3.2 DAC0832与A T89C52单片机接口及电机控制电路

3.4、显示电路与A T89C52单片机电路设计

实验电路使用IO扩充芯片8255及锁存芯片74LS245对六个数码管选通控制显示.显示部

分电路图如图3.3所示:

图3.3 数码管显示部分电路图

四、系统程序流程设计

4.1、系统程序流程框图如图4.1

图4.1 程序流程图

五、调试与测试结果分析

5.1、实验系统连线图

a、P3.0、P3.1、P3.2、P3.3 分别连按键K1、K2、S1、S2

b、DS18b20 数据线连 P3.4

c、将DAC0832驱动电路AOUT接至直流电机

d、将P0口接至DAC0832数字输入端

e、将地址译码器电路(FF80H)接至DAC0832片选端

5.2、程序调试

程序上电时,直流电机默认以中档5档工作,系统默认工作在手动模式下.数码管显示当前环境温度和电机运行档位.

当按下按键S1(P3.2)时,直流电机以加速转动,同时数码管显示档位速度,当速度达到最大时,继续按下键S1第5个数码管会显示“—”表示系统已达到最大风速当按下按键S2(P3.2)时,直流电机以减速转动,同时数码管显示档位速度,当速度达到最小时,继续按下键S2第5个数码管会显示“—”表示系统已达到最小风速.

当按下系统模式控制切换键k1可以实现模式地切换,在自动模式下,数码管第一位显示

“A”字样,表示工作于自动模式下,此时电机地转速由环境温度决定.并且显示环境温度和当前温度下电机运行档位.

当按下定时键K2时,数码管闪烁地显示“000”,当按S1时,定时时间增加,数码管闪烁显示定时时间.按S2键时,定时时间减少,同时数码管也闪烁显示定时时间.再次按下K2键后,闪烁停止,定时开始,数码管显示定时剩余时间.

5.3、实验结果分析

电机运行正常时即可实现调速现象,按键地消抖使得调速现象更加明显.按键S1实现电风扇加速运行,按键S2实现电风扇减速运行.系统模式控制切换键k1可以实现模式地切换.定时键K2实现定时设定和定时确定.适当地控制按键,就可以实现所需要地效果.

六、程序设计总结

两周地单片机课程设计让我受益匪浅,无论从知识技能上还是团队合作方面.上课地时候地学习从来没有见过真正地单片机,只是从理论地角度去理解枯燥乏味.但在课程设计使用了单片机及其系统,能够理论联系实际地学习,开阔了眼界,提高了单片机知识地理解和水平.在这次课程设计中又让我体会到了合作与团结地力量,当遇到不会或是设计不出来地地方,我们就会在QQ群里讨论或者是同学之间相互帮助.团结就是力量,无论在现在地学习中还是在以后地工作中,团结都是至关重要地,有了团结会有更多地理念、更多地思维、更多地情感.

我们组地题目是智能电风扇控制器设计,基本要求是实现电机速度地控制,并且通过数码管显示出来.由于我在学院地创新实验室有过一年多地编程经验,因此在实验箱上实现基本功能并没有很大难度,基本功能实现后,我们组想到了使设计更加智能化和多功能化,于是我们加入了数字温度传感器温度采集和自动控制,以及定时功能.并通过程序设计,实现比较人性化地数码管显示.

在整个程序设计和电路设计调试过程中,遇到了不少问题,最终也和组员共同解决了.主要地问题有:

仿真和实际地电路调试有一定地出入,在仿真上按键能够很好地工作,但是在实际地电路调试过程中,按键往往不大灵敏,常出现按一下,系统反应多次地问题,最后

通过延时时间地调整,使得按键较好地工作.

由于数码管采用动态显示方式,延时扫描时间地不恰当使得数码管显示出现跳动或者不稳定地问题,通过延时时间地正确设置和对整体程序地分析,使数码管地显示稳

定正常.

随着系统功能地增加,程序变地复杂,调试起来对程序地分析带来了一定地难度,最后通过功能函数地模块化使得程序更加清晰和易更改.将数字温度传感器地函数单独设在一个C文件中,采用多文件编译地方式,也增加了程序地易移植性.

程序地要完全运行正确,不仅要弄清楚电路图,尤其是各接口地接法,还要注重每个小地细节,因为往往一个很小地错误,使得程序出现一些无法预料地结果,在程序地调试过程中,我们组出现了将‘=’错写为了‘==’,结果当然运行不出来.

单片机是很重要地一门课程,学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题.尽管我们在课堂学到地内容很有限,但在以后地学习中单片机还需要好好地深入研究和学习.

七、参考文献

[1] 陈海宴. 51单片机原理及应用. 北京:北京航空航天大学出版社,2012.

[2] 郭天祥. 51单片机C语言教程. 北京:电子工业出版社,2005.

[3] 胡启明,葛祥磊. Proteus从入门到精通. 北京:电子工业出版社,2012.

[4] 张兆明.基于A T89S52单片机地自动温控电风扇设计.测控技术, 2009, 03(210820).

附录1:系统程序

系统主函数

/**********************************************************************

**********************************************************************

@@ 设计题目:智能电风扇控制器设计

@@ 设计者:

@@ 设计功能:

1. 系统分为自动模式和手动模式,通过自动控制手动控制切换键K1(P3.1)可以实现电机转速控制,并用数码管显示其工作在何种状态.

2. 手动状态可以通过S1、S2(P

3.2加,P3.3减)实现9级风速增减调速,并通过数码管显示.

3. 通过DS18B20可以实现风扇附近环境温度地检测,温度精确到0.1摄氏度,并通过数码管可以显示实时温度当系统工作切换到自动控制状态时,系统根据环境温度自动控制转速地快慢.

4. 两种工作状态下,均可以通过定时设置功能键K1(P3.0)可以实现风扇定时工作,通过时间增减键(P3.2加,P3.4减)实现定时时间设定时间到后风扇停止工作

@@ 系统连线

P3.0、P3.1、P3.2、P3.3 分别连按键K1、K2、S1、S2

DS18b20 数据线连 P3.4

@@ 系统参数:

1.转速档位(本参数为仿真参数)

共分为9个档位,从低到高为1-9档,通过数码管显示,对应电机两端电压分

别为1.31V、2.62V、3.93V、5.24V、6.55V、7.86V、9.17V、10.5V、11.8V

2.温度参数

系统使用地DS18b20可以实现0.0625摄氏度地精度.通过四舍五入,数码管显

示可以实现0.1摄氏度地精度.

3.自动模式下环境温度与转速关系

环境温度范围与转速关系为:21以下,停止;21-22 1档;22-23 2档;23-24 3档;

24-25 4档;25-26 5档; 26-27 6档; 27-28 7档;28-29 8档;29以上,9档

4.定时时间参数

系统共设置7个定时时间,分别为1min,5min,10min,30min,1h,2h,5h

******************************************************************************** ************************************************************/

#include"reg51.h"

#include "ds18b20.h"

#include //用于访问绝对地址

#include

#define uchar unsigned char

#define uint unsigned int

#define ON 1

#define OFF 0

#define Confirm 2

#define TimeGrade1 1 //定时等级分别设置为1分钟,5分钟,10分钟,30分钟,1小时,2小时,5小时

#define TimeGrade2 5

#define TimeGrade3 10

#define TimeGrade4 30

#define TimeGrade5 60

#define TimeGrade6 120

#define TimeGrade7 300

#define add XBYTE[0xff23] //控制寄存器

#define PA XBYTE[0xff20] //位选为8255,A口

#define PB XBYTE[0xff21] //段选为8255,B口

#define DA XBYTE[0xff80] //P0对应地地址

unsigned char tflag。 //定时器时间标志

unsigned char TimeGrade。//风扇定时等级

unsigned int TimeGo,TIME,t1flag。 //风扇定时时间标志位

int temp_T,temp_T_A。 //采集温度值以及采集地温度绝对值

uint volt_d=140,volt_a。

bit secflag = 0。

bit Auto = OFF。 //定义自动控制允许位

uchar TC = OFF。 //定义定时功能允许位

bit Ch_Full = 0。 //定义调档以最大或者最小标志位

bit TBZF = 0。 //定义温度低于0时标志位

uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x 02,0x78,0x00,0x10,0x88,0x8b,0xbf,0xff}。

//共阳数码管编码表

uchar code wei[]={0x01,0x02,0x04,0x08,0x10,0x20}。

void delayMS(uint z)。

void Initial(void)。

void Time_Set(void)。

void display(uchar aa,uchar bb)。

void Handle_display(void)。

void Key_check(void)。

void Anto_Control_speed(void)。

void TempTrans(void)。

void delayMS(uint z) //延时函数

{

uchar x,y。

for(x=z。x>0。x--)

for(y=110。y>0。y--)。

}

void display(uchar aa,uchar bb) //显示子程序

{

PA=~wei[aa]。 //位选

PB=table[bb]。 //段选

delayMS(2)。

}

void Initial(void)

{

EX0 = 1。 //开外部中断0

EX1 = 1。 //开外部中断1

EA = 1。 //开总中断

IT0 = 1。 //下降沿触发中断0

IT1 = 1。 //下降沿触发中断1

TMOD = 0x11。

TH0 = (65536-20000)/256。

TL0 = (65536-20000)%256。

TH1 = (65536-50000)/256。

TL1 = (65536-50000)%256。

ET0 = 1。

TR0 = 1。

ET1 = 1。

}

void Handle_display(void) //操作时数码管显示,包括温度,档位,定时时间和剩余时间{

uchar i,j。

volt_a=volt_d/28。

display(0,volt_a)。 //数码管输出档位

if(TC == OFF) //为设置时间时初始状态

{

if(TBZF==1)

display(5,22)。//在数码管1显示温度为负

display(4,temp_T_A/100)。 //数码管输出模拟量十位

display(3,temp_T_A%100/10+10)。 //数码管输出模拟量个位

display(2,temp_T_A%100%10)。 //数码管输出模拟量一位小数

}

else

{

Time_Set()。

for(j=80。j>0。j--)

{

display(4,(TIME-TimeGo)/100)。 //数码管输出模拟量十位

display(3,(TIME-TimeGo)%100/10)。//数码管输出模拟量个位

display(2,(TIME-TimeGo)%100%10)。 //数码管输出模拟量一位小数

display(0,volt_a)。

}

if(TC == ON)

for(i=100。i>0。i--)

{

display(4,23)。 //数码管输出模拟量十位

display(3,23)。 //数码管输出模拟量个位

display(2,23)。 //数码管输出模拟量一位小数

display(0,volt_a)。

}

}

}

void Key_check(void) //按键扫描函数

{ unsigned char temp。

temp=P3&0x03。

if(temp != 0x03)

delayMS(30)。

if(temp != 0x03) //当P3.4和P3.5按下时

{

if(temp==0x01) //模式设置键被按下

Auto=~Auto。

else if(temp==0x02) //定时设置键被按下

{

TC++。

if(TC==3)

TC=0。

}

}

}

void TempTrans(void)

{

if(secflag == 1)

{

secflag=0。

temp_T=rd_temperature()/10。

if(temp_T<0)

{

temp_T_A=65536-temp_T。 //温度为负数时,温度地绝对值为65536与温度地差

TBZF=1。

}

else

{

temp_T_A=temp_T。//温度为负数时,温度地绝对值即为温度

TBZF=0。//当值为正值,不显示负温度标志

}

}

}

void Anto_Control_speed(void) //根据温度实现温度与转速自动控制子函数{

switch(temp_T/10)

{

case 29: volt_d=252。break。

case 28: volt_d=224。break。

case 27: volt_d=196。break。

case 26: volt_d=168。break。

case 25: volt_d=140。break。

case 24: volt_d=112。break。

case 23: volt_d=84。break。

case 22: volt_d=56。break。

case 21: volt_d=28。break。

default: volt_d=0。

}

if(temp_T>=300)

volt_d=252。

}

void Time_Set(void)

{

if(TC == ON)

{

switch(TimeGrade)

{

case 0:TIME=0。break。

case 1:TIME=TimeGrade1。break。

case 2:TIME=TimeGrade2。break。

case 3:TIME=TimeGrade3。break。

case 4:TIME=TimeGrade4。break。

case 5:TIME=TimeGrade5。break。

case 6:TIME=TimeGrade6。break。

case 7:TIME=TimeGrade7。break。

}

}

else if(TC == Confirm)

{TR1 = 1。display(5,22)。}

else

{

TIME=0。

TR1 = 0。//关闭定时器2

TimeGo=0。

}

if((TimeGo>=TIME)&&(TC == Confirm)) //定时时间到

{

TC =OFF。//关闭时间显示标志

TR1 = 0。//关闭定时器2

TimeGo=0。//定时后已运行时间清零

volt_d=0。 //定时时间到后,风扇停止转动

}

}

void main()

{

Initial()。

while(1)

{

TempTrans()。

if(Auto == OFF) //当系统为手动控制时子函数

{

if(Ch_Full==1)

display(1,22)。//在数码管1显示一横线,表示档位已经最大或者最小

DA= volt_d。 //把数字量赋给数模转换器

Handle_display()。

}

if(Auto == ON) //系统为自动控制时函数

{

display(5,20)。//显示自动控制允许标志

DA= volt_d。

Anto_Control_speed()。

Handle_display()。

}

}

}

void ex0() interrupt 0 //外部中断0子程序

{

delayMS(200)。

if((TC == OFF)||(TC == Confirm)) //如果不是时间设置时,实现风扇调速{ if(volt_d<250)

{

Ch_Full=0。

volt_d+=28。

}

else

Ch_Full=1。

}

else //如果时间设置标志位打开,则定时设置

{

TimeGrade++。

if(TimeGrade==8)

TimeGrade=0。

}

}

void isr_t0(void) interrupt 1

{

TH0 = (65536-20000)/256。

TL0 = (65536-20000)%256。

tflag++。

if(tflag == 10) //定时为1秒, 每1秒采集一次温度

{

tflag = 0。

secflag = 1。

Key_check()。 //每过200ms扫描按键状态

}

}

void ex1() interrupt 2 //外部中断1子程序

{

delayMS(200)。

if((TC == OFF)||(TC == Confirm)) //如果不是时间设置时,实现风扇调速

{ if(volt_d>0)

{

Ch_Full=0。

volt_d-=28。

}

else

Ch_Full=1。

}

else //如果时间设置标志位打开,则定时设置{

TimeGrade--。

}

}

void isr_t1(void) interrupt 3

{

TH1 = (65536-50000)/256。

TL1 = (65536-50000)%256。

t1flag++。

if(t1flag == 1200)

{

t1flag = 0。

TimeGo++。

}

}

数字温度传感器DS18B20部分头文件

#ifndef _DS18B20_H

#define _DS18B20_H

#include "reg51.h"

#include "intrins.h"

sbit DQ = P3^4。

bit init_ds18b20(void)。

void delay(unsigned int t)。

void wr_ds18b20(unsigned char byt)。

unsigned char rd_ds18b20(void)。

int rd_temperature(void)。

#endif

数字温度传感器DS18B20部分C文件

智能电风扇控制器设计单片机课程设计

智能电风扇控制器设计单片机课程设计

智能电风扇控制器设计 单片机课程设计 设计题目:智能电风扇控制器设计

neuq 目录 序言 一、设计实验条件及任务 (2) 1.1、设计实验条件 1.2、设计任务 (2) 二、小直流电机调速控制系统的总体方案设计 (3) 2.1、系统总体设计 (3) 2.2、芯片选择 (3) 2.3、DAC0832芯片的主要性能指标 (3) 2.4、数字温度传感器DS18B20 (3) 三、系统硬件电路设计 (4) 3.1、AT89C52单片机最小系统 (5) 3.2、DAC0832与AT89C52单片机接口电路设计 (6) 3.3、显示电路与AT89C52单片机接口电路设计 (7) 3.4、显示电路与AT89C52单片机电路设计 (8) 四、系统软件流程设计 (7) 五、调试与测试结果分析 (8) 5.1、实验系统连线图 (8) 5.2、程序调试................................................,. (8) 5.3、实验结果分析 (8) 六、程序设计总结 (10) 七、参考文献............................................ (11) 附录 (12) 1、源程序代码 (12) 2、程序原理图 (23)

序言 传统电风扇不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题,使家用电器产品趋向于自动化、智能化、环保化和人性化,使得由微机控制的智能电风扇得以出现。 本文介绍了一种基于AT89C52单片机的智能电风扇调速器的设计,该设计主要硬件部分包括AT89C52单片机,温度传感器ds18b20,数模转换DAC0809 电路,电机驱动和数码管显示电路,系统可以实现手动调速和自动调速两种模式的切换,在自动工作模式下,系统能够能够根据环境温度实现自动调速;可以通过定时切换键和定时设置键实现系统工作定时,使得在用户需求的定时时间到后系统自动停止工作。 在日常生活中,单片机得到了越来越广泛的应用,本系统采用的AT89C52单片机体积小、重量轻、性价比高,尤其适合应用于小型的自动控制系统中。系统电风扇起停的自动控制,能够解决夏天人们晚上熟睡时,由于夜里温度下降而导致受凉,或者从睡梦中醒来亲自开关电风扇的问题,具有重要的现实意义。 一、设计实验条件及任务 1.1、设计实验条件 单片机实验室 1.2、设计任务 利用DAC0832芯片进行数/模控制,输出的电压经放大后驱动小直流电机的速度进行数字量调节,并显示运行状态DJ-XX和D/ A输出的数字量。 巩固所学单片知识,熟悉试验箱的相关功能,熟练掌握Proteus仿真软件,培养系统设计的思路和科研的兴趣。实现功能如下: ①系统手动模式及自动模式工作状态切换。

武汉工程大学单片机多路抢答器的课程设计资料

电气信息学院 单片机技术课程设计报告 课题名称多路抢答器的设计 专业班级10 电气4班 学号2010500238 __________________ 学生姓名________ 杨彬____________ 扌旨导教师______ 易先军___________ 评分_____________________________

2013年6月17日至6月21日

课程设计量化评分标准 指导老师评语:

答辩记录 1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明:对于采用独立式按键设计还是行列式按键设计有所困扰。 解决方法:行列式键盘是采用X*丫型按键来实现I/O的扩展的,这种按键的排 列方式可以有效的提高I/O 的利用率。 (2)问题说明:Proteus 软件中,从元器件库中调出的元件有的不能仿真。 解决方法:Proteus 里面又不是器件是没有仿真模型的,只是个原理图 符号,故必须选含仿真模型的器件。 2、教师现场提的问题记录在此(不少于2个问题)。 (1)Proteus 软件的主要功能是什么? 答:Proteus 软件可以仿真、分析各种模拟电路与集成电路,软件提供了大量模拟与数字元器件及外部设备,各种虚拟仪器,特别是它具有对单片机及其外围电路组成的综合系统的交互仿真功能。 (2)如果有多个按键几乎同时按下,你是如何来保证最先按下的按钮抢答成功的? 答:可以通过锁存器达到目的。当有第一个按键被按下时,锁存器将迅速锁存优先抢答者的按键状态,并能同时禁止其他选手按键,使其按键操作无效。

现如今生活娱乐的多元化已是现代的生活方式之一。知识、娱乐比赛更是流行于各行各业,而其中又以抢答形式为主。在抢答过程中,为了知道哪一组或 哪一位选手优先获得抢答权,必须要设计一个系统来完成这个任务,避免人的主观意识判断错误。在抢答中,只靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差甚小,也可分辨出哪组优先答题。此次设计使用AT89C51单片机为核心控制元件,设计一个简易的抢答器,与数码管、报警器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断电路等。设计的抢答器具有实时显示抢答选手的号码和抢答时间的特点,而复位电路,则使其能再开始新的一轮答题和比赛,与此同时还利用汇编语言编程,使其能够实现一些基本的功能。 关键词:AT89C51单片机;抢答器;数码管;报警器 I

单片机课程设计完整版样本

课程设计( 论文) 课程名称单片机 题目名称简易密码锁的设计学院高等技术学院 专业班级高1 1 0 9 学号3869 学生姓名刘欢 指导教师胡立强 11月28 日 目录

一,任务目的 (3) 二,任务要求 (3) 三,电路与元器件 (4) 四,程序设计 (5) 五,程序运行测试 (6) 六,任务小结 (7) 七,心得体会 (8) 八,参考文献 (9) 1.任务目的

经过对具有四个按键输入和一个数码管显示的简易密码锁的设计与制作, 让读者理解C语言中数组的基本概念和应用技术, 并初步了解单片机与键盘和LED数码管的接口电路设计及编程控制方法。 2.任务要求 在一些智能门控管理系统, 需要输入正确的密码才能开锁。基于单片机控制的密码锁硬件电路包括三部分: 按键、数码显示和电控开锁驱动电路, 三者的对应关系如图表3.16所示。 表3.16 简易密码锁状态 简易密码锁的基本功能如下: 4个按键, 分别代表数字0,1,2,3: 密码在程序中事先设定, 为0-3之间的一个数字; 上电复位后, 密码锁初始状态为关闭, 密码管显示符号”—”; 当按下数字键后, 若与事先设定的密码相同, 则数码管显示字符”P”, 打开锁, 3秒后恢复锁定状态, 等待下一次密码的输入, 否则显示字符”E”持续3秒, 保持锁定状态并等待下次输入。 3.电路与元器件 根据任务要求, 用一位LED数码管作为显示器件, 显示密码锁的状态信息, 数码管采用静态连接方式; 4个按键连接到P0口的低四位

P0.0-P0.3引脚, 设P0.0连接数字”0”按键、P0.1连接数字”1”按键, 依次类推; 锁的开、关电路用P3.0控制的一个发光二极管代替, 发光二极管点亮表示锁打开, 熄灭表示锁定。根据以上分析, 采用如图3.21所示的连接电路。 图3.21 简易密码锁电路 简易密码锁电路所需元器件清单如表3.17所示。 元器件名称参数数量元器件名 称 参数数量 插座DIP40 1 电阻103 1 单片机AT89SC51 1 电解电容22UF 1

智能风扇控制系统

数理与信息工程学院《单片机原理及应用》期末课程设计 题目:基于单片机的智能电风扇控制系统 专业:物联网运行与管理 班级: 姓名: 学号: 指导老师: 成绩: 2014年12月

目录 第1节引言 (3) 1.1 智能电风扇控制系统概述 (3) 1.2 本设计任务和主要内容 (3) 第2节系统主要硬件电路设计 (5) 2.1 总体硬件设计 (5) 2.2 数字温度传感器模块设计 (5) 2.2.1 温度传感器模块的组成 (5) 2.2.2 DS18B20的温度处理方法 (6) 2.3 电机调速与控制模块设计 (7) 2.3.1 电机调速原理 (7) 2.3.2 电机控制模块硬件设计 (8) 2.4 温度显示与控制模块设计 (9) 第3节系统软件设计 (10) 3.1 数字温度传感器模块程序设计 (10) 3.2 电机调速与控制模块程序流程 (15) 3.2.1 程序设计原理 (15) 3.2.2 主要程序 (16) 第4节结束语 (19) 参考文献 (20)

基于单片机的智能电风扇控制系统 数理与信息工程学院电子信息工程041班汪轲 指导教师:余水宝 第1节引言 电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。其主要原因:一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。 尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。 1.1 智能电风扇控制系统概述 传统电风扇是220V交流电供电,电机转速分为几个档位,通过人为调整电机转速达到改变风力大小的目的,亦即,每次风力改变,必然有人参与操作,这样势必带来诸多不便。 本设计中的智能电风扇控制系统,是指将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。从而达到无须人为控制便可自动调整风力大小的效果。 1.2设计任务和主要内容 本设计以MCS51单片机为核心,通过温度传感器对环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动变换档位,实现“温度高,风力大,温度低,风力弱”的性能。另外,通过键盘控制面板,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关闭,当高于此温度时电风扇又将重新启动。

电风扇控制--数字电路课程设计报告

精心整理 家用电风扇控制逻辑电路设计 电子课程设计报告 题目名称:家用电风扇控制逻辑电路设计 姓名:邹秀兰 专业:通信工程 班级学号:08042104 同组人:曾令春 指导教师:韦芙芽 南昌航空大学信息工程学院 2010年9月日

第三章系统的组成及工作原理 3.1系统的组成 摘要 随着我国经济的发展,居民家中的电器是越来越多,电风扇也成为了我们生活中必不可少的家用电器。以前的台式电风扇和落地式电风扇都是采用机械控制,主要控制风速和风向。然而随着电子技术的发展,目前的家用电风扇大多采用电子控制线路取代了原来的机械控制器,是电风扇的功能更强,操作也更简便。使电风扇的使用变得更为人性化。 本次课程设计的题目是:家用电风扇逻辑控制电路的设计。由三个按键分别控制风速、风种和开关,并分别用不同颜色的发光二级管来显示风扇工作的状态。附加按键提示音及定时功能。增加这些都是为了提高电风扇的人性化。基本电路是利用四片D 触发器74LS175建立起“风速”及“风种”状态锁存电路,并由74LS08、74LS1517、4LS175及74LS00构成“风速”及“风种”的循环。定时部分由555单稳态脉冲电路及74LS192移位寄存器和74LS48译码器构成。 经过一系列的分析、准备。由于库房没有大的板子故将定时部分焊在另一块板子上,所以本次课程设计除在美观上有点欠缺外达到了全部的要求。 关键字:电风扇、按键、脉冲、循环。 目录 前言·················· ..............................................4 第一章设计内容及要求. (5) 第二章系统设计方案选择 2.1方案一.....................................................6 2.2方案二.....................................................6 第三章系统组成及工作原理 3.1系统组成...................................................7 3.2工作原理...................................................8 第四章单元电路设计、参数计算、器件选择 4.1状态锁存电路电路............................................`9 4.2触发脉冲电路...............................................11 4.3风种控制电路...............................................12 4.4消抖电路...................................................14 4.5单稳态电路.................................................15 第五章实验、调试及测试结果与分析................................16 结论..............................................................17 参考文献. (18) 附录一····························································18 附录二····························································20 附录三····························································22 前言 科学技术是第一生产力。科技使我们由手工时代进入了现代的电器时代。同时科技在国家的国防事业中发挥了重要的作用,只有科技发展了才能使一个国家变得强大。而作为二十一世纪的主义,作为一名大学生,不仅仅要将理论知识学会,更为重要的是要将所学的知识用于实际生活之中,使理论与实践能够联系起来。电子课设是将理论与实践相结合的一个非常重要的环节,是一个能真正能提高学生动手与实践能力的环节。 家用电器已经变得极为普遍,成了我国家庭中最为普及的家用电器之一。随着近几年我国经济的快速发展人们的生活水平也逐渐提高了,人们对家用电器的要求也越来越高。人们希望家用电器能够实现智能化及人性化。而作为人们生活中比不可少的家用电器,电风扇的智能化及人性化的设计就显得尤为重要。家用电风扇控制逻辑电路设计就是针对这一问题而研究设计的。 以前的家用的电风扇一个按键只能控制一种风速,而且无法对其风种进行控制,无疑这样的电风扇存在一定的弊端,从而限制了电风扇的进一步普及。通过逻辑电路设计之后的电风扇。只需要三个按键就可以循环控制风速、风种及开关状态。实现了电风扇的人性化。 在国内外,家用电风扇的逻辑控制技术已经相当成熟。但是这一点并不能说明我们的这次课设就没意义。因为其中对逻辑电路进行设计分析的思路仍然值得我们去学习和研究。又因为其简单、易做、易设计。对设计材料无特别要求的特点。使得家用电风扇控制逻辑电路设计这一课题广泛运用于电子课设中。 第一章设计内容及要求 〖基本要求〗 1)实现风速的强、中、弱控制(—个按钮控制,循环): 使用一个“风速”按键来循环控制风速的变化。当电风扇出于停止状态时按下该键,风扇启动并出于弱风、正常风状态,风扇启动后,依次按下“风速”键,风速按着“弱——中——强——弱”依次变换。 2)实现风种的“睡眠风”、“自然风”、“正常风”三种状态的控制(—个按钮控制,循环): 使用一个“风种”按键来循环控制风种的选择。当风扇处于停止状态时按下该键风扇不能启动,当风扇处于工作状态时,依次按下“风种”键,风速随着“正常风——睡眠风——自然风——正常风”的状态变化。 3)风扇停止状态的实现: 使用一个按键来控制风扇的停止。在风扇处于任一工作状态时按下该键风扇停止工作。 4)LED 显示状态: 分别用六个LED 灯来显示“风速”和“风种”的三种工作状态。 〖提高要求〗 1)按键提示音 2)定时关机功能(以小时为单位) 1正常风电机连续转动,产生持久风; 2自然风电机转动4秒,停4秒,产生阵风; 3睡眠风电机转动8秒,停8秒,产生轻柔的微风。 第二章系统设计方案选择? 方案:电风扇控制逻辑电路由四部分组成。 1、状态锁存电路; 2、触发脉冲电路; 3、“风速”、“风种”方式选择电路; 4、定时电路; 该电路?很好的实现“风速”、“风种”及停止状态的控制,完美的实现了课设的基本要求,也基本上完成了提高要求。因为提高要求是在基本要求达到后设计的,由于时间的问题故存在些瑕疵没能和主电路达到很好的匹配。

智能电风扇控制系统设计【开题报告】

毕业论文开题报告 机械设计制造及其自动化 智能电风扇控制系统设计 一、选题的背景和意义 近几年,我国电风扇市场发展迅速,产品产出持续扩张,国家产业政策鼓励电风扇产业向高技术产品方向发展,国内企业新增投资项目投资逐渐增多。投资者对电风扇市场的关注越来越密切,这使得电风扇市场推广策略与营销渠道开发的发展研究需求增大。 随着计算机技术、控制技术、信息技术的快速发展,工业的生产和管理进入了自动化、信息化和智能化时代,智能化已经成为时代发展的需要。基于生产现场和日常生活的实际需要,研究和开发智能电风扇控制具有十分重要的意义。该项目的研究可以应用于工厂自动化、仓库管理、智能玩具和民用服务等领域,可提高劳动生产效率,改善劳动环境。 AT89S52单片机芯片制作的“电风扇定时开关电路”,允许用户随时通过按键开关自行输入设置新的定时时间参数,其范围可在1分钟(最短时间)至999分钟(最长时间)之间任意设置(步进为1分钟),这为用户根据使用的环境温度、自己身体条件、个人爱好等具体情况,适时进行调整设置,选用最合适的定时时间提供了方便。而且在整个定时状态下,电路具有允许用户随时自行选择使用“阵风”或“连续风”的控制功能。具有电路简单、制作容易、设置方便、使用灵活等优点。 本设计来源于在企业学习生活当中的深刻感受,天气开始炎热的时候,人们都会开着电扇入睡,但是往往睡着了都会忘记去关,所以我们可以对电扇进行定时,到了一定时间,电扇就会自动停止工作。而且夏天的晚上总是很容易着凉,所以睡觉的时候就可以根据自己的身体情况改变风速,可以改成阵风或者连续风。所以该作品是为解决此问题而设计的AT89C51单片机风扇控制器。 二、研究目标与主要内容 研究目标:本课题主要是设计一套智能电风扇控制系统,该系统设计以AT89S51单片机为核心控制器,通过DS18B20温度传感器对室内环境温度进行数据采集,单片机对采集到的温度信号进行处理并输出一定占空比的PWM,电风扇随温度变化而自动变换档位,实现“温度高,风力大;温度低,风力弱”的性能。另外,通过键盘控制面板,用户可

(完整版)基于51单片机的4人抢答器课程设计

基于51单片机的4人抢答器设计 设计要求: 以单片机为核心,设计一个4位竞赛抢答器:同时供4名选手或4个代表队比赛,分别用4个按钮S0~S3表示。 设置一个系统清除和抢答控制开关S,开关由主持人控制。 抢答器具有锁存与显示功能。即选手按按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。 当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间为0.5s左右。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。 工作原理: 通过键盘改变抢答的时间,原理与闹钟时间的设定相同,将定时时间的变量置为全局变量后,通过键盘扫描程序使每按下一次按键,时间加1(超过30时置0)。同时单片机不断进行按键扫描,当参赛选手的按键按下时,用于产生时钟信号的定时计数器停止计数,同时将选手编号(按键号)和抢答时间分别显示在LED上。

#include #define uchar unsigned char #define uint unsigned int uchar num; //定义中断变量,num计满20表示1秒时间到uchar num1; //十秒倒计时显示初始值 uchar flag1,flag2; //清零键及开始键按下标志位 uchar flag3,flag4=0; //定义键盘按下标志位 uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //数码管编码

单片机课程设计报告电子密码锁完整版

单片机课程设计报告电 子密码锁 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

山东交通学院 单片机原理与应用课程设计院(部):轨道交通学院 班级:自动化121 学生姓名: 学号: 指导教师: 时间:— 课程设计任务书 题目电子密码锁设计 系 (部) 轨道交通学院 专业班级自动化121 学生姓名 学号 06 月 01 日至 06 月 12 日共 2 周 指导教师(签字) 系主任(签字) 年月日

目录 3.总体设计 (2)

4 密码比较模块 (6) (6) (8) (9) 附录 (10)

摘要 设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。 关键词:单片机、密码锁、修改密码 1.设计要求 本实验将实现六位数的电子密码锁。要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。 2. 按下“10”,开始则显示“Enter Please:”。3. 随时可以输入数值,并在LCD上实时显示‘*’。当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。 4. 按下“13”键,则表示确定键按下,进行密码对比。如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。如果密码连续三次错误则蜂鸣器连续响5下,并且持续5秒不能进行任何操作 5.在开锁状态下按下“12”键,进入修改密码状态,LCD同时提示“Enter new code!”。为删除按键,出入之后可以进行删除。按键为关闭按键,只有在打开状态下才可以关闭,按下之后LCD显示“Close the door!”。 2.功能概述 此设计分为四个功能模块。 第一模块:按键输入模块,用于密码的输入以及其他的密码操作按键。 第二模块:LCD模块,是与使用者交流的界面,用于显示各种状态下的内容。 第三模块:步进电机模块,用于控制密码锁的打开与关闭。 第四模块:24C08模块,用于储存输入的密码并读出来。 3.总体设计 本次设计作品的主要构成部分包括80C51单片机、LCD1602、24C08、矩阵按键、LED 等、蜂鸣器。如图1总体仿真图,图2实物图。 图1 总体电路图 图2 密码锁实物图 4.硬件设计 矩阵按键设计 如图3所示矩阵按键由P1口控制,了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。 每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N × M 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确

智能电风扇控制器设计

智能电风扇控制器设计 序言 传统电风扇不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题,使家用电器产品趋向于自动化、智能化、环保化和人性化,使得由微机控制的智能电风扇得以出现。 本文介绍了一种基于AT89C52单片机的智能电风扇调速器的设计,该设计主要硬件部分包括AT89C52单片机,温度传感器ds18b20,数模转换DAC0809电路,电机驱动和数码管显示电路,系统可以实现手动调速和自动调速两种模式的切换,在自动工作模式下,系统能够能够根据环境温度实现自动调速;可以通过定时切换键和定时设置键实现系统工作定时,使得在用户需求的定时时间到后系统自动停止工作。 在日常生活中,单片机得到了越来越广泛的应用,本系统采用的AT89C52单片机体积小、重量轻、性价比高,尤其适合应用于小型的自动控制系统中。系统电风扇起停的自动控制,能够解决夏天人们晚上熟睡时,由于夜里温度下降而导致受凉,或者从睡梦中醒来亲自开关电风扇的问题,具有重要的现实意义。 一、设计实验条件及任务

1.1、设计实验条件 单片机实验室 1.2、设计任务 利用DAC0832芯片进行数/模控制,输出的电压经放大后驱动小直流电机的速度进行数字量调节,并显示运行状态DJ-XX和D/ A输出的数字量。巩固所学单片知识,熟悉试验箱的相关功能,熟练掌握Proteus 仿真软件,培养系统设计的思路和科研的兴趣。实现功能如下: ① 系统手动模式及自动模式工作状态切换。 智能电风扇控制器设计 ② 风速设为从高到低9个档位,可由用户通过键盘手动设定。③ 定时控制键实现定时时间设置,可以实现10小时的长定时。 ④ 环境温度检测,并通过数码管显示,自动模式下实现自动转速控制。⑤ 当温度每降低1℃则电风扇风速自动下降一个档位,环境低于21度时,电风扇停止工作。 ⑥ 当温度每升高1℃则电风扇风速自动上升一个档位。环境温度到30度以上时,系统以最大风速工作。 ⑦ 实现数码管友好显示。 二、小直流电机调速控制系统的总体设计方案 2.1、系统硬件总体结构 图2.1系统硬件总体框图 2.2、芯片选择

基于单片机STC89C52RC的八路抢答器课程设计报告75092282

基于单片机STC89C52RC的八路抢答器课程设计报告75092282

信息与电子工程学院 课程设计报告 课程单片机技术应用 设计题目基于单片机STC89C52RC的八路抢答器专业应用电子技术 班级11级4班 成员姓名学号分工成绩 软件部分 硬件部分

目录 一、课程设计概述.................................................................................................................... - 1 - 1.1课程设计背景 (1) 1.2课程设计内容 (1) 1.3课程设计技术指标 (1) 二、方案的选择及确定............................................................................................................ - 1 - 2.1方案一:集成数字电路 (1) 2.2方案二:单片机 (2) 2.3方案分析比较: (2) 三、硬件设计............................................................................................................................ - 3 - 3.1系统硬件设计 (3) 3.2复位电路的设计 (3) 3.3时钟电路设计 (3) 3.4显示电路设计 (4) 3.5按键电路设计 (5) 3.6报警电路设计 (6) 3.7电源模块设计 (7) 四、系统软件设计.................................................................................................................... - 7 - 4.1系统的功能流程 (7) 4.2主程序流程图 (7) 五、系统调试过程.................................................................................................................... - 9 - 5.1软件调试 (9) 5.2硬件调试 (10) 六、总结.................................................................................................................................. - 13 - 七、遇到的问题及解决方法.................................................................................................. - 13 - 八、参考文献.......................................................................................................................... - 13 - 九、附录.................................................................................................................................. - 14 - 9.1仪器与设备 (14) 9.2元器件清单 (14)

单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机原理及应用课程设计报告设计题目: 学院: 专业: 班级: 学号: 学生姓名: 指导教师: 年月日 目录

设计题目:PWM直流电机调速系统 本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路以及独立按键组成的电子产品。电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。 关键词:直流电机调速;定时中断;电动机;波形;LED显示器;51单片机 1 设计要求及主要技术指标: 基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM调速控制装置。 设计要求 (1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。 (2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。 (3)设计一个4个按键的键盘。 K1:“启动/停止”。 K2:“正转/反转”。 K3:“加速”。 K4:“减速”。 (4)手动控制。在键盘上设置两个按键----直流电动机加速和直流电动机减速键。在

手动状态下,每按一次键,电动机的转速按照约定的速率改变。 (5)*测量并在LED显示器上显示电动机转速(rpm). (6)实现数字PID调速功能。 主要技术指标 (1)参考L298说明书,在系统中扩展直流电动机控制驱动电路。 (2)使用定时器产生可控PWM波,定时时间建议为250us。 (3)编写键盘控制程序,实现转向控制,并通过调整PWM波占空比,实现调速; (4)参考Protuse仿真效果图:图(1) 图(1) 2 设计过程 本文设计的直流PWM调速系统采用的是调压调速。系统主电路采用大功率GTR为开关器件、H桥单极式电路为功率放大电路的结构。PWM调制部分是在单片机开发平台之上,运用汇编语言编程控制。由定时器来产生宽度可调的矩形波。通过调节波形的宽度来控制H电路中的GTR通断时间,以达到调节电机速度的目的。增加了系统的灵活性和精确性,使整个PWM脉冲的产生过程得到了大大的简化。 本设计以控制驱动电路L298为核心,L298是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。 本设计以AT89C52单片机为核心,如下图(2),AT89C52是一个低电压,高性能 8位,片内含8k bytes的可反复擦写的只读程序存储器和256 bytes的随机存取数据存储器(),器件采用的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 图(2) 对直流电机转速的控制即可采用开环控制,也可采用闭环控制。与开环控制相比,速度控制闭环系统的机械特性有以下优越性:闭环系统的机械特性与开环系统机械特性相比,其性能大大提高;理想空载转速相同时,闭环系统的静差(额定负载时电机转速降落与理想空载转速之比)要小得多;当要求的静差率相同时, 闭环调速系统的调速范

智能电风扇控制系统

第六届全国大学生电子设计竞赛征题(湖北赛区) 一、题目 智能电风扇控制系统 二、任务 设计并制作一个智能电风扇控制系统,其示意图如下: 三、要求 1、基本要求 (1)能够分档、连续(或步进)调节电风扇转速,调节范围:0~600转/分钟。 (2)具有普通风、自然风、睡眠风输出功能。 (3)具备定时关机功能。 (4)能通过按键设定输出风的种类、关机时间及调速。 (5)可以切换显示电风扇转速,误差小于1%;输出风的种类;开机工作时间;剩余工作时间;累计工作时间。能够存储当前设定状态。 (6)由于输入电压波动引起转速超过要求的最大值时,应具备限速功能。 (7)具备遥控操作功能,遥控范围不小于5米。 2、发挥部分 (1)电扇输出普通风时,若输入电压有效值在±20%范围内波动时,应保持输出转速恒定,静态误差小于1%。 (2)可以通过键盘任意设定普通风输出时的转速。 (3)当转速设定值和输入电压突变时,采取适当的控制方法以减少超调量及调节时间。

(4)提高输入功率因数,要求不小于0.9。 (5)其他特色与创新(如进一步提高输入功率因素,减低输入电流谐波,提高睡眠风、自然风的舒适度,增加语音提示功能等)。 四、评分意见 五、说明 电风扇用一50W普通风扇 自然风:风扇能吹出忽大忽小的自然风,仿佛大自然的阵阵轻风。 睡眠风:阶梯性减小风速的睡眠风,能顺应人体生理变化,使你即使睡觉也不会因吹风扇着凉而感冒。 六、命题意图及知识范围 本题侧重与控制系统的设计,其内容涵盖了控制、模拟电路、数字电路、单片机和电力电子技术等方面的知识。 本题基本部分虽然要求学生要有一定的知识面,但难度不大,相信大部分参赛学生可以完成。而发挥部分要求学生具有较好的控制理论知识及应用能力。特别是输入功率因素不得小于90%这一要求,用传统的移相斩波调压法是很难达到的,需要用到现代电力电子技术,有一定难度。

课程设计——基于单片机的智能电风扇控制系统

智能风扇设计报告 学院:信息工程学院 专业:自动化

基于单片机的智能电风扇控制系统 第1节引言 电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。其主要原因:一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。 尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。 1.1 智能电风扇控制系统概述 传统电风扇是220V交流电供电,电机转速分为几个档位,通过人为调整电机转速达到改变风力大小的目的,亦即,每次风力改变,必然有人参与操作,这样势必带来诸多不便。 本设计中的智能电风扇控制系统,是指将电风扇的电机转速作为被控制量,由单片机分析采集到的数字温度信号,再通过可控硅对风扇电机进行调速。从而达到无须人为控制便可自动调整风力大小的效果。 1.2设计任务和主要内容 本设计以MCS51单片机为核心,通过温度传感器对环境温度进行数据采集,从而建立一个控制系统,使电风扇随温度的变化而自动变换档位,实现“温度高,风力大,温度低,风力弱”的性能。另外,通过键盘控制面板,用户可以在一定范围内设置电风扇的最低工作温度,当温度低于所设置温度时,电风扇将自动关

电子信息专业论文设计 智能风扇控制器设计

中国网络大学CHINESE NETWORK UNIVERSITY 本科毕业设计(论文) 智能风扇控制器设计 院系名称: 专业: 学生姓名: 学号:123456789 指导老师: 中国网络大学教务处制 20 年03月30日

智能风扇控制器设计 前言 随着人们生活水平及科技水平的不断提高,现在家用电器在款式、功能等方面日益求精,并朝着健康、安全、多功能、节能等方向发展。过去的电器不断的显露出其不足之处。 电风扇曾一度被认为将是空调产品冲击下的淘汰品,其实并非如此。家用电风扇并没有随着空调的普及而淡出市场,其主要原因:一是风扇和空调的降温效果不同——空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。 尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的。现在大部分电风扇只有手动调速,加上一个定时器,其功能比较单一,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。如果能使电风扇处于两种不同的工作模式,模式一能对风扇实现手动控制,进行定时设置和档位调节,模式二具有对环境进行检测的功能,根据实时环境温度进行风速自动调节和当房间里面没有人时能自动的关闭电风扇,使风扇处于待机状态,当有人进入时自动开启并启动定时器控制,这样一来就避免了上述的不足。本次设计就是围绕这些方面对现有电风扇进行改进。 1 方案设计与论证 本设计能对风扇实现手动控制,进行定时设置和档位调节,同时具有对环境进行检测的功能,根据实时环境温度进行风速自动调节和当房间里面没有人时能自动的关闭电风扇,使风扇处于待机状态,当有人进入时自动开启并启动定时器控制。 1.1 遥控设计方案与论证 1.1.1 超声波遥控方案 超声波传感器是运用超声波的特质发明出来的一种传感器。超声波的振动频率高于声波,是通过换能晶片在电压的激励下出现振动 而产生的,其有波长短、频率高、方向性好、绕射现象小、可以成为射线定向传播

单片机课程设计八位竞赛抢答器的设计

单片机原理及接口技术 课程设计 八位竞赛抢答器的设计 姓名: 学号: 指导教师: 院系(部所):机电工程学院 专业:机械设计制造及其自动化 完成日期:2012年12月20日

摘要 随着单子技术的飞速发展,基于单片机的控制系统已广泛应用与工业、农业、电力、电子、智能楼宇等行业,微型计算机作为嵌入式控制系统的主体与核心,代替了传统的控制系统的常规电子线路。本设计是以八路抢答为基本理念。考虑到需设定限时回答的功能呢个,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间和抢答的号码。用开关做键盘输出,扬声器发生提示,并且有警告灯显示,正常工作时为绿灯,报警或抢答等违规信号时则出现红灯。 关键词:AT89C51;抢答器;计数器

目录 1概述 (1) 2 抢答器的硬件系统设计 (3) 2.1 系统整体方案设计 (3) 2.2 系统硬件组成 (3) 3 最小系统与主控模块的设计与实现 (5) 3.1 单片机最小硬件系统的组成简述 (5) 3.1.1 电源电路 (5) 3.1.2 时钟电路 (6) 3.1.3 复位电路 (7) 3.2 主流程图 (8) 4 模块的设计与实现 (9) 4.1 抢答电路的设计 (9) 4.2 锁存器74HC573 (9) 4.3 主持人控制电路与扬声器的设计...................... 错误!未定义书签。 4.4 显示电路的设计.................................... 错误!未定义书签。 5 软件的设计 (12) 5.1语言选择 (12) 5.2软件总体设计 (12) 总结 (13) 参考文献 (15) 致谢 (16) 附录 (17)

相关主题