⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap7.asm

📁 Motorola 6808嵌入式接口设计开发原程序
💻 ASM
字号:
; Chapter 7 6808 assembly language programs
; Jonathan W. Valvano
; This software accompanies the book,
; Real Time Embedded Systems published by Brooks Cole
;

; Program 7.1. Assembly subroutine to output a character using the SCI port.
; MC68HC708XL36
OutChar brclr 7,SCS1,OutChar   
        sta SCDR  ;output
        rts

; Program 7.2. A second assembly subroutine to output a character using the SCI port.
; MC68HC708XL36
OutChar sta SCDR  ;output
wait2   brclr 7,SCS1,wait2
        rts

; Program 7.3. A third assembly subroutine to output a character using the SCI port.
; MC68HC708XL36
OutChar sta SCDR  ;output
wait3   brclr 6,SCS1,wait3
        rts

; Program 7.5. Assembly ritual to initialize the SCI port to accept receiver interrupts.
; MC68HC708XL36
RITSCI sei      ;make atomic
       lda #$32 ;4800 baud
       sta SCBR
       lda #00  ;M=0, 8 bit
       sta SCCR1 ;1 stop
       lda #$2C 
       sta SCCR2
       bsr CLRQ  ;Init FIFO
       cli       ;Enable
       rts 

; Program 7.6. Simple polling for receiver interrupts.
; MC68HC708XL36
SCIHAN  brset 5,SCS1,INSCI

; Program 7.7. Polling for ones and zeros for receiver interrupts.
; none for MC68HC708XL36

; Program 7.8. Assembly ISR for receiver interrupts.
; MC68HC708XL36
INSCI lda SCS1 ;status  
      and #$0E ;OR NF FE  
      bne ERROR   
      lda SCDR ;data ack  
      bsr PutFifo ;Communicate  
      bcs ERROR ;FIFO full?  
      rti

; Program 7.10. Assembly ritual to initialize the SCI port to accept receiver and transmitter interrupts.
; MC68HC708XL36
Init mov #$31,SCBR ;9600
     mov #$00,SCC1
     jsr RxInitFifo ;empty
     jsr TxInitFifo ;empty
     mov #$2c,SCC2 ;enable 
     mov #$00,SCC3 ;no DMA
     cli
     rts

Program 7.11. Assembly subroutines called by the main program to perform serial I/O.
; MC68HC708XL36
InChar  jsr RxGetFifo
        beq InChar
        rts
OutChar jsr TxPutFifo ;save
        beq OutChar  ;full?
        mov #$AC,SCC2 ;arm
        rts

; Program 7.12. Assembly ISR for receiver and transmitter interrupts.
; MC68HC708XL36
SCIhdlr lda SCS1        and #$20    ;SCRF?        beq ChkSCTE ;Not InSCI   lda SC0DRL  ;ASCII         bsr RxPutFifoChkSCTE lda SCS1        and #$80   ;SCTE?        beq SCIdone ;NotOutSCI  bsr TxGetFifo        beq nomore        sta SCDR   ;start 
        bra SCIdone
nomore  mov #$2C,SCC2 disarm
SCIdone rti

; Program 7.13. Assembly functions for serial output using DTR synchronization.
; MC68HC708XL36
; PA0 is DTR
OutChar brset 0,PORTA,OutChar   
        brclr 7,SCS1,OutChar
        sta SCDR  ;output
        rts

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -