找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8769|回復: 1
打印 上一主題 下一主題
收起左側

51單片機定時器中斷實現數碼管0-9閃爍匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:70976 發(fā)表于 2014-12-27 18:22 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 daniu 于 2014-12-27 18:25 編輯
  1. ;============================================================
  2. ;程序編寫人:蘭建
  3. ;編寫地點:51hei培訓機構
  4. ;時間:5月23日下午 星期六
  5. ;功能:本程序利用定時器中斷0方法,實現P0口數碼管0-9的閃爍功能
  6. ;=======================開始初始化================================
  7.     SHUCHU      EQU   P0             ;定義P0口為輸出口
  8.     PIANXUAN    EQU   P2             ;設置P2.0為片選
  9.     SHUZI       EQU   30H
  10.     CISHU       EQU   20             ;循環(huán)20次數為1秒
  11.     MODE        EQU   01H            
  12.     C_BIT       BIT   20H.0          ;數碼管閃爍標志位設置
  13. ;========================程序開始================================
  14.                 ORG   00H            ;程序開始
  15.                 LJMP  START          ;跳到START
  16.                 ORG   0BH            ;定時器中斷0入口地址
  17.                 JMP   T0_1           ;跳到定時器中斷0服務程序
  18.                 ORG   0030H          ;入口地址      
  19.           START:MOV    R5,#CISHU
  20.                 CALL   INIT          ;開定時器中斷0,設置定時初值
  21.                 MOV    PIANXUAN,#00  ;片選初始化        
  22.                 MOV    SHUZI,#00         ;數碼管顯示初始化
  23.                 MOV    DPTR,#TAB
  24.                 MOV    SHUZI,#00
  25.                 MOV    SP,#30H       ;移開指針
  26. ;==========================主程序=================================
  27.            MAIN:JNB    C_BIT,L0      ;判斷數碼管閃爍標志位,為1數碼管點亮,為0滅            
  28.                 MOV    A,SHUZI
  29.                 CALL   CHABIAO
  30.                 CALL   XIANSHI
  31.                 JMP    LL
  32.              L0:MOV    SHUCHU,#0FFH   ;數碼管滅
  33.              LL:JMP    MAIN          ;返回主程序
  34. ;========================中斷設置子程序============================
  35. ;輸入:無
  36. ;輸出:無
  37. ;實現的功能:初始化定時器0,初值設置
  38. ;==================================================================
  39.            INIT:MOV    TMOD,#MODE    ;定時器1工作方式1
  40.                 MOV    TL1,#0B0H     ;設定時初值
  41.                 MOV    TH1,#3CH
  42.                 MOV    IE,#82H
  43.                 SETB   TR0         
  44.                 RET
  45. ;====================定時器中斷0服務子程序=========================
  46. ;輸入:P0
  47. ;輸出:P0
  48. ;實現的功能:定時1S后P0口取反
  49. ;===================================================================
  50.            T0_1:MOV    TL0,#0B0H
  51.                 MOV    TH0,#3CH
  52.                 DJNZ   R5,L1
  53.                 CPL    C_BIT
  54.                 JB     C_BIT,L2
  55.                 INC    SHUZI
  56.                 MOV    A,SHUZI
  57.                 CJNE   A,#10,L2
  58.                 MOV    SHUZI,#00
  59.              L2:MOV    R5,#CISHU
  60.              L1:RETI
  61. ;========================查表子程序===========================
  62. ;輸入:"DPTR"
  63. ;輸出:"A"
  64. ;實現的功能:把A的數輸出到P0口顯示
  65. ;=============================================================
  66.            CHABIAO:MOVC  A,@A+DPTR
  67.                    RET
  68. ;========================顯示子程序===========================
  69. ;輸入:"A"
  70. ;輸出:"P2口"
  71. ;實現的功能:把A的數輸出到P0口顯示
  72. ;=============================================================
  73.           XIANSHI:MOV SHUCHU,A
  74.                   RET
  75. ;==========================共陽查表數據=============================
  76.               TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
  77. ;============================程序結束===============================
  78.                   END
復制代碼


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

使用道具 舉報

沙發(fā)
ID:92857 發(fā)表于 2015-10-18 21:52 | 只看該作者
你好,請問這個有圖嗎,在proteus里的
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表