单片机 C语言:为何幅值显示没有变化?

2019-07-15 19:49发布

本帖最后由 咕叽咕叽025 于 2014-5-9 18:58 编辑

项目功能是利用LCD1602同时显示幅值和频率,目前这段程序编译通过,加载hex文件后,频率显示正常可变化,但幅值显示一直为0,请问怎么回事,都看了一天了还是没有结果,烦啊,求指教啊!以下附上编译通过的程序和仿真图:



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
依然落叶飘零
2019-07-16 12:00
我昨天看了一下了,刚开始以为是d =dat * 5000.000 / 256;溢出错误,后来发觉不对。
现在再次看看发现是这个计算式的问题。
dat =P23*2^7+P24*2^6+P25*2^5+P26*2^4+P27*2^3+P30*2^2+P31*2^1+P32*2^0;
“^”并不是表示多少次方,他是按位异或。并不是计算器上面表示的多少次方。
给为下面的表达式试试。
dat =P23*128+P24*64+P25*32+P26*16+P27*8+P30*4+P31*2+P32*1;

一周热门 更多>