找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2324|回复: 1
收起左侧

74hc164控点阵屏半边串红

[复制链接]
ID:64817 发表于 2014-11-16 19:25 | 显示全部楼层 |阅读模式
#include<reg52.h>
#include<intrins.h>
sbit DATA2=P1^0;//  l数据
sbit CLK2=P1^1; //  l时钟移位
sbit CLR2=P1^2; //  l复位
sbit DATA1=P0^0; //  h数据
sbit CLK1=P0^1; //   h时钟移位
sbit CLR1=P0^2; //   h复位
sbit lcd1=P2^2;
unsigned char code e[8] ={0x1C,0x3E,0x7E,0xFC,0xFC,0x7E,0x3E,0x1C}; //心
unsigned char code a[8] ={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,}; //例
void yshi (unsigned int t)
{
  unsigned char e;
  while(t--)
  {
    for(e=59;e>0;e--);   //一次500us   
  }
}
void led_send_data(unsigned char cdata)  //移位行数据
{
unsigned char i=0x00;
for(i=0;i<8;i++)
     {
   CLR1=1;  CLK1=0;
   DATA1=cdata&0x80;   
   cdata<<=1;    _nop_();
  CLK1=1;  _nop_();   
  }
CLK1=0;
}
void l_164_l(unsigned char cdata)    //移位例数据
{
unsigned char i=0x00;
for(i=0;i<8;i++)
     {
   CLR2=1; CLK2=0;
   DATA2=cdata&0x80;    cdata<<=1;   
_nop_();      CLK2=1;   _nop_();  
  }
CLK2=0;
}

main()
{
  
   TMOD=0X01;   TH0=0XFc; TL0=0X67;   
      TR0=1;     EA=1 ;        ET0=1;
   while (1);           
}

void zd ()interrupt 1  //中断
{
  unsigned char w,l;
  static unsigned char  p;
  CLR1=0;   //行的 164输出清0;
  TH0=0Xf8;  TL0=0X44;
    led_send_data(0x00);    l_164_l(0xff);   //行的164输出清0。。例的164输出全为了;正常行为高电平,例为低电平可点亮。
  switch (p)
   {
  case 0: {w=e[p]; l=a[p]; led_send_data(w); l_164_l(l);} ;p++;break;  //把 led_send_data(w); l_164_l(l) 颠倒位置可变为上半部串红,下半部正常。
case 1: {w=e[p]; l=a[p]; led_send_data(w); l_164_l(l);} ;p++;break;
case 2: {w=e[p]; l=a[p]; led_send_data(w); l_164_l(l);} ;p++;break;
case 3: {w=e[p]; l=a[p]; led_send_data(w); l_164_l(l);} ;p++;break;
case 4: {w=e[p]; l=a[p]; led_send_data(w); l_164_l(l);} ;p++;break;
case 5: {w=e[p]; l=a[p]; led_send_data(w); l_164_l(l);} ;p++;break;
case 6: {w=e[p]; l=a[p]; led_send_data(w); l_164_l(l);} ;p++;break;
case 7: {w=e[p]; l=a[p]; led_send_data(w); l_164_l(l);} ;p=0;break;
  default:break;
   }
}
各位老师,我用两个74HC164分别控制8*8点阵屏的行例与纵例,不知为什么有左半边串红,如果把中断case 里led_send_data(w); l_164_l(l) 颠倒位置可变为上半部串红,下半部正常。请老师帮我申看程序,批导指导。。谢谢
回复

使用道具 举报

ID:26188 发表于 2014-11-16 23:36 来自手机 | 显示全部楼层
同求答案,希望高手出现。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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