草庐IT

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); } //呼吸灯由亮变暗 } }

51单片机--矩阵键盘

一、接线(4×4)将16个键盘排成4行4列,第一行将每个按键的一端连接在一起构成行线,第一列将每个按键的另一端连接在一起构成列线,所以共有4行4列8根线,连接到单片机的GPIO口。二、原理总体来说检测该键对应IO口是否为低电平。1、检测时,先将一行设为低电平,其余几行为高电平。2、然后立即轮流检测一次各列是否为低电平,若检测到某一列为低电平,可以确定是某行某列的按键,设置此按键的键值。3、用同样的方法轮流设置各行为低电平,再轮流检测各列是否为低电平,这样就可以检测完所有的按键,扫描所有的键值。4、也可以设置列为低电平再检测各行。三、例子通过数码管,按键显示对应的键值,按键行接P3.0-P3.3

C51实现0到99数字显示

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、实验要求二、实验代码和原理图1.实验代码2.原理图总结一、实验要求用2位数码管显示计时时间,最小计时单位为“秒”,计时范围00~99s。当第1次按一下并松开计时功能键时,秒表开始计时并显示;第2次按一下并松开计时功能键时,停止计时,将计时的时间值送到数码管显示;如果计时到99s,将重新开始从0计时;第3次按一下并松开计时功能键,秒表清0。再次按一下计时功能键,则重复上述计时过程。二、实验代码和原理图1.实验代码#include"reg51.h"#defineuintunsignedintuintcount=0;stat

毕业设计 基于51单片机的电子秤设计(源码+硬件+论文)

文章目录0前言1主要功能2硬件设计(原理图)3核心软件设计4实现效果5最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是🚩毕业设计基于51单片机的电子秤设计(源码+硬件+论文)🥇学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:4分🧿项目分享:https://gitee.com/sinonfin/sharing1主要功能本系统采用STC89C52RC芯片为主要控

单片机设计_8路抢答器(AT89C51)

想要更多项目私wo!!!一、电路设计    此电路由AT89C51最小系统、四位数码管、蜂鸣器电路和按键模块组成。运行原理:        该抢答器电路可同时进行八路优先抢答。按键按下后,蜂鸣器发声,同时数码管显示优先抢答者的号码,抢答成功后,再按按键,显示不会改变,除非按主持人键。复位后,显示清零,可继续抢答。二、运行效果图 三、部分代码#include#defineucharunsignedchar#defineuintunsignedint//按键扫描,判断哪个人抢答voidkey(){ uintn,flag=1; n=2200; display(n); keep=1; i

51单片机制作简易密码锁

51单片机期末考试设计题目设计要求:设计具有16个按键和1个数码管显示的密码锁,具体要求:输入一位密码(为0~9,A~F之间的数字),密码输入正确显示“F”并将锁打开;否则显示“E”,继续保持锁定状态。基本要求:密码锁的基本功能如下:16个按键,分别代表数字0、1、2......9和英文字符A~F;密码在程序中事先设定为:“8”;系统上电时,数码管显示“-”,表示等待密码输入;密码输入正确时显示字符“F”约3s,并通过P3.0端口将锁打开;否则显示字符“E”约3s,继续保持锁定状态。原理图设计如下: 程序设计如下:#include"regx52.h" //此文件中定义了单片机的一些特殊功能