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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求大神將下面一段匯編程序轉化為C程序 求思路

[復制鏈接]
回帖獎勵 10 黑幣 回復本帖可獲得 10 黑幣獎勵! 每人限 1 次
跳轉到指定樓層
樓主
ID:630774 發表于 2019-11-3 16:36 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
LED1 EQU 30H                    ;初始化定義
LED2 EQU 31H
LED3 EQU 32H                    ;存放三個數碼管的段碼
ADC  EQU 35H                   ;存放轉換后的數據
ST  BIT  P3.2
OE  BIT  P3.0
EOC BIT P3.1                       ;定義ADC0809的功能控制引腳
ORG 0000H
LJMP MAIN                        ;跳轉到主程序執行
ORG 0030H
MAIN: MOV LED1,#00H  
      MOV LED2,#00H
      MOV LED3,#00H              ;寄存器初始化
      CLR P3.4
      SETB P3.5
      CLR P3.6                    ;選擇ADC0809的通道2
WAIT: CLR ST
      SETB ST
      CLR ST                     ;在脈沖下降沿啟動轉換
      JNB EOC,$                  ;等待轉換結束
      SETB OE                   ;允許輸出信號
      MOV ADC,P1               ;暫存A/D轉換結果
      CLR OE                    ;關閉輸出
      MOV A,ADC                ;將轉換結果放入A中,準備個位數據轉換
      MOV B,#50                 ;變換個位調整值50送B
      DIV AB
      MOV LED1,A               ;將變換后的個位值送顯示緩沖區LED1
      MOV A,B                   ;將變換結果的余數放入A中,準備十分位變換
      MOV B,#5                  ;變換十分位調整值5送B
      DIV AB
      MOV LED2,A               ;將變換后的十分位值送LED2
      MOV LED3,B               ;最后的余數作百分位值送LED3
      LCALL DISP                ;調用顯示程序
      AJMP WAIT
DISP:MOV R1,#LED1              ; 顯示子程序
     CJNE @R1,#5,GO             ;@R1=5V?是往下執行,否,則到GO
     MOV LED2,#0H              ;是5V,即最高值,將小數的十分位清零
     MOV LED3,#0H              ;將小數的百分位清零
  GO:MOV R2,#3                  ;顯示位數賦初值,用到3位數碼管
     MOV R3,#0FDH              ;掃描初值送R3
DISP1:MOV P2,#0FFH                 ;關閉顯示,目的防止亂碼
     MOV A,@R1                    ;顯示值送A
     MOV DPTR,#TAB                ;送表首地址給DPTR
     MOVC A,@A+DPTR              ;查表取段碼
     CJNE R2,#3,GO1                 ;判斷是否個位數碼管?否則跳到GO1
     ORL A,#80H                     ;將整數的數碼管顯示小數點
GO1:MOV P0,A                      ;送段碼給P0口
     MOV A,R3
     MOV P2,A                      ;送位碼給P2口
     LCALL DELAY                  ;調用延時
     MOV R3,A
     RL A                           ;改變位碼
     MOV R3,A
     INC R1                         ;改變段碼
     DJNZ R2,DISP1                  ;三位是否顯示完?否則調到DISP1
     RET
DELAY:MOV R6,#10                   ;延時5S程序:
   D1:MOV R7,#250
      DJNZ R7,$
      DJNZ R6,D1
      RET
TAB: DB 3FH, 06H,5BH,4FH,66H;共陰極數碼管顯示0-4    ;顯示數據表:
     DB 6DH,7DH,07H,7FH,6FH;顯示5-9
     END        

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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