久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)秒表計數(shù),為什么10位能變化,個位不動呢,在線等,求助

[復(fù)制鏈接]
ID:353085 發(fā)表于 2018-6-17 01:02 | 顯示全部樓層 |閱讀模式
自己按照書上的程序編了一個,也自己花了個圖,秒表計數(shù),為什么10位能變化,個位不動呢,可是每10秒10位還發(fā)生變化,在線等哥哥們幫助,哪有問題自己按照書上的程序編了一個,也自己花了個圖,秒表計數(shù),為什么10位能變化,個位不動呢,可是每10秒10位還發(fā)生變化,在線等哥哥們幫助,哪有問題

QQ圖片20180617004959.png

單片機(jī)源程序如下:
  1. #include<reg52.h>

  2. sbit ADDR0=P1^0;
  3. sbit ADDR1=P1^1;
  4. sbit ADDR2=P1^2;
  5. sbit ADDR3=P1^3;
  6. sbit ENLED=P1^4;

  7. unsigned char code Ledchar [16]={
  8.         0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
  9.         0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E
  10. };
  11. unsigned char Ledbuff [6]={
  12.         0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
  13. unsigned int flagls=0;
  14. unsigned int cnt=0;
  15. unsigned int i=0;
  16.       
  17. void main()
  18. {
  19.         unsigned long sec = 0;
  20.   EA  = 1;
  21.         ADDR3=1;
  22. ENLED=0;
  23. TMOD = 0x01;
  24. ET0  = 1;
  25.         TH0 = 0xFC;
  26.         TL0 = 0x67;
  27.   TR0 = 1;
  28.         while(1)
  29.         {
  30.                 if(flagls == 1)
  31.                 {
  32.                         flagls = 0;
  33.                         sec++;
  34.                         Ledbuff[0] = Ledchar[sec%10];
  35.                         Ledbuff[1] = Ledchar[sec/10%10];
  36.                         Ledbuff[2] = Ledchar[sec/100%10];
  37.                         Ledbuff[3] = Ledchar[sec/1000%10];
  38.                         Ledbuff[4] = Ledchar[sec/10000%10];
  39.                         Ledbuff[5] = Ledchar[sec/100000%10];
  40.                        
  41.                 }
  42.         }
  43. }
  44. void InterruptTimer0() interrupt 1
  45.         {
  46.                 TH0=0xFC;
  47.                 TL0=0x67;
  48.                 cnt++;
  49.                 if(cnt >= 1000)
  50.                 {
  51.                         cnt  = 0;
  52.                         flagls = 1;
  53.                 }
  54.                
  55.                 P0=0xFF;
  56.                 switch(i)
  57.                 {      
  58.                   case 0:ADDR0=0;ADDR1=0;ADDR2=0;i++;P0=Ledbuff[0];break;
  59.                   case 1:ADDR0=1;ADDR1=0;ADDR2=0;i++;P0=Ledbuff[1];break;
  60.                   case 2:ADDR0=0;ADDR1=1;ADDR2=0;i++;P0=Ledbuff[2];break;
  61.                   case 3:ADDR0=1;ADDR1=1;ADDR2=0;i++;P0=Ledbuff[3];break;
  62.                   case 4:ADDR0=0;ADDR1=0;ADDR2=1;i++;P0=Ledbuff[4];break;
  63.                   case 5:ADDR0=1;ADDR1=0;ADDR2=1;i=0;P0=Ledbuff[5];break;
  64.                 default: break;
  65.         }
  66. }
復(fù)制代碼



回復(fù)

使用道具 舉報

ID:341045 發(fā)表于 2018-6-17 13:10 | 顯示全部樓層
程序沒看出問題呀, 估計是硬件部分問題, 但這句改下會好點
default: break;  改為 default:  i = 0; break;  // i 異常時下次會正常

可改這幾句調(diào)試:
                        Ledbuff[0] = 0: //Ledchar[sec%10];
                        Ledbuff[1] = 1; //Ledchar[sec/10%10];
                        Ledbuff[2] = 2; //Ledchar[sec/100%10];
                        Ledbuff[3] = 3; //Ledchar[sec/1000%10];
                        Ledbuff[4] = 4; //Ledchar[sec/10000%10];
                        Ledbuff[5] = 5; //Ledchar[sec/100000%10];
程序正常, 應(yīng)該顯示543210, 顯示正常再看程序, 我估算你電路會串位, 也就是138譯碼不正常, 如是, 試著P1.0 P1.1 P1.2拉個3K3的上拉電阻, 還有, 138輸出到三極管要接個幾百到1K歐的電阻. 再不行就換138.

評分

參與人數(shù) 1黑幣 +5 收起 理由
figo88130 + 5 謝謝老哥了,指點的非常詳細(xì),也非常到位。.

查看全部評分

回復(fù)

使用道具 舉報

ID:234075 發(fā)表于 2018-6-17 16:34 | 顯示全部樓層
60行“ case 0:ADDR0=0;ADDR1=0;ADDR2=0;i++;P0=Ledbuff[0];break;”你這樣寫沒有數(shù)碼管顯示的,中間應(yīng)該是“ADDR0=1;ADDR1=0;ADDR2=0;”,后面的以此類推
回復(fù)

使用道具 舉報

ID:234075 發(fā)表于 2018-6-17 16:43 | 顯示全部樓層
我的不對

評分

參與人數(shù) 1黑幣 +5 收起 理由
figo88130 + 5 很給力!

查看全部評分

回復(fù)

使用道具 舉報

ID:353085 發(fā)表于 2018-6-17 20:39 | 顯示全部樓層
lzts88 發(fā)表于 2018-6-17 13:10
程序沒看出問題呀, 估計是硬件部分問題, 但這句改下會好點
default: break;  改為 default:  i = 0; break ...

QQ截圖20180617202752.png QQ截圖20180617202817.png ,改成這樣了。可是還是不行。這個2都顯示不正確。怎么辦。。。
回復(fù)

使用道具 舉報

ID:341045 發(fā)表于 2018-6-17 23:22 | 顯示全部樓層
figo88130 發(fā)表于 2018-6-17 20:39
,改成這樣了。可是還是不行。這個2都顯示不正確。怎么辦。。。

                        Ledbuff[0] = 0: //Ledchar[sec%10];
                        Ledbuff[1] = 1; //Ledchar[sec/10%10];
                        Ledbuff[2] = 2; //Ledchar[sec/100%10];
                        Ledbuff[3] = 3; //Ledchar[sec/1000%10];
                        Ledbuff[4] = 4; //Ledchar[sec/10000%10];
                        Ledbuff[5] = 5; //Ledchar[sec/100000%10];
改這樣呀, 你程序有查表, 會顯示012345的, 我估計你是串位了. 就是138譯碼不正確. 你幾位顯一樣的看不出
回復(fù)

使用道具 舉報

ID:341045 發(fā)表于 2018-6-17 23:29 | 顯示全部樓層
figo88130 發(fā)表于 2018-6-17 20:39
,改成這樣了。可是還是不行。這個2都顯示不正確。怎么辦。。。

                        Ledbuff[0] = Ledchar[0];//sec%10];
                        Ledbuff[1] = Ledchar[1];//sec/10%10];
                        Ledbuff[2] = Ledchar[2];//sec/100%10];
                        Ledbuff[3] = Ledchar[3];//sec/1000%10];
                        Ledbuff[4] = Ledchar[4];//sec/10000%10];
                        Ledbuff[5] = Ledchar[5];//sec/100000%10];
沒注意, 這樣才樣顯示012345
回復(fù)

使用道具 舉報

ID:341045 發(fā)表于 2018-6-17 23:39 | 顯示全部樓層
figo88130 發(fā)表于 2018-6-17 20:39
,改成這樣了。可是還是不行。這個2都顯示不正確。怎么辦。。。

2顯示不正常, 0A4, 高電平不顯示, 數(shù)據(jù)有3個"1", 連小數(shù)點共3個段不顯, 程序看不出問題, 實際只有2個段不顯.估計還是硬件部分, 給P0口全加3K3的上拉電阻試下.
回復(fù)

使用道具 舉報

ID:111634 發(fā)表于 2018-6-18 11:05 | 顯示全部樓層
本帖最后由 zl2168 于 2018-6-18 11:07 編輯

給你介紹一個正確有效看得懂的案例,自己對照查錯吧!
實例93  99.9秒秒表
實例95 99.9秒秒表.rar (38.86 KB, 下載次數(shù): 9)
99.9秒秒表.jpg
Proteus仿真一下,確認(rèn)有效。以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計實例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1內(nèi)有常用的單片機(jī)應(yīng)用100案例,用于仿真實驗操作,書中電路和程序設(shè)計有詳細(xì)說明,電路與程序真實可靠可信可行,程序語句條條有注解。
回復(fù)

使用道具 舉報

ID:353085 發(fā)表于 2018-6-18 15:32 | 顯示全部樓層
zl2168 發(fā)表于 2018-6-18 11:05
給你介紹一個正確有效看得懂的案例,自己對照查錯吧!
實例93  99.9秒秒表
先Proteus仿真一下,確認(rèn)有效 ...

謝謝兄弟,我會認(rèn)真看的,十分感謝
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品一区二区三区四区 | 亚洲国产一区二区三区, | 国产一二区免费视频 | 午夜丰满寂寞少妇精品 | 在线亚洲欧美 | 亚洲 欧美 精品 | 免费毛片网站 | 中文字幕国产精品 | www.天天操| 亚洲第1页 | 99爱免费| 亚洲国产情侣自拍 | 99视频久| 欧美精品一区二区免费视频 | 欧美一级黄色片免费观看 | 亚洲一区二区在线 | 亚洲精品视频在线观看视频 | 男女污污动态图 | 天天插天天操 | 日韩淫片免费看 | 亚洲高清在线观看 | 免费在线观看黄视频 | 亚洲精品乱码久久久久久久久久 | 一区二区三区回区在观看免费视频 | 成人国产免费视频 | 欧美成人一级视频 | 国产精品二区三区 | 热久久国产| 国产天堂 | 亚洲一区免费 | 免费国产视频 | 久久国产精品偷 | 久久久久久久国产精品视频 | 成人久久久 | 色婷婷综合久久久中字幕精品久久 | 欧美日本一区 | 久久综合一区 | 亚洲综合在线一区二区 | 亚洲成人免费在线观看 | 久久精品中文字幕 | 日韩www|