找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7369|回复: 14
收起左侧

智能家居系统 Proteus仿真设计代码不能运行,求大神指导

  [复制链接]
ID:596401 发表于 2019-8-11 22:05 | 显示全部楼层 |阅读模式
问题还很多,大家可以继续完善:
个人为电子竞赛所做的《智能家居系统Proteus仿真设计》,现分享给大家,共同学习学习!
整个设计由Proteus仿真完成。智能家居系统有以下几个模块组成:
(1)中央处理器模块
(2)窗帘控制系统
(3)温度监控系统
(4)门禁密码系统
(5)居室灯光控制系统
(6)居室照明系统
(7)烟雾火灾报警系统
(8)室内中央显示系统
(9)按键设置系统
(10)门禁开关系统
(11)网络通讯系统

原理图为:
智能家居.jpg

22.jpg


程序部分:
23.jpg


部分代码如下:
#include "DELAY.H"
#include "LATCH.H"
#include "DISPLAY.H"
#include "LCD1602.H"
#include "KEYSCAN.H"
#include "24C02.H"
#include "PCF8591.H"
#include "DS18B20.H"
#include "TIMER.H"


#define LedBright 0x00                 //明亮
#define LedNormal 0x64                 //一般
#define LedSleep  0xc8                 //睡眠
#define ledClose  0xff                 //关闭

uchar KeyNum;
uchar LED_flag;
uchar LED_DIS_1;
uint LightRes;
uchar code LED_Light_Mode[]="Choose ledlight mode";
uchar code LEDNum[] = "1  2  3";
uchar code LED_Control_Mode[]="Choose ledcontrol mode";
uchar code LED_Control_Follow[]="1:Hand     2:Auto";
enum {Hand,Auto} Control_Follow = Hand;
uchar code DisProgram[]="Mode      Status";
uchar code LED_Dis_One[]="LED       LedBright";
uchar code LED_Dis_Two[]="LED       LedNormal";
uchar code LED_Dis_Three[]="LED      LedSleep";
uchar Led_i = 0;
uchar Led_j = 0;
uchar LedOutputValue;
uchar Timer0Num;
void main()
{
        Init_TIME(0,0);
        ChooseChannel(0x01);
        Init_LCD();
        while(1)
        {
                KeyNum = KeyScan();
                if(KeyNum != 0xff)
                {
                        if(KeyNum == 4) {LED_flag = 1; Led_i++; LedOutputValue =  LedNormal;}
                        if(Led_i == 2)  {LED_flag = 0; Led_i = 0; Led_j = 0; LED_DIS_1 = 0;}

                        if(LED_flag && KeyNum == 1 )        {Led_j++; if(Led_j == 1)LedOutputValue =  LedBright;  LED_DIS_1 = 1;}
                        if(LED_flag && KeyNum == 2 )        {Led_j++; if(Led_j == 1)LedOutputValue =  LedNormal;  LED_DIS_1 = 1;}
                        if(LED_flag && KeyNum == 3 )        {Led_j++; if(Led_j == 1)LedOutputValue =  LedSleep;   LED_DIS_1 = 1;}

                }
                if(LED_flag && (LED_DIS_1 == 0))
                {
                        LCDPosition(1,LED_Light_Mode);
                        LCDPosition(2,LEDNum);        
                }
                if(LED_DIS_1 && (Led_j==1))
                {
                        LCDPosition(1,LED_Control_Mode);
                        LCDPosition(2,LED_Control_Follow);                                       
                }
                if((KeyNum == 1)&& (Led_j==2))          Control_Follow = Hand;
                if((KeyNum == 2)&& (Led_j==2))          Control_Follow = Auto;

//                if(Control_Follow == Hand) DA_Sent(LedOutputValue);
                if(Control_Follow == Auto)
                {
                        TR0 = 1;
                        if(LightRes > 180)         LedOutputValue = LedSleep;
                        else if(LightRes > 100 && LightRes < 180 )        LedOutputValue = LedNormal;
                        else          LedOutputValue = LedBright;
                }

                if(Led_j==2)
                {
                        LCDPosition(1,DisProgram);
                        switch(LedOutputValue)
                        {
                                case LedBright: LCDPosition(2,LED_Dis_One);            break;
                                case LedNormal:        LCDPosition(2,LED_Dis_Two);            break;
                                case LedSleep:        LCDPosition(2,LED_Dis_Three);        break;

                        }        
                }
                DA_Sent(LedOutputValue);
//                LCDPosition(1,LED_Light_Mode);        
        }               
}
void Timer0() interrupt 1
{
        TH0 = (65536-50000)/256;
        TL0 = (65536 - 50000)%256;
        Timer0Num++;
        if(Timer0Num == 20)
        {
                Timer0Num = 0;
                LightRes = AD_Receive();         
        }
}

仿真文件和程序见附件:
24.jpg

不能运行,仿真没有反应,求大神指导: 仿真程序有错误,求大神帮助.7z (63.72 KB, 下载次数: 285)
回复

使用道具 举报

ID:549815 发表于 2019-8-12 18:52 | 显示全部楼层
仿真无法运行 不知为何
回复

使用道具 举报

ID:603234 发表于 2019-8-24 18:39 | 显示全部楼层
内容详实 但非常遗憾 无法仿真运行?
回复

使用道具 举报

ID:595055 发表于 2019-8-26 22:18 | 显示全部楼层
楼主程序是不是有点问题,在proteus中仿真按程序逻辑操作,不对
回复

使用道具 举报

ID:385637 发表于 2019-8-12 09:58 | 显示全部楼层
好东西呀,谢谢分享
回复

使用道具 举报

ID:596378 发表于 2019-8-12 10:27 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

ID:135835 发表于 2019-8-12 13:26 | 显示全部楼层
多谢楼主提供,学习了。
回复

使用道具 举报

ID:599361 发表于 2019-8-12 14:49 | 显示全部楼层
赞一个
回复

使用道具 举报

ID:549815 发表于 2019-8-12 16:10 | 显示全部楼层
感谢楼主,楼主是哪个省份的
回复

使用道具 举报

ID:77561 发表于 2020-2-13 22:49 | 显示全部楼层
谢谢,很好的资料
回复

使用道具 举报

ID:630903 发表于 2020-4-20 23:55 | 显示全部楼层
very good!
回复

使用道具 举报

ID:630903 发表于 2020-4-20 23:56 | 显示全部楼层

谢谢,很好的资料
回复

使用道具 举报

ID:417925 发表于 2020-6-13 13:02 | 显示全部楼层
仿真不了
回复

使用道具 举报

ID:318131 发表于 2020-7-22 16:37 | 显示全部楼层
各位大佬有解决仿真不能运行的方法吗
回复

使用道具 举报

ID:318131 发表于 2020-7-22 16:38 | 显示全部楼层
浪子天涯 发表于 2019-8-26 22:18
楼主程序是不是有点问题,在proteus中仿真按程序逻辑操作,不对

你好,有能解决这个仿真不能运行的方法吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表