|
发表于 2007-12-8 01:47:43
|
显示全部楼层
.include "tn13def.inc"
.DEF CONUM=R17
.DEF TEMPN=R16
.ORG 0X00
RJMP RESET
RJMP EX_INT0
RJMP PCINT0_T
RJMP TIM0_OVF
RJMP EE_RDY
RJMP ANA_COMP
RJMP TIM0_COMPA
RJMP TIM0_COMPB
RJMP WATCHDOG
RJMP ADCC
.ORG 0X000A
RESET:
LDI R16,LOW(RAMEND)
OUT SPL,R16
ldi r19,0xff
ldi r20,0x00
out ddrb,R20
out portb,r19
;;//初始化程序//;;
;;
LDI R22,0X02
SEI;;置全局中断;;
LDI TEMPN,0X60;;充许INT0中断;;
OUT GIMSK,TEMPN;;通用中断屏蔽寄存器;;- INT0 PCIE - ,- - - -;;0X3B
;; OUT GIFR,TEMPN;;通用中断寄存器;;- INTF0 PCIF - - - - -;;0X3A
LDI TEMPN,0X10;;充许PCINT4引脚中断;;
OUT PCMSK,TEMPN;;
LDI TEMPN,0X02
OUT TIMSK0,TEMPN;;定时t/c0中断屏蔽寄存器- - - - ocie0b ocei0a toie0 -;;0x39
LDI TEMPN,0X00
OUT TIFR0,TEMPN;;定时t/c中断寄存器;;- - - - ocf0b ocf0a tov0 -;;0x38
LDI CONUM,0XFD
OUT TCNT0,CONUM;;定时t/c存器;;0x32
LDI TEMPN,0X03
OUT MCUCR,TEMPN;;MCU控制器- PUD SE SM1 SM0 - SISC01 SISC00 ;;0X35
LDI TEMPN,0X00
OUT TCCR0A,TEMPN;;T/C控制寄存器A;;COM0A1 COM0A0 COM0B1 COM0B0 - - WGM01 WGM00;;0X2F
;;wgm2-wgm0波形产生模式;;000正常模式;;
LDI TEMPN,0X07
OUT TCCR0B,TEMPN;;T/C控制寄存器b;;FOC0A FOC0B - - // WGM02 CS02 CS01 CS00;;0X33
;;foc0a仅在wgm指明非pwm模式时才有效。
;;cs2-cs0;;00无时钟不工作
;;01clk/io1;02/clk/io/8;;03cli/io/64;;04clkio/256;;05cliio/1024;;
;;06时钟由t0引脚输入,下降沿触发
;;07早钟由t0引脚输入,上升沿触发;;T0/PB2/7脚
SBI DDRB,0
LOOP:
NOP
NOP
SBI PORTB,0;;EN=H
NOP
NOP
NOP
LDI TEMPN,0X33
OUT MCUCR,TEMPN;;MCU控制器- PUD SE SM1 ,SM0 - SISC01 SISC00 ;;0X35
SLEEP;;;;;;由表及3脚上升沿唤醒;;
NOP
NOP
SBI PORTB,0;;EN=H
NOP
NOP
NOP
CBI PORTB,0;;EN=L
NOP
NOP
SBI PORTB,0;;EN=H
NOP
NOP
NOP
CBI PORTB,0;;EN=L
NOP
NOP
RJMP LOOP
LDI TEMPN,0X30
OUT MCUCR,TEMPN
SLEEP
NOP
NOP
CLI
LDI TEMPN,0X80
OUT CLKPR,TEMPN
LDI TEMPN,0X04
OUT CLKPR ,TEMPN
SEI
NOP
EX_INT0:
NOP
NOP
NOP
NOP
NOP
CBI PORTB,0;;EN=L
NOP
NOP
NOP
NOP
NOP
RETI
PCINT0_T:
NOP
SBI PORTB,0;;EN=H
RETI
TIM0_OVF:
;LDI TEMPN,0XF0
;OUT TCNT0,TEMPN
NOP
RETI
EE_RDY:
RETI
ANA_COMP:
RETI
TIM0_COMPA:
RETI
TIM0_COMPB:
RETI
WATCHDOG:
RETI
ADCC:
RETI |
|