[AVR汇编例程]AVR单片机 用定时器1产生PWM波形实验 - 单片机应用 - 博趣

  无线电   专题策划 行业动态 测试测量 单片机 精彩制作 精品套件 基础入门 试阅与下载 往期目录 官方淘宝店 制汇节
当前位置:博趣 -> 无线电 -> 单片机应用

TOP

[AVR汇编例程]AVR单片机 用定时器1产生PWM波形实验
发表日期:2012-03-02 08:58:28 来源:麦克鼠单片机学习网 作者: 【 】 浏览:4349次 评论:0

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

 > 相关内容:

 
Tags:AVR 汇编 单片机 定时器 产生 PWM 波形 实验 责任编辑:博趣
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇[BASCOM-AVR例程]单片机学习入门.. 下一篇[AVR汇编例程]AVR单片机定时器1做..

赞助商链接

最新文章

热门文章

推荐文章