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

QQ登錄

只需一步,快速開始

搜索
查看: 2804|回復(fù): 5
打印 上一主題 下一主題
收起左側(cè)

關(guān)于51單片機(jī)定時(shí)中斷的程序問題?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:376199 發(fā)表于 2018-12-10 22:03 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我想使用單片機(jī)定時(shí)器T0產(chǎn)生的中斷制作跑馬燈

單片機(jī)程序源碼:
  1. #include<reg51.h>

  2. void main(void)
  3. {
  4.         EA = 1;
  5.         ET0 = 1;
  6.         TMOD = 0x01;
  7.         TH0 = 15536 / 256;
  8.         TL0 = 15536 % 256;
  9.         TR0 = 1;
  10.         P0 = 0xfe;
  11.         while(1)
  12.                 ;
  13. }

  14. void Time0(void) interrupt 1 using 0
  15. {
  16.         P0 <<= 1;
  17.         if (P0 != 0xff)
  18.                 P0 |= 1;
  19.         else
  20.                 P0 = 0xfe;         
  21.         TH0 = 15536 / 256;
  22.         TL0 = 15536 % 256;
  23. }
復(fù)制代碼
這樣的話八個(gè)led只會(huì)執(zhí)行一次循環(huán)后無反應(yīng)
而將P0 <<= 1;if (P0 != 0xff)
P0 |= 1;
else
P0 = 0xfe; 換成_crol_(P0, 1);后,
效果如圖:
希望各位解答一下這兩種情況的原因


QQ截圖20181206232137.png (120.4 KB, 下載次數(shù): 18)

QQ截圖20181206232137.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:410399 發(fā)表于 2018-12-11 09:28 | 只看該作者
P0 <<= 1;
        if (P0 != 0xff)
                P0 |= 1;
        else
                P0 = 0xfe;
P0到0xff的時(shí)候執(zhí)行else P0 = 0xfe,然后下一個(gè)定時(shí)觸發(fā)的時(shí)候又左移一位,變成0xff在這里重復(fù)了

_crol_();你有沒有加頭文件intrins.h的
回復(fù)

使用道具 舉報(bào)

板凳
ID:164602 發(fā)表于 2018-12-11 10:36 | 只看該作者
我已經(jīng)試驗(yàn)出這個(gè)結(jié)果:
你說:換成_crol_(P0, 1);后

這個(gè)應(yīng)該是P0=_crcl_(P0,1),結(jié)果就是正確的
回復(fù)

使用道具 舉報(bào)

地板
ID:164602 發(fā)表于 2018-12-11 10:53 | 只看該作者
總算搞清楚了。
這樣改就對(duì)了:
        P2 <<= 1;
             P2 |= 1;
        if(P2 == 0xff)
               P2 = 0xfe;
你自己想想流程吧,有點(diǎn)考人,呵呵
回復(fù)

使用道具 舉報(bào)

5#
ID:376199 發(fā)表于 2018-12-21 00:18 來自手機(jī) | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2018-12-11 10:36
我已經(jīng)試驗(yàn)出這個(gè)結(jié)果:
你說:換成_crol_(P0, 1);后


謝謝指導(dǎo)
回復(fù)

使用道具 舉報(bào)

6#
ID:376199 發(fā)表于 2018-12-21 00:18 來自手機(jī) | 只看該作者
mosqu 發(fā)表于 2018-12-11 09:28
P0

謝謝提醒
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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