![]() |
發布時間: 2018-7-19 18:51
正文摘要:1. 實驗任務 用P1.0 輸出1KHz 和500Hz 的音頻信號驅動揚聲器,作報警信號,要求1KHz 信號響100ms,500Hz 信號響200ms,交替進行,P1.7 接一開關進行控制,當 開關合上響報警信號,當開關斷開告警信號停止,編出程 ... |
xhaity 發表于 2018-7-20 11:13 謝謝你的詳細解釋,現在很明白了! |
yousunny 發表于 2018-7-20 09:29 謝謝你的解答! |
從你的程序看,bit flag 是定義了一bit做為標志,但在程序中沒有用;其次dely500()函數應該是延時500us左右,調用1次500us,P1.0電平變化一次,正好輸出1kHz頻率, for(count=200;count>0;count--)這個循環執行200次,每次調用1次延時500us,調用200次執行100ms退出; 調用2次就大約1ms,P1.0電平反轉1次,就輸出500Hz頻率,for循環執行200次,P1.0輸出500Hz頻率 200ms退出。 |
for(count=200;count>0;count--)這個就是for循環啊!! bit flag; 這個程序沒用到,可以刪了 |
找有注釋、看得懂的程序看! |
akclwq 發表于 2018-7-19 19:39 謝謝你的回復!for(count=200;count>0;count--)這句如何理解呢?沒有bit flag;這個定義會有啥問題? |
bit flag; 定義一個標志位,用來記錄狀態的。 or(count=200;count>0;count--) //此語句的作用? { P1_0=~P1_0; dely500(); } 燈閃爍程序 |