首页头部标志
   新闻分类
   联系我们
  • 电话:0411-86632519
  • 传真:0411-86610519
  • 邮箱:dlysys@163.com


 
超声波流量计的主程序研究与设计 十二
时间:2012/6/28 19:53:34  来源:本站原创  点击:1480

超声波流量计的主程序研究与设计  十二

 

  系统软件的仿真和调试

超声波流量计单片机开发过程中都要有编程器,硬件开发器,开发软件,指令系统,芯片使用说明书等。随着科学的进步,开发手段多种多样。 C51程序的编写和编译链接等过程可以在开发工具“Keil C51的环境下进行。工作原理就是利用模拟开发软件在计算机上实现对单片机的硬件模拟,指令模拟,运行状态模拟,从而完成应用软件开发全过程。

  另外一个优点就是可以不需要硬件就进行全软件仿真,一切调试好后将程序烧入芯片,再将芯片插入硬件系统,就可使用了。

调试过程如下:

  首先建立一个项目,选择要保存项目的路径,并输入项目文件名,保存;选择单片机类型(本设计选择Ateml89C52,选定CPU型号后,单击“确定”;接下来创建程序文件,在弹出的编辑窗口中输入C51源程序;输入完成后,选择路径保存“.C”文件;将创建的程序文件添加到项目中去;程序文件添加完毕后,将鼠标指向“Target 1并单击右键,再单击“Options for TargetTarget 1”选择“Target ”标签进行相关设置;最后单击“Buile Target”选项,开始对项目中的程序文件进行编译连接,没有错误之后,系统就会生成与项目文件同名的可执行代码及用于EPROM编程的Hex文件。将生成的HEX文件下载到单片机系统中,就可以运行相应的程序。

附件二:主单片机程序

#include<reg51.h>

#include<math.h>

#include<absacc.h>

#define uchar unsigned char  

#define uint unsigned int 

                

//显示部分定义和初始化

/* LCD显示只需用P34个位口,端口定义如下*/

#define LCD_data  P0             //数据口

sbit LCD_EN  =  P3^2;            //液晶使能控制

sbit LCD_RS  =  P3^5;            //寄存器选择输入

sbit LCD_RW  =  P3^6;            //液晶读/写控制

sbit LCD_PSB =  P3^7;            ///并方式控制

 

uchar code dis1[] = {"直径:   .         cm"};

uchar code dis2[] = {"角度:   .         "};

uchar code dis3[] = {"流速:   .         m/s"};

uchar code dis4[] = {"流量:   .        m^3/s"};

 

uchar      data_d[3] ={"000"};

uchar    data_jiao[3]={"000"};

uchar    data_v[4]={"0000"};

uchar    data_q[4]={"0000"};

uchar      flag=0,key=0;  //按键标识、标号

double     tc;//时间差

 

#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};

uchar IRDIS[2];

uchar IRCOM[4];

void delay0(uchar x);  //x*0.14MS

void lcd_pos(uchar X,uchar Y);  //确定显示位置 

 

//键盘部分定义和初始化

 uchar temp,key_num,getkey;

sbit flag_sure=0;//确认键的标志位

 

 

 

//1.延时函数                                                                                                                       

//--------------------------------------------------------------

void delay(int ms)

{

    while(ms--)

  {

      uchar i;

    for(i=0;i<250;i++) 

     {

      _nop_();            

      _nop_();

      _nop_();

      _nop_();

     }

  }

}    

超声波流量计

 

 
上一篇:超声波流量计的开发与研制探讨 二
下一篇:超声波流量计的开发与研制探讨 三