设为首页
收藏本站
找回密码
开启辅助访问
登录
注册
只需一步,快速开始
首页
BBS
在线充值
搜索
工控币获得方法
联系方式
搜索
搜索
本版
帖子
用户
工控论坛
»
首页
›
电子技术
›
EDA设计仿真
›
51单片机车辆超载检测仿真程序
返回列表
发新帖
51单片机车辆超载检测仿真程序
[复制链接]
1
|
0
|
2020-2-1 23:40:44
|
显示全部楼层
|
阅读模式
仿真文件和c语言源码
单片机源程序如下:
车辆超载检测仿真.rar
(197.03 KB, 售价: 1 工控币)
2020-2-1 23:39 上传
点击文件名下载附件
#include <reg52.h>
#include <intrins.h>
#include <math.h>
#include <ad.h>
#define uchar unsigned char
#define uint unsigned int
#define ulong long
uchar code zifux[]="0123456789abcdef";
uchar code zifu0[]=" Overload test ";
uchar code zifu1[]=" parameter set" ;
sbit key4=P2^3; //-
sbit key5=P2^4; //+
sbit key6=P2^5; //moshi
//-----------------------------
sbit led2=P0^1; //灯
sbit led3=P0^2; //灯
sbit buz=P2^0;
//模式
uchar moshi=0;
uchar run=3;
uchar runled=0;
uchar timel,timeh;
uchar a_a;
//次数
uint num=0;
uint time=1;
uint t=0;
uint t1=0;
uint ctime=1000;
uint R_flag=0;
uint C_flag=0;
uint f=1;
uint s1=0;
uint ff=0;
uint tt=1;
ulong ad;
#include "1602.h"
//#include "eepom52.h"
void xianshi0()
{
//Weight---------
LCD1602_string(1,1,zifu0);
ad= adc0832(0);
ad=ad*4000/255;
lcd1602_adr(0x46);
lcd1602_writenumber('w');
lcd1602_writenumber(':');
lcd1602_writenumber(0x30+ad/1000);
lcd1602_writenumber(0x30+ad%1000/100);
lcd1602_writenumber(0x30+ad%100/10);
lcd1602_writenumber(0x30+ad%10);
lcd1602_writenumber('k');
lcd1602_writenumber('g');
//Count--------
lcd1602_adr(0x40);
lcd1602_writenumber('c');
lcd1602_writenumber(':');
lcd1602_writenumber(0x30+num%100/10);
lcd1602_writenumber(0x30+num%10);
}
void xianshi1()
{
LCD1602_string(1,1,zifu1);
//Weight---------
lcd1602_adr(0x46);
lcd1602_writenumber('w');
lcd1602_writenumber(':');
lcd1602_writenumber(0x30+ctime/1000);
lcd1602_writenumber(0x30+ctime%1000/100);
lcd1602_writenumber(0x30+ctime%100/10);
lcd1602_writenumber(0x30+ctime%10);
lcd1602_writenumber('k');
lcd1602_writenumber('g');
lcd1602_adr(0x4e); lcd1602_writenumber(' ');
//Count---------
lcd1602_adr(0x40);
lcd1602_writenumber('c');
lcd1602_writenumber(':');
lcd1602_writenumber(0x30+time%100/10);
lcd1602_writenumber(0x30+time%10);
lcd1602_adr(0x44); lcd1602_writenumber(' ');
}
//控制---------------------------------
void ctrl()
{
//**********************************************************
if(moshi==0)
{
//开始
{
runled=1;
IT0=1; //INT0 中断允许
EX0=1; //INT0
//------INT1 中断允许-------
IT1=1; //INT1 中断允许
EX1=1; //INT1
}
}
if(key6==0)
{
moshi=moshi+1;
if(moshi==2){lcd1602_adr(0x44); lcd1602_writenumber('<');}
if(moshi==3){lcd1602_adr(0x4e); lcd1602_writenumber('<');}
if(moshi==4) moshi=0; while(key6==0);
}
//人数设置
if((key4==0)&&(moshi==2))
{
lcd1602_adr(0x44); lcd1602_writenumber('<');
if(time<99)time=time+1; while(key4==0);
}
if((key5==0)&&(moshi==2))
{
lcd1602_adr(0x44); lcd1602_writenumber('<');
if(time>0) time=time-1; while(key5==0);
}
//重量设置
if((key4==0)&&(moshi==3))
{
lcd1602_adr(0x4e); lcd1602_writenumber('<');
if(ctime<4000)ctime=ctime+100;while(key4==0);
}
if((key5==0)&&(moshi==3))
{
lcd1602_adr(0x4e); lcd1602_writenumber('<');
if(ctime>0)ctime=ctime-100; while(key5==0);
}
}
//主函数
void main()
{
_delay_ms(10);
// led2=0;led1=1;
//初始化
lcd1602_init();
LCD1602_string(1,1,zifux);
LCD1602_string(1,1,zifu0);
//------INT0 中断允许-------
IT0=1; //INT0 中断允许
EX0=1; //INT0
//------INT1 中断允许-------
IT1=1; //INT1 中断允许
EX1=1; //INT1
//使能中断
EA=1;
num=0;
while(1)
{
if(moshi==0)xianshi0();
if(moshi>0) xianshi1();
ctrl();
if(C_flag==1)
{
led3=0;
_delay_ms(500);
_delay_ms(500);
_delay_ms(500);
led3=1;
C_flag=0;
}
if(R_flag==1)
{
led2=0;
_delay_ms(500);
_delay_ms(500);
_delay_ms(500);
led2=1;
R_flag=0;
}
if((num>time)||(ad>ctime)){buz=0;}
else {buz=1; }
}
}
//----INT0 中断函数
void EX_INT0() interrupt 0
{
//功能1
if(runled==1)
{
t=1;
if((t1==1))
{
num=num+1;
t1=0;
t=0;
R_flag=1;
ff=1;
}
if(num==ctime){f++;ff=0;}
}
}
//----INT1 中断函数
void EX_INT1() interrupt 2
{
if(runled==1)
{
t1=1;
if(num==ctime)
{
s1++;
if(f>s1)
{
ff=1;
s1=0;
f=0;
}
}
if((t==1)&&(num>0)&&(ff==1))
{
num=num-1;
t1=0;t=0;
C_flag=1;
}
}
}
复制代码
超载
,
51单片机
,
proteus
相关帖子
•
基于51单片机数字电压表 程序 原理图 pcb 仿真文件 论文
•
51单片机采集温度通过串口发送到labview上位机采集曲线显示
•
LabVIEW读取和显示温度曲线 51单片机做下位机
•
51单片机交通信号灯 内含程序源码及Proteus仿真电路图
•
远程果蔬工厂监控系统设计 LabVIEW+51单片机程序
•
VB上位机设置时间 51单片机DS1302时钟的proteus仿真程序
•
C#上位机源程和51单片机实现控制电机加速减速正反转
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
coolice
436
主题
443
帖子
366
积分
初级会员
初级会员, 积分 366, 距离下一级还需 134 积分
初级会员, 积分 366, 距离下一级还需 134 积分
工控币
366
加好友
发消息
回复楼主
返回列表
电子技术综合讨论
单片机嵌入式
EDA设计仿真
STM32/8
51单片机
上位机开发及系统管理
Labview
Multisim仿真
图文推荐
西门子1200plc与RKC温控模组com-ml profinet通讯gsd 程序 文档
2021-02-24
PLC-LAB-非标自动化2D建模仿真软件 中文说明和操作演示视频
2021-02-15
组态王机械手加反应罐监控系统 工程源文件与设计文档
2021-02-04
太阳能翻板追日控制 采用s7-200plc与光照度模块modbus通信
2021-02-01
基于51单片机数字电压表 程序 原理图 pcb 仿真文件 论文
2021-01-26
热门排行
1
放大器Multisim仿真 放大倍数可调20-200倍
2
克拉波振荡器Multisim仿真电路图
3
基于Multisim的十字路口交通管理控制器的设
4
74LS90简易电子钟的Multisim仿真设计与实现
5
欧姆龙西门子松下台达三菱施耐德各种PLC编
6
EcoStruxure Control Expert V15.0下载
7
基于labview的串口助手,包含源代码。具有
8
新人报道第二天
9
AB PLC RSLogix 5000 V20.04 有授权文件
10
小萌新初来咋到