欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

新手,求指導,這是一個單片機倒計時程序,但是只減一下就不動了

  [復制鏈接]
跳轉到指定樓層
樓主
#include <reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit wei=P3^0;
void delay(u16 i)
{
        while(i--);        
}
u16 icount,count;
u8 code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
               0x88,0x83,0xc6,0xa1,0x86,0x8e};
void main ()
{
      icount=0;
      count=9876;
      TMOD=0x01;
      TH0=(65536-50000)/256;
      TL0=(65536-50000)%256;
      EA=1;
      ET0=1;
      TR0=1;
      P1=0x00;

        while (1)
        {
                wei=1;
                P1=0x08;
                wei=0;
                P1=table[count%10];
                delay(1000);
                wei=1;
                P1=0x04;
                wei=0;
                P1=table[count/10%10];
                delay(1000);
                wei=1;
                P1=0x02;
                wei=0;
                P1=table[count/100%10];
                delay(1000);
                wei=1;
                P1=0x01;
                wei=0;
                P1=table[count/1000];
                delay(1000);        
        }
}
void inter0()interrupt 1           
{
         TH0=(65536-50000)/256;
      TL0=(65536-50000)%256;
      icount++;
      if(icount==10)
              {
              count--;
              if(count==0)
              {count=9999;}
              }        
}

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

使用道具 舉報

沙發
ID:208510 發表于 2017-6-6 18:33 | 只看該作者
      if(icount==10)
              {
              count--;
              if(count==0)
              {count=9999;}
              }   
把這個寫到主函數 大循環中試試
回復

使用道具 舉報

板凳
ID:208500 發表于 2017-6-6 20:58 | 只看該作者
965659478 發表于 2017-6-6 18:33
if(icount==10)
              {
              count--;

不行,我也不知道為什么
回復

使用道具 舉報

地板
ID:146949 發表于 2017-6-7 01:04 來自觸屏版 | 只看該作者
    TH0=(65536-50000)/256;       TL0=(65536-50000)%256;       icount++;       if(icount==10)               {   icount=0;            count--;               if(count==0)               {count=9999;}               }   
回復

使用道具 舉報

5#
無效樓層,該帖已經被刪除
6#
ID:47286 發表于 2017-6-7 09:07 | 只看該作者
icount++;
      if(icount==10)

你這么寫邏輯不對 icount停不住 自加到10 然后count減 循環完了 下一個中斷進來 icount繼續加就是11 不滿足==10的條件 count就不會減了 當然只執行一次 只有一次滿足==10這個條件了
回復

使用道具 舉報

7#
ID:7485 發表于 2017-6-7 09:30 | 只看該作者
“sbit wei=P3^0;”怎么wei就一個呢?就一個數碼管?就讓他先是一位?
回復

使用道具 舉報

8#
ID:111634 發表于 2017-6-7 09:41 | 只看該作者
本帖最后由 zl2168 于 2017-6-7 21:04 編輯

給你介紹一個能操作演示的案例
實例96  能預置初值的倒計時秒表
Proteus仿真一下,確認有效。
實例96 能設置初值的倒計時秒表.rar (40 KB, 下載次數: 5)

以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1內有常用的單片機應用100案例,用于仿真實驗操作,書中電路和程序設計有詳細說明,電路與程序真實可靠可信可行,程序語句條條有注解。若需99.99秒,硬件電路增加一位595軟件程序增加0.01s10ms)計數器,并修改相應計數顯示程序。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
回復

使用道具 舉報

9#
ID:208689 發表于 2017-6-7 09:44 | 只看該作者
所有單片機程序都必須是死循環
回復

使用道具 舉報

10#
無效樓層,該帖已經被刪除
11#
ID:7485 發表于 2017-6-7 10:08 | 只看該作者
if(icount==10)
              {
                icount=0; //加上這一句,否則無限止往上加。
              count--;
              if(count==0)
              {count=9999;}
回復

使用道具 舉報

12#
ID:7485 發表于 2017-6-7 10:12 | 只看該作者
icount無限止往上加,就不會有icount==10,count就不會變化。
回復

使用道具 舉報

13#
無效樓層,該帖已經被刪除
14#
ID:154074 發表于 2017-6-7 11:26 | 只看該作者
icount到10之后沒有歸零
回復

使用道具 舉報

15#
ID:154074 發表于 2017-6-7 11:27 | 只看該作者
而且你這是每40秒才減一吧?
回復

使用道具 舉報

16#
ID:208500 發表于 2017-6-7 17:19 | 只看該作者
dzbj 發表于 2017-6-7 09:07
icount++;
      if(icount==10)

非常感謝
回復

使用道具 舉報

17#
ID:208500 發表于 2017-6-7 17:20 | 只看該作者
宮本無三四 發表于 2017-6-7 11:27
而且你這是每40秒才減一吧?

我是隨便設的一個數
回復

使用道具 舉報

18#
ID:208500 發表于 2017-6-7 17:21 | 只看該作者
wosiyabo 發表于 2017-6-7 01:04
TH0=(65536-50000)/256;       TL0=(65536-50000)%256;       icount++;       if(icount==10)         ...

非常感謝
回復

使用道具 舉報

19#
ID:208500 發表于 2017-6-7 18:20 | 只看該作者
ahshmj 發表于 2017-6-7 09:30
“sbit wei=P3^0;”怎么wei就一個呢?就一個數碼管?就讓他先是一位?

有鎖存器
回復

使用道具 舉報

20#
ID:208962 發表于 2017-6-7 20:49 | 只看該作者
是不是沒有歸零
回復

使用道具 舉報

21#
ID:208970 發表于 2017-6-7 20:59 | 只看該作者
好難呀  555555
回復

使用道具 舉報

22#
ID:7485 發表于 2017-6-8 09:41 | 只看該作者

有鎖存器你也要送出位選碼呀,你不能一直不變吧?
回復

使用道具 舉報

23#
無效樓層,該帖已經被刪除
24#
ID:182522 發表于 2017-6-8 10:26 | 只看該作者
程序邏輯問題,還有最好不要出現while(i--);這樣的語句~
回復

使用道具 舉報

25#
ID:159139 發表于 2017-6-8 14:18 來自觸屏版 | 只看該作者
計數時應加上 icount=0;否定只會一直往上加。
回復

使用道具 舉報

26#
ID:209236 發表于 2017-6-8 15:40 | 只看該作者
加油!!!!!·~~~
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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