當前位置:編程學習大全網 - 編程軟體 - C51單片機匯編語言

C51單片機匯編語言

Sjmp $是壹個無限循環,常用於調試中斷服務程序。用來模擬主程序,等待中斷信號,然後就可以運行中斷服務程序了。妳可以在這條指令之前寫壹條指令,也可以在這條指令之後寫壹條指令,但要運行後面這條指令,除非後面這條指令有程序頭,中斷服務程序中有跳轉指令。

中斷有很多種,如外部中斷、定時器中斷和串口中斷。

讓我寫壹個定時器中斷。

定時器T0中斷

ORG 0000H復位後的主程序入口地址

LJMP MAIN跳轉到主程序

ORG 000BHT0定時器中斷入口地址

LJMP CTC0中斷服務程序的長跳轉

ORG 100h;主程序地址

主要:

MOV TL0,# 156;分配T0定時器初始值

MOV TL1,# 156;重新加載初始值

MOV TMOD,# 00000100 b;設置T0以在8位制動重載模式下運行。

SETB ET0;允許T0溢出中斷

SETB EA;中斷

SETB TR0;開始T0

SJMP美元;循環等待,模擬主程序等待中斷。

CTC 0:;中斷服務程序(interrupt service routine的縮寫)

CPL p 1.0;反轉P1.0。

RETI;返回斷點

上面的程序是使T0時刻,每100個機器周期中斷壹次,不中斷地反相P1.0,使P1.0產生壹個周期為200us的方波。

樓主可以看看我回答的問題,很多都是打斷的。

  • 上一篇:北京精雕包裹到面怎麽用
  • 下一篇:prolog語言的三種基本語句是
  • copyright 2024編程學習大全網