| |
|
开发:
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例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |