在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    <address id="qec3z"><var id="qec3z"><center id="qec3z"></center></var></address>

      <span id="qec3z"><code id="qec3z"></code></span>
    • <dfn id="qec3z"></dfn>
      <ruby id="qec3z"><thead id="qec3z"><noscript id="qec3z"></noscript></thead></ruby>
      <label id="qec3z"></label><dfn id="qec3z"><var id="qec3z"></var></dfn>

        新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一個avr單片機的匯編程序,注意幾個宏指令

        一個avr單片機的匯編程序,注意幾個宏指令

        作者: 時間:2016-12-02 來源:網絡 收藏
        //晶振1MHz

        //LED接PB0
        //使用定時器1,1024分頻,0.5秒中斷一次,LED閃爍一次
        程序如下:
        .include "m8def.inc"

        本文引用地址:http://www.biyoush.com/article/201612/324650.htm

        .equ led =0
        .equ flash =$60

        .org$0000//中斷向量表

        rest:
        rjmp START
        INT0addre: ; External Interrupt0 Vector Address
        reti
        INT1addre: ; External Interrupt1 Vector Address
        reti
        OC2addre : ; Output Compare2 Interrupt Vector Address
        reti
        OVF2addre: ; Overflow2 Interrupt Vector Address
        reti
        ICP1addre: ; Input Capture1 Interrupt Vector Address
        reti
        OC1Aaddre: ; Output Compare1A Interrupt Vector Address
        reti
        OC1Baddre: ; Output Compare1B Interrupt Vector Address
        reti
        OVF1addre: ; Overflow1 Interrupt Vector Address
        rjmp Timer1_ovf
        OVF0addre: ; Overflow0 Interrupt Vector Address
        reti
        SPIaddre : ; SPI Interrupt Vector Address
        reti
        URXCaddre: ; USART Receive Complete Interrupt Vector Address
        reti
        UDREaddre: ; USART Data Register Empty Interrupt Vector Address
        reti
        UTXCaddre: ; USART Transmit Complete Interrupt Vector Address
        reti
        ADCCaddre: ; ADC Interrupt Vector Address
        reti
        ERDYaddre: ; EEPROM Interrupt Vector Address
        reti
        ACIaddre : ; Analog Comparator Interrupt Vector Address
        reti
        TWIaddre : ; Irq.vectoraddress for Two-Wire Interface
        reti
        SPMaddre : ; SPM complete Interrupt Vector Address
        reti
        SPMRaddre: ; SPM complete Interrupt Vector Address
        reti

        .org$20

        START:
        ldi r16,low(ramend)//設置堆棧指針
        out spl,r16
        ldi r16,high(ramend)
        out sph,r16
        clr r16
        sts flash,r16
        sbi ddrb,led//PB0接led
        rcall Timer1_ovf_init//調用初始化函數(shù)

        MAIN:
        lds r16,flash
        sbrs r16,0 ;if theflagis set,jump onelow
        rjmp main

        ldi r16,0x01//LED取反
        in r17,pinb
        eor r17,r16
        out portb,r17
        clr r16
        sts flash,r16

        rjmp main

        Timer1_ovf_init:
        ldi r16,0xfe
        out tcnt1h,r16
        ldi r16,0x17
        out tcnt1l,r16
        in r16,timsk
        sbr r16,1<<2//開溢出中斷
        out timsk,r16
        ldi r16,0x05
        out tccr1b,r16//開定時器
        sei //開中斷
        ret

        Timer1_ovf://定時器2定時0.5S
        in r16,sreg
        push r16//保存SREG入棧
        ldi r16,0xfe
        out tcnt1h,r16
        ldi r16,0x17
        out tcnt1l,r16
        clr r16
        sbrr16,1<<0//設置標志
        stsflash,r16
        pop r16
        out sreg,r16
        reti//中斷返回



        評論


        技術專區(qū)

        關閉