草庐IT

51单片机PWM(定时器)

目录前言一、PWM的介绍二、在定时器中配置PWM三、代码 总结前言    PWM普遍应用于惯性系统,我们知道单片机几乎只能输出“1”和“0”两种状态,即开和关,想要输出模拟量是不太容易实现的,那么怎样才能使单片机输出平滑的线性信号呢?没接触过PWM的小伙伴可能第一时间想到的就是高中时学过的滑动电位器,利用欧姆定律调整阻值而改变电流,但这种方法精度低,效率低,功耗高,故障率也高,于是聪明的人们发明出了PWM,它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中,如呼吸灯,电机控速、开关电源等。一、PWM的介绍    PWM(Pul

基于51单片机的7键电子琴音乐播放器proteus

本设计仅供参考基于51单片机的7键电子琴音乐播放器proteus(仿真+源码+原理图)原理图:AltiumDesigner仿真图proteus7.8程序编译器:keil4/keil5编程语言:C语言编号C0036有需要学习可以点击下方链接下载资料下载链接设计介绍:本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路

数字电路硬件设计系列(五)之AT89C51/C52最小系统设计

针对设计过程中的问题,如有疑问,欢迎留言评论!点我返回目录1简介AT89C51/C52是指两个系列的产品,具体包含AT89C51、AT89C52,但是最小系统的组成基本上相差不大。最小系统通常包括:电源、复位、时钟、程序下载。2最小系统分析讲解内容以AT89C52为例,对AT89C52最小系统进行详细讲解。2.1电源设计与STM32不同,AT89C52不仅可以3.3V供电,还能使用5V进行供电。通常情况下,单片机的供电时5V。其中EA为高时,选择内部程序存储。2.2复位电路设计与STM32不同,AT89C52采用的高电平复位。系统正常工作时,复位管脚为低电平,系统复位时,将复位管脚拉高,整个系

51单片机DS18B20温度传感器使用及数码管温度计、LCD1602温度显示代码详解

温馨提示:读者若要彻底理解并会灵活使用DS18B20温度传感器,请详细阅读中文手册,并且对照代码注释充分分析代码。请不要觉得中文手册内容繁多!如能静心分析,定能深有体会,获益匪浅!一、DS18B20中文手册(节选)主函数操作顺序(执行序列)功能指令数码管温度计详解代码如下:#include#include#defineMAIN_Fosc11059200UL//宏定义主时钟HZ/*====================================自定义类型名====================================*/typedefunsignedcharINT8U;type

基于51单片机hc-05,hc-06蓝牙传送数据到手机APP

项目场景:    通过蓝牙芯片(HC-05)与手机APP通信,每隔1s(自己可设定)传输一批传感器数据   最近在封装一些传感器的程序,在通过蓝牙连接手机调试数据的时候遇到的一点小问题。蓝牙的介绍网上有很多,这里就不说。把51代码丢出来供大家移植。问题描述通过蓝牙发送浮点型、整型等变量数据,但是在网上找了很多,大多都是发送单个字符和字符串的。解决方案:上代码:/**************************************************************************************实验现象:下载程序后打开串口调试助手,将波特率设置为9600,这

基于51单片机的温度报警器

设计任务及要求设计任务:以51单片机为核心,设计和制作一个温度报警器,能在LCD上显示环境的温度与希望温度上下限阀值,并能设置希望温度上下限阀值,系统上电的时候显示的是当前环境温度和设定的温度阀值,通过按键来修改温度上下限阀值,再次上电时保持上一次的温度设置。根据温度传感器测得的温度做如下处理:温度当温度低于设定下限温度时,蜂鸣器发出报警声和绿光报警,并且通过继电器控制加热设备提升温度至正常温度,然后加热设备停止工作;当温度高于设定上限温度时,蜂鸣器发出报警声和红光报警,并且通过继电器控制散热设备降低温度至正常温度,然后散热设备停止工作。设计要求:(1)确定系统设计方案;(2)进行系统的硬件设

51单片机制作简易数字电压表

首先打开proteus软件导入各个元器件,并连线。 接下来介绍下adc0808的导入方法 频率发生器的导入方法: 接下来就要编写c程序了,代码都是经过测试的,可以方型复制使用。#include"reg52.h"//引入头文件#defineuintunsignedint//把无符号整型简写成uintsbitSTART=P3^0;//START接到P3.0口sbitEOC=P3^1;//EOC接到P3.1口sbitOE=P3^2;//OE接到P3.2口sbitRS=P3^3;//RS接到P3.3口sbitRW=P3^4;//RW接到P3.4口sbitE=P3^5;//E接到P3.5口uintdia

【Proteus仿真】【51单片机】声光控节能灯设计

文章目录一、功能简介二、软件设计三、实验现象联系作者一、功能简介本项目使用Proteus8仿真51单片机控制器,使用人体红外传感器、声音传感器、光线传感器模块,PCF8591ADC模块、LED灯等。系统运行后,声/光/红外同时控制灯亮灭,光敏控制灯在白天不亮,只在晚上声控检测到声音或红外检测到人靠近时灯亮,声音消失或人离开后延时5秒灯熄灭。二、软件设计/*作者:嗨小易(QQ:3443792007)*///系统参数初始化voidsys_parm_init(void){ sys_ctrl.light=0; sys_ctrl.flag=0; sys_ctrl.sec=0; sys_ctrl.led_

51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

1、主要功能该系统由AT89C51单片机+数码管模块+LED指示灯模块+按键模块构成。利用51单片机实现超声波测距功能。利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,单片机检测到这个负跳变信号后,停止内部计时器计时,读取时间,计算距离,测量结果输出给数码管显示。同时可以通过按键设定报警距离,如果距离过大或者过小,蜂鸣器都会报警。可实现基本功能:1、超声波测量距离按键功能:1、设置报警值的上限2、设置报

基于51单片机的矩阵键盘(线反转法)

1.矩阵键盘简介矩阵键盘使用的方法与独立按键类似,但是比独立按键节省I/O,同时使用方法变得相对复杂了,首先展示硬件连接。上图所示就是4X4矩阵键盘的常见接法,按行来看,每个按键的左端接在一起,按列来看,每个按键的右端接在一起,共占用8个I/O,接到51单片机的P1端口。2.代码解释对于矩阵键盘,常用的方法有两种,一个是线反转法,另一个是行列扫描法,本文介绍线反转法。首先插入模块化编程编程的内容,新建两个文件命名为keyboard.h与keyboard.c并添加到工程中,然后在h文件中定义一个宏,便于与硬件连接发生改变时而进行代码的修改。编程思路,首先给矩阵键盘的端口Matrixkey_Por