导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[byb518]C51编程:sos!!大虾们请过来



No.8031
作者:byb518
邮件:byb518@163.com
ID:2084
登陆:1次
文章数:1篇
最后登陆IP:
最后登陆:2002/5/31 15:31:00
注册:2002/5/31 15:31:00
财富:6
发帖时间:2002/5/31 15:34:00
发贴者IP:202.102.8.101
标题:byb518:C51编程:sos!!大虾们请过来
摘要:No.8031C51编程:sos!!大虾们请过来 下面是我的vfd的相关程序清单,中断程序只要放上,不管开不开中断,都显示不正常,而
不加时正常,是我环境设置问题?该怎么设?或是什么其他问题?
vfd.c如下:
void send(uchar x)
{uchar j;
 for (j=8;j>0;j--)
  {DIS_DT=(bit)(x&0x01);
   DIS_CLK=1;
   x=x>>1;
   DIS_CLK=0; 
  }
 } 
     
void display2(p,n )                        
    //updata specific address  
uchar *p,n;
    {uchar i,send0;
     DIS_STB=0;
     send0=0x40;                    
    //command2
     send(send0);
     DIS_STB=1;
     for (i=0;i<3;i++)
      {DIS_STB=0;
       send0=0xc0+3*n+i;                
    //command3
       send(send0);
       send0=p[i];
       send(send0);
       DIS_STB=1;
     }
      
    }   
                          
void display1(p)
uchar  p[12][3];
{  uchar commond[]={0x0b,0x40,0xc0,0x8f};
   uchar i,j,send0;
   void send(uchar x);            //send 36data to vfd 
   DIS_STB=1;
   DIS_DT=1;
   DIS_CLK=1;
   for (i=0;i<2;i++)
   {DIS_STB=1;
    send0=commond[i];
    DIS_STB=0;
    DIS_CLK=0;
    send(send0);
    DIS_STB=0;
    }
    for (i=0;i<12;i++)
    for (j=0;j<3;j++)
    {send0=p[i][j];
     send(send0);
     }

     DIS_STB=1;
    send0=commond[3];
    DIS_STB=0;
    send(send0); 
    DIS_STB=1;
}
define.c如下:
#include<reg51.h>
typedef unsigned char uchar;
/****define special bit for I/O*****/
sbit DIS_DT=P1^2;                                      /**data**/
sbit DIS_CLK=P1^1;                                     /**CLK**/
sbit DIS_STB=P1^0; 
sbit WB0=P3^2;
uchar data *data mab;
主程序3008.c如下:
#include<define.c>
#include<vfd.c>
uchar data *data mab;

void main(void)
{  uchar code vfddis[12][3]={{00,00,00},{00,00,00},{00,00,00},{00,00,00},
                {0x8c,0xc4,00},{0x20,0x10,00},
{0x0c,0x87,00},{0x0c,0xc3,00},
                 {0x88,0x43,00},{0x84,0xc3,00},{0x84,0xc7,00},
{0x0c,0x40,00}};
     uchar  p[3]; 
  
   uchar i;
   display1(vfddis);  
    EA=1;
    IT0=1;
    ET0=1;
for(i=0;i<3;i++){p[i]=vfddis[4][i];}
  display2(p,4);             //send 1data to vfd
// if(mab[0]==mab[1]!=0)
 //  if(mab[2]==~mab[3])
//     switch(mab[2])
//     {case(0x01): for(i=0;i<3;i++){p[i]=vfddis[4][i];}
//                        display2(p,8);
//        break;
//      case(0x02): for(i=0;i<3;i++){p[i]=vfddis[4][i];}
//                        display2(p,7);    
//        break;
//      case(0x03): for(i=0;i<3;i++){p[i]=vfddis[4][i];}
//                        display2(p,6);
//        break;
//      case(0x04): for(i=0;i<3;i++){p[i]=vfddis[4][i];}
//                        display2(p,5);
//        break;
//      case(0x05): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,6);
//        break;
//      case(0x06): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,7);
//        break;
//      case(0x07): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,8);
//        break;
//      case(0x08): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,9);
//        break;
//      case(0x09): for(i=0;i<3;i++){p[i]=vfddis[4][i];}display2(p,10);
//        break;
//      case(0x0a): for(i=0;i<3;i++){p[i]=vfddis[4][i];}d ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:3859毫秒 查询8次