导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→关于74hc165的一个程序不太懂

* 104262: 关于74hc165的一个程序不太懂

   阿苏卡 
阿苏卡发表的帖子 

 关于74hc165的一个程序不太懂
-------------------------------------------------------------------------------
* 实 验 名   : 74H165显示试验
* 实验说明       : 使用LED显示74H165的读取值
* 连接方式       : 见连接图
* 注    意   : 
*******************************************************************************/

#include  <reg51.h>  
#include  <intrins.h>  

//--定义使用的IO口--//
#define GPIO_LED P0
sbit    IN_PL   = P1^6;    //主P1.6 接 CPU P1.4。
sbit    IN_Data = P1^7;    //数据通过P1.7脚移进单片机内处理
sbit    SCK    = P3^6;

//--声明全局函数--//
unsigned char Read74H165(void);

/*******************************************************************************
* 函 数 名         : main
* 函数功能     : 主函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/

void main()
{
 unsigned char h165value;

 GPIO_LED = 0;
 while(1)
 {
  h165value = Read74H165();
  if(h165value != 0xFF)
  {
   GPIO_LED = ~h165value;
  } 
 } 
}

/*******************************************************************************
* 函 数 名         : Read74H165
* 函数功能     : 使用165读取一个字节数据
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/

unsigned char Read74H165(void)
{  
  unsigned char i;
  unsigned char indata;
  
   IN_PL = 0;
   _nop_();        //短暂延时 产生一定宽度的脉冲
   IN_PL = 1;    //将外部信号全部读入锁存器中
   _nop_(); 
              
   indata=0;   //保存数据的变量清0  
   for(i=0; i  <8; i++)
    { 
   indata = indata  <  <1;    //左移一位
   SCK = 0;   //时钟置0  
      _nop_();
   indata |= IN_Data;
      SCK = 1;   //时钟置1   
 } 
   
   return(indata);  
}


定义P1^6,p1^7和p3^6这个地方不懂????简单的开发板,其中连线是P0连接数码管,键盘连接74HC165,其中P1P2P3都没用线连起来,为什么还能用到那三个口呢?求助,谢谢




发表时间:2014年3月13日10:57:09

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:[原创]中国最快捷的pcb打样工厂,帮您快速搞定pcb打样深圳捷多邦科技有限公司是一家集印制电路板样
[下一篇帖子]:瑞比特有限公司,MC-1612-B\MC-1010-B北斗模块供应,有现货,欢迎致电13823549