導航:首頁 > 操作系統 > 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單片機測脈沖寬度相關的資料

熱點內容
冒泡排序演算法原理 瀏覽:327
陝西伺服器陣列卡晶元雲主機 瀏覽:302
阿里雲學生認證伺服器怎麼購買 瀏覽:713
為什麼手機app廣告多 瀏覽:253
js調用php獲取本機ip 瀏覽:789
離地鐵1公里源碼 瀏覽:556
安卓和ios系統編程 瀏覽:664
php轉化為大寫 瀏覽:447
如何給別人的伺服器上傳文件 瀏覽:366
romberg演算法matlab 瀏覽:771
安卓二次壓縮怎麼解壓 瀏覽:116
php讀取圖片信息 瀏覽:381
剪映提取字幕文件夾 瀏覽:804
e語言抽獎源碼 瀏覽:793
java小數點2位 瀏覽:590
建立nas共享文件夾 瀏覽:668
優質的溯源碼燕碎一克一般多少錢 瀏覽:174
程序員轉型年薪 瀏覽:242
江山伺服器怎麼樣 瀏覽:861
abf命令 瀏覽:163