程序员书籍笔记 程序员书籍笔记
  • HTML
  • CSS
  • JavaScript
  • 前端知识
  • Vue
  • MarkDown
  • git
  • Node.js
  • Linux
  • 51单片机
  • 四级
  • 第一学期课程
  • 操作系统
  • 计算机网络
  • 数据结构
  • 计算机组成原理
  • HTML5
  • Electron
  • 日记便签
  • 前端导航
GitHub (opens new window)
  • HTML
  • CSS
  • JavaScript
  • 前端知识
  • Vue
  • MarkDown
  • git
  • Node.js
  • Linux
  • 51单片机
  • 四级
  • 第一学期课程
  • 操作系统
  • 计算机网络
  • 数据结构
  • 计算机组成原理
  • HTML5
  • Electron
  • 日记便签
  • 前端导航
GitHub (opens new window)
  • Linux

  • MySQL

  • 51单片机

    • 基础
    • 元器件
    • 中断
    • 定时计数器
    • 中断程序
    • DS1302模块
    • BCD码转换
    • 串口
    • 时序图入门74HC165
      • 74HC165
      • 时序图
      • 真值表
      • 运行原理
      • 代码实现
    • AD转换
    • SD卡
  • exam

  • 系统和硬件
  • 51单片机
yuadh
2022-02-03
目录

时序图入门74HC165

# 74HC165

  • 并入串出的芯片(可以让并行的数据串行输出)

DS : 串行输入

D0-D7 : 并行数据输入

当 PL 引脚为低时 , D0-D7 的数据进入位移寄存器

当 PL 引脚为高时 , 数据从 DS 引脚串行进入寄存器

当 CE 引脚为低时 , 使能时钟,数据在时钟 CP 上升时进行数据位移

当 CE 引脚为高时 , 失能时钟,时钟输入无效

# 时序图

简单引脚作用说明

PL : 控制并行还是串行输入

CP : 时钟输出

CE : 时钟控制

DS : 串行输入入口

D0-D7 : 并行输入入口

Q7 : 输出出口

# 真值表

# 运行原理

asynchronous parallel load input : 异步并行

移位寄存器

PL 为高电平时 通过串行输入 DS 入口 ,CE 使时钟有效

移位寄存器

# 代码实现

仿真图

#include <reg52.h>
sbit v_PL = P2^5; // 控制串行还是并行输入
sbit v_CLK = P2^7; // CP时钟 上升沿触发
sbit v_OUT = P2^4; // Q7输出数据
sbit v_CE = P2^6;  // 时钟使能,低电平有效

void init_74hc165(){
    v_CE = 0; //使能时钟
    v_PL = 1; //拉高未连接 DS 情况下是禁止使用
    v_CLK = 1; //拉高时钟以便于产生上升沿
}
uchar getDAT(){
    uchar i; uchar dat;
    v_PL = 0; // 等待读取按键状态
    _nop_();
    v_PL = 1; // 禁止读取按键状态(此时数据已经存储到了寄存器)
    _nop_();
    /*if(v_out == 1){ //有按键输入
        temp |= 0x01;//赋值
    }*/
    //依次将剩下的
    for(i= 0;i<8;i++){
        dat = dat<<1;//向左移位
        v_CLK = 0;
        _nop_();
        dat = dat|v_OUT; //获取数据
        v_CLK = 1; // 时钟没次发生上升沿是数据向左移一位
        _nop_();
    }
    return dat;
}
void main(){
    uchar leds;
    while(){
        leds = getDAT();
        P1 = leds;
    }
}   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48
串口
AD转换

← 串口 AD转换→

Theme by Vdoing | Copyright © 2021-2023 yuadh
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×