找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機(jī)按鍵暫停數(shù)碼管顯示怎么設(shè)計程序?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:452212 發(fā)表于 2018-12-27 16:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問可以通過按鍵暫停數(shù)碼管顯示(主程序)嗎?如果能,要怎么操作呢?

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

使用道具 舉報

沙發(fā)
ID:444306 發(fā)表于 2018-12-27 21:50 | 只看該作者
能啊,換內(nèi)容都行!數(shù)碼管顯示只不過是在做掃描動作!你想暫停就是不改變顯示的變量值,假如你的數(shù)字一直在0-9間變換,你讓該變量不加也不減,它就是一個固定值,顯示時就好像暫停效果。做一個條件語句,如:if(flag==2){i=i+0;};  else  (flag==1)i++;........后面就是你具體化了

評分

參與人數(shù) 2黑幣 +50 收起 理由
#include51.h + 15 很給力!
shuisheng + 35 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

板凳
ID:123289 發(fā)表于 2018-12-27 21:52 | 只看該作者
首先了解數(shù)碼管是如何顯示的?再解決什么是“暫停顯示”?
弄清楚以上兩點(diǎn),你就可以解決問題了。
回復(fù)

使用道具 舉報

地板
ID:393699 發(fā)表于 2018-12-27 23:31 | 只看該作者
暫停顯示是指數(shù)碼管熄滅嗎?還是數(shù)字停住不動?要熄滅的話直接寫數(shù)據(jù)進(jìn)去就可以了,數(shù)字停止不動這個嘛要看程序了,我做的話就設(shè)個標(biāo)志位加個if判斷影響數(shù)碼管刷新。
回復(fù)

使用道具 舉報

5#
ID:357520 發(fā)表于 2018-12-28 08:39 | 只看該作者
如果用定時器和按鍵實現(xiàn)的話,可以使用標(biāo)志位flag實現(xiàn),flag=0時定時器啟動,flag=1時定時器關(guān)閉
  1.                 if(!c_to_puse)  //暫定和開始計時(S4)
  2.                 {
  3.                         delay_50us(10);
  4.                         if(!c_to_puse)
  5.                         {

  6.                                 TR0=~TR0;
  7.                                
  8.                                 while(!c_to_puse)
  9.                                 {
  10.                                         for(num=0;num<6;num++)
  11.                                         {
  12.                                                 display(num,numduan_base[num]);
  13.                                                 delay_50us(30);               
  14.                                         }
  15.                                 }
  16.                         }                       
  17.                 }
復(fù)制代碼
回復(fù)

使用道具 舉報

6#
ID:451718 發(fā)表于 2018-12-28 09:25 | 只看該作者
一般實用的數(shù)碼管刷新都是在定時器中斷中進(jìn)行的。那么可以用外部中斷來實現(xiàn)你想要的功能。 在中斷中判斷按鍵抖動,并設(shè)置標(biāo)志位(第一個標(biāo)志位用來判斷第一次按下,第二個標(biāo)志位用來判斷第二次按下)。在主程序中判斷標(biāo)志位,第一個標(biāo)志為1時,關(guān)計時器中斷,暫停刷新,進(jìn)入while循環(huán)等待。兩個標(biāo)志位同時為1時,跳出while循環(huán),開計時器中斷,繼續(xù)刷新數(shù)碼管。如兩個標(biāo)志位同時為1,記得清零。
回復(fù)

使用道具 舉報

7#
ID:457092 發(fā)表于 2018-12-28 10:56 | 只看該作者
按鍵判定不刷新
回復(fù)

使用道具 舉報

8#
ID:446674 發(fā)表于 2018-12-28 11:26 | 只看該作者
可以,一個中斷就行了
回復(fù)

使用道具 舉報

9#
ID:269211 發(fā)表于 2019-1-3 21:47 | 只看該作者
寫個中斷就行了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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