❶ 單片機中的add.
A是8位寄存器,最大隻能是0FFH。計算後A中是34h,同時進位標志C會被硬體置1,標識剛才的加法產生了進位。
❷ STC單片機的A/D轉換值應該如何計算
不會的,滿值的時候就是0xff,而不會是256,你可以用一個比滿值電壓稍大一點點的電壓測試便可以看得出效果了侍和橘,然後計算公式是:(寄存老團器值/255)*參考棚腔電壓=實際電壓
❸ 請教51單片機加法指令!
84H+8DH=111H,因為累加器A是八位的,所以進位標志位Cy置一,A為11H
❹ ADDC是什麼意思單片機問題,是不是加一
這是51單片機的一條加法指令,可以完成帶進位Cy的加法運算。
指令的形式是:ADDC A ,源操作數,加法是在A 中完成的,加法計算時的兩個數一個數是A 中原有的數,另一個數即是源操作數,同時連同進位Cy一起加進來。
還是舉例說明吧:如計算56A8H+2368H,這么寫程序:
MOV A , #0A8H ;先把第一個數的低8位A8H送A
ADD A , #68H ;與另一個數的低8位相加,即A(A8H)+68H,加法結果是A=10H,因結果超過了255(FFH)則進位Cy=1,即結果是110H
MOV 30H, A ;把低8位結果送到30H單元保存起來
MOV A , #56H ;再把第一個數的高8位送A,准備計算高8位數
ADDC A,#23H ;與另一個數的高8位相加,這時要同時把低8位的進位Cy=1加進來,即A(56H)+23H+1(因Cy1),則A=7AH,
MOV 31H, A ;最後將高8位的計算結果送到31H單元保存。最終結果是7A10H,這必須要計算兩次,也要用兩個單元來保存。
如上可見,先計算低8位時,用ADD,是不帶進位,因低8位加時還沒有進位,而計算高8位時,就必須帶進位的加法了,必須用ADDC了,因低8位加時有進位,假如沒有進位,也要用ADDC,但這時的Cy=0,加上0就是低8位沒有進位。
還有一種情況是多個8位數相加,因相加的結果超過了8位數(255),所以,每一次加法也必須用帶進位加法計算,即必須用ADDC了。
❺ 單片機定時器初值計算方法有哪些
呵呵 正確為你解答:
1 可以按定時時間的計算公式, 計算出定時器的時間常數X:
定時時間T=(2的N次方-X)12/單片機晶振頻率
2 N為定時器的工作方式:
方式0時,N=13
方式1時,N=16
方式2時,N=8
3 根據定時時間和工作方式,計算出時間常數X
把X轉換成二進制數,高8位送給TH1,低8位送給TL1,就可以啟動定時器開始定時了。
例如: 工作在方式1,定時時間為1000微秒 晶振頻率=12MHZ
則 定時時間T=(2的16次方-X)12/12MHZ=1000 解出 X=64536=FC18H
呵呵 如滿意 請選擇滿意回答
❻ 單片機的加法指令中ADD與ADDS的區別
ADD不帶進位加法指令;
指令名稱:寄存器加法指令
指令代碼:28H~2FH
指令功能:累加器內容與寄存器內容相加 操作內容:A←(A)+(Rn), n=0~7 位元組數: 1
機器周期:1
影響標志位:C,AC,OV
ADDS是32位數的加法運算,影響進位標志位C而不影響運算結果的值,ADCS是大於32位數的加法,低32位數相加的結果影響標志位C的值(作為進位值)就得加到高32位數的相加運算里去,以此類推,可做高32數的加法。
例: 加兩個 128 位的數
128 位結果:寄存器 0,1,2, 3
第一個 128 位數: 寄存器 4,5,6,7
第二個 128 位數: 寄存器 8,9,10,11
ADDS R0, R4, R8 ; 加低端的字,影響C
ADCS R1, R5, R9 ; 加下一個字, +C
ADCS R2, R6, R10 ; 加第三個字, +C
ADCS R3, R7, R11 ; 加高端的字, +C
❼ 單片機加法add和addc到底是怎樣運算的
ADD m,n m=m+n
ADDC m,n m=m+n+C
❽ 單片機加法指令
假定(A)=85H (R0)=20H (20H)=OAFH。執行指令 ADD A, @RO 後,累加器A的內容為(0X34 ),CY的內容為(1 ),AC的內容為(1 ),AC的內容為( 1),0V的內容為(1 )。
我的回答都是以8位單片機為准。這個指令功能就是取單元20H的值AFH與85H相加,
結果本來應該是134H,沒辦法,8位嘛,所以:
CY:進位標志位;
當CY=1時,表示操作結果最高位(位7)有進位或借位。
CY=0時,表示操作結果最高位(位7)沒有進位或借位。
(最高位有進位,CY=1)
AC:半進位標志位;
該位表示當進行加法或減法運算時,低半位元組向高半位元組是否有進位或借位;
當AC=1時,表示低半位元組向高半位元組有進位或借位;
AC=0時,表示低半位元組向高半位元組沒有進位或借位;
(低半位元組F+5=14,有進位,AC=1)
OV:溢出標志位,
該位表示在進行有符號數的加減法時是否發生溢出;
當0V=1時,表示有符號數運算結果發生了溢出,
OV=0時,表示有符號數運算結果沒有溢出。
(超出8位,果斷溢出)
❾ 單片機定時器定時的時間怎麼算
單片機的定時時間的計算公式=計數值(定時值)* 機器周期= 計數值(定時值)* 12 / 晶振頻率。
上面的兩個等號是等價的,因為,單片機的機弊頃器周期=12秒/晶振頻率,因此兩個公式通用。
完成一個基本租桐陸操作所需要的時間稱為機器周期。一般,輪滲一個機器周期由 若干個S周期(狀態周期)組成。80C51系列單片機一個機器周期由6個S周期組成。一個S周期(狀態周期),由2個時鍾周期組成。
若干個機器周期,組成了指令周期。根據指令不同,所需的機器周期數也不同。
(9)單片機add計算公式擴展閱讀
幾種典型指令;
1、單位元組周期指令(比如 INC A)
2、雙位元組單周期指令(比如 ADD A,#data)
3、單位元組雙周期指令 (比如 INC DPTR)
4、單位元組雙周期指令 (比如MOVX A @DPTR)
❿ 單片機定時器計算
計算定時器,最原始的公式是(65536-初值)*12/晶振值=定時的時間,由此式子推出:初值=65536-(晶振值*定時時間/12)。則TH0=初值/256,TL0=初值%256,最終結果就是
TH0
=
255-CLOCK/TIME_PER_SEC/12/256;
TL0
=
255-CLOCK/TIME_PER_SEC/12%256;
其中除以TIME_PER_SEC,是因為TIME_PER_SEC表示要定時的時間的倒數。