找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5979|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

一個簡單的交通燈仿真電路圖(帶匯編程序)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:3721 發(fā)表于 2016-5-29 15:34 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式





仿真文件下載:http://www.torrancerestoration.com/bbs/dpj-50777-1.html

  1. ORG 00H         //從00H地址處開始執(zhí)行

  2. /*
  3. 提示像START:這種叫程序段
  4. 什么叫程序段呢?

  5. DELAY:
  6. .....內(nèi)容

  7. RET 返回         
  8.   
  9. */
  10. START:                          
  11. CALL SETB_LED                         //調(diào)用SETB_LED程序段
  12. CLR P2.0                                //設(shè)置P2.0這個引腳為低電平
  13. CALL DISPLAY_NUMBER        //調(diào)用DISPLAY_NUMBER程序段

  14. CALL SETB_LED
  15. CLR P2.2
  16. CALL DISPLAY_NUMBER

  17. CALL SETB_LED
  18. MOV P0, #0FFH                               
  19. CLR P2.1
  20. CALL DELAY
  21. SETB P2.1
  22. CALL DELAY
  23. CLR P2.1
  24. CALL DELAY
  25. SETB P2.1
  26. CALL DELAY
  27. CLR P2.1
  28. CALL DELAY
  29. SETB P2.1
  30. CALL DELAY


  31. JMP START

  32. DELAY: MOV R3, #123                                        //延時程序段
  33.   DV0: MOV R1, #200                                    //R1賦值為10進制數(shù)200
  34.   DV1: MOV R2, #20
  35.   DV2: DJNZ R2, DV2                                    //使R2-1,若R2不等于0的情況下繼續(xù)執(zhí)行這行代碼,若R2等于0執(zhí)行下一句代碼
  36.        DJNZ R1, DV1
  37.            DJNZ R3, DV0
  38.            RET                                                        //程序段返回

  39. CLEAR_DISLED:                         //把數(shù)碼管熄滅
  40.        SETB P0.0
  41.            SETB P0.1
  42.            SETB P0.2
  43.            SETB P0.3
  44.            SETB P0.4
  45.            SETB P0.5          
  46.            SETB P0.6
  47.        RET

  48. DISPLAY_NUMBER:                //顯示數(shù)字
  49. MOV P0, #10H        ;數(shù)碼管顯示9
  50. CALL DELAY

  51. MOV P0, #0H    ;數(shù)碼管顯示8
  52. CALL DELAY

  53. mov P0, #78H        ;數(shù)碼管顯示7
  54. CALL DELAY

  55. MOV P0, #2H        ;數(shù)碼管顯示6
  56. CALL DELAY

  57. MOV P0, #12H        ;數(shù)碼管顯示5
  58. CALL DELAY

  59. MOV P0, #19H        ;數(shù)碼管顯示4
  60. CALL DELAY

  61. MOV P0, #30H        ;數(shù)碼管顯示3
  62. CALL DELAY                          

  63. MOV P0, #24H        ;數(shù)碼管顯示2
  64. CALL DELAY

  65. MOV P0, #79H        ;數(shù)碼管顯示1
  66. CALL DELAY

  67. MOV P0, #40H
  68. CALL DELAY
  69. RET

  70. SETB_LED:                 //設(shè)置LED顯示哪種顏色
  71.   SETB P2.0
  72.   SETB P2.1
  73.   SETB P2.2
  74.   RET
  75. END
  76. //小月子2016年5月21日編輯   如果您有什么不理解的地方請加小月子QQ:616142166
  77. //小月子是個電子發(fā)燒友,小月子電子網(wǎng)店賣的是電子電路類、編程類學(xué)習(xí)資料教學(xué)視頻
  78. //請關(guān)注我的網(wǎng)
  79.         
復(fù)制代碼
  1. ORG 00H

  2. START:

  3. CALL SETB_LED
  4. CLR P2.0
  5. CALL DISPLAY_NUMBER

  6. CALL SETB_LED
  7. CLR P2.2
  8. CALL DISPLAY_NUMBER

  9. CALL SETB_LED
  10. MOV P0, #0FFH
  11. CLR P2.1
  12. CALL DELAY
  13. SETB P2.1
  14. CALL DELAY
  15. CLR P2.1
  16. CALL DELAY
  17. SETB P2.1
  18. CALL DELAY
  19. CLR P2.1
  20. CALL DELAY
  21. SETB P2.1
  22. CALL DELAY


  23. JMP START

  24. DELAY: MOV R3, #123
  25.   DV0: MOV R1, #200
  26.   DV1: MOV R2, #20
  27.   DV2: DJNZ R2, DV2
  28.        DJNZ R1, DV1
  29.            DJNZ R3, DV0
  30.            RET

  31. CLEAR_DISLED:
  32.        SETB P0.0
  33.            SETB P0.1
  34.            SETB P0.2
  35.            SETB P0.3
  36.            SETB P0.4
  37.            SETB P0.5          
  38.            SETB P0.6
  39.        RET

  40. DISPLAY_NUMBER:
  41. MOV P0, #10H        ;數(shù)碼管顯示9
  42. CALL DELAY

  43. MOV P0, #0H    ;數(shù)碼管顯示8
  44. CALL DELAY

  45. mov P0, #78H        ;數(shù)碼管顯示7
  46. CALL DELAY

  47. MOV P0, #2H        ;數(shù)碼管顯示6
  48. CALL DELAY

  49. MOV P0, #12H        ;數(shù)碼管顯示5
  50. CALL DELAY

  51. MOV P0, #19H        ;數(shù)碼管顯示4
  52. CALL DELAY

  53. MOV P0, #30H        ;數(shù)碼管顯示3
  54. CALL DELAY                          

  55. MOV P0, #24H        ;數(shù)碼管顯示2
  56. CALL DELAY

  57. MOV P0, #79H        ;數(shù)碼管顯示1
  58. CALL DELAY

  59. MOV P0, #40H
  60. CALL DELAY
  61. RET

  62. SETB_LED:
  63.   SETB P2.0
  64.   SETB P2.1
  65.   SETB P2.2
  66.   RET
  67. END
  68.         
復(fù)制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表