📄 leds.s
字号:
.module Leds.c
.area data(ram, con, rel)
_ledsOn::
.blkb 1
.area idata
.byte 112
.area data(ram, con, rel)
.area text(rom, con, rel)
.even
_led_init::
; //LED接口
; #include "led.h"
; unsigned char ledsOn=0x70; //第一次翻转变亮
; void led_init()
; {
; PORTC |=0x70;
in R24,0x15
ori R24,112
out 0x15,R24
L1:
.dbline 0 ; func end
ret
.even
_led0Off::
; }
;
; //*********Turn off LED 0.
; void led0Off()
; {
; PORTC |=0x10;
sbi 0x15,4
; ledsOn |=0x10;
lds R24,_ledsOn
ori R24,16
sts _ledsOn,R24
L2:
.dbline 0 ; func end
ret
.even
_led0On::
; }
;
;
; //**********Turn on LED 0.
; void led0On()
; {
; PORTC &=~0x10;
cbi 0x15,4
; ledsOn &=~0x10;
lds R24,_ledsOn
andi R24,239
sts _ledsOn,R24
L3:
.dbline 0 ; func end
ret
.even
_led0Toggle::
; }
;
;
; //**********Toggle LED 0; if it was off, turn it on, if was on, turn it off.
; void led0Toggle()
; {
; if (ledsOn &0x10)
lds R2,_ledsOn
sbrs R2,4
rjmp L5
; led0On();
xcall _led0On
xjmp L6
L5:
; else
; led0Off();
xcall _led0Off
L6:
L4:
.dbline 0 ; func end
ret
.even
_led1Off::
; }
;
; //*********Turn off LED 1.
; void led1Off()
; {
; PORTC |=0x20;
sbi 0x15,5
; ledsOn |=0x20;
lds R24,_ledsOn
ori R24,32
sts _ledsOn,R24
L7:
.dbline 0 ; func end
ret
.even
_led1On::
; }
;
; //**********Turn on LED 1.
; void led1On()
; {
; PORTC &=~0x20;
cbi 0x15,5
; ledsOn &=~0x20;
lds R24,_ledsOn
andi R24,223
sts _ledsOn,R24
L8:
.dbline 0 ; func end
ret
.even
_led1Toggle::
; }
;
; //*********Toggle LED 1; if it was off, turn it on, if was on, turn it off.
; void led1Toggle()
; {
; if (ledsOn &0x20)
lds R2,_ledsOn
sbrs R2,5
rjmp L10
; led1On();
xcall _led1On
xjmp L11
L10:
; else
; led1Off();
xcall _led1Off
L11:
L9:
.dbline 0 ; func end
ret
.even
_led2Off::
; }
;
; //********Turn off LED 2.
; void led2Off()
; {
; PORTC |=0x40;
sbi 0x15,6
; ledsOn |=0x40;
lds R24,_ledsOn
ori R24,64
sts _ledsOn,R24
L12:
.dbline 0 ; func end
ret
.even
_led2On::
; }
;
; //*******Turn on LED 2.
; void led2On()
; {
; PORTC &=~0x40;
cbi 0x15,6
; ledsOn &=~0x40;
lds R24,_ledsOn
andi R24,191
sts _ledsOn,R24
L13:
.dbline 0 ; func end
ret
.even
_led2Toggle::
; }
;
; //*********Toggle LED 2; if it was off, turn it on, if was on, turn it off.
; void led2Toggle()
; {
; if (ledsOn &0x40)
lds R2,_ledsOn
sbrs R2,6
rjmp L15
; led2On();
xcall _led2On
xjmp L16
L15:
; else
; led2Off();
xcall _led2Off
L16:
L14:
.dbline 0 ; func end
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -