1樓:做而論道
sec_cnt equ 30h
sec_0x equ 31h
org 0000h
sjmp mian
org 000bh
sjmp int_t0
mian:
mov sec_cnt, #20
mov sec_0x, #00h
mov tmod, #01h
mov th0, #(65536-50000) / 256mov tl0, #(65536-50000) mod 256setb tr0
setb et0
setb ea
mov dptr, #table
loop:
mov a, sec_0x
cjne a, #100, disp
mov sec_0x, #0
disp:
mov a, sec_0x
mov b, #10
div ab
movc a, @a + dptr
mov p0, a
clr p2.6
setb p2.6
clr p2.6
mov p0, #11011111b
clr p2.7
setb p2.7
clr p2.7
djnz r7, $
djnz r7, $
mov p0, #11111111b
clr p2.7
setb p2.7
clr p2.7
mov a, b
movc a, @a + dptr
mov p0, a
clr p2.6
setb p2.6
clr p2.6
mov p0, #11101111b
clr p2.7
setb p2.7
clr p2.7
djnz r7, $
djnz r7, $
mov p0, #11111111b
clr p2.7
setb p2.7
clr p2.7
ljmp loop
table:
db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h, 7fh, 6fh
int_t0:
mov th0, #(65536-50000) / 256mov tl0, #(65536-50000) mod 256djnz sec_cnt, next
mov sec_cnt, #20
inc sec_0x
next:
retiend
2樓:匿名使用者
你這程式很怪啊,使用定時器中斷,怎麼不堆疊保護?
c51微控制器中斷程式中的interrupt1,2,3是由什麼決定的
中斷是指由於某種事件的發生 硬體或者軟體的 計算機暫停執行當前的程式,轉而執行另一程式,以處理髮生的事件,處理完畢後又返回原程式繼續作業的過程。中斷是處理器一種工作狀態的描述。1 int0 外部中斷0,由p3.2埠引入,低電平或下降沿引起。預設優先順序最高。2 int1 外部中斷1,由p3.3埠引入...
51微控制器C程式問題
很明顯不一樣 原因如下 s2con 0x02 0 這條語句成立的條件是s2con 0 二進位制表示的,代表任意值 即s2con只需要第二位為0就一定滿足 s2con 0x02 1 這條語句成立的條件是s2con 二進位制表示的,代表任意值 即s2con可以為任意值,都滿足 我猜你的問題應該是這麼樣子...
求助微控制器c語言程式問題,求助 微控制器C語言程式問題
第一個是在主程式中設定的定時計數器中斷相關引數設定,tmod 0x10 設定定時計數器的工作方式為方式1 16為計數器 也就是計數範圍為 0 65536 th1 65536 200 256 tl1 65536 200 256 設定計數器的初值為 200.ea 1 開總中斷,et1 1 開定時計數器1...