潜望镜777 发表于 2023-11-29 11:47:14

STC8H8K64U MDU16硬件乘法器引出来的其他问题

第一次使用STC8H单片机,MDU16硬件乘法器算出来的值为什么全部为0?其数值也没有超过其范围。
为了检查将MD3,MD2,MD1,MD0,通过串口输出,发现里面的数据不是我所写的数据,好像是一些随机数,同样对DMA的串口的寄存器读出也是一些随机数?但DMA的串口能正常使用。而对0000-0005H写入数据后读出是正常的!
还有就是M2M_DMA,能将数据传送给R0,R1这些吗?
现在怀疑是不是我这块单片机有问题啊?
ORL P_SW2,#80H
MOV DPTR,#ARCON;32位÷16位计算 ;{MD3,MD2,MD1,MD0}÷{MD5,MD4}={MD3,MD2,MD1,MD0}....{MD5,MD4}
MOV A,#0C0H
MOVX @DPTR,A
MOV DPTR,#OPCON;开始计算
MOV A,#01H
MOVX @DPTR,A
CF32_:
MOV DPTR,#OPCON
MOVX A,@DPTR
JB ACC.0,CF32_      ;计算是否完成
单片机型号: STC8H8K64U
固件版本号: 7.4.4U
. 用户设定频率: 24.000MHz
. 调节后的频率: 23.995MHz ( 主时钟分频系数 = 1; )
. 频率调节误差: -0.020%

潜望镜777 发表于 2023-12-6 09:35:14

仔细查看原来我是把ADC转换寄存器,直接放入的数据测试的,所以才会出现计算的数值为0
页: [1]
查看完整版本: STC8H8K64U MDU16硬件乘法器引出来的其他问题