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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

小白求助制作秒表,單片機代碼問題

查看數: 5037 | 評論數: 16 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2017-11-2 22:39

正文摘要:

以上是代碼,功能是實現秒表計時,60清零,精確到后兩位,我覺得代碼沒問題啊 以下是仿真 #include<reg51.h> #include<intrins.h> char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; ...

回復

ID:245521 發表于 2017-11-5 22:27
zjb2106558 發表于 2017-11-4 09:26
位掃描要加延時,不然看不到效果

是的 為什么
ID:84652 發表于 2017-11-4 11:44
Afan的單片機 發表于 2017-11-3 17:05
改動了以下:
#include
#include

score[1]=(number-score[1]*1000)/100;后面的score[1]也得跟著改成score[0]呀。剩下那幾句也是……。
ID:111634 發表于 2017-11-4 09:56
Afan的單片機 發表于 2017-11-3 23:14
額。。。感謝 但是我的哪里錯了呢

讀懂正確有效程序,就知道自己錯在哪兒了!
ID:229799 發表于 2017-11-4 09:28
Afan的單片機 發表于 2017-11-3 23:14
額。。。感謝 但是我的哪里錯了呢

位掃描要有延時
ID:229799 發表于 2017-11-4 09:26
位掃描要加延時,不然看不到效果
ID:245521 發表于 2017-11-3 23:14
zl2168 發表于 2017-11-3 21:08
實例93  99.9秒秒表
先Proteus仿真一下,確認有效。

額。。。感謝 但是我的哪里錯了呢
ID:111634 發表于 2017-11-3 21:08
本帖最后由 zl2168 于 2017-11-3 21:10 編輯

實例93  99.9秒秒表
Proteus仿真一下,確認有效。
實例95 99.9秒秒表.rar (38.86 KB, 下載次數: 4)

以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil CProteus》清華大學出版社ISBN 978-7-302-41682-1內有常用的單片機應用100案例,用于仿真實驗操作,書中電路和程序設計有詳細說明,電路與程序真實可靠可信可行,程序語句條條有注解。若需99.99秒,硬件電路增加一位595。軟件程序增加0.01s10ms計數器,并修改相應計數顯示程序。仿真電路和Hex文件能在清華出版社網站免費下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網上書店打折購買。
ID:245521 發表于 2017-11-3 17:11
spark399 發表于 2017-11-3 14:16
聲明處:05.char score[]={0,0,0,0};初始為4個元素,編譯器分配4個存儲空間,數組長度為4,最大有效下標3: ...

是1-4呢,5不滿足條件
ID:245521 發表于 2017-11-3 17:05
改動了以下:
#include<reg51.h>
#include<intrins.h>
char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
int number=0;
char score[]={0,0,0,0};
void timer0(void) interrupt 1
{
    number++;
        score[0]=number/1000;
        score[1]=(number-score[1]*1000)/100;
        score[2]=(number-score[1]*1000-score[2]*100)/10;
        score[3]=(number-score[1]*1000-score[2]*100)%10;
        if (number>6000){number=0;}
        TL0=0Xf0;
        TH0=0Xd8;
}
main(){
        int k=0;
        int wei=0x01;
        TMOD=0X01;
        TH0=0Xd8;
        TL0=0Xf0;//10ms
        TR0=1;
        ET0=1;
        EA=1;
        while(1){
        for(k=0;k<4;k++)
        {        P2=led[score[k]];
                wei=_crol_(wei,2);
                P3=wei;
                        }
                }
        }               
ID:245521 發表于 2017-11-3 17:04
spark399 發表于 2017-11-3 14:16
聲明處:05.char score[]={0,0,0,0};初始為4個元素,編譯器分配4個存儲空間,數組長度為4,最大有效下標3: ...

我改成了for(k=0;k<4;k++),為什么還是不能正常顯示呢
ID:245521 發表于 2017-11-3 17:02
yzwzfyz 發表于 2017-11-3 10:10
不知道你要表達的意思是什么!

秒表計時呢
ID:245680 發表于 2017-11-3 14:16
聲明處:05.char score[]={0,0,0,0};初始為4個元素,編譯器分配4個存儲空間,數組長度為4,最大有效下標3:有效下標score[0]---score[3];“ for(k=1;k<5;k++)”中k=1~5,一是錯位,二是最后一個數據超出地址空間了。
ID:84652 發表于 2017-11-3 12:58
數組尋址是從0開始吧?score[0]開始。還有取余數用%就行了,不用那么麻煩。
ID:123289 發表于 2017-11-3 10:10
不知道你要表達的意思是什么!
ID:245521 發表于 2017-11-2 23:00
有人嗎

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

Powered by 單片機教程網

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