久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3459|回復(fù): 0
收起左側(cè)

單片機(jī)匯編語言六 子程序調(diào)用 八位數(shù)碼管顯示Proteus仿真程序

[復(fù)制鏈接]
ID:808939 發(fā)表于 2021-7-21 19:25 | 顯示全部樓層 |閱讀模式
本實(shí)驗(yàn)用單片機(jī)實(shí)現(xiàn)用八位數(shù)碼管顯示0-7。目的是:1、掌握8051 CPU的子程序調(diào)用的相關(guān)指令;
     2、掌握子程序調(diào)用的匯編編程寫法;
     3、了解數(shù)碼管動(dòng)態(tài)顯示的方法。
1、子程序概述  
子程序是指能被主程序或其它程序調(diào)用,具有獨(dú)立完備功能的 程序段。微控制器系統(tǒng)的應(yīng)用程序通常包含多個(gè)子程序。子程序的運(yùn)用,能夠提高編程效率、實(shí)現(xiàn)程序模塊化,也便于程序的繼承。調(diào)用子程序的程序稱為主程序或調(diào)用程序。
斷點(diǎn)地址:子程序調(diào)用指令的下一條指令地址;
子程序地址:子程序第一條指令的地址。
子程序調(diào)用:CALL指令自動(dòng)將斷點(diǎn)地址壓入堆棧保護(hù),然后將子程序地址送PC,實(shí)現(xiàn)子程序的調(diào)用;
子程序返回:子程序的最后一條RET指令,將使堆棧頂部的斷點(diǎn)地址彈出到PC,實(shí)現(xiàn)子程序的返回。

子程序嵌套:在子程序中,調(diào)用其它子程序的情況,稱為子程序嵌套調(diào)用
               圖片2.png 圖片1.png
2、子程序編寫的注意點(diǎn)
1)子程序的第1條指令必須有標(biāo)號(hào),表示該子程序的名稱,也是子程序的符號(hào)地址。要有子程序的功能說明。
2)要明確子程序的調(diào)用條件和出口狀態(tài)
• 調(diào)用條件:調(diào)用子程序需要準(zhǔn)備的參數(shù)(如要處理的數(shù),或存放的寄存器或內(nèi)存地址等);
• 出口狀態(tài):調(diào)用子程序后的結(jié)果(結(jié)果形式或存放地址等)。
3)保護(hù)現(xiàn)場和恢復(fù)現(xiàn)場
保護(hù)現(xiàn)場:子程序前部,將不允許被破壞的內(nèi)容保護(hù)起來;
恢復(fù)現(xiàn)場:子程序返回前,將保護(hù)的內(nèi)容恢復(fù)到保護(hù)前的狀況;
要注意堆棧的“先進(jìn)后出”操作規(guī)則,以保證現(xiàn)場保護(hù)和恢復(fù)的正確。
4)子程序的正確返回
子程序的最后一條指令必須是RET指令。
子程序中,對堆棧的入棧和出棧操作次數(shù)必須相等,以保證返回后堆棧指針SP的值與調(diào)用時(shí)一致。
    圖片3.png 圖片4.png

3、數(shù)碼管簡介
七段數(shù)碼管是電子開發(fā)過程中常用的輸出顯示設(shè)備。在實(shí)驗(yàn)系統(tǒng)中使用的是兩個(gè)四位一體、共陰極型七段數(shù)碼管。其單個(gè)靜態(tài)數(shù)碼管如下圖4-1所示。
圖片5.png
4-1  靜態(tài)七段數(shù)碼管
由于七段數(shù)碼管公共端連接到GND(共陰極型),當(dāng)數(shù)碼管的中的那一個(gè)段被輸入高電平,則相應(yīng)的這一段被點(diǎn)亮。反之則不亮。四位一體的七段數(shù)碼管在單個(gè)靜態(tài)數(shù)碼管的基礎(chǔ)上加入了用于選擇哪一位數(shù)碼管的位選信號(hào)端口。八個(gè)數(shù)碼管的a、b、c、d、e、f、g、h、dp都連在了一起,8個(gè)數(shù)碼管分別由各自的位選信號(hào)來控制,被選通的數(shù)碼管顯示數(shù)據(jù),其余關(guān)閉。



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

單片機(jī)源程序如下:
  1. ORG 0000H
  2. LJMP MAIN

  3. ORG 0100H
  4. MAIN:
  5. MOV R1,#0FEH
  6. MOV R2,#00H
  7. MOV R3,#08H
  8. MOV A,#00H

  9. LOOP:
  10. MOV DPTR,#TABLE
  11. MOV A,R2
  12. MOVC A,@A+DPTR
  13. MOV R0,A
  14. INC R2

  15. MOV P3,R1
  16. MOV P2,R0
  17. LCALL DELAY

  18. MOV A,R1
  19. RL A
  20. MOV R1,A

  21. DJNZ R3,LOOP
  22. LJMP MAIN

  23. DELAY1ms:PUSH 30H
  24. MOV 30H,#0F8H    ;F8
  25. DD:NOP
  26. NOP
  27. DJNZ 30H,DD   
  28. POP 30H
  29. RET

  30. DELAY:
  31. MOV R5,#255
  32. D1:MOV R6,#255
  33. D2:NOP
  34. NOP
  35. DJNZ R6,D2
  36. DJNZ R5,D1
  37. RET

  38. TABLE:DB 3fH,06H,5bH,4fH,66H,6dH,7dH,07H,7fH,6fH,77H,7cH,39H,5eH,79H,71H
  39. END
復(fù)制代碼
仿真代碼51hei附件下載:
實(shí)驗(yàn)六工程.7z (52.94 KB, 下載次數(shù): 11)

評分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評分

回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩毛片在线视频 | 成人国产精品久久久 | 欧美日韩一区二区三区四区五区 | 天堂精品 | 台湾佬成人网 | 亚洲国产aⅴ精品一区二区 免费观看av | 性色av一区| 色伊人久久 | 国产精品久久久久久久久久久久久 | 久久伊人亚洲 | 美女逼网站 | 在线观看日韩av | 亚洲午夜网 | 北条麻妃99精品青青久久主播 | 欧美成人自拍 | 久草免费在线视频 | 中文字幕高清一区 | 成人午夜精品 | 国产色婷婷久久99精品91 | 日韩爱爱网站 | 在线免费观看a级片 | 国产农村妇女精品一区 | av黄色在线 | 国产精品一区二区av | 一区二区在线不卡 | 成人在线视频看看 | 一区二区小视频 | 亚洲成人精品久久久 | 涩涩视频在线观看 | 91文字幕巨乱亚洲香蕉 | 人人干天天干 | 国产一级免费在线观看 | 成人精品在线观看 | 国产欧美一区二区久久性色99 | 国产有码 | 欧美成人二区 | 日韩精品视频在线免费观看 | 99免费在线视频 | 国产精品污www在线观看 | 成人毛片视频免费 | 成人视屏在线观看 |