51单片机 ADDC与ADD的计算区别
时间: 2024-05-21 14:10:16 浏览: 16
ADDC和ADD都是单片机中的指令,用于计算加法。它们的计算区别在于:
ADDC指令表示带进位加法,即在执行加法操作时,如果前一次加法操作有进位,则将进位加到当前的加法操作中。如果没有进位,则不加进位。例如,执行ADDC A, B指令时,如果前一次加法操作有进位,则将进位加到A和B的和中,否则不加进位。
ADD指令表示不带进位加法,即在执行加法操作时,不考虑前一次加法操作是否有进位。例如,执行ADD A, B指令时,不管前一次加法操作是否有进位,A和B的和都不考虑进位。
因此,在需要考虑进位的情况下,应使用ADDC指令;在不需要考虑进位的情况下,可以使用ADD指令。
相关问题
用51单片机汇编语言实现蔡勒公式
蔡勒公式是一种用来计算某个日期是星期几的公式,其公式如下:
w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
其中,w代表星期几,0代表星期日,1代表星期一,以此类推;d代表日期(1~31);m代表月份(1~12),需要将1、2月看作上一年的13、14月;y代表年份。
以下是用51单片机汇编语言实现蔡勒公式的代码:
```
org 0h
;定义寄存器
d equ 30h ;日期
m equ 31h ;月份
y equ 32h ;年份
w equ 33h ;星期几
mov d, #25 ;将日期赋值为25
mov m, #2 ;将月份赋值为2
mov y, #2021 ;将年份赋值为2021
;计算蔡勒公式
mov a, m
cjne a, #1, next
mov a, #13
mov m, a
dec y
next:
mov a, m
subb a, #3
daa
mov c, a
mov a, m
subb a, #1
daa
addc a, #31
mov r0, a
mov a, y
add a, #2000
mov r1, a
mov a, y
mov b, #4
div ab
mov r2, a ;r2保存y/4
mov a, y
mov b, #100
div ab
mov r3, a ;r3保存y/100
mov a, y
mov b, #400
div ab
mov r4, a ;r4保存y/400
mov a, d
mov r5, a ;r5保存d
mov a, m
mov r6, a ;r6保存m
mov a, r6
add a, #12
mov b, #5
div ab
mov r7, a ;r7保存(3*(m+1)/5)
mov a, r1
mov b, r7
add a, b
add a, r5
add a, r2
subb a, r3
add a, r4
mov b, #7
div ab
mov w, a ;w保存星期几
end
```
以上代码仅供参考,实际使用时需要根据自己的需求进行修改。
51单片机INC指令,还有什么类型指令
除了INC指令,51单片机还有以下类型的指令:
1. 加法指令:ADD、ADDC、INC
2. 减法指令:SUBB、DEC
3. 逻辑运算指令:ANL、ORL、XRL、CPL、CLR
4. 移位指令:RL、RLC、RR、RRC
5. 转移指令:JMP、JC、JNC、JZ、JNZ、DJNZ
6. 数据传送指令:MOV、XCH、PUSH、POP、MOVC、MOVX
7. 中断指令:EI、DI
8. 循环指令:LOOP、LJMP、LCALL
这些指令可以完成各种不同的操作和功能。需要根据具体的应用场景选择合适的指令。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)