利用74HC165实现8路并行输入口的扩展

代码:

#include <mega16.h>

// Declare your global variables here
#define hc165_clk PORTB.0
#define hc165_lp PORTB.1
#define hc165_out PINB.2

unsigned char read_hc165(void)
{
    unsigned char data=0,i,temp=0x80;
     hc165_lp=0;
     hc165_lp=1; 
     for(i=0;i<=7;i++)
     {
        if(hc165_out)
        data|=temp;
        hc165_clk=1;
        temp=temp>>1;
        hc165_clk=0;
     }
     return data;
}
void main(void)
{
// Declare your local variables here
   PORTA=0XFF;
   DDRA=0XFF;
   PORTB=0X06;
   DDRB=0X03;
     
while (1)
      {
      // Place your code here
         PORTA=~read_hc165();
      }
}

仿真效果图:

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 23:08:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 23:08:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 23:08:07       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 23:08:07       20 阅读

热门阅读

  1. 【LVGL v8.3】切换界面时内存变化分析

    2024-06-15 23:08:07       7 阅读
  2. 支持向量机(SVM)中核函数的本质意义

    2024-06-15 23:08:07       7 阅读
  3. 前端进阶-js查漏补缺

    2024-06-15 23:08:07       4 阅读
  4. 78978

    2024-06-15 23:08:07       5 阅读
  5. git常用指令及bug解决(更新自用)

    2024-06-15 23:08:07       7 阅读
  6. JDBC简介

    2024-06-15 23:08:07       6 阅读
  7. 初识PHP

    初识PHP

    2024-06-15 23:08:07      8 阅读