基于51单片机的产品数量自动计量系统protues仿真
硬件设计
(末尾附文件)
代码设计
///*************************************************************************
///*************************************************************************
#include<reg52.h> ///包含头文件
#include<MAIN.h>
#include<lcd1602.h>//#define uint unsigned int
//#define uchar unsigned char
//#define ulong unsigned longsbit zheng = P1^0;
sbit fan = P1^1;
sbit ting = P1^2;
sbit jia = P1^3;
sbit jian = P1^4;
sbit clear = P1^5;
sbit bee = P1^6;
sbit pingzi = P1^7;
sbit PWM1 = P2^0;
sbit PWM2 = P2^1;
sbit ena = P2^2;
sbit max = P2^3;uint bottle=0;
uint box=0;
uint zhuansu[4]={0,0,0,0};
uint PZ[4]={0,0,0,0};
uchar str1[16]="bottle:00 box:00";
uchar str2[16]="speed:0000 ";
uchar time;
uchar count;
ulong zhuan;
flag=1;///*************************************************************************
/// MAIN函数
///功能:
///*************************************************************************
void main()
{timer_init();LCD_Init();ena=0;bee=0;max=1;while(1){cleardate();zhengz();fanz();tingz();jias();jians();LCD();pingshu();}
}
///*************************************************************************
/// 延时函数
///功能:
///*************************************************************************
void delay1(uint z)// 延时程序,zms.
{uint x,y;for(y=z;x>0;x--)for(y=110;y>0;y--);
}///*************************************************************************
/// 数据计算函数
///功能:
///*************************************************************************
void chuli()
{ zhuan=count*500/20;zhuansu[0]=(count*10/1000); //转换转速的千位 zhuansu[1]=(zhuan/100%10); //转换转速的百位 zhuansu[2]=(zhuan/10%10); //转换转速的十位zhuansu[3]=(zhuan%10); //转换转速的个位PZ[0]= (bottle/10%10); //瓶数十位PZ[1]= (bottle%10);//瓶数个位PZ[2]= (box/10%10);// 箱数十位PZ[3]= (box%10); // 箱数个位}///*************************************************************************
/// 清除数据函数
///功能:
///*************************************************************************
void cleardate()
{if(clear==0){delay1(2);if(clear==0){LCD_Clear();LCD_Init();bottle=0;box=0;chuli();}}
}///*************************************************************************
/// LCD显示函数
///功能:
///*************************************************************************void
void LCD()
{ LCD_Manifest(1,7,PZ[0]);LCD_Manifest(1,8,PZ[1]);LCD_Manifest(1,14,PZ[2]);LCD_Manifest(1,15,PZ[3]);LCD_Manifest(2,6,zhuansu[0]);LCD_Manifest(2,7,zhuansu[1]);LCD_Manifest(2,8,zhuansu[2]);LCD_Manifest(2,9,zhuansu[3]);}///*************************************************************************
/// 蜂鸣器控制函数
///功能:
///*************************************************************************
void beebee()
{bee=0;delay(100);bee=1;delay(100);bee=0;}//*************************************************************************
/// rs485发送
///功能:
///*************************************************************************
void rs485send(uchar date) //rs485发送
{SBUF=date;while(!TI);TI=0;
}void rs485open() //包装机rs485开启指令
{rs485send((uchar)0xAA);delay1(100);rs485send((uchar)0x33);delay1(100);rs485send((uchar)0xDD);delay1(100);
} void rs485stop() //包装机rs485停止指令
{rs485send((uchar)0xAA);delay1(100);rs485send((uchar)0x55);delay1(100);rs485send((uchar)0xFF);delay1(100);
}///*************************************************************************
///流水线控制
///功能:流水线瓶子数量测量,箱数测量及包装机控制
///*************************************************************************void pingshu()
{if(pingzi==1){delay1(2);if(pingzi==1){bottle+=1;if(bottle>51){ulong i;beebee();bottle=1;if(box<=99) {box+=1;}else box=0;delay1(100);rs485open();for(i=0;i<1000;i++){delay1(200);}rs485stop(); }chuli();}while(!pingzi);}
}
链接:https://pan.baidu.com/s/1aGwRBnZnbbwHAE15vE7l5g
提取码:yi1q
基于51单片机的产品数量自动计量系统protues仿真相关推荐
- 基于51单片机的公交站自动播报系统proteus仿真 程序原理图设计
硬件设计 (末尾附文件) 设计1: 该设计具有仿真图,LCD12864作为显示器,4个设置按键,具有led指示灯: 设计2: 该设计不具备仿真图,原理图如下所示: 设计1代码 #include < ...
- 【043】基于51单片机的篮球比赛积分计时系统Proteus仿真
一.压缩包资料内容 (1).基于51单片机的篮球比赛积分计时系统proteus仿真设计一份: (2).基于51单片机的篮球比赛积分计时系统proteus仿真设计keli源代码一份: (3).基于51单 ...
- 基于51单片机随机数自动摇号抽奖系统Proteus仿真
资料编号:165 下面是功能展示视频: 165-基于51单片机随机数自动摇号抽奖系统Proteus仿真(源码+仿真+全套资料) 功能讲解: 采用51单片机作为控制CPU,LCD1602显示相关数值 ...
- 基于51单片机的教室照明灯人数计数系统proteus仿真原理图PCB
功能: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时显示当前时间/温度/教室人数 2.自动模式下,在工作时间内(1824时),当环境黑暗时,根据进入教室的人数开启14盏灯,其余 ...
- 基于51单片机的ADC热敏电阻测温系统proteus仿真
硬件设计 (末尾附文件) 代码设计 #include <reg51.h> #include <intrins.h> #define uchar unsigned char #d ...
- 基于51单片机的多路热电偶测温系统proteus仿真原理图PCB
功能: 0.本系统采用STC89C52作为单片机 1.LCD1602液晶实时显示当前检测的温度值 2.循环显示多路热电偶检测值 3.当温度超过设定温度值一定范围以后,蜂鸣器报警,同时启动升温或降温装置 ...
- 基于51单片机的时钟电子秤称重系统proteus仿真原理图PCB
功能介绍: 0.本系统采用STC89C52作为单片机 1.采用LCD1602液晶显示当前时间和检测重量 2.按键可更改时间和设置超重报警阈值 3.采用HEX711和称重支架传感器获取物体重量信息,传入 ...
- 基于51单片机MAX487实现RS485多机通信protues仿真
硬件设计 (末尾附文件) 代码设计 #include<reg51.h> #include<string.h> #include "lcd.h" #defin ...
- 基于51单片机的指纹解锁自动开门
基于51单片机的指纹解锁自动开门 目录 基于51单片机的指纹解锁自动开门 一.设计说明 二.总体设计思路 三.系统硬件设计 四.系统软件设计 五. 实物制作与现象 七.体会 一.设计说明 指纹解锁:手 ...
最新文章
- 【Fragment】onActivityResult
- appium(3)-Running Tests
- 每天一个linux命令(58):telnet命令
- CVE-2015-1635(MS15-034 )进行DOS攻击
- 浏览器兼容的JS写法总结
- 白话算法(1) for循环不是随便写的
- 【论文阅读笔记】文本相似度分析方面
- 将OSM地图转化成OpenDRIVE
- xshell官网最新 中文,xshell
- 显示器刷新率测试软件144,【显示器】为什么“吃鸡”要选144Hz显示器?详解高刷新率显示器对FPS游戏的重要影响...
- 一份王者荣耀的英雄数据报告
- Dijkstra算法结合时间窗规划无冲突路径
- CSS实现单行、多行文本溢出显示省略号(…)
- 在抖音找罗永浩干掉辣条
- 生物特征模板保护技术
- 开关电源环路的零极点可以在反馈端补偿吗_开关电源的建模和环路补偿设计(1):小信号建模的基本概念和方法(一)...
- 华为鸿蒙和苹果ios哪个好,华为鸿蒙和安卓、IOS相比有哪些区别?最终还是输给了苹果!...
- 计算机课gif,信息技术五年级下册第7课 认识GIF动画教学设计及反思
- AI换脸为什么服务器没响应,AI换脸云服务器
- windows快捷键补充?
热门文章
- java redis session共享_Springboot+redis实现session共享
- linux下qt的文件打包,【最详细最完整】在Linux 下如何打包免安装的QT程序?
- 代记事本的各种文档编辑器使用感受
- notepad++使用正则表达式替换(保留部分内容不变)的方法
- 在Linux下将PNG和JPG批量互转的四种方法
- 高三学生凭神经网络论文研究网络暴力!00后也要出道了?
- ansible剧本批量安装nginx
- 西门子工业自动化资料大全 (2019年10月18日版)
- 基于java Restful API 的Sdnote服务端开发笔记
- 医院门诊管理系统数据库设计