久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1785|回復: 3
打印 上一主題 下一主題
收起左側

c51單片機仿真時間問題求助

[復制鏈接]
跳轉到指定樓層
樓主
初學C51,遇到問題了,一樣的代碼用KEILL5作軟件仿真時運行到斷點的時間為0.219,教程里才0.044,以為是代碼有錯誤,折騰一天無果,今天想到教程里用的是KEILL2,一試就跟教程里一樣了,來請教師傅,一樣的代碼為什么keill2與keill5仿真的時間差這么多,是不是哪里需要設置什么,先謝謝各位師傅!


單片機源程序如下:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit dula=P2^6;
sbit wela=P2^7;
uchar num,dunum,wenum;
uchar code table_du[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,
0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};

uchar code table_we[]={
0xfe,0xfd,0xfb,0xf7,0xef,0xdf};

void display(uint);
void delay(uchar);

void main()
{
        delay(100);
        EA=1;     //這里設斷點
        ET0=1;
        TMOD=0X01;
        TH0=(65536-500)/256;
        TL0=(65536-500)%256;
        TR0=1;
        while(1)
        {
                if(num==2)
                {
                        num=0;
                        if(dunum==6)
                        dunum=0;
                        if(wenum==6)
                        wenum=0;
//                        display();
                        dunum++;
                        wenum++;
                }
        }
}

void time0() interrupt 1
{
        TH0=(65536-500)/256;
        TL0=(65536-500)%256;
        num++;
}

void display(uint disnum)
{
        
        P0=table_du[disnum/100];
        dula=1;
        dula=0;
        P0=0xfe;
        wela=1;
        wela=0;
//        delay();
        
        P0=table_du[disnum%100/10];
        dula=1;
        dula=0;
        P0=0xfd;
        wela=1;
        wela=0;
//        delay();
        
        P0=table_du[disnum%100%10];
        dula=1;
        dula=0;
        P0=0xfb;
        wela=1;
        wela=0;
//        delay();
}

void delay(uchar x)
{
        uchar a,b;
        for(a=x;a>0;a--)
                for(b=200;b>0;b--);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:235200 發表于 2020-2-23 21:11 | 只看該作者
兩個時間不一樣,并不能說明延時程序的時間不一樣,正確的做法是在delay(100);這一條設置一個斷點,在EA=1;這一條設置一個斷點,分別記下兩個斷點處的時間,其差值是延時程序的時間,兩者不一樣說明使用不同的仿真環境,進入到主程序第一條指令的時間不一樣而已
回復

使用道具 舉報

板凳
ID:213173 發表于 2020-2-24 05:32 | 只看該作者
可能是目標選項里晶振頻率設置不當或使用默認設置。試想一下用不同頻率調試能跑出相同效果嗎?
回復

使用道具 舉報

地板
ID:595853 發表于 2020-4-30 22:25 | 只看該作者
謝謝各位師傅,找到問題了,是顯示和延時聲明語句格式錯了,已經解決了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜三区 | 久久久久国产精品一区 | 一区二区免费高清视频 | 91热爆在线观看 | wwww.8888久久爱站网 | 黄网站在线播放 | 久久国产精品久久久久久 | 亚洲精品久久久久久宅男 | av一级久久 | 中文字幕一区二区三区四区五区 | 欧美在线视频一区 | 国产区在线 | 亚洲精品久久久久久国产精华液 | 亚洲精品一区二区三区中文字幕 | 欧美精品网 | www.亚洲 | 91精品国产自产在线老师啪 | 成人在线免费网站 | 国产视频精品免费 | 亚洲一区免费 | 精品伊人久久 | 国产免费视频 | 亚洲国产一区在线 | 一级毛片在线看 | 欧美不卡| 日本在线视频一区二区 | 一区视频在线 | 精品国产一区二区三区av片 | 999精品在线观看 | 国产高清久久 | 美女黄网 | 精品综合视频 | 欧美一区二区三区在线观看 | 日韩www | 亚洲高清视频一区二区 | 中文字幕 在线观看 | 亚洲福利在线视频 | 激情av在线 | 在线观看亚洲专区 | 精品一区二区电影 | 亚洲国产欧美91 |