找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 825|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

求助51單片機(jī)舵機(jī)驅(qū)動(dòng)匯編程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:259813 發(fā)表于 2024-12-13 16:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
讓舵機(jī)左轉(zhuǎn)動(dòng)90度,輸出1ms脈沖,然后右轉(zhuǎn)動(dòng)90度,輸出1.5MS脈沖,只使用延時(shí)可以嗎?我這樣編寫(xiě)的,但有時(shí)候不能用。麻煩給姐說(shuō)一下
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:940483 發(fā)表于 2024-12-26 09:23 | 只看該作者
假設(shè)左轉(zhuǎn)90度和右轉(zhuǎn)90度對(duì)應(yīng)的脈沖寬度1ms、PWM信號(hào)的周期為20ms,步驟:設(shè)置PWM信號(hào)的周期;根據(jù)所需的角度,設(shè)置PWM信號(hào)的高電平時(shí)間。

  1. ORG 0000H       ; 程序起始地址
  2. LJMP START      ; 跳轉(zhuǎn)到程序開(kāi)始處
  3. ORG 000BH       ; 定時(shí)器0中斷向量地址
  4. LJMP TIMER0_ISR ; 跳轉(zhuǎn)到定時(shí)器0中斷服務(wù)程序
  5. START:
  6.     MOV TMOD, #01H       ; 設(shè)置定時(shí)器0為模式1(16位定時(shí)器)
  7.     MOV TH0, #0FCH       ; 定時(shí)器0高8位初值(假設(shè)周期為20ms)
  8.     MOV TL0, #66H        ; 定時(shí)器0低8位初值
  9.     SETB ET0             ; 使能定時(shí)器0中斷
  10.     SETB TR0             ; 啟動(dòng)定時(shí)器0
  11.     CLR P1.0             ; 假設(shè)P1.0連接舵機(jī)控制信號(hào); 左轉(zhuǎn)90度,輸出1ms脈沖
  12.     MOV R0, #1000        ; 假設(shè)1ms需要1000個(gè)機(jī)器周期(具體根據(jù)單片機(jī)時(shí)鐘頻率算)
  13.     LCALL DELAY_MS
  14.     SETB P1.0            ; 設(shè)置P1.0為高電平
  15.     MOV R0, #9999        ; 20ms - 1ms = 19ms,假設(shè)需要9999個(gè)機(jī)器周期
  16.     LCALL DELAY_MS
  17.     CLR P1.0             ; 清除P1.0為高電平; 右轉(zhuǎn)90度,輸出1.5ms脈沖
  18.     MOV R0, #1500        ; 假設(shè)1.5ms需要1500個(gè)機(jī)器周期
  19.     LCALL DELAY_MS
  20.     SETB P1.0            ; 設(shè)置P1.0為高電平
  21.     MOV R0, #9400        ; 20ms - 1.5ms = 18.5ms,假設(shè)需要9400個(gè)機(jī)器周期
  22.     LCALL DELAY_MS
  23.     CLR P1.0             ; 清除P1.0為高電平
  24.     SJMP $                   ; 無(wú)限循環(huán)
  25.     DELAY_MS:
  26.     MOV R1, R0           ; 將延時(shí)計(jì)數(shù)值存入R1
  27.     DJNZ R1, $           ; 延時(shí)循環(huán)
  28.     RET
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表