打印

为啥我的写的数据无法显示 ,字符串可以显示,但是数字不行

[复制链接]
400|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
道子|  楼主 | 2020-4-24 18:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "bsp_1602display.h"


void Delay(uint32_t nCont)
{
for(;nCont>0;nCont--);
}

//----显示-----//


static void delay(uint16_t cnt)
{
  for(;cnt!=0;cnt--);
}

void GPIO_Config1(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE,ENABLE);

  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;

  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;

  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;

  GPIO_Init(GPIOD,&GPIO_InitStructure);

  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;

  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;

  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;

  GPIO_Init(GPIOE,&GPIO_InitStructure);

}
/*1602写命令函数*/
void WriteCmd(u8 cmd)
{
  delay(10000);  
  RS0;  
  RW0;
  GPIO_Write(GPIOE,cmd);
  delay(5000);  
  GPIO_ResetBits(GPIOD,GPIO_Pin_10);
  E1;
  delay(5000);
GPIO_ResetBits(GPIOD,GPIO_Pin_10);
}
/*1602写数据函数*/
void WriteData(u8 Dat)
{
delay(10000);
  RS1;
  RW0;         
  GPIO_ResetBits(GPIOD,GPIO_Pin_10);
  delay(5000);
  GPIO_Write(GPIOE,Dat);
  delay(5000);  

  E1;
  delay(5000);
  GPIO_ResetBits(GPIOD,GPIO_Pin_10);
}
/*1602初始化函数*/
void Init1602(void)
{
  WriteCmd(0x38);
  delay(1000);
  WriteCmd(0x08);
  delay(1000);
  WriteCmd(0x01);
  delay(1000);
  WriteCmd(0x06);
  delay(1000);
  WriteCmd(0x0c);
  delay(1000);
}

void Set_xy(unsigned char x,unsigned char y)
{
  unsigned char ss;
  if(x==0)
    ss=0x80+y;
  if(x==1)
    ss=0xc0+y;
  WriteCmd(ss);
}

void disp(unsigned char x,unsigned char y,unsigned char *s)
{
    Set_xy(x,y);
        while(*s)
        {
          WriteData(*s);
          s++;
        }
}

void num_deal(unsigned char x,uint16_t data)
{
        uint16_t a,b,c,d,e,f,g,h;
        a=data/10000000;
        b=data/1000000%10;
        c=data/100000%10;
        d=data/10000%10;
        e=data/1000%10;
        f=data/100%10;
        g=data/10%10;
        h=data%10;
        WriteCmd(0x80+x);
        WriteData(a+0x30);
        WriteData(b+0x30);
        WriteData(c+0x30);
        WriteData(d+0x30);
        WriteData(e+0x30);
        WriteData(f+0x30);
        WriteData(g+0x30);
        WriteData(h+0x30);
}

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

443

主题

448

帖子

0

粉丝