1樓:匿名使用者
你這個bai程式,數碼管顯示du
效果怎樣啊。是zhi不是很閃的?
這個程式,我dao
覺得那是相當的回爛,相當答啊,相當,相當!那個中斷這樣用有意思嗎void time0() interrupt 1//中斷動態掃描顯示函式
}這樣寫倒還湊合,這樣的話
for(a=10;a>0;a--)
display(ad);//顯示測試電壓值這個也就不需要了
微控制器 數碼管動態顯示問題,下面程式要不要加個中斷程式來重新整理掃描,
2樓:匿名使用者
如果主程式不「忙」,你把顯示程式寫在大迴圈內,顯示是連續的沒有必要用中斷
如果大迴圈內有一些佔用時間很長的語句,肯定會影響顯示效果但用不用中斷,還要看是顯示重要,還是其它語句重要,有些過程是不允許被打斷的,這時就 要犧牲顯示效果
有時顯示程式可以分散在其它程式語句中,掃描顯示時每送一位數不是有延時嗎,可以用這個延時去幹其它事
同理,在程式的其它地方也會有延時語句,可以讓顯示語句來代替這個延時,不就二者兼顧了嗎?
3樓:匿名使用者
需要,一般用定時器來掃描顯示,否則顯示效果很不理想。
微控制器程式中如何做到延時不影響數碼管掃描顯示 10
4樓:匿名使用者
單片bai機程式,數碼管掃du描顯示,及計時 可以用一zhi個定時器中斷來
dao完成,回
比如 8 個數碼管 定時器用 2 ~ 2.5 ms,每次中答斷 重新整理 一個數碼管,同時可以 設定一個標誌位
在主程式 中記錄中斷 次數作為 定時 或者 延時,如 2.5ms 40次 就是 100ms,如果計時精度 要求高的 可以另外 用一個定時器,
學會使用定時器,很多問題很好解決的。
5樓:匿名使用者
程式設計問題,不要在程式裡採用死迴圈延時。
6樓:滄海海神
隨便寫的 蜂鳴器響的時間等於 beep_time*10ms#include
unsigned char beep_time = 0;
//unsigned char beep_en = 0;
void timer0interrupt(void) interrupt 1
else
}void main (void)}
7樓:匿名使用者
蜂鳴器的控制有個開關吧,用定時器每10ms判斷一次時間到100ms時關閉蜂鳴器就行了。
如果沒有內開關容,得自己分執行緒解決,就是在你的迴圈中加入分項任務,每個任務就是一個執行緒,每個執行緒在一次迴圈中所佔用的時間控制在1ms到5ms以內,各任務就可以輪流執行。
這個迴圈體就相當於一個多工作管理員。
8樓:汪穩
在你的延時程式中加入數碼管顯示程式,這樣就行了,望採納,謝謝
9樓:匿名使用者
最簡單的辦法就是在定時中斷程式中持行掃描輸出
用微控制器控制一個8段數碼管,其迴圈顯示數字0到9,每位數字顯示時間為一秒,定時功能用微控制器中斷顯示
10樓:瀋陽_大偉
有一個一模一樣的提問,好吧,俺再發布一次
給你一份我自己寫的,利用四位數碼管顯示模擬時鐘的程式吧,供你研究
另外,再給你一個一位數碼管的,是你要求的那種
這兩個都是利用微控制器的定時器中斷來產生秒訊號的
下面這個是 四位數碼管的,最下邊的是一位數碼管的,埠不一樣的話,自己改下
#include
sbit p20=p3^7; sbit p21=p3^6; sbit led=p2^7;//按鍵及led埠定義
sbit axs=p1^3; sbit bxs=p1^2; sbit cxs=p1^1; sbit dxs=p1^0;//數碼管位選埠
char table[10]=;//數碼管顯示編碼
unsigned int h,m,s,t,n;
void ys(char hs)//延時函式
void xs(int xh,int xm) //顯示子函式
void main(void)
}while(!p20)}
if(p21==0)}while(!p21)}
xs(h,m);//呼叫數碼管顯示函式}}
void int1() interrupt 1 //定時器中斷
//led閃爍
if(n>1000)//如果達到一秒,秒加一
if(s>59)//如果達到一分,分加一
if(m>59)//如果達到一小時,小時加一
if(h>23)//如果達到24小時,小時清零
#include
sbit axs=p1^3;//數碼管位選埠
char table[10]=;//數碼管顯示編碼
unsigned int h,m,s,t,n;
void ys(char hs)//延時函式
void main(void)
void int1() interrupt 1 //定時器中斷
//如果達到一秒,秒加一
if(m>9)//如果達到一小時,小時加一
請高手幫我看看下面的matlab程式,怎麼能提高執行速度,資料也不算大的,但執行了將近兩小時
程式覆沒有大的問題制 可以執行。有個問題n 1 1 1000 的步長太小了,所以執行很長。建議你改一下步長,如n 1 10 1000,用我電腦執行的時間為 237.718235 seconds.執行結果 哪位高手幫我看看下面這段matlab程式,幫我解析一下是什麼意思 r j b za rain.t...
什麼是C語言的中斷程式有什麼用啊
朋友打個比方就是今天晚上你知道有客人來 而這裡你就是cpu,開門就是cpu要做的事情而因為你不知道客人多少點來,所以第一你守在門口等,就好比cpu用個迴圈不斷檢測一樣 第二呢就是等客人按了門鈴再去開門,事實上大家都是用的第二種方式恰巧第二種方式就和中斷很像,這裡門鈴聲就是一箇中斷訊號,他要求你停下手...
用c語言編寫下面這個程式,求大神
這是一道應用題bai目,不要du以現在個人所得zhi稅扣除額3500元計算。dao.工資為x 500元收超過部分專的5 500 5 25元 x 500 2000 10 45 25x 2700元 應交個人所屬得稅額 工資薪金2700 個人交五險一金金額 個人所得稅扣除額2000元 適用稅率10 速算扣...