找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 6102|回復: 5
打印 上一主題 下一主題
收起左側

求助---寫了個顯示程序顯示總不對

[復制鏈接]
跳轉到指定樓層
樓主
ID:16693 發(fā)表于 2010-8-2 07:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

寫一個數,然后把他顯示出來,不知為啥顯示的不對,請指點下,鼓搗好幾天了,也沒有頭緒,謝謝

#include <AT89X52.h>
#include <math.h>
#define uchar unsigned char
#define unint  unsigned int
sbit DUAN=P2^0;     //74HC573的LE端    LED的段選端
sbit WEI=P2^1;      //74HC573的LE端    LED的位選端
unint  a[5];
unint j;
unint temp;
uchar xian[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,};//共陰顯示字庫 0123456789
void delay(unint z)              //1ms延時
{
unint x,y;
 for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void wei_1(uchar wei)       //鎖存器573的數碼管位控制
{
 WEI=1;
 P0=wei;
 WEI=0;
}

void duan_1(uchar duan)       //鎖存器573的數碼管段控制
{
 unint i;
 DUAN=1;
 P0=xian[duan];
 DUAN=0;
 for(i=200;i>0;i--);
}
void shuzhi()
{a[0]=temp/100000;
 temp=temp%100000;
 a[1]=temp/10000;
 temp=temp%10000;
 a[2]=temp/1000;
 temp=temp%1000;
 a[3]=temp/100;
 temp=temp%100;
 a[4]=temp/10;
 temp=temp%10;
 a[5]=temp;
  }
  void display2()         //顯示
{
shuzhi();
wei_1(0x7f);    /*秒*/
duan_1(a[0]);
 wei_1(0xbf);
 duan_1(a[1]);
 wei_1(0xdf);    /*-*/
 duan_1(10);
 wei_1(0xef);   /*分*/
 duan_1(a[2]);
 wei_1(0xf7); 
duan_1(a[3]);
 wei_1(0xfb);    /*-*/
 duan_1(10);
 wei_1(0xfd);   /*時*/
 duan_1(a[4]);
 wei_1(0xfe); 
 duan_1(a[5]);
  }
 void main()
{   temp=323456;
 display2();

}

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

使用道具 舉報

沙發(fā)
ID:16693 發(fā)表于 2010-8-2 20:47 | 只看該作者

!�。。。�!

回復

使用道具 舉報

板凳
ID:19162 發(fā)表于 2010-8-3 04:09 | 只看該作者

隨便一看就發(fā)現好幾處錯誤         void wei_1(uchar wei)       //鎖存器573的數碼管位控制
{
 WEI=1;
 P0=wei;
 WEI=0;
}

此段 P0=WEI??不解  P0口應該送入具體數據。比如0Xff········;

其二   有語法錯誤  void duan_1(uchar duan)       //鎖存器573的數碼管段控制
{
 unint i;
 DUAN=1;
 P0=xian[duan];
 DUAN=0;
 for(i=200;i>0;i--);
}

據我所知   for應該在P0=xian 之前  而且數組里面的duan  應該改成變量i....。我也是初學   總覺得你的程序問題很多 仔細看看吧     還有你的數組名前最好加個code  這樣就不會占用寶貴的RAM空間

[此貼子已經被作者于2010-8-3 4:16:28編輯過]
回復

使用道具 舉報

地板
ID:16693 發(fā)表于 2010-8-3 07:27 | 只看該作者

for是一個循環(huán),延時用的

那個wei在后面有 數據給他,

仍然謝謝,能不能給我講下code的用法,

回復

使用道具 舉報

5#
ID:16693 發(fā)表于 2010-8-3 07:33 | 只看該作者
我寫他主要就是因為我的1302那個時鐘顯示時間不對,那段數組和顯示就是1302程序中的一部分,有數組時候顯示就亂了,等待中。。。。。。。。。。。。。。。。。
回復

使用道具 舉報

6#
ID:1 發(fā)表于 2010-8-9 20:04 | 只看該作者
zhouli297 兄弟說得很對啊,你這個程序錯的地方太多了,你還是參考一下我給出的板子附帶的例程吧,那個是測試通過的,你用的好像是老板子對吧,只需要改下 段和位的端口就行了,其他都一樣
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表