找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1558|回复: 2
收起左侧

求助大佬怎样控制aip1618驱动四位数码管,芯片数据手册看不明白

[复制链接]
回帖奖励 6 黑币 回复本帖可获得 2 黑币奖励! 每人限 1 次
ID:907553 发表于 2024-1-30 16:38 | 显示全部楼层 |阅读模式
不知道怎样控制位号


#include "reg51.H"
#include "intrins.h"
sbit  pOR_Disp_Clk=P1^0;
sbit  pOR_Disp_Da=P1^1;
sbit  pOR_Disp_Stb=P1^2;
unsigned char b_DispBuf[14];
unsigned char code letter_tab[]=
{                  
        0x3f,       
        0x06,       
        0x5b,       
        0x4f,       
        0x66,       
        0x6d,       
        0x7d,       
        0x07,       
        0x7f,       
        0x6f,       
        0x77,       
        0x7c,       
        0x39,       
        0x5e,       
        0x79,       
        0x71,       
        0x40,       
        0x00,       
        0x76,       
        0x38,       
        0x73,       
        0x58,       
        0x00       
};
void  s_Send_Start(void)  //stb下降沿
{
  pOR_Disp_Stb=1;
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
  pOR_Disp_Stb=0;
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
}
void  s_Send_Data(unsigned char para_dispsend)//写数据
{
  unsigned char i;

  for(i=0;i<8;i++)
  {
        if((para_dispsend&0x01)==0x01)
        {
          pOR_Disp_Da=1;       
        }
        else
        {
          pOR_Disp_Da=0;               
        }
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();

        pOR_Disp_Clk=0;
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
        pOR_Disp_Clk=1;
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
         _nop_();
        para_dispsend >>= 1;
  }
}
void  s_Drive_2618(void)
{
          unsigned char i;
          unsigned char p_disp_com_buff;
          
          s_Send_Start();   
          s_Send_Data(0x00);//显示模式四位八段       
          
          s_Send_Start();
          s_Send_Data(0x40);//0100 0000写数据到显示寄存器,固定位置               
          
          s_Send_Start();
          s_Send_Data(0xc0);//1100 0000设置显示寄存器地址00H               
          
          p_disp_com_buff=0;  
          for(i=0;i<8;i++)
          {

                s_Send_Data(b_DispBuf[i]);
          }  
          s_Send_Start();
      s_Send_Data(0x8f);//显示开               
          pOR_Disp_Stb=1;
}

void main()
  {   
         s_Drive_2618();
           while(1)
            {                               
            }
   }


Screenshot-23f72e5f-b508-430b-a20a-66c28d6a9c9c.png

poYBAGL7DEeAdVEjAApJzrecetI004.pdf

658.45 KB, 下载次数: 6

回复

使用道具 举报

ID:161164 发表于 2024-1-30 17:23 | 显示全部楼层
发送命令/数据时,STB要低电平
2024-01-30_172237.png

回复

使用道具 举报

ID:883242 发表于 2024-1-30 17:48 | 显示全部楼层
s_Send_Data(b_DispBuf[i]);
这句里面的i不就是8个位么,还想要什么自行车?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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