推荐阅读最新更新时间:2024-03-16 14:42
如何利用51单片机实现一种超声波测距功能呢
利用51单片机实现超声波测距功能,利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波的反射波时,接收电路输出端产生一个负跳变,单片机检测到这个负跳变信号后,停止内部计时器计时,读取时间,计算距离,测量结果输出给LCD显示。 1.系统电路图 超声波测距仪由单片机AT89C51、超声波电路和显示电路还有警报电路,按键控制等组成,如图所示。单片机选用AT89C51,采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P3.5端口输出超声波换能器所需的40kHz的
[单片机]
基于AT89C2051单片机的纺纱断线自动检测系统的设计
引言 纺纱机器在绕线过程中,判断细线是否断线是十分重要,因此纺纱断线检测装置是根据实际需要应运而生的产品,它能对纺纱过程进行断线检测和监控。本文就根据实际需要设计了一多功能纺纱断线检测控制装置,能够自动检测纱断情况,并且在断纱时,停止电机转动,并进行报警,提醒工作人员,方便工作人员进行故障处理。该装置能给纺纱工带来无限的方便,免去了纺纱工一直观察纱线状态的麻烦,大大地为纺纱工减少了劳动强度,同时也提高了产品的质量,并且也给商家带来更大的价值。同时该装置不仅可以应用于纺纱机器,还可以用于生产类似纱线之类的某些生产厂家。 1 系统功能 基于纺纱断线检测装置的功能要求,纺纱断线检测控制装置的电路主要由以AT89C2051为核心的单片
[单片机]
基于51单片机的各种花样的流水灯c51程序
/*----------------------------------------------- 功能:流水灯对称移动闪烁(双闪烁) ------------------------------------------------*/ #include REG52.H #define uint unsigned int void delay(uint); main() { uint comp1=0xfe; uint comp2=0x80; P1=0x7e; delay(30000); while(1) { P1=0xff; comp1 =1;
[单片机]
ARM开发之用linux通用GPIO接口宏函数操作IO口
ARM开发板:S5PV210 驱动步骤: 1.定义一个cdev设备结构体变量 2.给cdev申请设备号 3.定义一个文件操作集 4.设备初始化 5.注册设备进内核 6.申请GPIO口 GPIO相关函数接口: 1.gpio_request(引脚,给引脚的名字) ----申请GPIO口 第一个参数: 在内核代码 \arch\arm\mach-s5pv210\include\mach\gpio.h 中有定义,如下图(部分) 如GPJ2寄存器的第一个引脚,就是 S5PV210_GPJ2(0) 第二个参数: 为管脚起一个名字而已。 例如: 申请GPJ2CON
[单片机]
利用MCS51单片机驱动步进电机电路及程序
在这里介绍一下用51单片机驱动步进电机的方法。 这款步进电机的驱动电压12V,步进角为 7.5度 . 一圈 360 度 , 需要 48 个脉冲完成!!! 该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。 采用51驱动ULN2003的方法进行驱动。 ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,大家可自行加大驱动电压到12V。 ;****************************************************************** ;*******************
[单片机]
51单片机学习笔记:使用DS1302芯片制作电子钟
百度ds1302 写道 DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或V
[单片机]
51单片机STC89C52控制LED闪烁(将延时程序写成子函数有形参)
/*-----------------------包含头文件区域-------------------------*/ #include reg52.h //单片机头文件 /*-----------------------端口/引脚定义区域----------------------*/ sbit LED=P2^0; //位定义P2.0引脚名为LED /*-----------------------函数声明区域---------------------------*/ void delay(unsigned int xms);//延时函数声明 /*-----------------------主函数区域-----
[单片机]
51单片机控制LCD12864显示汉字
程序: #include reg52.h #define DATA_PORT P0 sbit LCD12864_EN = P1^2; sbit LCD12864_RSET = P1^3; sbit LCD12864_RS = P1^0; sbit LCD12864_RW = P1^1; sbit LCD12864_PSB = P1^6; void delay(unsigned int xms) //延时// { unsigned char i,j; for(j = 0; j xms; j++) { for(i = 0;i 110;i++); } } bit LcdBus
[单片机]