• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机端口赋值的问题

mingming 2021-05-18 浏览量:556
用单片机接了个74hc154,P2^0--P2^3接74hc154的ABCD四个输入端。
代码如下:

unsigned char colcount[16]={0123456789101112131415};
unsigned char col;
for (col=0;col<8;col++){
                //P2=colcount[col];
                P2=col;

}
希望得到的效果是74hc154按引脚顺序0--15依次低电平,但是现在仿真输出的顺序是乱序,for循环中的两个语句切换了也是乱序,最开始引脚顺序如下:
15351452463
再往后就乱了,不是按0--15引脚顺序依次低电平。

但是这个程序在网上很多都这样写的,问题出在哪里了?如何解决?谢谢!
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 从你给出的数据来看,可能有这样一些原因(可能是硬件的也可能是软件的):

    1. 管脚对应错误

    2. 管脚输出电平规定错误(你预期的是置位后对应按位高电平输出,实际上是置位后低电平输出)

    因为你P2置0时,74hc154输出的居然是15效果,则表明要么你那里对P2输出每个管脚都是高电平了。后面的几种情况可能是管脚对应错误造成的。

其他答案 数量:3
  • p2=col后面加延时试试看,有可能仿真速度太快,跳着显示了,还有2.0到2.3是否接反了,a接2.0,d接2.3

  • 你先一个一个的置位试一下,不要一次性置这么多,有可能是硬件上的连接错了,发一下原理图看看
    • 发布于2021-06-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 你用什么测量 的啊,测的时候的频率设置的是多少,是不是采样过慢,没有采到
    • 发布于2021-06-03
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

单片机端口赋值的问题