麻烦大神看看,单片机AD的转换 转动电位计 将转化完的数字量显示在数码管上!!! 无法实现啊!!

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-29
请大神帮忙看一个单片机数码管程序

看你的程序,应该用的是共阳数码管, segnum[data]<<=1;此句8次左移后将所有的数组代码全部变成了0x00,即数码管全部点亮,包括小数点。你用temp传递中间变量的做法是正确的。

while (1)
{
DU = 1;
P0 = 0X06;
DU = 0;
WU = 1;
P0 = 0Xfe;
WU = 0;
delay(20); //加上延时,就好了
};

没有延时,你的程序就是不停的变换显示位置,看不清楚。

就是说,某个符号,刚刚在正确的位置,确实是显示了;
但是,还没有等人看到,程序,就又换到下个位置,这个符号,又会显示在下一个位置上;
并且,还是没有等人看到,这下一个位置,又显示了下一个符号....。 这就是乱码。

首先 没看你流水灯 你流水灯是不是一直接在P1 上 跟AD冲突了
然后你一直显示255 那说明的AD就没有启动 是不是时序不对 或用示波器看看 有没有输出

发给我看看
还有完整的原理图
我做单片机的