普中科技单片机吧 关注:435贴子:925
  • 11回复贴,共1

HC6800-ES V2.0的单片机 点阵程序问题

只看楼主收藏回复

写了一个点亮一个点阵的程序 拷到单片机里面 却点亮了一列点阵 希望大神看看我的程序错在哪里。
#include "reg51.h" //此文件中定义了单片机的一些特殊功能寄存器
#include"intrins.h"
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;
void Hc595SendByte(u8 dat)
{
u8 a;
SRCLK=0;
RCLK=0;
for(a=0;a<8;a++)
{
SER=dat>>7;
dat<<=1;
SRCLK=1;
_nop_();
_nop_();
SRCLK=0;
}
RCLK=1;
_nop_();
_nop_();
RCLK=0;
}
void main()
{
Hc595SendByte(0x80);
P0=0xbf;
while(1);
}


IP属地:浙江1楼2017-01-20 12:20回复
    来个大神帮帮我啊.


    IP属地:浙江2楼2017-01-20 12:32
    收起回复
      2025-05-10 14:18:55
      广告
      对了,还需要把Joe短接片短接到GND端,把J595短接片短接。


      来自Android客户端3楼2017-02-05 18:20
      收起回复
        我的也是这种情况,解决了吗?


        4楼2017-03-19 10:01
        回复
          我的也在写这段程序时,有个问题,就是刚下载完程序,LED点阵一个也不亮,后来开关几次电源才亮了,而且有时是亮一列,不知是啥问题。
          还有,
          SER=dat>>7;
          dat<<=1;
          这两行代码原先不明白什么意思,百思不得其姐,为什么要左移又右移,后来反复看了几次视频,才悄然大悟……


          IP属地:广东5楼2017-09-22 18:27
          回复
            p0赋值有问题,你写成0x7f,同时把595芯片那个短接片接Gnd,左上角那个就亮了,其他都灭


            来自Android客户端6楼2018-01-15 23:52
            回复
              谢谢大家,我转行做java了。


              IP属地:浙江7楼2018-01-16 17:23
              收起回复
                #include "reg51.h"还不能#include "reg52.h"


                IP属地:河北8楼2023-02-12 09:28
                回复