lytinks

    1. 邵贝贝译 嵌入式实时操作系统uCOS-II第2版 大尺寸 52/16390 实时操作系统RTOS 2015-04-08
      确实好大呀,谢谢分享
    2. uCOS学习经验和资料分享~~ 12/7356 实时操作系统RTOS 2015-04-08
      好耶,好耶,找了很久
    3. 谢谢,分享快乐
    4. 好呀,找了很久了,感谢楼主
    5. 为什么只看到目录呢
    6. 找了很久,好呀
    7. 纠正://////////////////sensor.c///////////////////////////////////////// #include #include "sensor.h"   uchar H1; uchar L1; uchar H2; uchar L2;   uint data; float distance; uchar LoadRegBuf[4];//全局数据,用以存储定时计数器的值。 /////////////////////////延时子函数/////////////////////////////// void Delay_10us(uint n) /* 320NOPs == 10usecs 因为延时还有计算的缘故,用了310个nop*/ {     uint tt,yy;     for(tt = 0;tt0;yy--);     {asm("NOP");} } void Delay_1s(uint n) {       uint ulloop=1000;         uint tt;     for(tt =n ;tt>0;tt--);     for( ulloop=1000;ulloop>0;ulloop--)     {           Delay_10us(100);         } } void SysClkSet32M() {     CLKCONCMD &= ~0x40;         //设置系统时钟源为32MHZ晶振     while(CLKCONSTA & 0x40);     //等待晶振稳定     CLKCONCMD &= ~0x47;        //设置系统主时钟频率为32MHZ                                //此时的CLKCONSTA为0x88。即普通时钟和定时器时钟都是32M。         } void Init_UltrasoundRanging() {       P1DIR = 0X04; //0为输入(默认),1为输出  00000100 TRIG P1_2     TRIG=0;     P0INP &= ~0X02;   //有上拉、下拉 有初始化的左右     P0IEN |= 0X02;    //P0_1 中断使能     PICTL |= 0X01;    //设置P0_1引脚,下降沿触发中断        IEN1 |= 0X20;      // P0IE = 1; } void UltrasoundRanging(uchar *ulLoadBufPtr) {         SysClkSet32M();      Init_UltrasoundRanging();      EA = 0;      TRIG =1;      Delay_1us(10);     //需要延时10us以上的高电平      TRIG =0;      T1CNTL=0;      T1CNTH=0;             while(!ECHO);        T1CTL = 0x09;      //通道0,中断有效,32分频;自动重装模式(0x0000->0xffff);      L1=T1CNTL;        H1=T1CNTH;         *ulLoadBufPtr++=T1CNTL;      *ulLoadBufPtr++=T1CNTH;       EA = 1;         Delay_10us(60000);            Delay_10us(60000);      } #pragma vector = P0INT_VECTOR __interrupt void P0_ISR(void) {          EA=0;            T1CTL = 0x00;            LoadRegBuf[2]=T1CNTL;            LoadRegBuf[3]=T1CNTH;            L2=T1CNTL;            H2=T1CNTH;           if(P0IFG&0x02)         //按键中断         {             P0IFG = 0;                 }         T1CTL = 0x09;           P0IF = 0;          //清中断标志         EA=1; }

最近访客

< 1/1 >

统计信息

已有3人来访过

  • 芯积分:1
  • 好友:--
  • 主题:1
  • 回复:7

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言