標(biāo)題: 單片機(jī)匯編語言七 數(shù)碼管計(jì)數(shù)及中斷Proteus仿真代碼 [打印本頁]

作者: cangyuan    時(shí)間: 2021-7-23 16:08
標(biāo)題: 單片機(jī)匯編語言七 數(shù)碼管計(jì)數(shù)及中斷Proteus仿真代碼
本實(shí)驗(yàn)數(shù)碼管循環(huán)顯示09,當(dāng)INT0端口即P3.2口有低電平時(shí),數(shù)碼管立即回到0重新循環(huán)顯示。目的是為了:1、掌握8051 CPU的中斷的相關(guān)概念及指令;2、掌握8051外部中斷的寄存器設(shè)置;3、掌握8051外部中斷服務(wù)子程序的編寫方法。
1、8051中斷概述  
  中斷是為使單片機(jī)具有對外部或內(nèi)部隨機(jī)發(fā)生的事件實(shí)時(shí)處理而設(shè)置的,中斷功能的存在,很大程度上提高了單片機(jī)處理外部或內(nèi)部事件的能力。它也是單片機(jī)最重要的功能之一,是我們學(xué)習(xí)單片機(jī)必須要掌握的。對于單片機(jī)來講,中斷是指CPU在處理某一事件A時(shí),中斷源向CPU提出中斷請求,CPU暫時(shí)中斷原來的事務(wù)A,轉(zhuǎn)去處理事件B,對事件B處理完畢后,再回到原來被中斷的地方(即斷點(diǎn)),稱為中斷返回。這一過程稱為中斷。下圖單片機(jī)處理中斷的過程:

  單片機(jī)在執(zhí)行程序時(shí),中斷也隨時(shí)有可能發(fā)生,但無論何時(shí)發(fā)生,只要一旦發(fā)生,單片機(jī)將立即暫停當(dāng)前程序,趕去處理中斷程序,處理完中斷程序后再返回剛才暫停處接著執(zhí)行原來的程序。單片機(jī)在執(zhí)行程序時(shí)其程序流程圖。
2、中斷相關(guān)寄存器
   

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. ORG 0000H
  2. LJMP START
  3. ORG 0003H
  4. LJMP INTT0
  5.        
  6. START:
  7. MOV IE,#81H
  8. MOV A,#00H
  9. MOV R0,#00H
  10. MOV R1,#0AH
  11. LOOP:
  12. MOV DPTR,#TABLE
  13. MOV A,R0
  14. MOVC A,@A+DPTR
  15. MOV P2,A
  16. INC R0
  17. LCALL DELAY
  18. DJNZ R1,LOOP
  19. LJMP START

  20. DELAY:
  21. MOV R5,#255
  22. D1:MOV R6,#255
  23. D2:NOP
  24. NOP
  25. DJNZ R6,D2
  26. DJNZ R5,D1
  27. RET

  28. INTT0:
  29. MOV R0,#00H
  30. MOV A,R0
  31. MOVC A,@A+DPTR
  32. MOV P2,A
  33. RETI

  34. TABLE:DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,77H,7cH,39H,5eH,79H,71H
  35. END
復(fù)制代碼

仿真代碼51hei附件下載:
實(shí)驗(yàn)七工程.7z (41.81 KB, 下載次數(shù): 7)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1