找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1196|回复: 3
打印 上一主题 下一主题
收起左侧

求助,求助,本来想做个自动换量程电压表的。然后仿真遇到了问题

[复制链接]
跳转到指定楼层
楼主
本来想做一个基于stc15单片机0-20v自动换量程电压表的,程序写好了在keil5里能正常编译。一仿真就出感叹号,Proteus卡死。
程序如下:
#include <stc15f2k60s2.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code71[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar code72[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
uchar wei[4]={0xfe,0xfd,0xfb,0xf7};//weixuan
unsigned char flag;
int f=0;
uint l=0;
void delay(uint ms)
{
        uint i,j;
        for(i=ms;i>0;i--)
        for(j=110;j>0;j--);
}
void initial()
{
        P1M1=0x10;
        P1M0=0x10;
        P2M1=0x00;
        P2M0=0x00;
        P3M1=0x00;
        P3M0=0x00;
        P4M1=0x00;
        P4M0=0x00;
        P5M1=0x00;
        P5M0=0x00;
        P0=0x00;
}
void AD()
{
        int f=0;
        uchar status;
          P1ASF=0x10;
    ADC_CONTR=0x84;
          delay(100);
          ADC_CONTR=0x8c;
                _nop_();
                _nop_();
                _nop_();
                _nop_();
          status=0;
                while(status==0)
                {
                        status=ADC_CONTR&0x10;
                }
                ADC_CONTR=0x84;
                f=ADC_RES*4+ADC_RESL;
}
void panduan()
{
        l=f*49*5;
        if(l>200000)
        {P0=0x80;}
        else
        {
        if(l>50000)
        {
                P0=0x01;
        flag=1;
        }
        else
        {
                P0=0x00;
        flag=0;
        }
}
        }
void display()
{
        uchar i;
        int a=0,b=0,c=0,d=0;
        int number[4]={0,0,0,0};
        if(flag==0)
        {
                l=f*49;
                a=(int)l/10000;
                b=(int)(l*10-a*100000)/10000;
                c=(int)(l*100-a*1000000-b*100000)/10000;
                d=(int)(l*1000-a*10000000-b*1000000-c*100000)/10000;
                for(i=0;i<4;i++)
                {
                        if(i==3)
                {
                P3=wei[i];
                P2=code72[number[i]];
                delay(10);
                }
                else
                {
                P3=wei[i];
                P2=code71[number[i]];
                        delay(10);
                }
        }
}
        if(flag==1)
        {
                if(l<100000)
                {
                        l=f*49*5;
                a=(int)l/10000;
                b=(int)(l*10-a*100000)/10000;
                c=(int)(l*100-a*1000000-b*100000)/10000;
                d=(int)(l*1000-a*10000000-b*1000000-c*100000)/10000;
                for(i=0;i<4;i++)
                {
                        if(i==3)
                {
                P3=wei[i];
                P2=code72[number[i]];
                delay(10);
                }
                else
                {
                P3=wei[i];
                P2=code71[number[i]];
                        delay(10);
                }
        }
                }
                if(l>=100000)
                {
                        l=f*49*5;
                        a=(int)l/100000;
                b=(int)(l-a*100000)/100000%10;
                c=(int)(l*10-a*1000000-b*100000)/100000%10;
                d=(int)(l*100-a*10000000-b*100000-c*10000)/100000%10;
                number[3]=a;
                number[2]=b;
                number[1]=c;
                number[0]=d;
                        for(i=0;i<4;i++)
                {
                        if(i==2)
                {
                P3=wei[i];
                P2=code72[number[i]];
                delay(10);
    }
                else
                {
                P3=wei[i];
                P2=code71[number[i]];
                        delay(10);
                }
                }
                }
        }
        }
void main()
{
initial();
        while(1)
        {
        AD();
        panduan();
        AD();
        display();
        }
}

27[%ZO{8E_BX72P(OKVJF86.png (48.39 KB, 下载次数: 32)

仿真图

仿真图

Q0P3`DLOL_0T%@%3R569ZRW.png (55.25 KB, 下载次数: 48)

仿真后的问题

仿真后的问题

新建文件夹 (2).zip

31.68 KB, 下载次数: 7

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2023-1-5 19:22 | 只看该作者
不支持这种单片机。
回复

使用道具 举报

板凳
ID:1060427 发表于 2023-1-12 14:17 | 只看该作者
Hephaestus 发表于 2023-1-5 19:22
不支持这种单片机。

不会啊做过别的可以用
回复

使用道具 举报

地板
ID:680980 发表于 2023-1-24 16:49 | 只看该作者
我用作者文件夹的文件仿真没有报错,8.1版本
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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