找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2922|回复: 4
收起左侧

这个单片机程序为什么proteus仿真没有效果?

[复制链接]
ID:511168 发表于 2020-5-27 16:06 | 显示全部楼层 |阅读模式
程序如下,该程序已经在89C51单片机成功测试!但是proteus仿真不了,按照腾讯课堂中操作也无法解决,求大神帮忙?
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int

uint time_1ms = 0;
uchar key = 0; //if进入条件

/*初始化定时器1,定时1ms*/
void Timer1(void)
{
        TMOD = 0x10;        //设置定时器模式 0000 1111
        TL1 = 0x66;       //设置定时初值
        TH1 = 0xFC;        //设置定时初值
        TF1 = 0;                //清除TF1标志
    ET1 = 1;                //定时计数器1溢出中断允许控制位
        TR1 = 1;                //定时器1开始计时
}

void main(void)
{
    P1 = 0xFE; //0xFE=1111 1110

    /*初始化定时器0*/
    Timer1();
    EA = 1;  //总中断

    while(1)
    {
        if(key == 1)
        {
            key = 0;
            if(P1 == 0x00) P1 = 0xFF;
            P1 = P1 << 1;
        }
    }
}

void Time1() interrupt 3
{
        TL1 = 0x66;                //设置定时初值
        TH1 = 0xFC;                //设置定时初值
    time_1ms++;
        if(time_1ms >= 2000) //达到2秒
    {
        key = 1;
         time_1ms = 0;
    }
}


电路图.png
回复

使用道具 举报

ID:765442 发表于 2020-5-30 23:52 | 显示全部楼层
你主函数中灯是P1,但是仿真接的是P2
回复

使用道具 举报

ID:761855 发表于 2020-5-30 21:15 | 显示全部楼层
把主函数中的p1改为p2
回复

使用道具 举报

ID:213173 发表于 2020-5-28 10:06 | 显示全部楼层
楼主程序操作的是P1,仿真图LED接的是P2,当然看不到效果。
回复

使用道具 举报

ID:660091 发表于 2020-5-27 21:01 | 显示全部楼层
可能不是没有结果,而是接了电阻灯光太小了看不清?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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