欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

使用ATmega8單片機(jī)時鐘8MHz控制舵機(jī)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
rem Main.bas file generated by New Project wizard
rem
rem Created:   周三 8月 30 2023
rem Processor: ATmega8
rem Compiler:  BASCOM-AVR

rem Write your code here

' 使用8MHz的ATmega8時鐘來控制伺服電機(jī)。
'     信號周期=50Hz(20mS)
'        脈沖范圍=1.5mS±0.5mS(1mS~2mS)
'        輸出端口PB2
'  (1)使用預(yù)分頻器將時鐘8MHz分頻1/8。8,000,000 Hz÷8=1000,000 Hz
'  (2) 使用比較器A[OCR1A]進(jìn)行1/2500分頻。1000,000Hz÷50Hz=20000計(jì)數(shù)-1
'  (3)使用比較器B[OCR1B],將脈沖寬度從999到2000改變?yōu)? mS到2 mS。

$regfile = "m8Def.dat"                                    
$crystal = 8000000
$hwstack = 40
$swstack = 40
$framesize = 40
Config Portb.2 = Output        ' 將脈沖輸出端口OC1B設(shè)置為輸出
Config Timer1 = Pwm , Prescale = 8 , Clear Timer = 1 , Compare B Pwm = Clear Up
Set Tccr1a.wgm11        '高速PWM模式。(TOP=OCR1A)
Set Tccr1b.wgm13        ' 高速PWM模式。(TOP=OCR1A)
Compare1a = 19999        ' 1000,000Hz÷50Hz=20000計(jì)數(shù)-1  (19999*1μS約等于20ms)
Dim a As Byte        '循環(huán)計(jì)數(shù)

Dim pw_count As word        ' 脈沖寬度計(jì)數(shù)。(初始值)1個計(jì)數(shù)為1μS。
'        '
Do        
'舵機(jī)跳躍式動作反復(fù)3次
do
incr a          ' 每次循環(huán)計(jì)數(shù) a=a+1
Compare1b = 1499        ' 脈沖寬度(0度時計(jì)數(shù)值)。1個計(jì)數(shù)為1μS。1*1499為伺服電機(jī)的中性位置——1.5mS
Wait 1
Compare1b = 1499+501  ' 脈沖寬度(+90度時計(jì)數(shù)值)。1個計(jì)數(shù)為1μS。1*20000為伺服電機(jī)的+90位置——2.0mS
Wait 1
Compare1b = 1499-500 ' 脈沖寬度(-90度時計(jì)數(shù)值)。1個計(jì)數(shù)為1μS。1*999為伺服電機(jī)的-90位置——1.0mS
Wait 1
loop until a=3   '3次后退出循環(huán)
a=0              '循環(huán)計(jì)數(shù)歸零

'舵機(jī)緩慢增加或減少(+90度到-90度來回?cái)[動)
For pw_count = 999 To 2000         ' 將脈沖寬度變化至1 mS至2 mS。
Compare1b = pw_count        ' 設(shè)置脈沖寬度。
Waitms 5        ' 等待時間。
Next pw_count        '
Waitms 500   '為看清顯示設(shè)置的等待

For pw_count = 2000 To 999 Step -1        ' 脈沖寬度從2mS變化到1mS
Compare1b = pw_count        ' 設(shè)置脈沖寬度。
Waitms 5        ' 等待時間。
Next pw_count        '
Waitms 500   '為看清顯示設(shè)置的等待
Loop        '

End        ' 程序結(jié)束。

仿真如下:



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:830831 發(fā)表于 2023-9-2 13:24 | 只看該作者
BASCOM-AVR 對舵機(jī)的控制 不太達(dá)標(biāo),勉強(qiáng)可用
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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