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

📄 clock.sdi

📁 it consist of PCF8583 assembly driver
💻 SDI
字号:
,,,.include "2313def.inc"
,,,;***************************************************************************
,,,;* 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              :AVR000
,,,;* File Name           :"2313def.inc"
,,,;* Title               :Register/Bit Definitions for the AT90S2313
,,,;* Date                        :99.01.28
,,,;* Version             :1.30
,,,;* Support telephone   :+47 72 88 43 88 (ATMEL Norway)
,,,;* Support fax         :+47 72 88 43 99 (ATMEL Norway)
,,,;* Support E-Mail      :avr@atmel.com
,,,;* Target MCU          :AT90S2313
,,,;*
,,,;* DESCRIPTION
,,,;* When including this file in the assembly program file, all I/O register
,,,;* names and I/O register bit names appearing in the data book can be used.
,,,;* 
,,,;* The Register names are represented by their hexadecimal addresses.
,,,;* 
,,,;* The Register Bit names are represented by their bit number (0-7).
,,,;* 
,,,;* Please observe the difference in using the bit names with instructions
,,,;* such as "sbr"/"cbr" (set/clear bit in register) and "sbrs"/"sbrc" 
,,,;* (skip if bit in register set/cleared). The following example illustrates
,,,;* this:
,,,;* 
,,,;* in  r16,PORTB               ;read PORTB latch
,,,;* sbr r16,(1<<PB6)+(1<<PB5)   ;set PB6 and PB5 (use masks, not bit#)
,,,;* out  PORTB,r16              ;output to PORTB
,,,;*
,,,;* in  r16,TIFR                ;read the Timer Interrupt Flag Register
,,,;* sbrc        r16,TOV0                ;test the overflow flag (use bit#)
,,,;* rjmp        TOV0_is_set             ;jump if set
,,,;* ...                         ;otherwise do something else
,,,;***************************************************************************
,,,         
,,,;***** Specify Device
,,,.device AT90S2313
,,,         
,,,;***** I/O Register Definitions
,,,.equ  SREG    =$3f
,,,.equ  SPL     =$3d
,,,.equ  GIMSK   =$3b
,,,.equ  GIFR    =$3a
,,,.equ  TIMSK   =$39
,,,.equ  TIFR    =$38
,,,.equ  MCUCR   =$35
,,,.equ  TCCR0   =$33
,,,.equ  TCNT0   =$32
,,,.equ  TCCR1A  =$2f
,,,.equ  TCCR1B  =$2e
,,,.equ  TCNT1H  =$2d
,,,.equ  TCNT1L  =$2c
,,,.equ  OCR1AH  =$2b
,,,.equ  OCR1AL  =$2a
,,,.equ  ICR1H   =$25
,,,.equ  ICR1L   =$24
,,,.equ  WDTCR   =$21
,,,.equ  EEAR    =$1e
,,,.equ  EEARL   =$1e
,,,.equ  EEDR    =$1d
,,,.equ  EECR    =$1c
,,,.equ  PORTB   =$18
,,,.equ  DDRB    =$17
,,,.equ  PINB    =$16
,,,.equ  PORTD   =$12
,,,.equ  DDRD    =$11
,,,.equ  PIND    =$10
,,,.equ  UDR     =$0c
,,,.equ  USR     =$0b
,,,.equ  UCR     =$0a
,,,.equ  UBRR    =$09
,,,.equ  ACSR    =$08
,,,         
,,,         
,,,;***** Bit Definitions
,,,.equ  SP7     =7
,,,.equ  SP6     =6
,,,.equ  SP5     =5
,,,.equ  SP4     =4
,,,.equ  SP3     =3
,,,.equ  SP2     =2
,,,.equ  SP1     =1
,,,.equ  SP0     =0
,,,         
,,,.equ  INT1    =7
,,,.equ  INT0    =6
,,,         
,,,.equ  INTF1   =7
,,,.equ  INTF0   =6
,,,         
,,,.equ  TOIE1   =7
,,,.equ  OCIE1A  =6
,,,.equ  TICIE   =3
,,,.equ  TOIE0   =1
,,,         
,,,.equ  TOV1    =7
,,,.equ  OCF1A   =6
,,,.equ  ICF1    =3
,,,.equ  TOV0    =1
,,,         
,,,.equ  SE      =5
,,,.equ  SM      =4
,,,.equ  ISC11   =3
,,,.equ  ISC10   =2
,,,.equ  ISC01   =1
,,,.equ  ISC00   =0
,,,         
,,,.equ  CS02    =2
,,,.equ  CS01    =1
,,,.equ  CS00    =0
,,,         
,,,.equ  COM1A1  =7
,,,.equ  COM1A0  =6
,,,.equ  PWM11   =1
,,,.equ  PWM10   =0
,,,         
,,,.equ  ICNC1   =7
,,,.equ  ICES1   =6
,,,.equ  CTC1    =3
,,,.equ  CS12    =2
,,,.equ  CS11    =1
,,,.equ  CS10    =0
,,,         
,,,.equ  WDTOE   =4
,,,.equ  WDE     =3
,,,.equ  WDP2    =2
,,,.equ  WDP1    =1
,,,.equ  WDP0    =0
,,,         
,,,.equ  EEMWE   =2
,,,.equ  EEWE    =1
,,,.equ  EERE    =0
,,,         
,,,.equ  PB7     =7
,,,.equ  PB6     =6
,,,.equ  PB5     =5
,,,.equ  PB4     =4
,,,.equ  PB3     =3
,,,.equ  PB2     =2
,,,.equ  PB1     =1
,,,.equ  PB0     =0
,,,         
,,,.equ  DDB7    =7
,,,.equ  DDB6    =6
,,,.equ  DDB5    =5
,,,.equ  DDB4    =4
,,,.equ  DDB3    =3
,,,.equ  DDB2    =2
,,,.equ  DDB1    =1
,,,.equ  DDB0    =0
,,,         
,,,.equ  PINB7   =7
,,,.equ  PINB6   =6
,,,.equ  PINB5   =5
,,,.equ  PINB4   =4
,,,.equ  PINB3   =3
,,,.equ  PINB2   =2
,,,.equ  PINB1   =1
,,,.equ  PINB0   =0
,,,         
,,,.equ  PD6     =6
,,,.equ  PD5     =5
,,,.equ  PD4     =4
,,,.equ  PD3     =3
,,,.equ  PD2     =2
,,,.equ  PD1     =1
,,,.equ  PD0     =0
,,,         
,,,.equ  DDD6    =6
,,,.equ  DDD5    =5
,,,.equ  DDD4    =4
,,,.equ  DDD3    =3
,,,.equ  DDD2    =2
,,,.equ  DDD1    =1
,,,.equ  DDD0    =0
,,,         
,,,.equ  PIND6   =6
,,,.equ  PIND5   =5
,,,.equ  PIND4   =4
,,,.equ  PIND3   =3
,,,.equ  PIND2   =2
,,,.equ  PIND1   =1
,,,.equ  PIND0   =0
,,,         
,,,.equ  RXC     =7
,,,.equ  TXC     =6
,,,.equ  UDRE    =5
,,,.equ  FE      =4
,,,.equ  OR      =3
,,,         
,,,.equ  RXCIE   =7
,,,.equ  TXCIE   =6
,,,.equ  UDRIE   =5
,,,.equ  RXEN    =4
,,,.equ  TXEN    =3
,,,.equ  CHR9    =2
,,,.equ  RXB8    =1
,,,.equ  TXB8    =0
,,,         
,,,.equ  ACD     =7
,,,.equ  ACO     =5
,,,.equ  ACI     =4
,,,.equ  ACIE    =3
,,,.equ  ACIC    =2
,,,.equ  ACIS1   =1
,,,.equ  ACIS0   =0
,,,         
,,,.def  XL      =r26
,,,.def  XH      =r27
,,,.def  YL      =r28
,,,.def  YH      =r29
,,,.def  ZL      =r30
,,,.def  ZH      =r31
,,,         
,,,.equ    RAMEND  =$DF    ;Last On-Chip SRAM Location
,,,.equ  XRAMEND =$DF
,,,.equ  E2END   =$7F
,,,.equ  FLASHEND=$3FF
,,,         
,,,         
,,,.equ  INT0addr=$001   ;External Interrupt0 Vector Address
,,,.equ  INT1addr=$002   ;External Interrupt1 Vector Address
,,,.equ  ICP1addr=$003   ;Input Capture1 Interrupt Vector Address
,,,.equ  OC1addr =$004   ;Output Compare1 Interrupt Vector Address
,,,.equ  OVF1addr=$005   ;Overflow1 Interrupt Vector Address
,,,.equ  OVF0addr=$006   ;Overflow0 Interrupt Vector Address
,,,.equ  URXCaddr=$007   ;UART Receive Complete Interrupt Vector Address
,,,.equ  UDREaddr=$008   ;UART Data Register Empty Interrupt Vector Address
,,,.equ  UTXCaddr=$009   ;UART Transmit Complete Interrupt Vector Address
,,,.equ  ACIaddr =$00a   ;Analog Comparator Interrupt Vector Address
,,,         
,,,         
,,,.equ  IND_DATA        =5              ;IND_DATA  conn to pin #5
,,,.equ  IND_CLOCK       =6              ;IND_CLOCK conn to pin #6
,,,         
,,,.def  CNT1            =R25            ;(GL)Counter for DIGIT_7SEG1/DIGIT_7SEG2 Select
,,,         
,,,.def  KEY             =R24            ;(GL)KEY Codes
,,,         
,,,.def  ACK             =R23            ;(GL)ACK Code           
,,,         
,,,.def  DEL25           =R1             ;(GL)DELAY 0.25 ms
,,,         
,,,.def  ALRM            =R2             ;(GL)ALRM On/Off Flag
,,,         
,,,.def  POINT           =R4             ;(GL)POINT On/Off Flag
,,,         
,,,;======================== *** SRAM SEGMENT ***==============================
,,,         
,,,      .DSEG                           ;SRAM memory segment
,,,         
,,,         
0000C0,0000,OUNT,OUNT:  .byte   1               ;IND Counter
0000C2,0000,DR,DR:    .byte   1               ;IND Adress
0000C4,0000,LAG,LAG:   .byte   1               ;IND FLAG (DIGIT_7SEG1/DIGIT_7SEG2 Select)
,,,         
0000C6,0000,HIFT,HIFT:  .byte   1               ;KEY CODES CREATING
,,,         
0000C8,0000,ME_FL,ME_FL: .byte   1               ;"0" - write TIME; "1" - write ALARM
,,,         
0000CA,000D,,_7SEG1:        .byte   4               ;DIGIT in 7-SEG Code 

⌨️ 快捷键说明

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