c51微控制器程式求助

時間 2022-03-14 00:40:06

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...