3201|1

3

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ATmega64程序编译正常,但在PT6302控制芯片驱动VFD屏无法显示 [复制链接]

这是我从能显示的51测试程序中改编成AVR的程序,但烧入芯片后却无法显示,本人是初学者,恳请那位高人指点问题出在哪。
显示模块是淘宝购置 12SS42DA1-VFD屏
#include
#include

#define uchar unsigned char
#define uint  unsigned int                           
//////////////变量定义     /////////////
#define cs  PE5
#define clk PE6
#define sda PE7
#define cs_H  PORTE |= BIT(5)
#define cs_L  PORTE &=~BIT(5)
#define clk_H  PORTE |= BIT(6)
#define clk_L  PORTE &=~BIT(6)
#define sda_H  PORTE |= BIT(7)
#define sda_L  PORTE &=~BIT(7)
uchar data_table11[12]="  ver  4.3  ";
uchar data_table12[12]=" TEST OK  ";
void delay();
void delay2();
//void write_6302(uchar w_data);
//void VFD_cmd(uchar command);
//void VFD_addr(uchar addr);
//void VFD_init();
void delay()
{
   int i;
   for(i=0;i<10;i++);
}
void delay2()
{
   int i,j;
   for(i=0;i<500;i++)
       {
         for(j=0;j<10;j++)
       {
   delay();
       }
       }
}
void write_6302(uchar w_data)
{
   unsigned char i;
  
   for(i=0;i<8;i++)
       {
         
   clk_L;
         if( (w_data&0x01) == 0x01)
            {
              sda_H;
            }
       else
            {
              sda_L;
            }
         w_data>>=1;
         delay();
   clk_H;               
         delay();
       }

}
void VFD_cmd(uchar command)
{
     cs_L;
     delay();
     write_6302(command);
     cs_H;
     delay();
}
void VFD_addr(uchar addr)
{
     cs_L;
     delay();
     write_6302(addr);
     delay();
}
void VFD_init()
{
    VFD_cmd(0x64);//设置显示位数
    VFD_cmd(0x70);//启动所有显示位        
    VFD_cmd(0x50);//设置亮度
}
void main()
{        
    uint i;
    //PORTE = 0x00;
    //DDRE  = 0xFF;
    VFD_init();
     do
      {
      
  VFD_addr(0x10);//设置显示位地址
        for(i=0;i<12;i++)
            {
              write_6302(data_table11[i]-0x10);
            }
        delay2();
        cs_H;
        cs_L;
  
        VFD_addr(0x10);
  
        for(i=0;i<12;i++)
           {        
              write_6302(data_table12[i]-0x10);
           }        
        delay2();
        cs_H;
        cs_L;
      }
   while(1);
}
点赞 关注
 

回复
举报

3

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没人答复,自己来回答吧,问题解决了
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表