欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 單片機(jī)數(shù)碼管靜態(tài)顯示0到9匯編程序 [打印本頁(yè)]

作者: daniu    時(shí)間: 2014-12-27 18:29
標(biāo)題: 單片機(jī)數(shù)碼管靜態(tài)顯示0到9匯編程序
  1. ;============================================================
  2. ;程序編寫(xiě)人:蘭建
  3. ;編寫(xiě)地點(diǎn):51hei培訓(xùn)機(jī)構(gòu)
  4. ;時(shí)間:5月23日下午 星期六
  5. ;功能:本程序?qū)崿F(xiàn)P0口的對(duì)數(shù)碼管靜態(tài)顯示0到9;
  6. ;      分時(shí)顯示0到5;動(dòng)態(tài)顯示0到9,低電平亮
  7. ;      P2口實(shí)現(xiàn)對(duì)數(shù)碼管的片選功能
  8. ;==========================開(kāi)始初始化============================
  9.          SHUCHU   EQU   P0               ;定義P0口為輸出口
  10.          PIANXUAN EQU   P2       ;定義P2口為片選口
  11.          CISHU    EQU   10       ;0-9,共10個(gè)數(shù)字
  12.          CISHU1   EQU   6                ;定義片選個(gè)數(shù)
  13.          SHUZI    EQU   30H          ;定義處理數(shù)據(jù)存放地址
  14.                   ORG   00H              ;程序開(kāi)始
  15.                   LJMP  MAIN             ;跳到MAIN
  16.                   ORG   30H              ;入口地址
  17. ;=========================主程序================================
  18.              MAIN:CLR   A                ;數(shù)碼管顯示初始化
  19.                   CALL  JINGTAI          ;靜態(tài)顯示0-9
  20.                   CLR   A                ;數(shù)碼管顯示初始化
  21.                   CALL  DONGTAI1         ;分時(shí)顯示123456
  22.                   CLR   A                ;數(shù)碼管顯示初始化
  23.                   CALL  DONGTAI2         ;動(dòng)態(tài)顯示0-9
  24.                   CLR   A                ;數(shù)碼管顯示初始化
  25.                   JMP   MAIN             ;返回MAIN
  26. ;=====================靜態(tài)顯示0-9子程序==========================
  27. ;輸入:"30H"
  28. ;輸出:"P0"
  29. ;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
  30. ;================================================================
  31.           JINGTAI:MOV   SHUZI,#00    ;輸出數(shù)據(jù)初始化
  32.                   MOV   PIANXUAN,#00H    ;設(shè)置片選
  33.                   MOV   R0,#CISHU    ;把查表次數(shù)放R0
  34.                   MOV   DPTR,#TAB        ;查表初始化
  35.                L1:CALL  CHABIAO ;查表
  36.                   CALL  DISPLAY          ;顯示
  37.                   MOV   R1,#200
  38.              L1_0:CALL  DELAY            ;延時(shí)
  39.                   DJNZ  R1,L1_0
  40.                   CALL  CHULI            ;處理
  41.                   DJNZ  R0,L1            ;若R0減一不為0,進(jìn)行下一個(gè)數(shù)字顯示
  42.           RET
  43. ;=====================分時(shí)顯示123456子程序======================
  44. ;輸入:"30H"
  45. ;輸出:"P0"
  46. ;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
  47. ;===============================================================
  48.          DONGTAI1:MOV   SHUZI,#00        ;輸出數(shù)據(jù)初始化
  49.                   MOV   R1,0             ;設(shè)置片選
  50.                   MOV   PIANXUAN,R1
  51.                   MOV   R0,#CISHU1   ;把查表次數(shù)放R0
  52.                   MOV   DPTR,#TAB        ;查表初始化            
  53.                L2:CALL  CHABIAO ;查表
  54.                   CALL  DISPLAY          ;顯示
  55.                   MOV   R2,#100
  56.              L2_0:CALL  DELAY            ;延時(shí)
  57.                   DJNZ  R2,L2_0
  58.                   CALL  CHULI            ;處理
  59.                   CALL  PIANXUANCHULI    ;片選處理
  60.                   DJNZ  R0,L2            ;若R0減一不為0,進(jìn)行下一個(gè)數(shù)字顯示
  61.                   RET  
  62. ;======================動(dòng)態(tài)顯示0-9子程序=========================
  63. ;輸入:"30H"                           
  64. ;輸出:"P0"                              
  65. ;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
  66. ;================================================================
  67.          DONGTAI2:MOV   SHUZI,#00    ;輸出數(shù)據(jù)初始化
  68.                   MOV   DPTR,#TAB        ;查表初始化
  69.                   MOV   R3,#CISHU        ;把現(xiàn)實(shí)數(shù)字的次數(shù)放在R3
  70.              L3_1:MOV   R1,#00H          ;設(shè)置片選
  71.                   MOV   PIANXUAN,R1      ;片選
  72.                   CALL  CHABIAO          ;查表
  73.                   MOV   R2,#50
  74.                DD:MOV   R0,#CISHU1   ;把查表次數(shù)放R0
  75.                L3:CALL  DISPLAY          ;顯示
  76.                   CALL  PIANXUANCHULI    ;片選處理
  77.                   CALL  DELAY            ;延時(shí)
  78.                   DJNZ  R0,L3            ;若R0減一不為0,跳轉(zhuǎn)到L1
  79.                   DJNZ  R2,DD            ;各數(shù)子之間顯示設(shè)置一定的時(shí)間間隔
  80.                   CALL  CHULI            ;處理
  81.                   DJNZ  R3,L3_1          ;若R3不為0,顯示下一個(gè)數(shù)字
  82.                   RET
  83. ;========================處理子程序==============================
  84. ;輸入:無(wú)
  85. ;輸出:無(wú)
  86. ;實(shí)現(xiàn)的功能:把30H地址加1
  87. ;================================================================
  88.             CHULI:MOV   A,SHUZI
  89.                   INC   A
  90.                   MOV   SHUZI,A
  91.                   RET
  92. ;=======================查表子程序===============================
  93. ;輸入:"DPTR"
  94. ;輸出:"A"
  95. ;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
  96. ;================================================================
  97.           CHABIAO:MOVC  A,@A+DPTR
  98.                   RET
  99. ;====================片選處理子程序==============================
  100. ;輸入:無(wú)
  101. ;輸出:無(wú)
  102. ;實(shí)現(xiàn)的功能:把片選數(shù)據(jù)加1
  103. ;================================================================
  104.     PIANXUANCHULI:INC   R1      
  105.                   MOV   PIANXUAN,R1
  106.                   RET
  107. ;======================顯示子程序================================
  108. ;輸入:"A"
  109. ;輸出:"P0口"
  110. ;實(shí)現(xiàn)的功能:把A的數(shù)輸出到P0口顯示
  111. ;================================================================
  112.           DISPLAY:MOV   SHUCHU,A
  113.                   RET
  114. ;======================延時(shí)程序==================================
  115. ;輸入;無(wú)
  116. ;輸出: 無(wú)
  117. ;實(shí)現(xiàn)的功能:延時(shí)一段時(shí)間
  118. ;================================================================
  119.             DELAY:MOV  R7,#02H
  120.                L6:MOV  R6,#002H
  121.                L7:MOV  R5,#0F8H
  122.                L8:DJNZ R5,L8
  123.                   DJNZ R6,L7
  124.                   DJNZ R7,L6
  125.                   RET
  126. ;======================共陽(yáng)查表數(shù)據(jù)==============================
  127.               TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
  128.                   END
復(fù)制代碼









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