IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 基于STC89C52单片机的智能风扇 -> 正文阅读

[嵌入式]基于STC89C52单片机的智能风扇

1.设计要求

????????????????利用直流电机充当风扇,

????????????????键盘可以调整风扇的转速,

????????????????数码管显示风扇的转速。

2.设计概述

????????本实验所用芯片为STC89C52,所用硬件是由华清远见基于STC89C52开发的智能小车,该小车具有流水灯模块、蜂鸣器模块、独立键盘模块、矩阵键盘模块等。本实验使用直流电机充当电风扇,使用中断方式控制风扇启动与停止,独立键盘模块的s4可以控制风扇启动,档位加一,s5可以关闭风扇,即无论风扇当前处于哪个档位都能马上关闭风扇,此外,共阴极数码管会实时显示风扇当前的档位,即转速。风扇从0档开始,共十个档位,其中0档位关闭状态,风扇不启动,数码管显示0,9档为最高档,风扇转速最快,数码管显示9。

3、原理图以及线路连接

? ? ? ? 本实验要使用到底板的电机模块,所以要连接线路,这里由于使用的是之前循迹小车的函数模块,所以在软件使用sbit位命名时,六个位全部要命名,否则会报错,但线路连接时其他的位都不要用到,所以只需要连接使用的几个位即可,电机以及数码管的具体原理会在软件设计中详细说明,具体连接方式如下:

J10-EN2接C52-P1.5???????????????????????//EN2为右电机的使能端,只有当EN2为1时,右电机才能启动

J10-IN3接C52-P1.6????????????????????????//IN3控制右电机正转,当IN3为1,IN4为0时,左电机正转

J10-IN4接C52-P1.7????????????????????????//IN4控制右电机反转,当IN4为1,IN3为0时,左电机反转

电机驱动模块原理图

数码管模块原理图

4.软件设计?

电机模块

????????电机为直流电机,当使能端开启,IN1为高电平,IN2为低电平时,电流由IN1流向IN2,电机反向转动,当电流流向改变,即IN1为低电平,IN2为高电平时,电流由IN2流向IN1,电流流向相反,电机转向也相反。????????

这里使用的是循迹小车的左转函数以及停止函数,使用有电机模拟风扇,当左转函数运行时,电流由IN3流向IN4,电机正转,即风扇转动。

数码管模块

? ? ? ? 数码管模块由两个数码管锁存器以及8个八位共阴极数码管组成。

? ? ? ? 两个数码管锁存器的使能端分别为WELA和DULA

?

其中WELA为位选择使能端,当WELA为1时,可通过端口P0向寄存器输入数据选择数码管,如图,当WELA为1时,将P0口0位置0,即选择0号数码管,选择完毕之后要讲输入关掉,即WELA = 0;

DULA为数据输入使能端,当DULA为1时,通过端口P0向寄存器输入数据,如图,当DULA为1时,向P0口输入数据,P0口输入数据对应数据已经给出,如0x3F对应“ 0 ”。输入完毕之后关闭输入,DULA = 0。

独立按键模块

一般按键对于输入时机把控严格,所以选用高效的中断按键。由于前面PWM也使用了中断,所以要使按键输入有效,要使INT0和INT1优先级高于定时器中断。

定时器以及中断相关初始化

?各中断函数设计

?定时器中断,用PWM控制转速,数码管显示相应档位。

外部中断0,INT0:当按键s4按下,并判断不是误触且没有达到最高档位时,档位+1,当达到最高档位时输入无效。

外部中断1,INT1:当按键s5按下时,档位置0,即关闭风扇,数码管显示0.

5.总结

? ? ? ? 本实验采用中断按键方式,相对于一般按键,中断按键具有灵敏度高的优势,也因为小车中断按键稀少,所以不能自由调制档位。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:51:02  更:2021-08-23 16:52:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:13:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码