?? 8字循環.asm
字號:
;在SL-AVR開發實驗器LED上實現字符8的循環移位顯示程序
;請你 1.如何修改字形; 2.改變字符個數,二位或三位或一隔一顯示;
;3. 改變字形移動方向; 4.改變字符移位速度;
;
.include"m16def.inc" ;器件配置文件
.def temp=r16 ;數據暫存器
.def scndp=r22 ;LED顯示位置暫存器
.org $0000
rjmp reset
.org $030
reset:
ldi temp,low(ramend) ;設置堆棧指針。
out spl,temp
ldi temp,high(ramend)
out sph,temp
ldi temp,$ff ;設置B、D口輸出。
out ddrb,temp
out ddrd,temp
out portd,temp
ldi temp,$7f ;字形8的代碼為$7F(可修改)。
out portb,temp
again: sec ;置進位位為1(低電平LED亮,高電平LED滅)
ldi scndp,0b11011111 ;掃描顯示SCANDP(可修改)
route: out portd,scndp ;從LED最左一位(D5)右移(可修改)
ldi temp,$40 ;設置延時常數(可修改)。
rcall delay ;調用延時
ror scndp ;右循環(可修改)
brcc again ;顯示下一位
rjmp route ;循環顯示
delay: push temp ;延時子程序。
m1: push temp
m2: push temp
m3: dec temp
brne m3
pop temp
dec temp
brne m2
pop temp
dec temp
brne m1
pop temp
dec temp
brne delay
ret
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -