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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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

[復(fù)制鏈接]
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號中斷服務(wù)子程序
  5.                 ORG 0013H                        ;外部中斷1
  6.                         LJMP PINT1                        ;跳轉(zhuǎn)到2號中斷服務(wù)子程序
  7.                         ORG 0100H                        ;程序地址
  8.                                 START:        MOV SP, #60H                        ;設(shè)置堆棧
  9.                                 MOV P0,#0FFH                        ;P0初始化為FF
  10.                                 MOV P2,#00H                                ;P2口初始化為0
  11.                                 SETB IT0                        ;設(shè)置0號中斷觸發(fā)方式為下降沿觸發(fā)
  12.                                 SETB IT1                        ;設(shè)置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設(shè)初值        
  21.                                 LJMP MAIN                        ;初始化完成,進(jìn)入主程序
  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                        ;保護(hù)現(xiàn)場
  30.                                         ANL A,#0FH                        ;保留A的第四位
  31.                                         ADD A,#30H                        ;使A與數(shù)位存放地址對應(yīng)
  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                        ;恢復(fù)現(xiàn)場
  38.                                         RL A                        ;A左循環(huán)移位
  39.                                         SJMP MAIN                ;死循環(huán)
  40.                                        
  41.                                         ORG 0400H                        ;0號中斷服務(wù)子程序地址
  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號中斷服務(wù)子程序地址
  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                        ;設(shè)置外層循環(huán)次數(shù)
  93.                                                                 DEL1:        MOV R6,#40                        ;設(shè)置內(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é)束
復(fù)制代碼

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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产区在线免费观看 | 91精品久久久 | 这里只有精品99re | 亚洲在线高清 | 国产精品免费播放 | 精品国产乱码久久久久久闺蜜 | 日日摸夜夜爽人人添av | 久久久久久蜜桃一区二区 | 少妇一级淫片aaaaaaaaa | 中文av在线播放 | 国产精品日本一区二区在线播放 | 7799精品视频天天看 | 日日碰狠狠躁久久躁婷婷 | 一级久久久久久 | 国产在线a| 久久精品成人 | 欧美精品1区2区3区 精品国产欧美一区二区 | 亚洲欧美一区二区三区国产精品 | 成人av一区二区三区 | 亚洲综合色自拍一区 | 91夜夜夜| 精品国产乱码久久久久久久久 | 成人免费观看男女羞羞视频 | 久久久免费电影 | 日韩精品在线观看免费 | 91免费版在线观看 | 一区二区三区四区国产 | 亚洲欧美中文日韩在线v日本 | 久久久久久久久久久蜜桃 | 国产一区二区三区久久 | 亚洲精品68久久久一区 | 成人日b视频 | 国产日韩亚洲欧美 | 一区二区三区在线免费观看 | 国产视频一区二区在线观看 | 欧美激情在线一区二区三区 | 国产午夜精品视频 | 欧美精品一区二区三区四区 在线 | 久草福利 | 青青操91| 久热精品在线 |