📄 atmega8and74hc164controlledprogram.asm
字号:
.include "m8def.inc"
.org $00
rjmp main
.org $20
main: ldi r16,high(ramend)
out sph,r16
ldi r16,low(ramend)
out spl,r16
sbi ddrb,0
sbi ddrb,4
sbi ddrb,5
sbi portb,0 ;pb0数码管的数据线
sbi portb,4 ;pb4数码管的时钟线
sbi portb,5 ;pb5数码管的小数点
ldi r16,0
call shumaguan
ldi r16,0
call shumaguan
ldi r16,0
call shumaguan
ldi r16,0
call shumaguan
clr r22
out tcnt0,r22
out timsk,r22
out tifr,r22
ldi r16,5
out tccr0,r16
clr r23 ;秒
clr r24
clr r25 ;分
loop: in r16,tifr
sbrs r16,0
rjmp loop
ldi r16,1
out tifr,r16
inc r24
cpi r24,14
brlo loop
clr r24
inc r23
cpi r23,60
brlo loop1
clr r23
inc r25
cpi r25,60
brlo loop1
clr r25
loop1: mov r27,r23
call shijinzhi
mov r27,r25
call shijinzhi
rjmp loop
;****************************************************************
shumaguan: wdr
ldi r17,8
ldi r31,4
mov r30,r16
lpm r16,z
shumg1: sbi portb,0
rol r16
brcs shumg2
cbi portb,0
shumg2: cbi portb,4 ;pb4数码管的时钟线
sbi portb,4
dec r17
cpi r17,1
brsh shumg1
wdr
ret
;**************************************************************************
shijinzhi: wdr
clr r26
shi0: cpi r27,10
brlo shi1
subi r27,10
inc r26
rjmp shi0
shi1: mov r16,r27
call shumaguan
mov r16,r26
call shumaguan
ret
;;***************************************************************************
.org $200 ;数码管显示对应值
.db $ee,$28,$cd,$6d,$2b,$67,$e7,$2c,$ef,$6f,$00,$00
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -