查看: 3087|回复: 9
打印 上一主题 下一主题

战友们,真心求助!!!

[复制链接]
跳转到指定楼层
沙发
发表于 2014-9-21 14:53:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 张衍波 于 2014-9-21 14:55 编辑

我实在是不知道怎么弄了,下面是我写的点阵程序,它只显示1/4块区域亮,我就搞不懂了,,保证接线没错,可以正常显示,用其他程序已测试过,兄弟们帮我看看,该怎么办???
/******************************************************
*程序功能:点阵显示固定图形
*硬件连接:4个595芯片,P1口接595,JP18接JP27;JP20接JP26;
*作    者:张衍波
*日    期:2014/9/21
******************************************************/
#include<stc15f2k60s2.h>
sbit RCLK1=P0^0;
sbit SRCLK1=P0^1;
sbit SER1=P0^2;
sbit RCLK3=P0^3;
sbit SRCLK3=P0^4;
sbit SER3=P0^5;
#define uchar unsigned char
#define uint  unsigned int
uchar  data1[]={0x17FF,0x1DFB,0x1C03,0x1C93,
                        0x1DCB,0x1C8B,0x1C13,0x1C03,
                        0x1DFB,0x1FFF,0x1800,0x1800,
                        0x1800,0x1800,0x1800,0x0000};
uchar wei1[]={0x7fff, 0xbfff, 0xdfff, 0xefff,
                     0xf7ff, 0xfbff, 0xfdff, 0xfeff,
                     0xff7f, 0xffbf, 0xffdf, 0xffef,
                     0xfff7, 0xfffb, 0xfffd, 0xfffe};
uchar j=0;
/******************************
函数功能: 595程序
******************************/
void send_data1(uchar data1)
{ unsigned int i;
    for(i=0;i<16;i++)
{
  SRCLK1=0;
  SER1=data1&0x0001;
  SRCLK1=1;
  data1=data1>>1;
}
}
void send_wei1(uchar wei1)
{
    unsigned int i;
for(i=0;i<16;i++)
{
  SRCLK3=0;
  SER3=wei1&0x0001;
  SRCLK3=1;
  wei1=wei1>>1;
}
}
/******************************
函数功能:点阵显示
******************************/
void display()
{
RCLK1=0;
send_data1(data1[j]);
RCLK1=1;

RCLK3=0;
send_wei1(wei1[j]);
RCLK3=1;
}
/******************************
函数功能:中断函数
******************************/
void timer1() interrupt 3
{
display();
j++;
if(j==16)
j=0;     
}
/****************************
函数功能:主函数
****************************/
void main()
{
P0M1 =0x00;
    P0M0 =0xff;
TMOD=0X00;
TH1=(65536-1500)>>8;
TL1=(65536-1500);
TR1=1;
ET1=1;
EA=1;
while(1);
}
回复

使用道具 举报

地板
 楼主| 发表于 2014-9-22 13:15:50 | 只看该作者

漂亮!有空给我说,我等着你啊
回复 支持 反对

使用道具 举报

4#
发表于 2014-9-22 15:45:04 | 只看该作者
你这是32位的数你用uchar来做形参 ??  能写完 你觉得?
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2014-9-22 16:35:28 | 只看该作者
dengjia 发表于 2014-9-22 15:45
你这是32位的数你用uchar来做形参 ??  能写完 你觉得?

哎,都是基础不扎实惹得祸啊,,
回复 支持 反对

使用道具 举报

6#
发表于 2014-9-22 21:35:19 | 只看该作者
嗯嗯,就是那个错误,大师兄威武,把下面的uchar改为uint就对了,一共要改4处
回复 支持 反对

使用道具 举报

7#
发表于 2014-9-23 09:15:28 | 只看该作者
SDC158477392 发表于 2014-9-22 21:35
嗯嗯,就是那个错误,大师兄威武,把下面的uchar改为uint就对了,一共要改4处 ...

回复 支持 反对

使用道具 举报

8#
发表于 2014-9-23 09:54:53 | 只看该作者
高手所见略同,
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2014-9-23 13:34:58 | 只看该作者
SDC158477392 发表于 2014-9-22 21:35
嗯嗯,就是那个错误,大师兄威武,把下面的uchar改为uint就对了,一共要改4处 ...

经过大师兄的教导之后,成功完成任务
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2014-9-23 13:36:07 | 只看该作者

厉害啊,兄弟在后,我无忧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表