找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2241|回復(fù): 3
收起左側(cè)

求大家?guī)臀铱匆幌逻@個(gè)仿真的問(wèn)題,本人小白,實(shí)在想不通這個(gè)了,我把程序發(fā)在下面了。

[復(fù)制鏈接]
ID:203619 發(fā)表于 2017-6-6 10:42 | 顯示全部樓層 |閱讀模式
本帖最后由 loyc 于 2017-6-6 10:43 編輯

      情況是這個(gè)樣子的,我在學(xué)習(xí)一個(gè)教材里面的程序,數(shù)碼管的動(dòng)態(tài)顯示。 程序沒(méi)有任何更改過(guò),自己也差不多理解了,因?yàn)闆](méi)有教材里面的學(xué)習(xí)板,所以想用protues仿真實(shí)驗(yàn)一下,仿真的情況是一開(kāi)始數(shù)碼管不顯示,讓仿真運(yùn)行一會(huì)兒之后數(shù)碼管就開(kāi)始顯示了,但是抖動(dòng)很厲害根本沒(méi)法觀察。期望大家?guī)蛶兔,萬(wàn)分感謝,后面我會(huì)把仿真和程序打包一起發(fā)上來(lái),麻煩大佬看一下謝謝,另外我還發(fā)了一些截圖,麻煩大家餓了謝謝。
      對(duì)了,發(fā)上來(lái)的截圖里面應(yīng)該也能看出來(lái),就是一開(kāi)始P0口全為高電平,無(wú)現(xiàn)象,但是過(guò)一會(huì)兒之后P0口有電平變化,出現(xiàn)現(xiàn)象。仔細(xì)看可以看出來(lái)。
程序如下,謝謝:
#include<reg52.h>
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
unsigned char code LedChar[]={
0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8,
0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E
};
unsigned char LedBuff[6]={
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
unsigned char i = 0;
unsigned int cnt = 0;
unsigned char flag1s = 0;
void main()
{

unsigned long sec = 0;

ENLED = 0;
ADDR3 = 1;
TMOD = 0x01;
TH0 = 0xFC;
TL0 = 0x67;
TR0 = 1;
EA = 1;
ET0 = 1;
while(1)
{
  if(flag1s == 1)   
  {
   flag1s = 0;
   sec++;
   LedBuff[0] = LedChar[sec%10];
   LedBuff[1] = LedChar[sec/10%10];
   LedBuff[2] = LedChar[sec/100%10];
   LedBuff[3] = LedChar[sec/1000%10];
   LedBuff[4] = LedChar[sec/10000%10];
   LedBuff[5] = LedChar[sec/100000%10];
  }
     
}
}
void InterruptTime0() interrupt 1  
{
  TH0 = 0xFC;
  TL0 = 0x67;
  cnt++;
  if(cnt >= 1000)
  {
   cnt = 0;
  flag1s = 1;
  }
  P0 = 0xFF;
     switch(i)
  {
   case 0: ADDR2=0; ADDR1=0; ADDR0=0; i++; P0=LedBuff[0];break;
   case 1: ADDR2=0; ADDR1=0; ADDR0=1; i++; P0=LedBuff[1];break;
    case 2: ADDR2=0; ADDR1=1; ADDR0=0; i++; P0=LedBuff[2];break;
   case 3: ADDR2=0; ADDR1=1; ADDR0=1; i++; P0=LedBuff[3];break;
   case 4: ADDR2=1; ADDR1=0; ADDR0=0; i++; P0=LedBuff[4];break;
   case 5: ADDR2=1; ADDR1=0; ADDR0=1; i=0; P0=LedBuff[5];break;
   default:break;
  }
}


QQ圖片20170606103940.png
QQ圖片20170606103828.png
QQ圖片20170606103242.png
QQ圖片20170606103220.png
QQ圖片20170606103157.png

定時(shí)器測(cè)試學(xué)習(xí).rar

54.55 KB, 下載次數(shù): 2

回復(fù)

使用道具 舉報(bào)

ID:203619 發(fā)表于 2017-6-6 10:43 | 顯示全部樓層
麻煩大家?guī)蛶兔χx謝
回復(fù)

使用道具 舉報(bào)

ID:203619 發(fā)表于 2017-6-6 10:44 | 顯示全部樓層
圖片順序發(fā)反了,是從下到上看的。。。
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2017-6-6 12:20 | 顯示全部樓層
程序沒(méi)有問(wèn)題。
如圖所示:
我將你的程序,移植到我的板子上,我的板子電路如圖所示。
我去掉了你程序中無(wú)用的5、6、22、23行。
你的程序,就是一個(gè)秒表,一秒加一個(gè)數(shù),是這個(gè)現(xiàn)象吧。
可能是你的仿真有問(wèn)題,我沒(méi)有用過(guò)仿真,都是真實(shí)板子實(shí)驗(yàn)的。
IMG_20170606_121338.jpg
1.jpg
2.jpg
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表