基于单片机花式喷泉喷水池控制系统设计-单片机的简易电子钟加闹钟设计-51单片机车汽车流量检测电路系统-51单片机超声波三方向测距系统设计-基于51单片机超声波水位液位控制系统毕业设计

591基于单片机的花式喷泉喷水池控制系统设计

设计思路:

1.按下启动按钮,喷水装置即开始工作。按下停止按钮,则停止喷水。

2.“单步/连续”在单步位置时,喷水只运行一次;在连续位置时,运行一直继续。

3.方式选择开关用来选择喷水池的喷水花样,1-4号喷水管的工作方式选择如下:

①选择开关在位置“1’时。按下启动按钮后,4号喷水,延时2s后,3号也喷水,延时2s后,2号接着喷水,再延时2s,1号喷水,然后一起喷水15 s后停下。若在连续状态时,将继续循环下去。

②选择开关在位置“2”时。按下启动按钮后,1号喷水,延时2s后,2号喷水,延时2s后,3号接着喷水,再延时2s,4号喷水,这样,一起喷水30s后再停下。若在连续状态时,将继续循环下去。

③选择开关在位置“3”时。按下启动按钮后,1、3号同时喷水,延时3 s后,2、4号喷水,1、3号停止喷水;交替运行5次后,1-4号全喷水,30 s后停止。若在连续状态时,将继续循环下去。

④选择开关在位置“4”时。按下启动按钮后,喷水池1-4号水管的工作顺序为:

1—2—3—4按顺序延时2s喷水,然后一起喷水30s,1、2、3和4号分别延时2s停水,再延时1 s,由4—3—2—1反向顺序按2s顺序喷水,一起喷水30e后停止。若在连续状态时,将继续循环下去。

4.不论在什么工作方式下,按下停止按钮,喷水池将停止运行。

sbit DY = P0^0;
/*喷水灯*/
sbit G1 = P3^3;
sbit R2 = P3^4;
sbit R3 = P3^5;
sbit R4 = P3^6;
sbit R5 = P3^7;

void delay(void)   //误差 0us
{
    unsigned char a,b,c;
    for(c=151;c>0;c--)
        for(b=107;b>0;b--)
            for(a=48;a>0;a--);
    _nop_();  //if Keil,require use intrins.h
}

void delay15(void)   //误差 0us
{
    unsigned char a,b,c,n;
    for(c=142;c>0;c--)
        for(b=168;b>0;b--)
            for(a=250;a>0;a--);
    for(n=1;n>0;n--);
}
省略

  

592基于51单片机的简易电子钟加闹钟设计

基于51单片机的电子时钟的设计,从硬件和软件两个方面给出了具体实现过程。该时钟的设计采用功能分块的思想方法,将硬件电路划分为开关电路,显示驱动电路和数码管电路等若干独立模块,而软件的实现则由闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等组成。

文中给出了各个模块的电路图,并用Proteus的ISIS软件对电子时钟系统的各个功能进行了仿真,并给出了相应的仿真结果图像

uchar   hour=0,  minute=0,flag=0;
void display(uint ge,uint shi,uint fg,uint fs,uint xg,uint xs);
void fm();
uchar code wm[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar code dm[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbit ke1=P0^4;	// 正常调时
sbit ke2=P0^5;	 //正常调分
sbit ke4=P0^7;	  //正常调星期(也可不接)
sbit k3=P0^6;//闹钟调时
sbit k5=P0^3; // 闹钟调分
sbit k6=P0^2;//切换闹钟模式
void delay(uint s)
{       
     uint x,y;
     for(x=s;x>0;x--)
     for(y=110;y>0;y--);
 }
void timer()interrupt 1
{
     TH0=(65536-50000)/256;
     TL0=(65536-50000)%256;
     a++;
 }
void key()
{
    P0=0xfe;
		delay(10);
    if(ke1==0)
    {       
        k++;
        if(k==24)
           k=0;
     while(!ke1);

          }
    if(ke2==0)
 

584 基于51单片机车汽车流量检测电路系统设计

车流量检测系统功能概述:

        本系统采用AT89S52作为中央处理单元来采集光电传感器采集车辆类型数据,并计算大小中等车辆的数量,实现实时显示的功能。将当前路段的信息可以通过串口传输给控制中心、控制中心可以通过一线传回来的数据进行分析、实施交通管制。显示模块采用LCD1602来实时显示当前路段运行的状态,系统还设有输入键盘,可以实现手动控制发送数据。

车流量检测系统功能特点:

光电检测功能:能实现对进出路段的车辆进行数据采集。
状态显示:能够显示当前路段的车流量情况。
区分车辆大小:通过三个高低不同的光电对管,对过往车辆的车型大小进行检测并计数。
车流量检测系统是由微处理器单片机、电源模块、复位模块、光电传感模块及显示模块组成

	 init();
	 init_timer();
	 while(1)
	 {
	 	
			s_display();
			m_display();
			b_display();	

	}

}
void timer0()	interrupt 1
{
   	TH0   = 0xfe;
	TL0   = 0xfe;
   	if(gd1==0&&gd2==0&&gd3==0)
 {
	delayms(15);
	while(gd1==0&&gd2==0&&gd3==0);
	b++;   s++;m++;
  	
 }
if(gd1==0&&gd2==0&&gd3==1)
 {		
 	delayms(15);
	while(gd1==0&&gd2==0&&gd3==1);
	m++;  s++;
		
 }

  

 1107基于单片机巡迹避障智能小车系统、寻线、protues仿真c程序

设计思路:采用单片机作为主控电路,使用红外对管传感器,包含六个传感器监测循迹,使用避障传感器。其中两个电机作为小车的方向控制驱动。其中避障传感器、红外监测传感器来控制两个电机的转速,当速度不同时则实现转弯,例如左快右慢则为右转。

#include <reg52.h>
#define uchar	unsigned char
#define uint	unsigned int
uchar temp, signal, tt1, t0, t1, t2, t3, t4, t5, t6;

sbit	jia	= P3 ^ 1;
sbit	jian	= P3 ^ 2;

uchar time = 20;

void delay_1ms( uint d )
{
	uint i;
	while ( d-- )
		for ( i = 0; i < 75; i++ )
			;
}
  

1140​基于51单片机超声波三方向测距系统设计

设计思路,大家参考学习:

1、采用三个超声波测距,速度快,精度高,精度1毫米。

2、按键设置设置报警距离,上限和下限。
3、LCD1602液晶显示。
4、结构简洁,稳固,高效。

#include<reg52.h>
#include <intrins.h>
#include "LCD1602.h"
#include "STCEEPROM.h"
sbit  RX1 = P3^4;
sbit  RX2 = P3^5;
sbit  RX3 = P3^6;
sbit  TX = P3^7;

sbit LED = P2^1;
sbit SPEAK = P2^0;

sbit KEY1 = P1^3;
sbit KEY2 = P1^4;
sbit KEY3 = P1^5;

unsigned int  time=0;
unsigned int  timer=0;
unsigned int S=0,S1=0,S2=0,S3=0;
unsigned int SET_H=100,SET_L=10;
bit      flag =0;
unsigned char Table[3]={0};
unsigned char KEY_flag=0;
//延时函数
void Delay_ms(int jj)
{
	int ii;
	while(jj--)
		for(ii=0;ii<116;ii++);
}
void Conut(void)
{
	 time=TH0*256+TL0;
	 TH0=0;
	 TL0=0;

 【资源下载】下载地址:点击下载(1140) 

1141基于51单片机超声波水位液位控制系统LCD1602资料

电路设计思路:

1、采用超声波水位液位,速度快,精度高,精度1毫米。

2、按键设置设置报警高度,上限和下限。
3、LCD1602液晶显示。

#include<reg52.h>
#include <intrins.h>
#include "LCD1602.h"
#include "STCEEPROM.h"
sbit  RX = P3^6;  //定义超声波端口
sbit  TX = P3^7;

sbit LED = P2^0;  //LED
sbit SPEAK = P2^1; //蜂鸣器
sbit Motor = P2^2; //水泵

sbit KEY1 = P1^3;  //设置按键
sbit KEY2 = P1^4;  //加按键
sbit KEY3 = P1^5;  //减按键

unsigned int  time=0;//计时变量
unsigned int  timer=0;//计时变量
unsigned int S=0;//当前值
unsigned int SET_H=100,SET_L=10;//最高值和最低值
bit  flag =0; //测量标志位
unsigned char Table[5],Table1[5];//显示数组
unsigned char KEY_flag=0; //按键选择标志
//延时函数
void Delay_ms(int jj)  //延时函数
{
	int ii;	//延时变量
	while(jj--)//延时n毫秒
		for(ii=0;ii<116;ii++);//延时1毫秒
}
void Conut(void)	 //测量函数
	{
	 time=TH0*256+TL0;	 //距离计数
	 TH0=0;	 //定时器清零
	 TL0=0;	 //定时器清零
	
	 S=(time*1.87)/10;     //算出来是CM、转换
	 if((S>=7000)||flag==1) //超出测量范围显示“-”


​文章转自电设屋,资料百度网盘下载地址 https://www.aiesst.cn/share.html​  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值