色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STC12C2052單片機制作數(shù)字電壓表匯編程序

          STC12C2052單片機制作數(shù)字電壓表匯編程序

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          STC12C2052單片機芯片自帶的ad進行采樣得到電壓并顯示在數(shù)碼管上面,下面是匯編語言源程序:

          ;===================數(shù)字電壓表模擬采樣===================================

          本文引用地址:http://cafeforensic.com/article/201612/324642.htm

          P1M0 EQU 91H ;端口設(shè)置寄存器
          P1M1 EQU 92H ;端口設(shè)置寄存器
          AK EQU 0C5H ;A/D轉(zhuǎn)換控制寄存器
          ADATA EQU 0C6H ;保存轉(zhuǎn)換數(shù)據(jù)的高8位
          ADATAD EQU 0BEH ;保存轉(zhuǎn)換數(shù)據(jù)的低2位
          ORG 00H
          JMP MAIN

          ;==================================================
          MAIN: MOV P1,#00H
          MOV P3,#00H
          MOV TMOD,#01H
          MOV TH0,#0FCH
          MOV TL0,#17H
          MOV 30H,#01
          MOV 32H,#03H
          MOV 33H,#04H
          MOV 31H,#02H
          MOV 8EH,#00H
          MOV PCON,#00H
          MOV P1,#0FFH
          MOV P3,#0FFH
          MOV P1M0,#4H ;設(shè)置端口為A/D模式
          MOV P1M1,#4H ;設(shè)置端口為A/D模式
          MOV ADATA,#00H
          MOV AK,#80H ;打開A/D電源
          CALL DIP
          CALL DIP
          CALL DIP
          CALL DIP
          CALL DIP
          CALL DIP
          ;==================================================
          MOV AK,#0E2H ;選擇通道P1。2為A/D輸入端
          ;===============================================
          LOOP_22: ORL Ak,#08H ;啟動轉(zhuǎn)換
          LOOP_0: MOV A,#10H
          ANL A,AK ;判斷是否轉(zhuǎn)換完成
          JZ LOOP_0
          ;==============================================
          ANL AK,#0E7H ;把標志位清零
          MOV A,ADATA ;讀取轉(zhuǎn)換后的高8值
          ;==============================================
          MOV B,#100
          DIV AB
          MOV 30H,A
          MOV A,B
          MOV B,#10
          DIV AB
          MOV 31H,A
          MOV 32H,B
          ;================================================
          MOV 66H,#50
          LOOP: CALL DIP
          DJNZ 66H,LOOP
          JMP LOOP_22
          ;=================================================
          DIP: MOV A,30H
          CALL TABLE
          MOV P3,A
          SETB P1.0
          MOV 65H,#1
          CALL T2MS
          CLR P1.0
          ;=================
          MOV A,31H
          CALL TABLE
          MOV P3,A
          SETB P1.1
          MOV 65H,#1
          CALL T2MS
          CLR P1.1
          ;===============
          MOV A,32H
          CALL TABLE
          MOV P3,A
          SETB P1.7
          MOV 65H,#1
          CALL T2MS
          CLR P1.7
          ;================
          MOV A,33H
          CALL TABLE
          MOV P3,A
          SETB P1.4
          MOV 65H,#1
          CALL T2MS
          CLR P1.4
          RET
          ;=================================================
          T2MS:
          MOV TH0,#0FCH
          MOV TL0,#17H
          SETB TR0
          JNB TF0,$
          CLR TF0
          DJNZ 65H,T2MS
          RET
          ;=============================================
          TABLE: INC A
          MOVC A,@A+PC
          RET
          DB 3FH,06H,9BH,8FH,0A6H,0ADH,0BDH,7H,0BFH,0AFH
          ;0 1 2 3 4 5 6 7 8 9
          ;==============================================
          END

          成功啦 更愛上我的單片機設(shè)計



          評論


          技術(shù)專區(qū)

          關(guān)閉