OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2634|回复: 3

LS165的相关问题

[复制链接]

4

主题

20

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2018-9-29
在线时间
7 小时
发表于 2018-9-29 19:09:34 | 显示全部楼层 |阅读模式
4金钱
请问各位大佬,如何将串行口输出的信号在LCD显示屏上或在串口上显示呢?求相关代码,新手刚接触,希望各位前辈多多指教,不胜感激。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-9-30 01:32:56 | 显示全部楼层
回复

使用道具 举报

4

主题

20

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2018-9-29
在线时间
7 小时
 楼主| 发表于 2018-10-1 12:06:28 | 显示全部楼层
//主程序
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "key.h"
#include "myp.h"
int main(void)
{
           long int indata=0;
  u8 key;         
        delay_init();                     //延时函数初始化         
        LED_Init();                                   //初始化与LED连接的硬件接口
        KEY_Init();                  //初始化与按键连接的硬件接口
        LED0=0;                                        //点亮LED
         
        GPIO_HC165_Configuration();
         
        while(1)
        {
                key=KEY_Scan(0);
                if(key==KEY0_PRES){
             GPIO_WriteBit(GPIOC,GPIO_Pin_10,Bit_SET);//CLK-1;
                         GPIO_WriteBit(GPIOA,GPIO_Pin_15,Bit_RESET);//SH-0;
                         GPIO_HC165_Input();
                         delay_ms(10);
                }
                if(key==KEY1_PRES)//KEY1 按下,读取字符串并显示
                {
      GetHC74165();
                }

        }                 
}
// myp.c文件
#include"myp.h"
#include "delay.h"
         
        void GPIO_HC165_Input(void)
        {
  GPIO_InitTypeDef  GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;        
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;     //设置为浮空输入
        GPIO_Init(GPIOC, &GPIO_InitStructure);                //调用GPIO初始化函数
        }
               
void GPIO_HC165_Configuration(void)
{
   GPIO_InitTypeDef  GPIO_InitStructure;   
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);             //开启AFIO时钟
   GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);        //禁止JTAG功能
   RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA  , ENABLE);
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     //最大输出速度为50MHz
   GPIO_Init(GPIOA, &GPIO_InitStructure);   

         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;
   GPIO_Init(GPIOC, &GPIO_InitStructure);   

   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;                      //CLK IN
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     //最大输出速度为50MHz
   GPIO_Init(GPIOC, &GPIO_InitStructure);                   //调用GPIO初始化函数  
   GPIO_HC165_Input();
}        

long int GetHC74165(void)
{
  long int  i;
  long int indata=0;
  GPIO_WriteBit(GPIOA,GPIO_Pin_15,Bit_RESET);//SH-0;
  delay_ms(10);
  GPIO_WriteBit(GPIOA,GPIO_Pin_15,Bit_SET);//SH-1;
  delay_ms(20);
  for(i=0;i<8;i++)
  {
    GPIO_WriteBit(GPIOC,GPIO_Pin_10,Bit_RESET);//CLK-0;
    delay_ms(10);

    indata=indata<<1;      //左移一位
    if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_11)==1)
    {
      indata=indata+1;  
    }     
     GPIO_WriteBit(GPIOC,GPIO_Pin_10,Bit_SET);//CLK-1;
     delay_ms(10);
  }
   return(indata);  
}




回复

使用道具 举报

4

主题

20

帖子

0

精华

新手入门

积分
3
金钱
3
注册时间
2018-9-29
在线时间
7 小时
 楼主| 发表于 2018-10-1 12:08:36 | 显示全部楼层
黄瓜皮 发表于 2018-10-1 12:06
//主程序
#include "led.h"
#include "delay.h"

不确定对不对,因为目前没有硬件来检测,但是编译没有错误,希望有大佬可以指点一下。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 07:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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