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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于單片機匯編語言實現進制轉換

[復制鏈接]
跳轉到指定樓層
樓主
今天學習了中斷,任務是利用中斷進行數制轉換,并利用數碼管顯示轉換前后數字、原理圖放下面

PS:本次進制轉換為16進制轉換為10進制,只是例子
照例先說我的思路:
1. 我在主程序先對P1置零(為了讓十六進制數從0開始)
2. 然后對P1進行加1的操作,并循環以及延時(為了容易看清是否轉換)
3. 配置中斷,開啟外部中斷0,設置觸發方式為電平觸發,開啟中斷總控制(這里的配置務必跟著自己的電路圖來,這里是我電路圖對對應的配置)
4. 編寫中斷子程序,里面對P1做除法,除以0x64H0x100D配(由于是兩位十六進制最多百位數,所以除以100)為了得到百位數,并將移到P2(這里剛 好高位為0,不影響)作百位數,并對剩下來的余數進行除10得到新的商,字節內交換后,將交換后新商加上新的余數移入P0,得到十位數和個位數。
5. 退出中斷返回

DIV AB   結果:A/B的商放入A,余數放入B

原理圖:


代碼如下:
  1.                 ORG 00H
  2.                 LJMP 30H                ;turn to main
  3.                 ORG 03H
  4.                 LJMP 0200H
  5.                
  6.         
  7.                 ORG 30H
  8. MAIN:        MOV P1, #00H        ;hex
  9.                 MOV P0, #00H        ;low2_dec
  10.                 MOV P2, #00H        ;high1_dec
  11.                 SETB EX0                ;open it
  12.                 SETB IT0
  13.                 SETB EA                        ;open total switch
  14. HERE:        INC P1
  15.                 MOV R7, #0FFH
  16.                 DJNZ R7, $
  17.                 SJMP HERE
  18.                 ORG 0200H
  19. EXCHANGE:        
  20.                 MOV B, #64H                ;div with 100 for P2-high1_dec
  21.                 MOV A, P1
  22.                 DIV AB
  23.                 MOV P2, A
  24.                 MOV A, B                ;save remainder;
  25.                 MOV B, #0AH                ;div with 10 for P0-low2_dec
  26.                 DIV AB
  27.                 SWAP A
  28.                 ADD A, B
  29.                 MOV P0, A
  30.                 RETI
  31. END
復制代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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