![]() |
發(fā)布時間: 2020-9-19 21:49
正文摘要:本來設計要做了個ADC電路,實驗挺成功的。下一步要做一個脈沖計數(shù)器。結果無論如何就是不成功。 先聲明,我自己做了NE555方波發(fā)生器。50%固定占空,頻率從 0.72Hz ~ 72kHz 可調。產生出來的波形送給51單片機P34引 ... |
wulin 發(fā)表于 2020-9-21 06:00 OK ![]() |
guysxpf 發(fā)表于 2020-9-20 21:02 已經(jīng)設置自動重載模式就不需在中斷函數(shù)里面重新賦初值。 |
taotie 發(fā)表于 2020-9-20 18:24 太詳細了,謝謝您 |
wulin 發(fā)表于 2020-9-20 10:39 初值的定義我理解錯了,謝謝指正。。 可是是有一點我不太理解,我選的是自動重載模式,但,您說“中斷函數(shù)里面要重新賦初值FFF8”,已經(jīng)自動重載了還有這個必要嗎? |
laoshu2521 發(fā)表于 2020-9-20 10:10 我的代碼不是自己寫的,是STC官方給的,簡單改了改。 不過問題已經(jīng)有另外兩個大神解答了,不過還是謝謝您 |
本帖最后由 guysxpf 于 2020-9-20 20:52 編輯 wulin 發(fā)表于 2020-9-20 10:39 我明白了,謝謝,定時器是從設定值累加到FF。看來是當時學的原理都忘光了。 學習了,謝謝您! |
![]() #include <reg51.h> #include <stdio.h> #include "intrins.h" sbit P05 = P0^5; void TM0_Isr() interrupt 0 { P05 = ~P05; //測試端口 } void main() { EA =1; EX0 =1; IT0= 1; while (1); } |
好像有問題,稍后看看 |
本帖最后由 wulin 于 2020-9-20 17:33 編輯 定時器初值錯誤,應該是65536-8=65528=0xFFF8,中斷中也要重新賦初值FFF8。
|
親,你的定時器都沒有初始化,時鐘都沒設定。另外你要檢測555定時器的輸出脈沖的話,代碼不是這么寫的。需要用捕獲模式,中斷函數(shù)里面也不對。你這段代碼即使把定時器設好了,也是上電閃幾次燈的事情,可能太快眼睛都看不見。 |
你是怎么測試的? 就說不成功 |
Powered by 單片機教程網(wǎng)