草庐IT

47、基于51单片机万年历温度闹钟农历阳历LCD 12864显示系统设计

摘要本文介绍了基于STC89C52单片机的多功能电子万年历的硬件结构和软硬件设计方法。本设计由数据显示模块、温度采集模块、时间处理模块和调整设置模块四个模块组成。系统以STC89C52单片机为控制器,以串行时钟日历芯片DS1302记录日历和时间,它可以对年、月、日、时、分、秒进行计时,还具有闰年补偿等多种功能。温度采集选用DS18B20芯片,万年历采用直观的数字显示,数据显示采用12864A液晶显示模块,可以在LCD上同时显示年、月、日、周日、时、分、秒,还具有时间校准等功能。此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,具有广阔的市场前景。关键字:万年历温度计液晶显

单片机c51中断 — 中断键控流水灯

项目文件文件关于项目的内容知识点可以见专栏单片机原理及应用的第五章,中断 在第4章的实例2中,按键检测是采用查询法进行的,其流程图如图所示问题是这样的:由于查询法-按键查询、标志位修改及彩灯循环几个环节是串联关系,当CPU运行于彩灯时,将因不能及时检测按键状态,而使按键操作效果不灵敏。 解决这一问题的方法:利用外部中断检测按键的状态,一旦有按键动作发生,系统可立即更新标志位。这样就保证系统及时按新标志位值控制彩灯运行。为此需要对电路进行改造,加装一个4输入与门电路(输入端与p0并联),这样就能将按键闭合电平装化为INT0中断信号。就是A0~A3相当于P0.0~P0.3对应按键的端口如果按键按下

STC51单片机解码433M程序说明

最近需要用到433M的单片机解码,上网搜了一下。大部分的程序都是基于定时器定时检测。感觉逻辑不够严谨。对于新手理解起来也比较困难。查看EV1527手册我是用的240K电阻。得到了每个数据宽度是1.29MS,每个数据宽度为16个LCK,每个LCK宽度大约为80us,可以算出同步位的高电平时间大约为:320us,低电平持续时间为:9.9ms数据1的高电平持续时间为:960us, 数据1的低电平持续时间为320us数据0的高电平持续时间为:320us,数据0的低电平持续时间为960us。已经知道了数据0和1还有同步信号的持续时间,我们来说一下思路我首先开了一个us级的定时器,持续计数。不需要打开中断

STC51单片机学习9--DS18B20温度传感器

一、DS18B20DS18B20是Dallas半导体公司的一款数字温度传感器芯片;DS18B20是一款支持1-wire总线接口的温度传感器;DS18B20能测量的温度范围-55℃--125℃,精度是±0.5℃;DS18B20可以将分辨率设定为9到12位;DS18B20的工作电压范围3--5.5V二、DS18B20与STC89C51的连接单片机的P4.1引脚用来接DS18B20的数据引脚sbitDS=P4^1;三、DS18B20的内部构成以下是友台半导体的DS18B0结构图,内部有9个模块1、电源与寄生电源2、ROM:存DS18B20的系列号,也就是那个64位的编码,3、存储器控制逻辑4、Scr

A_A03_002 51(STC)单片机程序串口烧录

目录一、烧录软件 二、相关基础知识三、交流学习四、常用单片机系统板五、常用烧录工具1.CH3402.CP210X六、烧录步骤1.常用系统板1烧录(不带下载电路)2.自动烧录器3.常用系统板2烧录(带下载电路)七、注意事项一、烧录软件 STC-ISP软件下载 戳它跳转提取码:0t2w 二、相关基础知识CH340驱动下载与安装 戳它跳转CP2102驱动下载与安装 戳它跳转三、交流学习  安装过程如有疑问,可留言或者私聊交流四、常用单片机系统板  STC89C52RC系统板STC89C52RC系统板图片常用系统板1烧录(不带下载电路)常用系统板2烧录(带下载电路)五、常用烧录工具1.CH340   

基于51单片机的自制秒表

一、功能介绍        基于LCD1602显示屏的自制秒表,可完成计时,暂停,继续,清零功能二、程序设计 1、延时函数1.1、实现功能输入参数为延时时间长度,单位为毫秒,用于短暂延时1.2、设计原理从STC-ISP中生成的延时1ms的代码修改得到的延时任意时间的函数1.3、代码实现/***@brief延时函数*@param延迟的时间xms*@retval无*/voidDelay(unsignedintxms) //@12.000MHz{ unsignedchari,j;while(xms) { i=2; j=239; do { while(--j); }while(--i)

51单片机步进电机角度控制详解(免费提供代码+仿真)

51单片机步进电机控制详解目录51单片机步进电机控制详解一、步进电机基本介绍1.步进电机结构2.步进电机驱动二、硬件&仿真设计0.设计要求1.硬件设计显示模块输入模块步进电机模块2.仿真全图一览3.PCB设计三、软件设计1.显示模块LCD1602.hLCD1602.c2.输入模块Key.hKey.c3.步进电机模块Motor.hMotor.c4.数据整合Includes.hCommunal.hCommunal.c5.主函数main.c主界面最近角度设置界面标定角度设置界面最近角度调整界面标定角度调整界面设置界面四、工程下载一、步进电机基本介绍我个人认为,步进电机的基本原理和介绍看看其他博主的介

51单片机步进电机角度控制详解(免费提供代码+仿真)

51单片机步进电机控制详解目录51单片机步进电机控制详解一、步进电机基本介绍1.步进电机结构2.步进电机驱动二、硬件&仿真设计0.设计要求1.硬件设计显示模块输入模块步进电机模块2.仿真全图一览3.PCB设计三、软件设计1.显示模块LCD1602.hLCD1602.c2.输入模块Key.hKey.c3.步进电机模块Motor.hMotor.c4.数据整合Includes.hCommunal.hCommunal.c5.主函数main.c主界面最近角度设置界面标定角度设置界面最近角度调整界面标定角度调整界面设置界面四、工程下载一、步进电机基本介绍我个人认为,步进电机的基本原理和介绍看看其他博主的介

DS1302教程及proteus仿真(51和stm32)

DS1302是一款时钟芯片,能精确对年月日时分秒进行计算,并且能自动校准闰年和每个月的不同天数,下面从51和stm32两款单片机介绍其用法DS1302采用三线SPI通信 ,下图详细说明了各引脚的接线方式 DS1302使用的并不是标准的SPI通信,它的数据输入输出为同一根线。通信时序图如下图所示空闲状态时SCK为低电平,时钟信号的第一个沿开始传输数据,低位在前高位在后,每次通信前都需要将CE引脚拉高。值得注意的是DS1302输出的数据为BCD码,比如串行通信输出的16进制数据0x21,按照正常其转换为十进制为33,但DS1302输出的0x21就代表十进制数21。其他没有什么需要特别注意的。下面是

基于51单片机的温度报警系统

 功能:设计一个温度报警系统,可以设定温度上、下限的值,到达设定值时,蜂鸣器响;按键设定有设置、确定、取消、减少与增加功能,LCD1602实时显示相关温度信息设定界面:温度超过设定值,蜂鸣器响:温度超过设定值,蜂鸣器响:温度超过设定值​​​​​​温度低于设定值,蜂鸣器响:部分程序:#include#include"SETTEM.h"     //设置报警的上下限值头文件#include"Lcd1602.h"    //LCD显示模块功能头文件#include"DS18B20.h"    //DS18B02模块功能头文件#include"IntToChar.h"  //存放整型数转换为字符串头文