草庐IT

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

51单片机定时器中断TMOD

最近在学定时器中断TMOD,写程序时,要对定时器进行配置对TMOD进行赋值时,拌了好久。。。。如何根据所用的   定时器0/1, 工作方式0/1/2/3   对TMOD赋值呢?我们知道:1.TMOD长这样: 由八位组成,前四位是T1的参数;后四位是T0的参数;GATE和C/T'不用多讲,2.M1和M0长这样: 例如TMOD=0x01(16进制)=00000001,可见前4位为0.后四位是1,可见用的是T0,T0的数值是0001;查表可知是方式1.,完毕打卡:今天是学习51单片机的第三天 

51单片机静态数码管显示

51单片机静态数码管显示数码管介绍数码管是一种简单、廉价的显示器,是由多个发光二极管封装在一起组成“8”字型的器件。 数码管引脚定义数码管从上右下左中有ABCDEFGDP,共10个引脚,其中3、8号引脚是连接到所有二极管的阴极,A二级管对应7号和38号引脚,B二极管对应6号和38号引脚。所有阴极连接到一起的叫共阴数码管。所有阳极连接到一起的叫共阳数码管。单数码管 四个一体数码管四个一体数码管的每个数码管的共阴或共阳极连接到一起,占用一个引脚。其他二极管引脚的每段对应的连接到一起,占用8个引脚。  动态数码管显示四位一体的数码管每一时刻4个位置的数字只能同时显示相同的数字,我们可以利用人眼时间差

C51单片机实现呼吸灯

   呼吸灯的效果是灯的亮度由暗缓慢变亮再缓慢变暗。   实现思路是改变小灯亮与暗在单位周期的占空比。如下图具体代码如下:#includetypedefunsignedintu16;typedefunsignedcharu8;sbitLED=P2^0;voiddelay(u16i){ while(i--);}voidmain(){u16i; while(1) { for(i=10;i=10;i=i-10) { LED=0; //亮 delay(i); LED=1;//灭 delay(2000-i); } //呼吸灯由亮变暗 } }