<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          一個(gè)avr單片機(jī)的匯編程序,注意幾個(gè)宏指令

          作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
          //晶振1MHz

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

          本文引用地址:http://www.ex-cimer.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)//設(shè)置堆棧指針
          out spl,r16
          ldi r16,high(ramend)
          out sph,r16
          clr r16
          sts flash,r16
          sbi ddrb,led//PB0接led
          rcall Timer1_ovf_init//調(diào)用初始化函數(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//開定時(shí)器
          sei //開中斷
          ret

          Timer1_ovf://定時(shí)器2定時(shí)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//設(shè)置標(biāo)志
          stsflash,r16
          pop r16
          out sreg,r16
          reti//中斷返回



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();