導航:首頁 > 操作系統 > 51單片機測脈沖寬度

51單片機測脈沖寬度

發布時間:2025-03-16 16:47:36

『壹』 51單片機測量正脈沖寬度

建議你在INT1引腳上,加一個反相器。這樣,可以使用中斷功能來完成。程序如下:
ORG 0000H
SJMP MAIN
ORG 000BH
LJMO I_T0
ORG 00013H
LJMP I_INT1
MAIN:
MOV R0,#0
MOV TMOD,#02H
MOV TH0,#0
MOV TL0,#0
SETB IT1
SETB EA
SETB EX1
SETB ET0
SJMP $
I_INT1:
SETB TR0
JNB P3.3,$
MOV 60H,TL0
MOV 61H,R0
MOV R0,#0
MOV TL0,#0
CLR TR0
RETI
I_T0:
CLR TF0
INC R0
RETI
END
最後正脈沖的寬度為:[(61H)×256+(60H)]×T
其中:T為機器周期,如果是6MHz的話就是2uS,如果是12MHz的話就是2uS。
我評經驗,你要測量正脈沖寬度是要計算占空比。這個程序,實現該功能沒問題。

附帶說一句,你這樣的問題才30分,少了點哇。呵呵,寫程序很辛苦的啦~!:)呵呵

『貳』 跪求51單片機控制舵機程序(切記,單片機,不要弄個C來忽悠啊)

目前我正在研究舵機的控制,這里提供一個控制舵機的程序供參考。通過按鍵可以改變單片機輸出脈沖寬度,從而控制舵機的轉動范圍。這個程序是基於51單片機設計的。

首先,程序從0000H開始,跳轉到主程序。定時中斷子程序位於000BH,用於處理定時中斷。

主程序開始時,初始化堆棧指針和中斷系統。然後設置P3.7為脈沖波形的起始狀態,初始化定時器0,並設定舵機0位的初始值,即1.5ms。

接下來,程序通過檢測按鍵狀態來控制舵機轉動角度。當右轉鍵被按下時,程序會遞增脈沖寬度,使舵機轉動。當左轉鍵被按下時,程序會遞減脈沖寬度,使舵機反向轉動。

當電機回0鍵被按下時,程序將舵機歸零,即脈沖寬度恢復為1.5ms。

定時中斷服務程序用於處理定時中斷,它通過改變定時器0的初始值來控制脈沖寬度。

此外,程序中還包含了一個簡單的延時子程序D10MS,用於防抖處理。

這個程序的核心在於通過改變脈沖寬度來控制舵機的角度,通過按鍵可以靈活調整舵機的位置。

整體而言,這是一個通過按鍵控制舵機轉動角度的51單片機程序,適用於舵機控制的基本應用場景。

『叄』 單片機PCA能測量1秒脈寬嗎

可以,只要代碼編輯無誤,一般情況下是可以測量的。STC12C系列增強型單片機片上擴展了基本51單片機的功能,如提供了PCA/PWM介面,定時器能工作在1T模式下(基本51單片機的時鍾是Fosc的12分頻,1T模式下1分頻)。PCA可以用於脈寬測量,但是,protues暫不支持該系列單片機的模擬功能,反復燒寫也挺麻煩,所以還是先用基本51單片機實現該功能,在後面的博文里在實現PCA測量脈寬。TMOD最高位GATEn置位後,Tn啟動計數受INTn(Pin3.3)和TRn的共同影響:TRn為1,當INTn引腳輸入為高電平時,Tn才允許計數。利用這個功能可測量INTn上正脈沖的寬度。

『肆』 各位老鐵,小弟在論文進行答辯的時候碰到了點問題,論文題目是基於51單片機的數字頻率計設計

1。單片機測量的是方波信號,如果是其它波形或幅度不合適,就進行放大和整形
2。.該信號進入單片機的哪個引腳,如果用定時器0作為計數器,輸入引腳是P3.4
如果用定時器1作為計數器,輸入引腳是P3.5 如果測單個脈沖寬度(或周期),可以輸入任意引腳,但最好用中斷引腳P3.2或P3.3
3。.信號進入引腳之後怎麼計算它的程序
用另外一個定時器定時50ms,測50ms內有多少個脈沖輸入,然後乘以20(即1S)即是頻率

閱讀全文

與51單片機測脈沖寬度相關的資料

熱點內容
如何使用代理伺服器加速上網 瀏覽:266
找企業負責人電話用什麼app 瀏覽:427
linux創建文本文件命令 瀏覽:390
計算機中文檔加密保護操作步驟 瀏覽:387
地暖解壓管 瀏覽:465
貪心演算法dijkstra 瀏覽:38
買零食用什麼app可以隔天到 瀏覽:632
android控制項動態設置高度 瀏覽:340
python網路編程pdf下載 瀏覽:96
java重排序 瀏覽:465
什麼app可以修改別人網路密碼 瀏覽:728
python如何遍歷list 瀏覽:71
mac查看文件大小命令 瀏覽:900
數據結構java下載 瀏覽:420
4g63壓縮比 瀏覽:204
如何開泰拉瑞亞伺服器 瀏覽:256
程序員的經歷有哪些 瀏覽:12
漣源碼山物流園聯系電話 瀏覽:674
phpjson轉換成數組 瀏覽:872
java刪除注釋 瀏覽:925