标题:
蓝桥杯单片机智能灌溉系统Proteus仿真+源程序 求帮助
[打印本页]
作者:
cao99
时间:
2019-9-25 12:49
标题:
蓝桥杯单片机智能灌溉系统Proteus仿真+源程序 求帮助
这是师傅叫我们做的蓝桥杯的题,用的是Proteus8和keil5;
单片机进阶
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png
(47.65 KB, 下载次数: 80)
下载附件
2019-9-26 15:54 上传
单片机源程序如下:
#include "supend.h"
#include "Nixie_tube.h"
#include "pcf8591.h"
#include "ds1320.h"
#include "key_bord.h"
#include "at24c02.h"
void Time_out();
void Decide();
void LED_A_M() ;
//------------------------------------------------------------------------------------------------------
u8 time[8]; //临时存储,时间,湿度值等 //手动/自动切换标志位
u8 V; //用于存储湿度值
bit K7,flag,K6,K4,K5,H,K; //标志位,H自动下蜂鸣器叫
bit set=0,Z; //set自动和手动切换,Z标志位
u8 X=50,Y; //X存储自动设定下的湿度值,Y蜂鸣器和继电器
//---------------------------------------定时器0中断服务函数---------------------------------------------
void Service1_function() interrupt 1
{
TR0=0;
TH0=(65536-500)/256;
TL0=(65536-500)%256; //数码管显示函数
keyscan(); //按键扫描函数
switch(Trg) //选择第几页
{
case 0x01:{K7=~K7;};break; //S7
case 0x02:{K6=~K6;};break; //S6
case 0x04:{K5=~K5;K=1;};break; //S5
case 0x08:{K4=~K4;K=0;};break; //S4
}
V=Pcf8591ReadByte(); //湿度测量函数
V=(V*100)/254; //湿度处理函数
Time_out(); //时间/湿度处理
Decide(); //
display();
LED_A_M() ;
TR0=1;
}
//---------------------------------------时间/湿度处理---------------------------------------------------------
void Time_out()
{
if(flag==0)
{
WriteSet1302(0x82,0x30);//分
WriteSet1302(0x84,0x08);//时
X=EEP_ReadChar(0x01);
flag=1;
}
if(set==0)
{
time[0]=ReadSet1302(0x85)>>4;
time[1]=ReadSet1302(0x85)&0x0f;
time[2]=10;
time[3]=ReadSet1302(0x83)>>4;
time[4]=ReadSet1302(0x83)&0x0f;
time[5]=11;
time[6]=V/10;
time[7]=V%10;
}
if(set==1)
{
time[0]=10;
time[1]=10;
time[2]=11;
time[3]=11;
time[4]=11;
time[5]=11;
time[6]=X/10;
time[7]=X%10;
}
}
//----------------------------------------判断蜂鸣器开关/存储X到at24c02-------------------------------------------------
void Decide()
{
if(K7==0)
{
if(K6==1) set=1;
if(K5==1) {K5=0;X++;Z=1;}
if(K4==1) {K4=0;X--;Z=1;}
if(K6==0) set=0;
if(Z==1) {Z=0;EEP_WriteChar(0x01,X);}
}
if(V>=X){H=0;}
if(V<X){H=1;}
}
//--------------------------------------led闪亮/继电器-------------------------------------------------------------------------
void LED_A_M() //手动/自动模式切换灯函数
{
if(K7==0) //自动
{
LED=0xfe;
if(H==1) BUZZER=0x50;
if(H==0) BUZZER=0x00;
}
if(K7==1) //手动
{
LED=0xfd;
if(K6==1)Y=Y|0x40;
if(K6==0)Y=Y&0xbf;
if(K==1){ Y=Y|0x10;}
if(K==0) {Y=Y&0xef;}
BUZZER=Y;
}
}
复制代码
仿真无法运行,求帮助:
智能灌溉.7z
(226.12 KB, 下载次数: 181)
2019-9-25 12:48 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
s360221867
时间:
2019-11-7 15:19
好样的 好好努力拿大奖
作者:
我嘞个去
时间:
2019-12-9 21:33
为什么我用8.0的打不开,
作者:
940135
时间:
2019-12-18 00:10
不错,谢谢分享
作者:
天边外丶
时间:
2020-4-27 20:53
不适用Proteus打开吗
作者:
fts
时间:
2020-5-30 18:39
940135 发表于 2019-12-18 00:10
不错,谢谢分享
你好,图看不清,能分开截图清楚点吗
作者:
二和一
时间:
2021-4-25 14:22
打不开呀
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1