微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于IIC总线的单片机排队系统接口设计

基于IIC总线的单片机排队系统接口设计

时间:11-04 来源:互联网 点击:

器件从地址*/ if(RetBit==0)

  return(0);

  RetBit=IIC_Write_Byte(Mem_Addr);

  /*发送器件子地址*/ if(RetBit==0)

  return(0);

  IIC_Stop(); /*结束总线*/ IIC_Start(); /*重新启动总线*/

  RetBit=IIC_Write_Byte(Device_Addr+1);

  if(RetBit==0)

  return(0);

  for(i=0;iNum-1;i++)

  {

  *DataPointer=IIC_Read_Byte(); /*接收数据*/

  IIC_Ack(0); /*发送应答位*/

  DataPointer++;

  }

  *DataPointer=IIC_Read_Byte(); /*接收数据*/

  IIC_Ack(1);

  IIC_Stop(); /*结束总线*/

  return(1);

  3.3 向IIC发送1字节函数

  bit Ack_Flag;

  unsigned char i;

  for(i=0;i8;i++) /*要传送的数据长度为8位*/

  {

  IIC_SDA=(bit)((Data《i)0x80);

  /*依次判断待发送位高低*/

  IIC_Delay();

  IIC_SCL=1;

  /*置时钟线为高,通知E2PROM开始接收数据位*/

  IIC_Delay();

  IIC_SCL=0;

  IIC_Delay();

  }

  IIC_SDA=1;

  /*8位数据发送完后释放数据线,准备接收应答位*/

  IIC_Delay();

  IIC_SCL=1;

  IIC_Delay();

  if(IIC_SDA)

  Ack_Flag=0; /* E2PROM无应答*/ else

  Ack_Flag=1; /*数据成功发送*/

  IIC_SCL=0;

  IIC_Delay();

  return(Ack_Flag); /*返回E2PROM应答标志*/

  4 结语

  经过软件分析后,即可利用keil c集成开发环境对用C语言编写的程序进行编译、调试,通过JTAG口将编译好的程序烧写到单片机中,完成所需排队功能。系统经过仿真测试,得到银行入口处摆放排队机供储户索取排队编号,打印编号;银行柜台内工作人员通过按钮可以实现叫号;叫号后在大屏幕显示上显示并通过喇叭播放叫号信息;银行工作人员可以通过后台进行系统的相关设置。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top