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

QQ登錄

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

帖子
查看: 3524|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

求高手幫忙。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:37854 發(fā)表于 2012-4-5 16:53 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

#include<reg52.h>
sbit wei=P2^3;
sbit duan=P2^2;
unsigned char code duanma[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 顯示段碼值0~9
unsigned char code weima[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼
unsigned char fen,shi,miao,k;
void main (void)
{ P0=0x24;
 wei=1;
 wei=0;
 P0=duanma[0];
 duan=1;
 duan=0;
 k=0;
 P1=0x01;
    TMOD=0x01;
    EA=1;
    ET0=1;
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    TR0=1;
 while(1);
}
void dingshi0() interrupt 1  //定時(shí)器0中斷程序
{        TH0=(65536-50000)/256;
         TL0=(65536-50000)%256;
         k++;
         if(k==20)
         { miao++;
             k=0;
             P0=weima[7];
             wei=1;
             wei=0;
             P0=duanma[miao%10];
             duan=1;
             duan=0;
             P0=weima[6];
             wei=1;
             wei=0;
             P0=duanma[miao/10];
             duan=1;
             duan=0;
                 P1=~P1;
               if(59==miao)
               { miao=0;
                         P0=weima[7];
                         wei=1;
                         wei=0;
                         P0=duanma[miao%10];
                         duan=1;
                         duan=0;
                         P0=weima[6];
                         wei=1;
                         wei=0;
                         P0=duanma[miao/10];
                         duan=1;
                         duan=0;
                         fen++; //顯示分鐘數(shù)碼管
                         P0=weima[4];
                         wei=1;
                         wei=0;
                         P0=duanma[fen%10];
                         duan=1;
                         duan=0;
                         P0=weima[3];
                         wei=1;
                         wei=0;
                         P0=duanma[fen/10];
                         duan=1;
                         duan=0;

                 if(59==fen)
                 {
                         fen=0;
                         P0=weima[4];
                         wei=1;
                         wei=0;
                         P0=duanma[fen%10];
                         duan=1;
                         duan=0;
                         P0=weima[3];
                         wei=1;
                         wei=0;
                         P0=duanma[fen/10];
                         duan=1;
                         duan=0;
                         shi++;
                         P0=weima[1];
                         wei=1;
                         wei=0;
                         P0=duanma[shi%10];
                         duan=1;
                         duan=0;
                         P0=weima[0];
                         wei=1;
                         wei=0;
                         P0=duanma[shi/10];
                         duan=1;
                         duan=0;
                                           }
                if(24==shi)
                {
                    P0=0x24;
                     wei=1;
                     wei=0;
                     P0=duanma[0];
                     duan=1;
                     duan=0;     
                }                         
               }             
         }
   }
不知道哪兒錯(cuò)了 定時(shí)器能正正常運(yùn)行(LED會(huì)閃爍說(shuō)明可以進(jìn)到IF(20=k)程序)可結(jié)果 不是按 我預(yù)想的 電子鐘表  而是 秒的 十位 的數(shù)碼管計(jì)數(shù)  其他的數(shù)碼管全部是黑的 求高手解答。

[此貼子已經(jīng)被作者于2012-4-5 16:54:44編輯過(guò)]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:37854 發(fā)表于 2012-4-5 21:29 | 只看該作者

求幫忙

 

回復(fù)

使用道具 舉報(bào)

板凳
ID:37273 發(fā)表于 2012-4-7 17:02 | 只看該作者
顯然是個(gè)數(shù)碼管分時(shí)顯示的問(wèn)題,你的問(wèn)題出在,你是同時(shí)刷各個(gè)數(shù)碼管,那么眼睛只能看到最后一個(gè)8. 你要保證每個(gè)數(shù)碼管都分配到一定的時(shí)間去點(diǎn)亮,人眼才能看到過(guò)個(gè)數(shù)碼管量。 現(xiàn)在的情況是,顯示秒個(gè)位的數(shù)碼管只點(diǎn)亮了幾微妙,而秒十位的顯示1秒不到一點(diǎn)點(diǎn)。 建議你做個(gè)2ms的定時(shí)器中斷,中斷中刷一個(gè)位選的內(nèi)容。
回復(fù)

使用道具 舉報(bào)

地板
ID:38348 發(fā)表于 2012-4-14 16:41 | 只看該作者

嘿。。。。中斷服務(wù)函數(shù)為么要做這么多事啊。

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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