找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1442|回復: 3
收起左側

51單片機采集編碼器信號,感覺讀的脈沖數(shù)不對

[復制鏈接]
ID:1003526 發(fā)表于 2022-1-27 14:48 | 顯示全部樓層 |閱讀模式
編碼器連接單片機的IO口,編碼器單周脈沖是720個,但是手動轉編碼器一周采集到的信號才100多個。
是不是單片機的循環(huán)速率太低,讓單片機跑一個自加程序,用LCD1602顯示數(shù)值,感覺數(shù)值自加的速率很慢。
如果是這個原因,有什么辦法可以提高程序的運行速度。
回復

使用道具 舉報

ID:883242 發(fā)表于 2022-1-27 20:11 | 顯示全部樓層
編碼器應該使用外部中斷來實現(xiàn),你該不會是用了查詢端口狀態(tài)來做的吧?
回復

使用道具 舉報

ID:1003526 發(fā)表于 2022-1-28 14:51 | 顯示全部樓層
Hephaestus 發(fā)表于 2022-1-27 20:11
編碼器應該使用外部中斷來實現(xiàn),你該不會是用了查詢端口狀態(tài)來做的吧?

確實不是用中斷做的,是使用51的P2口做的,我以為指令的執(zhí)行速度夠快是可以用查詢端口做的,能不能詳細說一下為什么查詢端口做不成。
回復

使用道具 舉報

ID:161164 發(fā)表于 2022-1-29 10:29 | 顯示全部樓層
你的LCD是不斷更新的吧?
LCD的顯示函數(shù)是很耗時間滴
你試試在程序底加一段IO口取反代碼
如:
Void main()
{
While(1)
{
//你的代碼

P17 = !P17;
}
}
然后看看P17口的輸出頻率就能大致知道一次循環(huán)要多久
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表