![]() |
發布時間: 2024-9-10 22:33
正文摘要:下面是一個數碼管動態顯示0-999數字的程序,在程序的第62行“interrupt 1”后面跟著個“using 2”,這個“using 2”是必要的嗎,不寫會怎樣 |
不要寫using,多少個中斷都不要用 using是優化的,不是必需的,你不用沒多大事,用了反而容易出錯 |
不太懂,但是我試過,結果變的不穩定 |
csmyldl 發表于 2024-9-11 08:55 我也覺得您說的對,假設有4個以上的中斷,就要好好考慮一下了。 |
wpppmlah 發表于 2024-9-11 08:27 你這理解錯了,單片機把內存地址的00H至1FH的32個存儲單元分為4組,稱之為工作寄存器,每一組分別對應R0至R7,用于中斷時保護R0-R7的數據不被覆蓋,若中斷多了,就需要選擇使用哪一組工作寄存器。 |
建議不要使用 using x; 讓編譯器自己去處理,所以這個 using 2 可以不用寫,,(意思是指定此函數使用R0-R7通用寄存器的 R2,我是這么理解的).![]() |
如果只使用了一個中斷,可以不要,但程序中使用了多個中斷時,為了防止中斷保護的寄存器R0 R1數據誤覆蓋,最好加上各中斷的工作器選擇,編程者如果能確認保護數據不會被覆蓋,可省掉using |
沒必要,默認using0 |