计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

实验一转速测量与控制(一)(3)

2016-01-28 01:01
导读:=0; /*CPU屏蔽所有的中断申请*/ delay_ms(1); i2cinit(); i2cstart(); i2csentbyte(0x70); /*ZLG7290的从地址为70H*/ i2csentbyte(0x07); /*命令缓冲区0地址*/ i2csentbyte(i); /*写命令缓冲
=0;  /*CPU屏蔽所有的中断申请*/
          delay_ms(1);
          i2cinit();
      i2cstart();
   i2csentbyte(0x70);  /*ZLG7290的从地址为70H*/
          i2csentbyte(0x07);  /*命令缓冲区0地址*/
   i2csentbyte(i);  /*写命令缓冲区0*/
   i2csentbyte(k);  /*地址自动增加,写命令缓冲区1*/
     i2cstop();
          EA=1; /*CPU开放所有的中断申请*/
     }
unsigned char read7290(unsigned char i)
    {unsigned char x=0;
      EA=0;  /*CPU屏蔽所有的中断申请*/
      delay_ms(1);
      i2cinit();
      i2cstart();
   i2csentbyte(0x70);  /*ZLG7290的从地址为70H*/
   i2csentbyte(i);
   i2cstart();
   i2csentbyte(0x71);  /*71H ?*/
x=i2creceivebyte();
   sendacknomlege(0x1);
   i2cstop();
   return x;
         // EA=1;  /*中断开放在后边的中断子程序执行完之后才开放*/
     }
/*I2C OPERATION 2*/
/* 5618 operation */
void write5618(unsigned int k)
{unsigned int i,j;
  EA=0; j=k;  /*CPU屏蔽所有的中断申请*/
  P1=P1&0x5f;  /*5618地址,使能芯片*/
   _nop_();
  for (i=0;i<16;i++)  /*发送2字节数据:高四位是编程位,低12位是需要转换的数据*/
   {
    if (j&0x8000) 本文来自中国科教评价网
      sdi=1;
     else
      sdi=0;
    j<<=1;
    sclk=0;
    _nop_();
    sclk=1;
    };
    _nop_();
    _nop_();
  P1=0xff; /*使能结束*/
  EA=1;  /*CPU开放所有的中断申请*/
}
/* 5618 operation */
/*initial COUNTER0*/ 
void init_time0()  /*初始化计数器0*/
{ TMOD=0x85;  /*T0:不受外部引脚控制,外部事件计数方式,工作方式为方式1,16位计数器*/
 TH0=0;  /*加计数寄存器高八位为0*/
 TL0=0;  /*加计数寄存器低八位为0*/
 TCON=0x10;  /*中断控制寄存器:计数器运行控制位TR0=1;外部中断源触发方式控制位IT0=0,电平触发*/
  }
/*initial COUNTER0*/
main()
{ unsigned int temp,t3=0xc100;
  unsigned char i=0;
  IE=0x95;IP=0x01;  /*IE:EA=1中断开放,ES=1允许串口中断,EX1=1,EX0=1外部中断1,0允许*/
      /*IP:PX0=1 外部中断0定义为高优先级中断*/
  P1=0xff;P3=P3|0x30;  /*端口初始化:P1为高电平;P3_5=1读AD7865信号无效,P3_4=1*/
init_time0();
/*initiate 5618*/    
 write5618(0x4000);  /*设置DAC B为输出,选择快速模式*/
 write5618(0xc000);  /*设置DAC A为输出,选择快速模式*/
 /*initiate 5618*/
 /* motor measure start */
  P1=P1&0x3f;            /* triger 555  电机测速使能*/
  _nop_();
  P1=0xff;
 /* motor messure start */
 /*7290*/
  writedata7290(0x65,0);  /*按位下载数据且译码指令:第五位显示'0',不闪烁,小数点不点亮*/ (转载自科教范文网http://fw.nseac.com)
  writedata7290(0x67,0);  /*按位下载数据且译码指令:第七位显示'
上一篇:直流伺服控制系统主要用于数控机床的工作台(一 下一篇:没有了