找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1444|回复: 2
打印 上一主题 下一主题
收起左侧

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

[复制链接]
回帖奖励 6 黑币 回复本帖可获得 2 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
不知道怎样控制位号


#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 (41.26 KB, 下载次数: 53)

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

poYBAGL7DEeAdVEjAApJzrecetI004.pdf

658.45 KB, 下载次数: 6

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:161164 发表于 2024-1-30 17:23 | 只看该作者
发送命令/数据时,STB要低电平


回复

使用道具 举报

板凳
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 单片机教程网

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