打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[AVR汇编例程]AVR单片机 用定时器1产生PWM波形实验

AVR单片机的定时器功能非常强大,除了一般的定时、计数功能外,还具有PWM波形发生,捕获和比较等功能。本实验演示AVR单片机的定时器产生PWM波形的方法。我们配置定时器1(Timer1)工作在10位相位修正PWM波形产生模式。该程序用AVR- Studio-4 开发,在AVR单片机Atmega48上调试通过。
本实验的详细说明和硬件搭建请参考>>

;--------------------------------------------------------------------------------------------------
;--------单片机入门实验 用定时器1产生PWM波形实验 AVR 汇编程序-----------
;--------------------------------------------------------------------------------------------------
;作者: 超简单工作室
;Email: fullmous@hotmail.com
;软件版本: AVR Studio 4.13.571 Service Pack 2
;创建日期: 2008.5
;版本 V1.00
;
; Target : M48
; Crystal: 8.0000Mhz
;*****************************************************

.include "m48def.inc"
.org $0000
rjmp _main
.org $0020
_port_init:
; PORTB = 0x00;
clr R2
out 0x5,R2
; DDRB = 0x06;
ldi R24,6
out 0x4,R24
; PORTC = 0x00;
out 0x8,R2
; DDRC = 0x00;
out 0x7,R2
; PORTD = 0x00;
out 0xb,R2
; DDRD = 0x00;
out 0xa,R2
ret
_timer1_init:
; TCCR1B = 0x00; //stop
clr R2
sts 129,R2
; TCNT1H = 0xFC; //setup
ldi R24,252
sts 133,R24
; TCNT1L = 0x01;
ldi R24,1
sts 132,R24
; TCCR1A = 0xE3;
ldi R24,227
sts 128,R24
; TCCR1B = 0x03; //start Timer
ldi R24,3
sts 129,R24
ret
_adc_init:
; 设置前,先关闭ADC
clr R2
sts 122,R2
; 选择内部AVCC为基准
ldi R24,64
sts 124,R24
; 关闭模拟比较器
ldi R24,128
out 0x30,R24
; 使能ADC,启动ADC单次转换,选64分频
ldi R24,198
sts 122,R24
ret
_adc_get:
; 启动ADC转换
lds R24,122
ori R24,64
sts 122,R24
L5:
lds R2,122
sbrc R2,6
rjmp L5
lds R16,120
lds R17,120+1
ret
_main:
rcall _port_init
rcall _timer1_init
rcall _adc_init
L9:
; adc_v = adc_get(); //ADC转换
rcall _adc_get
; lt = 1023 - adc_v;
ldi R24,0xff
ldi R25,3
movw R12,R24
sub R12,R16
sbc R13,R17
; rt = 1023 - adc_v;
sub R24,R16
sbc R25,R17
movw R10,R24
;
; OCR1A = lt;
sts 136+1,R13
sts 136,R12
; OCR1B = rt;
sts 138+1,R11
sts 138,R10
rjmp L9
ret
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
AVR单片机专辑——定时器1
为什么选择AVR单片机?
AVR定时器的要点介绍
AVR 的 AD 输入脚电压超过5.6V时 出现的问题? (amoBBS 阿莫电子论坛)
基于AVR单片机PWM功能的数控恒流源研制
AVR单片机系列教程(一)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服