出租车计价器设计与制作

[09-11 23:01:40]   来源:http://www.88dzw.com  单片机学习   阅读:8780

文章摘要:图3-13 出租车计价器的中断服务程序流程图(4)设计系统软件调试方案、硬件调试方案及软硬件联合调试方案 软件调试方案:伟福软件中,在“文件\新建文件”中,新建C语言源程序文件,编写相应的程序。在“文件\新建项目”的菜单中,新建项目并将C语言源程序文件包括在项目文件中。 在 “项目\编译”菜单中将C源文件编译,检查语法错误及逻辑错误。在编译成功后,产生以 “*.hex”和“*.bin” 后缀的目标文件。硬件调试方案:在设计平台中,将单片机的P1.0-P1.2分别与3个独立式键盘通过插线连接起来,将P3.2与脉冲信号源连接起来。在伟福中将程序文件编译成目标文件后,将下载线安装在实验平台上

出租车计价器设计与制作,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

图3-13 出租车计价器的中断服务程序流程图

(4)设计系统软件调试方案、硬件调试方案及软硬件联合调试方案
     软件调试方案:伟福软件中,在“文件\新建文件”中,新建C语言源程序文件,编写相应的程序。在“文件\新建项目”的菜单中,新建项目并将C语言源程序文件包括在项目文件中。
 在 “项目\编译”菜单中将C源文件编译,检查语法错误及逻辑错误。在编译成功后,产生以 “*.hex”和“*.bin” 后缀的目标文件。
硬件调试方案:在设计平台中,将单片机的P1.0-P1.2分别与3个独立式键盘通过插线连接起来,将P3.2与脉冲信号源连接起来。
在伟福中将程序文件编译成目标文件后,将下载线安装在实验平台上,运行“MCU下载程序”,选择相应的flash 数据文件,点击“编程”按钮,将程序文件下载到单片机的Flash中。
然后,上电重新启动单片机,检查所编写的程序是否达到题目的要求,是否全面完整地完成试题的内容。

3.4.2 程序设计
/*晶振:11.0592M  T1-250微秒溢出中断一次;P3.2(int0)-中断100次,查询IE0置位,
  P1^0为启动键;P1^1为清除键;P1^2为白天/晚上的切换键
变量的定义:
  key_val:      返回按键的值 255-无键
  T1_cnt:       定时器溢出数计数
  cnt_30:       30秒钟的计时
  cnt_distance: 计算路程
  cnt_cost:     总金额
  state_val:    状态:0-白天 1 夜晚
  cost_val[3]:  收费标准:白天单价cost_val[0]=1元/公里;晚上单价cost_val[1]=2元/公里;
等待单价cost_val[2]=1元/30s
  led_seg_code:数码管7段码   */
//-------------------
#include "reg51.h"
unsigned char data cnt_30,cnt_distance,cnt_cost;
unsigned int  data T1_cnt,D_cnt;
unsigned char data key_val,key_val_old;
unsigned char data state_val;
char code cost_val[3]={1,2,1};
char code led_seg_code[10]={0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//led_seg_code[0-9]代表0-9
//-------延时-----------------
void delay(unsigned int i)//延时
{ while(--i);  }
//-------初始化变量------------------
void init_variant() //初始化一些变量的内容
{unsigned char i;
 cnt_30=0;       //30秒的计时
 D_cnt=0;        //脉冲的个数
 cnt_distance=0; //距离的计数
 cnt_cost=0;     //保存总价格
}
//-------扫描键盘-----------------
unsigned char scan_key()
{  unsigned char i,k;
   i=P1;
   if (i==0xff)
   { k=255; }    //无键按下
   else          //有键按下
   { delay(10); //延时去抖动
     if(i!=P1)
     {k=255;}
     else
     { switch (i)
       { case 0xfe: k=0; break; //P1.0按下,启动键
         case 0xfd: k=1; break; //P1.1按下,清除键
         case 0xfb: k=2; break; //P1.2按下,切换键

上一页  [1] [2] [3] [4]  下一页


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习

《出租车计价器设计与制作》相关文章

分类导航
最新更新
热门排行