📄 test.asm
字号:
;功能:产生100HZ的方波
;MCU:ATmega8,fosc=8M,
;PCB:AVR\AVR.DDB\testICP.sch
.include "m8def.inc"
.def temp =r16 ;暂存器
;---------------------------------------
.org 0x0000
rjmp reset
.org 0x0009
rjmp time0
;==================================================
time0: brts t0lp1
sbi PORTB,0
set
t0lp2: ldi temp,217 ;重置定时初值,8M,5ms,1024分频
out TCNT0,temp
reti
t0lp1: cbi PORTB,0
clt
rjmp t0lp2
;==================================================
.org 0x0020
reset: ldi temp,low(ramend) ;设置堆栈指针
out SPL,temp
ldi temp,high(ramend)
out SPH,temp
ldi temp,0xFF ;设B,C,D为输出
out DDRB,temp
out DDRC,temp
out DDRD,temp
clr temp
out PORTB,temp ;
out PORTC,temp ;
out PORTD,temp ;
cli
clt
ldi temp,0x01
out TIMSK,temp ;允许T0中断
ldi temp,217 ;定时初值,8M,5ms*2=100Hz,1024分频
out TCNT0,temp
ldi temp,0x05 ;T0,1024分频
out TCCR0,temp
sei
here: rjmp here
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -