[ บทความ : ตัวอย่างสำหรับ AVR ตอนที่ 9 ] ทดสอบ PWM ของ ET-AVR V1/2

ตัวอย่างซอร์สโค้ดสำหรับติดต่อกับ PWM ของบอร์ด ET-AVR V1/2 (V1 จะต้องทำส่วนของ Connector เพิ่มเติมเอาเอง) เป็นดังนี้



;***************************************************************************
;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
;* 
;* Number		:  ET-AVR V1/V2
;* File Name		:"pwm.asm"
;* Date                 :6/1/42
;* Version              :1.0
;* Support telephone	:712 1120-1 (ETT)
;* Support fax		:3917216 (ETT)
;* Support www          :www.etteam.com,www.ett.co.th
;* Target MCU		:AT90S8535/AT90LS8535
;*
;***************************************************************************
;
.include "8535def.inc"

	    .org   $000 
             rjmp  RESET	        ;Reset Handle

;****************************************************************************
;*
;* Test/Example Program
;*
;****************************************************************************
;
.def	    temp  = r19     
;

RESET:      ldi     temp,low(RAMEND)
            out     SPL,temp           ;init Stack Pointer Low     

            ldi     temp,high(RAMEND)
            out     SPL+1,temp         ;init Stack Pointer High

            ldi     temp,0b00110000    ;set PORTD.5 and PORTD.4 output port 
            out     DDRD,temp
                      
            ldi     temp,0b10100001 ;set regiater TCCR1A 
            out     TCCR1A,temp
             
            ldi     temp,0b00000011 ;set register TCCR1B
            out     TCCR1B,temp

loop:       ldi     temp,0x00
            out     OCR1AH,temp
            ldi     temp,0x50
            out     OCR1AL,temp

            ldi     temp,0x00
            out     OCR1BH,temp
            ldi     temp,0x50
            out     OCR1BL,temp   
            rjmp    loop 
 
          
                           




;***************************************************************************
;* A P P L I C A T I O N   N O T E   F O R   T H E   A V R   F A M I L Y
;* 
;* Number		: ET-AVR V1/V2
;* File Name		:"pwm2.asm"
;* Date                 :6/1/42
;* Version              :1.0
;* Support telephone	:712 1120-1 (ETT)
;* Support fax		:3917216 (ETT)
;* Support www          :www.etteam.com,www.ett.co.th
;* Target MCU		:AT90S8535/AT90LS8535
;*
;***************************************************************************
;
.include "8535def.inc"

	    .org   $000 
             rjmp  RESET	        ;Reset Handle

;****************************************************************************
;*
;* Test/Example Program
;*
;****************************************************************************
;
.def	    temp    =r19     
;

RESET:      ldi     temp,low(RAMEND)
            out     SPL,temp            ;init Stack Pointer Low     

            ldi     temp,high(RAMEND)
            out     SPL+1,temp          ;init Stack Pointer High

            cli                         ;clear golbal interrupt
            
            ldi     temp,0x50           ;initial duty cycle 
            out     OCR2,temp
              
            ldi     temp,0x80           ;set PORTD.7 output port 
            out     DDRD,temp
                      
            ldi     temp,0b01100100     ;set regiater TCCR1A 
            out     TCCR2,temp     
                    
loop:       ldi     temp,0xF1
            out     OCR2,temp
            rjmp    loop     
                            

สามารถ download ไฟล์ตัวอย่างของบอร์ด พร้อม assembler ได้เลยครับ


เขียนโดย : ETT
Author : ETT team
e-mail : sales@etteam.com
วันที่ทำการปรับปรุง : ๑๖ พ.ย. ๒๕๔๓