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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

通過單片機外部中斷控制數(shù)碼管動態(tài)顯示4位數(shù)字 含匯編源碼,原理圖,和hex文件

[復制鏈接]
ID:275296 發(fā)表于 2018-1-12 17:53 | 顯示全部樓層 |閱讀模式
這是之前做的外部中斷控制數(shù)碼管動態(tài)顯示數(shù)字的程序,
使用匯編代碼,基于51單片機,
附件包含單片機匯編源碼,
和Proteus仿真圖,以及hex文件,
完全自己原創(chuàng),望多
捕獲.PNG

單片機匯編語言源程序:
  1. ORG 0000H                        ;開始
  2.         LJMP START                        ;跳轉(zhuǎn)到主程序
  3.         ORG 0003H                        ;外部中斷0
  4.                 LJMP PINT0                        ;跳轉(zhuǎn)到0號中斷服務子程序
  5.                 ORG 0013H                        ;外部中斷1
  6.                         LJMP PINT1                        ;跳轉(zhuǎn)到2號中斷服務子程序
  7.                         ORG 0100H                        ;程序地址
  8.                                 START:        MOV SP, #60H                        ;設置堆棧
  9.                                 MOV P0,#0FFH                        ;P0初始化為FF
  10.                                 MOV P2,#00H                                ;P2口初始化為0
  11.                                 SETB IT0                        ;設置0號中斷觸發(fā)方式為下降沿觸發(fā)
  12.                                 SETB IT1                        ;設置2號中斷觸發(fā)方式為下降沿觸發(fā)
  13.                                 SETB EA                                ;合上中斷總開關(guān)(允許中斷)
  14.                                 SETB EX0                        ;合上分開關(guān)
  15.                                 SETB EX1                        ;合上分開關(guān)
  16.                                 MOV R1,#00H                        ;R1清零
  17.                                 MOV R2,#00H                        ;R2清零
  18.                                 MOV R3,#00H                        ;R3清零
  19.                                 MOV R4,#00H                        ;R4清零
  20.                                 MOV A,#11H                        ;A設初值        
  21.                                 LJMP MAIN                        ;初始化完成,進入主程序
  22.                                 
  23.                                 ORG 0200H                        ;主程序地址
  24.                                         MAIN:        MOV P2,A                        ;選擇位選線
  25.                                         MOV 31H,R1                        ;千位存入31H單元
  26.                                         MOV 32H,R2                        ;百位存入32H單元
  27.                                         MOV 34H,R3                        ;十位存入34H單元
  28.                                         MOV 38H,R4                        ;個位存入38H單元
  29.                                         PUSH ACC                        ;保護現(xiàn)場
  30.                                         ANL A,#0FH                        ;保留A的第四位
  31.                                         ADD A,#30H                        ;使A與數(shù)位存放地址對應
  32.                                         MOV R0,A                ;數(shù)位存放地址存入R0
  33.                                         MOV A,@ R0                        ;取所需數(shù)位的數(shù)字
  34.                                         LCALL DISPLAY                        ;查表
  35.                                         MOV P0,A                        ;顯示所需數(shù)字
  36.                                         LCALL DELAY                        ;延時
  37.                                         POP ACC                        ;恢復現(xiàn)場
  38.                                         RL A                        ;A左循環(huán)移位
  39.                                         SJMP MAIN                ;死循環(huán)
  40.                                        
  41.                                         ORG 0400H                        ;0號中斷服務子程序地址
  42.                                                 PINT0:        CJNE R4,#9,L1                        ;個位不為9跳轉(zhuǎn)
  43.                                                 CJNE R3,#9,L2                        ;十位不為9跳轉(zhuǎn)
  44.                                                 CJNE R2,#9,L3                        ;百位不為9跳轉(zhuǎn)
  45.                                                 CJNE R1,#9,L4                        ;千位不為9跳轉(zhuǎn)
  46.                                                 MOV R1,#00H                        ;千位置零
  47.                                                 MOV R2,#00H                        ;百位置零
  48.                                                 MOV R3,#00H                        ;十位置零
  49.                                                 MOV R4,#00H                        ;個位置零
  50.                                                 RETI                        ;中斷返回
  51.                                                 L1:INC R4                        ;個位加一
  52.                                                 RETI                        ;中斷返回
  53.                                                 L2:INC R3                        ;十位加一
  54.                                                 MOV R4,#00H                        ;個位置零
  55.                                                 RETI                        ;中斷返回
  56.                                                 L3:INC R2                        ;百位加一
  57.                                                 MOV R4,#00H                        ;個位置零
  58.                                                 MOV R3, #00H                        ;十位置零
  59.                                                 RETI                        ;中斷返回
  60.                                                 L4:INC R1                        ;千位加一
  61.                                                 MOV R2,#00H                        ;百位置零
  62.                                                 MOV R3,#00H                        ;十位置零
  63.                                                 MOV R4,#00H                        ;個位置零
  64.                                                 RETI                        ;中斷返回
  65.                                                 
  66.                                                 ORG 0600H                        ;2號中斷服務子程序地址
  67.                                                         PINT1:        CJNE R4,#0,LA                        ;個位不為0跳轉(zhuǎn)
  68.                                                         CJNE R3,#0,LB                        ;十位不為0跳轉(zhuǎn)
  69.                                                         CJNE R2,#0,LC                        ;百位不為0跳轉(zhuǎn)
  70.                                                         CJNE R1,#0,LD                        ;千位不為0跳轉(zhuǎn)
  71.                                                         MOV R1,#9                        ;千位置9
  72.                                                         MOV R2,#9                        ;百位置9
  73.                                                         MOV R3,#9                        ;十位置9
  74.                                                         MOV R4,#9                        ;個位置9
  75.                                                         RETI                        ;中斷返回
  76.                                                         LA:DEC R4                        ;個位減一
  77.                                                         RETI                        ;中斷返回
  78.                                                         LB:DEC R3                        ;十位減一
  79.                                                         MOV R4,#9                        ;個位置9
  80.                                                         RETI                        ;中斷返回
  81.                                                         LC:DEC R2                        ;百位減一
  82.                                                         MOV R4,#9                        ;個位置9
  83.                                                         MOV R3,#9                        ;十位置9
  84.                                                         RETI                        ;中斷返回
  85.                                                         LD:DEC R1                        ;千位減一
  86.                                                         MOV R2,#9                        ;百位置9
  87.                                                         MOV R3,#9                        ;十位置9
  88.                                                         MOV R4,#9                        ;個位置9
  89.                                                         RETI                        ;中斷返回
  90.                                 
  91.                                                         ORG 0800H                        ;延時子程序地址
  92.                                                                 DELAY:        MOV R7, #30                        ;設置外層循環(huán)次數(shù)
  93.                                                                 DEL1:        MOV R6,#40                        ;設置內(nèi)層循環(huán)次數(shù)
  94.                                                                 DEL2:        DJNZ R6,DEL2                        ;內(nèi)層循環(huán)
  95.                                                                 DJNZ R7,DEL1                        ;外層循環(huán)
  96.                                                                 RET                        ;返回
  97.                                                                
  98.                                                                 ORG 2600H                        ;查表子程序地址
  99.                                                                         DISPLAY:        ADD A, #01H                        ;查表位置調(diào)整
  100.                                                                         MOVC A, @A+PC                        ;查表
  101.                                                                         RET                        ;返回
  102.                                                                         
  103.                                                                         TAB: DB        0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H                        ;7段碼常數(shù)表
  104.                                                                         END                                ;程序結(jié)束
復制代碼

多指教全部資料51hei下載地址:
10-27-外部中斷控制數(shù)碼管動態(tài)顯示4位數(shù)字.zip (10.14 KB, 下載次數(shù): 55)


回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久合| 色综合久久88色综合天天 | 黄色国产 | 精品少妇一区二区三区免费观 | 成人一区二区视频 | 国产一级一片免费播放放a 男男成人高潮片免费网站 精品视频在线观看 | 亚洲综合网站 | 一区二区三区国产精品 | 高清乱码男女免费观看 | 中文字幕色哟哟 | 国产主播一区二区 | 午夜xxx | 国产综合久久 | 日韩视频一区 | 久久久久久久九九九九 | 日本黄a三级三级三级 | 免费成人黄色网址 | 在线成人免费视频 | 欧美顶级黄色大片免费 | 激情综合久久 | 午夜精品在线 | 中国女人真人一级毛片 | 久久久久国产精品夜夜夜夜夜 | japanese极品丰满少妇 | 狠狠狠干 | 黄色片网站视频 | 国产精品国产三级国产aⅴ浪潮 | 欧美精品一二三 | 精品视频在线播放 | 青久久| 国产盗摄一区二区 | 九色在线播放 | 一级片久久久 | 国产精品三级在线 | 亚洲 欧美 激情 另类 校园 | 日韩精品久久久久久久 | 日韩精品视频网站 | 天堂成人在线 | 精品久久网 | 欧美日韩成人在线观看 | 成人深夜福利 |