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

標題: ht66f70a單片機led燈的閃爍,求大神指教 [打印本頁]

作者: 123000.。    時間: 2019-9-20 18:22
標題: ht66f70a單片機led燈的閃爍,求大神指教
代碼如下:
#include "HT66F70A.H"
void Delay_ms(unsigned int dly)//延時dly ms的子程序
{
unsigned int i;
for(i=0;i<dly;i++)
for(i=0;i<dly;i++);

}
void main()
{
_pa=0;
_pac=0;//pa設置為輸出
_pa0=0;
while(1)
{Delay_ms(500);
Delay_ms(500);//延時500ms,即0.5s
_pa0=~_pa0;
}
}

功能是實現led燈的閃爍。
但是我無論怎么該延遲函數這個燈都閃的很快(亮的時間很長,暗的時間幾乎看不到),之前也用這個芯片做步進電機的實驗,步進電機也是只震動不轉,而且震動的頻率也是固定的。求解。。。。

作者: Y_G_G    時間: 2019-9-20 20:44
_pa0=~_pa0;
這語句放到兩個延時的中間
而不是放到最后
作者: tyrl800    時間: 2019-9-20 21:15
延時函數錯誤,改成
void Delay_ms(unsigned int dly)//延時dly ms的子程序
{
unsigned int i,j;
for(i=0;i<dly;i++)
for(j=0;j<dly;j++);

}
作者: 123000.。    時間: 2019-9-20 21:57
Y_G_G 發表于 2019-9-20 20:44
_pa0=~_pa0;
這語句放到兩個延時的中間
而不是放到最后

一樣的結果,我有個while死循環,根本不是你說的那樣
作者: lyxing    時間: 2019-9-20 22:18
樓上正解。
作者: 飛機翻筋斗    時間: 2019-9-21 08:38
合泰單片機,我記得要把看門狗關閉的啊
作者: yzwzfyz    時間: 2019-9-21 08:39
兩個:
for(i=0;i<dly;i++)
for(i=0;i<dly;i++);
將其中的一個改成 j 試試         
作者: wulin    時間: 2019-9-21 08:40
樓主的延時函數是錯誤的,Delay_ms(500);只能得到約6ms延時,肉眼哪能看得出來?
正確寫法:
void Delay_ms(unsigned int dly)//延時dly ms的子程序
{
        unsigned int i,j;
        for(i=0;i<dly;i++)
                for(j=0;j<125;j++);
}
作者: 51_hei    時間: 2019-9-21 13:26
感覺是不是電路連接上面的問題,延時函數變量命名習慣個人感覺很差,但第二個 for 循環,會首先將 i 重置0,語法角度是沒錯的。不過建議該有的大括號,還有重命名弄好一點。

建議題主把電路圖也順便貼出來,一個軟硬結合的東西,只拿代碼說有可能布線的鍋,幫不得的。

按照題主的說法是暗的時間幾乎沒有,那就是有暗的時間了,那調試的時候不先試試先將開關量置1?如果結果相反的話,這個代碼加幾行相反代碼就好了。
作者: sgw182    時間: 2019-9-21 16:07
void Delay_ms(unsigned int dly)//延時dly ms的子程序 { unsigned int i,j; for(i=0;i<dly;i++) for(j=0;j<dly;j++);  }
作者: Y_G_G    時間: 2019-9-21 16:49
在燒錄界面看一下,好像是有關閉看門狗和低電壓復位的
合泰的指令和8051是不一樣的,你把語句改了之后,延時加長幾看一下

順便說一下,雖然現在C是主流,但合泰這種低端單片機,最好還是用匯編,幾乎所以的臺系的單片機數據手冊都會推薦用匯編的
作者: 123000.。    時間: 2019-9-21 21:34
問題已經解決了,今天重新吧延遲函數換了下,但同樣的代碼我燒錄幾遍,有時候正常有時候有問題,估計是硬件的問題
#include <HT66F70A.H>
void delay(unsigned int);//延時dly ms的子程序
void main()
{
_pa=0;
_pac=0;//pa設置為輸出
_pa0=0;
while(1)
{delay(5000);
  _pa0=~_pa0;
delay(5000);
delay(5000);
delay(5000);//延時500ms,即0.5s

}
}
void delay(unsigned int count)
{
    volatile unsigned int i;
    for(i=0;i<count;i++)
        asm("nop");
}
注:跟這個volatile和 asm("nop")無關




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 免费一区 | 日韩精品一区二区三区 | 久草资源 | 91久久国产综合久久91精品网站 | 日韩国产中文字幕 | 欧美三级三级三级爽爽爽 | 欧美精品一区三区 | 九九综合 | 日本五月婷婷 | 午夜看看| 18性欧美 | 一级毛片在线播放 | 久久午夜视频 | 美女精品一区 | 福利片在线观看 | 国产综合av| 亚洲精品一区国语对白 | 国产精品成人一区 | 最新国产精品精品视频 | 国产一级片免费看 | 国产在线中文字幕 | 国产精品五区 | 亚洲毛片在线观看 | 久久久久久久久久爱 | 中文字幕第7页 | 国产精品久久久久久亚洲调教 | 婷婷色国产偷v国产偷v小说 | 免费在线观看成年人视频 | 久久青青| 久久久国产一区二区三区四区小说 | 欧美电影一区 | 成人午夜性成交 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 欧美一级观看 | 在线观看视频亚洲 | 九一在线观看 | 欧美精品一区二区在线观看 | 欧美自拍日韩 | 欧美成人一区二区 | 日韩1区| 日本一区二区高清视频 |