1樓:匿名使用者
max7219不太好用,特別不穩定。不如用兩個4094.也是序列通訊。
加減計數簡單多了,二位數十進位制連續加減調整位閃爍彙編程式,
以前寫的,肯定有好多漏洞或錯誤。請自己分析,希望對你有所幫助。
org 0000h
ajmp start
org 000bh ;定時器0的中斷向量地址
ajmp time0 ;跳轉到真正的定時器程式處
org 30h
start: mov tmod,#00000001b ;定時/計數器0工作於方式1
mov th0,#15h
mov tl0,#0a0h ;即數5536
setb ea ;開總中斷允許
setb et0 ;開定時/計數器0允許
setb tr0
setb p0.0
clr p0.1
clr p2.7
mov r3,#c0h
mov r4,#c0h
ajmp bh1
bh10: lcall ajys
jb p2.4,bh1
cpl p2.7
bh11: jnb p2.4,bh11
lcall ajys
jnb p2.4,bh11
ajmp bh1
jiaks: mov r1,#0
mov r3,#c0h
mov p1,r3
ajmp bh1
jianks: mov r1,#9
mov r3,#90h
mov p1,r3
bh1: jnb p2.4,bh10
jnb p2.2,jia
jnb p2.3,jian
jnb p2.5,bcsj ;bcsj意思是儲存資料
jnb p2.7,bh1
ajmp bh2
;*************************===
jia: lcall ajys ;加
jb p2.2,bh1
inc r1
cjne r1,#10,d1
ajmp jiaks
d1: mov a,r1
mov dptr,#table
movc a,@a+dptr
cpl a
mov r3,a
mov p1,a
lcall ajys
ajmp bh1
;*************************===
jian: lcall ajys ;減
jb p2.3,bh1
dec r1
cjne r1,#ffh,d2
ajmp jianks
d2: mov a,r1
mov dptr,#table
movc a,@a+dptr
cpl a
mov r3,a
mov p1,a
lcall ajys
ajmp bh1
;*************************===
jiaks2: mov r2,#0
mov r4,#c0h
mov p1,r4
ajmp bh2
jianks2: mov r2,#9
mov r4,#90h
mov p1,r4
bh2: jnb p2.4,bh10
jnb p2.2,jia2
jnb p2.3,jian2
jnb p2.5,bcsj
jnb p2.7,bh1
ajmp bh2
;*************************===
jia2: lcall ajys
jb p2.2,bh2
inc r2
cjne r2,#10,d3
ajmp jiaks2
d3: mov a,r2
mov dptr,#table
movc a,@a+dptr
cpl a
mov r4,a
mov p1,a
lcall ajys
l5: ajmp bh2
;*************************===
jian2: lcall ajys
jb p2.3,bh2
dec r2
cjne r2,#ffh,d4
ajmp jianks2
d4: mov a,r2
mov dptr,#table
movc a,@a+dptr
cpl a
mov r4,a
mov p1,a
lcall ajys
ajmp bh2
;*************************===
table: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
ajys: mov r6,#255
l102: mov r5,#255
l92: djnz r5,l92
djnz r6,l102
rettime0: ;定時器0的中斷處理程式
push acc
push psw ;將psw和acc推入堆疊保護
cpl p0.0
cpl p0.1
jb p0.0,l8
jb p0.1,l9
l8: mov p1,r3
jnb p2.7,dsq1
ajmp dsq2
l9: mov p1,r4
jb p2.7,dsq1
ajmp dsq2
dsq1: mov th0,#eeh
mov tl0,#88h
ajmp sss
dsq2: mov th0,#77h
mov tl0,#88h ;重置定時常數
sss: pop psw
pop acc
reti
bcsj: mov 21h,r1
mov 22h,r2
ajmp bh1end
2樓:匿名使用者
網上查好久只看到測試程式什麼後面自己寫的問題肯定很多望高手賜教,感激不盡我用的是彙編,如果你是彙編,我還能幫你看看,可c語言就不行了,它們認識
求彙編程式
假設三個數放在記憶體的地址num處 num dw 100,30,78 用氣泡排序的方法 mov cx,3 外層迴圈次數 dec cx loop1 mov di,cx 儲存迴圈次數mov bx,0 內層迴圈的初始狀態,從頭開始loop2 mov ax,num bx cmp ax,num bx 2 同後...
下面這段彙編程式的含義是什麼
def dsp28x usdelay 定義以個名字是 dsp28x usdelay 的函式 sect ramfuncs 設定這個函式所存放的段 global dsp28x usdelay 表明此函式可以為外部函式等所呼叫 dsp28x usdelay 函式名,函式實體的開始 sub acc,1 計數...
高手幫看一下這個彙編程式
問題出在這一句上 next add word ptr bx 2應該是 next add bx,2 begin cmp word ptr bx n1jc next 小於800的跳過inc num繼續比較下一個數cmp word ptr bx n2 jnc next 這裡修改jna為jnc不低於 即大於...