数码管超声波测距.zip

  • 浏览量:1095
  • 下载量:1
  • 资料大小:0 B
  • 日期:2015-08-22
  • 上传者:dadangjia
  • 分享
  • 评论
  • 举报
  • 收藏

资料描述

     


           暑假里,闲着蛋疼。就做了个小程序,利用hsc_04超声波模块做了个测距离的程序。程序之前发过。这里我再发一次。介绍下我的小小超声波测距模块。


          我从网上买的几块钱一个的超声波测距模块。用74hc164串口的方式显示数码管。用的是msp430g2331,编译环境是iar for 5.5.msp430g2331的p1的8的io口全部占用,还有两个特殊定义io口没有用。代码编译有几百bit,还是很吊的吧。


    这些程序都由本人亲自调试编写,可以成功运行。


    //主函数
    #include"config.h"
    int main( void )
    {
       extern_16m();   //msp430g2231最大1mhz速度,我按最大速度运行
        init_ta();         //定时器设置,设置40ms中断一次,即一个数码管40ms显示一次
       hc164_init();    //串转并模块74hc164引脚定义
       hc_sr04();       //超声波测距模块io口定义
       __bis_sr_register(gie);   //开启总中断
       while(1)
       {
       
       }
    }


    //config.h

    #include"io430.h"
    #define uchar unsigned char
    #define uint unsigned int
    #define ulong unsigned long
    #define clk0  p1out&=~bit6
    #define clk1   p1out|=bit6
    #define hc_sr040  p1out&=~bit4
    #define hc_sr041   p1out|=bit4
    #define cpu_f ((double)1000000)   //外部高频晶振16mhz
    //#define cpu_f ((double)32768)   //外部低频晶振32.768khz
    #define delay_us(x) __delay_cycles((long)(cpu_f*(double)x/1000000.0)) 
    #define delay_ms(x) __delay_cycles((long)(cpu_f*(double)x
评论(0)

登录后可评论,请 登录注册

   
相关资料
换一换