欢迎来到皮皮网网首页

【jnpf开发平台源码】【netcat linux源码】【即时qq源码】按次计费接口系统源码_按次计费是什么意思

来源:红黑联盟 源码 时间:2024-12-23 01:32:23

1.���μƷѽӿ�ϵͳԴ��
2.java 写的按次按次计算器源代码只实现加减乘除四则运算即可
3.求按键精灵源代码:随循环次数累加按键次数,即第一次循环按Down一次,计费接口计费第二次循环按Down两次,系统jnpf开发平台源码
4.出租车计价器

按次计费接口系统源码_按次计费是源码什么意思

���μƷѽӿ�ϵͳԴ��

       方法1

       i=1

       Do

       For i

       KeyPress "Down", 5

       Next

       Delay

       i=i+1

       loop

       方法2

       For i = 1 To i + 1

       For i * 5

       KeyPress "Down", 1

       Next

       TracePrint i

       Delay

       Next

java 写的计算器源代码只实现加减乘除四则运算即可

       import java.awt.*;

       import java.awt.event.*;

       import javax.swing.*;

       import java.util.Vector;

       public class calculator

        {

        String str1="0"; //运算数1 初值一定为0 为了程序的安全

        String str2="0"; //运算数2

        String fh="+"; //运算符

        String jg="";//结果

        //状态开关 重要

        int k1=1;//开关1 用于选择输入方向 将要写入str2或 str2

        int k2=1;//开关2 符号键 次数 k2>1说明进行的是2+3-9+8 这样的多符号运算

        int k3=1;//开关3 str1 是否可以被清0 ==1时可以 !=1时不能被清0

        int k4=1;//开关4 str2 同上

        int k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉

        JButton jicunqi; //寄存器 记录 是否连续按下符号键

        Vector vt=new Vector(,);

        JFrame frame=new JFrame("sunshine---计算器");

        JTextField jg_TextField=new JTextField(jg,);//列

        JButton clear_Button=new JButton("清除");

        JButton button0=new JButton("0");

        JButton button1=new JButton("1");

        JButton button2=new JButton("2");

        JButton button3=new JButton("3");

        JButton button4=new JButton("4");

        JButton button5=new JButton("5");

        JButton button6=new JButton("6");

        JButton button7=new JButton("7");

        JButton button8=new JButton("8");

        JButton button9=new JButton("9");

        JButton button_Dian=new JButton(".");

        JButton button_jia=new JButton("+");

        JButton button_jian=new JButton("-");

        JButton button_cheng=new JButton("*");

        JButton button_chu=new JButton("/");

        JButton button_dy=new JButton("=");

       public static void main(String[] args)

        {

        calculator calculator=new calculator();

        }

       calculator()

        {

        jg_TextField.setHorizontalAlignment(JTextField.RIGHT );//文本框 右对齐

        JPanel pan=new JPanel();

        pan.setLayout(new GridLayout(4,4,5,5));//四行四列 边距为5像素

        pan.add(button7);

        pan.add(button8);

        pan.add(button9);

        pan.add(button_chu);

        pan.add(button4);

        pan.add(button5);

        pan.add(button6);

        pan.add(button_cheng);

        pan.add(button1);

        pan.add(button2);

        pan.add(button3);

        pan.add(button_jian);

        pan.add(button0);

        pan.add(button_Dian);

        pan.add(button_dy);

        pan.add(button_jia);

        pan.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));//pan对象的边距

        JPanel pan2=new JPanel();

        pan2.add(jg_TextField);

        JPanel pan3=new JPanel(); //为什么要 多此一句呢? 因为我不会设置 按钮的大小

        pan3.setLayout(new FlowLayout());

        pan3.add(clear_Button);

        //clear_Button.setSize(,);//设置清零按钮的大小 吗的 不好使 !!什意思netcat linux源码

        frame.setLocation(,按次按次即时qq源码 ); //主窗口 出现在位置

        frame.setResizable(false); //不能调大小

        frame.getContentPane().setLayout(new BorderLayout());

        frame.getContentPane().add(pan2,BorderLayout.NORTH);

        frame.getContentPane().add(pan,BorderLayout.CENTER);

        frame.getContentPane().add(pan3,BorderLayout.SOUTH);

        frame.pack();

        frame.setVisible(true);

        //以上是 控件 和 布局

        //下面是事件处理 程 序

        //--------------- 数 字 键 ----------------

        class JianTing implements ActionListener

        {

        public void actionPerformed(ActionEvent e)

        {

        String ss=((JButton)e.getSource()).getText();

        jicunqi=(JButton)e.getSource();

        vt.add(jicunqi);

        if (k1==1)

        {

        if(k3==1)

        {

        str1="";

        k5=1;//还原开关k5状态

        }

        str1=str1+ss;

        //k2=1;

        k3=k3+1;

        //System.out.println(str1);

        jg_TextField.setText(str1);//显示

        }

        else if(k1==2)

        {

        if (k4==1)

        {

        str2="";

        k5=1; //还原开关k5状态

        }

        str2=str2+ss;

        //k2=2;

        k4=k4+1;

        ///////////////测试////////////////

        jg_TextField.setText(str2);

        }

        }

        }

        //--------符 号-----------

        class JianTing_fh implements ActionListener

        {

        public void actionPerformed(ActionEvent e)

        {

        String ss2=((JButton)e.getSource()).getText();

        jicunqi=(JButton)e.getSource();

        vt.add(jicunqi);

        if(k2==1)

        {

        k1=2;//开关 k1 为1时,向数1写 为2时,向数2写

        k5=1;

        fh=ss2;

        k2=k2+1;//按符号键的计费接口计费次数

        }

        else

        {

        int a=vt.size();

        JButton c=(JButton)vt.get(a-2); if(!(c.getText().equals("+"))&&!(c.getText().equals("-"))&&!(c.getText().equals("*"))&&!(c.getText().equals("/")))

        {

        yuns();

        str1=jg;

        k1=2;//开关 k1 为1时,向数1写 为2时,向数2写

        k5=1;

        k4=1;

        fh=ss2;

        } k2=k2+1;

        }

        }

        }

        //--------清除-------

        class JianTing_clear implements ActionListener

        {

        public void actionPerformed(ActionEvent e)

        {

        jicunqi=(JButton)e.getSource();

        vt.add(jicunqi);

        k5=1;

        k2=1;

        k1=1;

        k3=1;

        k4=1;

        str1="0";

        str2="0";

        fh="";

        jg="";

        jg_TextField.setText(jg);

        vt.clear();

        }

        }

        //----------------等 于 ---------------------

        class JianTing_dy implements ActionListener

        {

        public void actionPerformed(ActionEvent e)

        {

        jicunqi=(JButton)e.getSource();

        vt.add(jicunqi);

        yuns();

        k1=1; //还原开关k1状态

        //str1=jg;

        k2=1;

        k3=1;//还原开关k3状态

        k4=1; //还原开关k4状态

        str1=jg; //为7+5= +5= 这种计算做准备

        }

        }

        //----------------小数点 ---------------------

        class JianTing_xiaos implements ActionListener

        {

        public void actionPerformed(ActionEvent e)

        {

        jicunqi=(JButton)e.getSource();

        vt.add(jicunqi);

        if(k5==1)

        {

        String ss2=((JButton)e.getSource()).getText();

        if (k1==1)

        {

        if(k3==1)

        {

        str1="";

        k5=1; //还原开关k5状态

        }

        str1=str1+ss2;

        //k2=1;

        k3=k3+1;

        //System.out.println(str1);

        jg_TextField.setText(str1);//显示

        }

        else if(k1==2)

        {

        if (k4==1)

        {

        str2="";

        k5=1; //还原开关k5状态

        }

        str2=str2+ss2;

        //k2=2;

        k4=k4+1;

        ///////////////测试////////////////

        jg_TextField.setText(str2);

        }

        }

        k5=k5+1;

        }

        }

        //注册 监听器

        JianTing_dy jt_dy=new JianTing_dy();

        JianTing jt= new JianTing();//临听数字键

        JianTing_fh jt_fh= new JianTing_fh();//临 听符 号键

        JianTing_clear jt_c=new JianTing_clear(); //清除键

        JianTing_xiaos jt_xs=new JianTing_xiaos();// 小数点 键

        button7.addActionListener(jt);

        button8.addActionListener(jt);

        button9.addActionListener(jt);

        button_chu.addActionListener(jt_fh);

        button4.addActionListener(jt);

        button5.addActionListener(jt);

        button6.addActionListener(jt);

        button_cheng.addActionListener(jt_fh);

        button1.addActionListener(jt);

        button2.addActionListener(jt);

        button3.addActionListener(jt);

        button_jian.addActionListener(jt_fh);

        button0.addActionListener(jt);

        button_Dian.addActionListener(jt_xs);

        button_dy.addActionListener(jt_dy);

        button_jia.addActionListener(jt_fh);

        clear_Button.addActionListener(jt_c);

        //关闭事件处理程序

        frame.addWindowListener(new WindowAdapter()

        {

        public void windowClosing(WindowEvent e)

        {

        System.exit(0);

        }

        });

        }

        //---------------计 算------------------

        public void yuns()

        {

        double a2,系统b2;//运算数1,2

        String c=fh;// 运算符

        double jg2=0 ;//结果

        if (c.equals(""))

        {

        //System.out.println("请输入运算符");

        jg_TextField.setText("请输入运算符");

        }

        else

        {

        System.out.println("str1:"+str1);//调试时 使 用

        System.out.println("str2:"+str2);//调试时 使 用

        System.out.println("运算符:"+fh);//调试时 使 用

        if (str1.equals(".")) //字符串 "." 转换成double型数据时 会出错 所以手工转

        str1="0.0";

        if (str2.equals("."))

        str2="0.0";

        a2=Double.valueOf(str1).doubleValue();

        b2=Double.valueOf(str2).doubleValue();

        System.out.println("double型的a2:"+a2); //调试时 使 用

        System.out.println("double型的b2:"+b2); //调试时 使 用

        if (c.equals("+"))

        {

        jg2=a2+b2;

        }

        if (c.equals("-"))

        {

        jg2=a2-b2;

        }

        if (c.equals("*"))

        {

        jg2=a2*b2;

        }

        if (c.equals("/"))

        {

        if(b2==0)

        {

        jg2=0;// by 0 cu!

        }

        else

        {

        jg2=a2/b2;

        }

        }

        System.out.println("double型a2"+fh+"b2结果:"+jg2);

        System.out.println();

        jg=((new Double(jg2)).toString());

        jg_TextField.setText(jg);

        }

       }

       }

求按键精灵源代码:随循环次数累加按键次数,即第一次循环按Down一次,源码第二次循环按Down两次,什意思依

       i=1

       while 1

         keypress "down",按次按次 i

         i=i+1

       wend

       这样就可以了,希望我的计费接口计费回答对你有帮助!

       ^o^

出租车计价器

       ä¸€ã€é¢˜ç›®ï¼šA题 设计并制作一个用于出租车的计费系统。

       äºŒã€è®¾è®¡è¦æ±‚

       1、基本要求:

       ï¼ˆ1)制作一个模拟车轮用直流电动机(或步进电机)驱动,现场模拟以下运行情况的收费情况:

       u 假设车轮的周长为一米。

       u 起步价为三公里五元,白天每公里三元,晚上每公里四元。

       u 运行五公里之后,停三分钟,再运行五公里之后乘客下车,由于演示的时间的需要,途中停车超过一分钟开始收费,超过的时间每分钟一元。

       ï¼ˆ2)能够手动修改单价。

       ï¼ˆ3)具有数据的复位功能。

       ï¼ˆ5)数据输出

       u 单价输出 至少2位

       u 路程输出 至少2位

       u 总金额输出 至少3位

       2、发挥部分:

       ï¼ˆ1)能够在掉电的情况下存储单价等数据。

       ï¼ˆ2)能够显示、调节当前的系统时间,并根据当前的系统时间进行计费(6时至时为白天,时至第二天6时为晚上)。

       ï¼ˆ3)有语音报价功能。

       1.2 方案比较与论证

       1.2.1控制器模块

       æ–¹æ¡ˆä¸€ï¼šé‡‡ç”¨å¯ç¼–程逻辑器件CPLD 作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑我们放弃了此方案。

       æ–¹æ¡ˆäºŒï¼šé‡‡ç”¨å‡Œé˜³å…¬å¸çš„位单片机,它是位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、中断处理能力强等特点。处理速度高,尤其适用于语音处理和识别等领域,采用此单片机能够很方便的实现发挥部分的语音报价功能,但此单片机较难买到,而且价格稍贵,故放弃了此方案。

       æ–¹æ¡ˆä¸‰ï¼šé‡‡ç”¨Atmel公司的ATS单片机作为主控制器,此单片机是内核的CMOS 8位单片机,片内含8k空间的可反复擦些次的Flash读写存储器,具有 bytes的随机存取数据存储器(RAM),个IO口,你知道厂房装修合同样板。2个位可编程定时计数器。其价格低廉,非常适合用于小系统的开发,开采用ISP在线编程,程序的下载和修改也很方便。题目所要求的系统对控制器的要求不高,我们综合多方面考虑选用了此方案。

       1.2.2车轮转速探测模块

       æ–¹æ¡ˆä¸€ï¼šç”¨å…‰æ•ç”µé˜»ç»„成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到车轮码盘的白色部分时,光线发射强烈,光线照射到车轮码盘的黑色部分时,光线发射较弱。因此光敏电阻在白色部分和黑色部分上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。此方案易受外界光线的干扰。

       æ–¹æ¡ˆäºŒï¼šé‡‡ç”¨éœå°”传感器最为探测器件,霍尔传感器的两部分分别安装在车轮和固定电路板上,根据车轮转动时将变化的磁场强度转换为脉冲电信号,此方案能够使对车轮计数精确,工作稳定,但成本较高。

       æ–¹æ¡ˆä¸‰ï¼šé‡‡ç”¨çº¢å¤–对管,当红外发射管发射出的红外线照到码盘的白色部分和黑色部分时,其反射的红外线强度不同,通过红外接收管接收后经电压比较器LM比较后即可输出高低电平。此方案成本低,容易实现,且灵敏度较高。

       æ ¹æ®æœ¬ç³»ç»Ÿçš„设计要求,对车轮转速的探测受外界的干扰较小,而采用采用红外对管工作电路简单,调试方便,所以我们选择此方案。

       1.2.3时钟控制模块

       æ–¹æ¡ˆä¸€ï¼šé‡‡ç”¨.MHz的晶振产生震荡后经多个LS进行次2分频,产生精确的秒信号,自行搭建时间电路。此方案具有较好的原创性,但电路搭建起来较为复杂,工作不够稳定,也不方便调节。

       æ–¹æ¡ˆäºŒï¼šç›´æŽ¥é‡‡ç”¨å•ç‰‡æœºå†…部的时钟信号。这样能够大大简化硬件的设计,但断电后不能工作,而且大量占用单片机有限的内存资源。

       æ–¹æ¡ˆä¸‰ï¼šé‡‡ç”¨DS专用时钟芯片。DS是功能强大的实时时钟芯片,内置锂电池,内置晶振。提供二进制数和BCD码两种数据表示方式。可切换小时制和小时制时间表示。具有闹钟功能。可编程方波输出。提供字节非易失存储空间,用于断电保存数据。

       ç”±äºŽæœ¬ç³»ç»Ÿçš„很多功能都是基于时间的基础上实现的,因此对时钟的要求较高,故我们选择方案三。

       1.2.4显示模块

       æ–¹æ¡ˆä¸€ï¼šç”¨æ•°ç ç®¡è¿›è¡Œæ˜¾ç¤ºã€‚数码管由于显示速度快,使用简单,显示效果简洁明了而得到了广泛应用,但显示的内容仅仅局限于数字,人机界面不够友好因此我们放弃了此方案。

       æ–¹æ¡ˆäºŒï¼šç”¨LCD液晶进行显示。LCD由于其显示清晰,显示内容丰富、清晰,显示信息量大,使用方便,显示快速而得到了广泛的应用。由于本此系统需要显示的内容较多,为达到较好的人机交互界面,我们选择了此方案。

       1.3最终选择方案

       u 采用ATS单片机作为主控制器。

       u 采用红外对管+LM作为车轮转速探测模块。

       u 采用DS作为实时时钟控制芯片。

       u 采用LCD液晶作为显示模块。

       u 采用普通的直流电机和自制的车轮及码盘作为模拟车轮。

       1.4系统结构图

       æŒ‰é”®ï¼š

       çº¢å¤–感应模块

       MCU

       ATS

       DS系统时间,断电保存数据

       LCD液晶显示

       æ¨¡æ‹Ÿè½¦è½®

       å›¾1 系统结构框架

       ç¬¬äºŒç« :各部分电路原理与设计

       2.1单片机主控模块的设计

       Atmel公司的ATS是内核的单片机。不用烧写器而只用串口或者并口就可以往单片机中下载程序。

       æˆ‘们所设计的单片机最小系统板采用的双龙公司的并口下载标准,且在板上留有下载线插座,这样可以非常方便的实现通过PC机的并口往单片机中下载程序。同时将稳压电源部分也附在其上,经过稳压后的+5V电源为除电机外的其他系统模块提供工作电源。

       å•ç‰‡æœºæŽ§åˆ¶æ¨¡å—的示意图如图9所示:

       å›¾2 单片机主控模块

       å•ç‰‡æœºçš„I/O口分配如下:

       P0,系统网站版权源码P2.5~P2.7 LCD模块

       P1,P2.0~P2.3,P3.3 实时时钟模块

       P3.0~P3.1,P3.5~P3.7 按键开关

       P3.2 红外探测模块

       2.2红外探测模块的设计

       æˆ‘们通过将红外接收二极管的不同压降与基准电压送入电压比较器LM进行比较,输出对应的高低电平信号,送到单片机进行处理。其电路原理图如下:

       å›¾3 红外探测模块

       åœ¨å›¾3中,可调电阻RW可以调节比较器的门限电压,经示波器观察,输出波形相当规则,可以直接够单片机查询使用。

       ç”±äºŽæˆ‘们的码盘采用二分法进行设计,黑白两种颜色各占原周的一半,因此单片机每接收到一个高电平信号则模拟车轮转了一圈,通过计算每秒钟单片机接收到的高电平信号个数即可方便的计算出车轮的速度和所走的里程。

       2.3模拟车轮的设计

       å°è½¦çš„速度和里程的测量是通过光电对管检测码盘实现的。我们采用普通的直流电机和玩具车的车轮,自制码盘,做成模拟车轮,供测量用。

       è€ƒè™‘到电机运行时对电压的干扰,电机的电源直接由输入的未经过稳压的电源提供,试用期解除劳动合同。并设立独立的开关,有人工控制,这样更符合实际的工作情况。

       ä¸ºé˜²æ­¢å…‰ç”µç®¡äº§ç”Ÿè¯¯åŠ¨ä½œï¼Œæˆ‘们将光电码盘分为2份黑白相间的圆盘,每份各占圆周的一半,如图4:

       å›¾4 模拟车轮码盘

       å°†å…¶ç´§è´´åœ¨è½¦è½®çš„内侧。在封装盒右侧打一个方孔,红外对管通过方孔对光电码盘进行检测就可以得到车轮转过的圈数。从而计算出小车前进的路程。

       æœ¬ç³»ç»Ÿå‡è®¾è½¦è½®çš„周长为1米,假设单片机每秒检测到黑白信号的变化为n,共走了k秒则小车走过的路程为S=nk米。

       2.4实时时钟控制模块的设计

       æˆ‘们采用的DS功能强大,内置锂电池,内置晶振,可以作为实时电子钟,为整个系统提供时钟,很好地解决了题目发挥部分“能够显示、调节当前的系统时间,并根据当前的系统时间进行计费(6时至时为白天,时至第二天6时为晚上)”的要求。同时利用其闹钟功能对探测信号进行采样,精确的计算出车速。由于芯片还提供字节非易失存储空间,因此我们将题目要求的各种价格的设置方便的保存在里面,达到断电保存数据的功能。

       å›¾5 时钟模块电路图

       2.5人机交互界面的设计

       ä¸ºä½¿ç³»ç»Ÿæœ‰æ›´è‰¯å¥½çš„人机交互界面,我们将LCD液晶显示模块,操作按键,系统复位开关和车轮控制开关集中于封装盒的面板上,方便用户操作,如下图:

       å›¾6 人机交互界面

       2.6系统总体电路图

       å›¾7 系统总电路图

       å›¾8 系统装箱后的内部实物图

       ç¬¬ä¸‰ç« ï¼šç³»ç»Ÿç¨‹åºè®¾è®¡

       3.1系统程序所实现的功能

       u 实时显示总金额,总里程,车速,已走过时间,系统时间。

       u 可在线修改系统时间。

       u 可修改起步价及起步距离。

       u 可修改每超过一公里加收费用。

       u 可修改途中停车超过时间开始收费的时间及单价。

       3.2程序任务分配

       è¡¨1 程序任务分配

       å¤–部中断0(来自车轮)

       å¤–部中断1(来自时钟)

       ä¸»å‡½æ•°

       æ›´æ–°è·¯ç¨‹ï¼ŒåŠ æ€»ä»·ï¼Œå¤ä½è®¡æ—¶å™¨ï¼Œå¦‚果显示屏使用权在INT0,就更新显示。

       æ˜¾ç¤ºå±ä½¿ç”¨æƒç”¨screen变量表示。

       è®¡ç®—速度,计算行车时间,计时并在停车超时后加钱。根据显示屏使用权判断是否更新显示。

       æ ¹æ®real_time变量的值决定是否把系统时间更新到屏幕上。

       è¯»å–按键。决定控制逻辑。

       3.3主程序流程图

       å¼€å§‹

       åˆå§‹åŒ–LCD、实时时钟

       ä»Žå­˜å‚¨å™¨è¯»å‡ºå•ä»·ç­‰æ•°æ®

       æ˜¾ç¤ºlogo

       ä»»æ„é”®

       ç©ºé—²çŠ¶æ€ï¼Œæ˜¾ç¤ºç³»ç»Ÿæ—¶é—´

       æœ‰é”®æŒ‰ä¸‹

       ç©ºé—²çŠ¶æ€

       è®¡è´¹çŠ¶æ€

       è®¾ç½®é”®?

       N

       Y

       è®¾ç½®

       ç­‰å¾…按键

       æ˜¯2键?

       N

       Y

       åˆå§‹åŒ–计费屏幕,进入计费状态

       æ˜¯3键

       Y

       æŸ¥çœ‹ç³»ç»Ÿæ—¶é—´ï¼Œå»¶æ—¶4秒

       N

       æ˜¯4键?

       Y

       åœæ­¢è®¡è´¹ï¼Œè¿›å…¥ç©ºé—²çŠ¶æ€

       N

       æŒ‰ä¸‹2键复位

       3.4各数据在中存储地址

       è¡¨2 各数据在中存储地址

       åœ°å€

       å˜é‡

       åŠŸèƒ½

       0x0e

       d

       //起步价 d 公里 p 角

       0x0f

       p

       0x

       day_price

       //白天每公里价格,单位:角

       0x

       night_price

       //夜晚每公里价格,单位:角

       0x

       x

       //中途停车超过y分钟之后按x角每分钟计价

       0x

       y

       3.5中断服务0程序流程图

       è§¦å‘中断

       è·¯ç¨‹åŠ ä¸€ç±³

       å…è®¸ä½¿ç”¨æ˜¾ç¤ºå±?

       è®¡æ—¶å™¨å¤ä½

       è·¯ç¨‹ï¼ï¼èµ·æ­¥è·¯ç¨‹ï¼Ÿ

       è·¯ç¨‹>起步路程?

       Y

       N

       Y

       æ›´æ–°è·¯ç¨‹æ˜¾ç¤º

       å‘总金额加上公里价

       N

       æ›´æ–°æ€»é‡‘额显示

       Y

       N

       Y

       å…¬é‡Œè®¡ç¨‹å™¨å¤ä½

       ä¸­æ–­2服务程序的timer_state和timer_count变量

       counter_变量

       å…¬é‡Œè®¡ç¨‹å™¨åŠ 1

       å…¬é‡Œè®¡ç¨‹å™¨ï¼ï¼?

       ç»“束

       N

       Y

       å‘总金额加上公里价

       å…è®¸ä½¿ç”¨æ˜¾ç¤ºå±?

       æ›´æ–°æ€»é‡‘额显示

       Y

       N

       å…¬é‡Œè®¡ç¨‹å™¨å¤ä½

       0号中断服务程序:

       è½¦è½®è½¬åŠ¨ä¸€åœˆè§¦å‘一次

       3.6 中断服务2程序流程图

       è§¦å‘中断

       ç³»ç»Ÿåœ¨è®¡è´¹çŠ¶æ€ï¼Ÿ

       Y

       N

       éœ€è¦åŒæ­¥æ—¶é—´ï¼Ÿ

       Y

       N

       ç»“束

       é€Ÿåº¦=现在的路程—一秒之前的路程

       è¡Œè½¦æ—¶é—´åŠ ä¸€ç§’

       è®¡æ—¶å™¨åŠ ä¸€ç§’

       è®¡æ—¶ç­‰äºŽæœ€å¤§åœè½¦æ—¶é—´ï¼Ÿ

       N

       æ€»é‡‘额加每分钟价

       è¿›å…¥åœè½¦è¶…时状态

       Y

       åœè½¦è¶…时状态?

       Y

       æ¯åˆ†é’ŸåŠ é’±

       N

       å°†ç³»ç»Ÿæ—¶é—´å’Œæ—¥æœŸåŒæ­¥åˆ°å±å¹•ä¸Š

       2号中断服务程序:

       æ¯ç§’钟触发一次

       ç¬¬å››ç« :系统调试结果与分析

       4.1调试方法与仪器

       è¡¨3 测试仪器设备清单

       ä»ªå™¨åç§°

       åž‹å·

       ç”¨é€”

       æ•°é‡

       PC机

       è”想

       è°ƒè¯•åŠä¸‹è½½ç¨‹åº

       1

       æ•°å­—万用表

       UNI-TA

       æµ‹é‡å„电路工作情况

       1

       ç§’表

       è®°å½•æ—¶é—´

       1

       ç›´æµç¨³åŽ‹ç”µæº

       ALKIMIA

       æä¾›ç”µæº

       1

       4.2调试步骤与测试数据

       4.2.1系统时间与秒表实际时间测量

       å¼€æœºåŽæŒ‰â€œå¼€å§‹â€é”®è¿›å…¥è®¡æ—¶å·¥ä½œçŠ¶æ€ï¼ŒåŒæ—¶å¯åŠ¨ç§’表进行及时对比,分别对工作时间为1分钟,2分钟,3分钟,4分钟,5分钟进行测量比较,结果如表2

       è¡¨4 系统时间测试比较

       æµ‹è¯•æ—¶é—´

       ç³»ç»Ÿæ˜¾ç¤ºæ—¶é—´

       ç§’表测量时间

       s

       s

       .s

       s

       s

       .s

       s

       s

       .s

       s

       s

       .s

       s

       s

       .s

       4.2..2车轮转速测试

       æœ¬ç³»ç»Ÿçš„设计对探测信号的下降沿进行触发,因此当红外对管探测到的码盘从白色转为黑色时,单片机中断触发,计数器加一。

       å¯åŠ¨è®¡è´¹ç³»ç»Ÿï¼ŒåŒæ—¶æ‰‹å·¥è½¬åŠ¨è½¦è½®ä¸€å‘¨ï¼Œæ˜¾ç¤ºå±ä¸Šè·¯ç¨‹æ˜¾ç¤º1m,在转动车轮几圈,LCD的显示数值均与实际相符。

       4.2.3计费系统测试

       è¡¨5 不同情况下的计费结果测试

       è®¡è´¹æ—¶é—´æ®µ

       è¡Œé©¶é‡Œç¨‹

       è¡Œé©¶æ—¶é—´

       ä¸­é€”停车时间

       è®¡è´¹ä»·æ ¼

       ç™½å¤©

       m

       s

       0

       5.0元

       ç™½å¤©

       m

       s

       0

       .0元

       æ™šä¸Š

       m

       s

       0

       .0元

       æ™šä¸Š

       m

       s

       s

       .0元

       4.2.4数据设定及断电储存功能

       åœ¨å¾…机状态下按“设置”键,分别修改起步价4km内8元,白天每公里5元,晚上每公里7元,修改系统时间,然后保存,关机,断开电源,等待5分钟之后重新开机,发现数据为修改后的数据,即数据的设定及断电储存功能有效。

       4.3测试结果分析

       é€šè¿‡è°ƒè¯•å’Œç³»ç»Ÿæµ‹è¯•ï¼Œå‘现系统能很好地实现预期的目的,实现了除语音功能外的其他所有功能,工作性能稳定,计费精确。系统时间实时运行,准确,里程的显示误差在1m以内。很好的完成了赛题的要求。

       ç¬¬äº”章:系统性能总结及特点

       5.1 实现基本要求功能

       è¡¨4 基本功能的实现情况

       åŸºæœ¬è¦æ±‚功能

       åŠŸèƒ½å®žçŽ°æƒ…况

       åŸºæœ¬è¦æ±‚第(1)项

       å®žçŽ°

       åŸºæœ¬è¦æ±‚第(2)项

       å®žçŽ°

       åŸºæœ¬è¦æ±‚第(3)项

       å®žçŽ°

       åŸºæœ¬è¦æ±‚第(4)项

       å®žçŽ°

       åŸºæœ¬è¦æ±‚第(5)项

       å®žçŽ°

       5.2 实现发挥部分功能

       è¡¨5 发挥功能的实现情况

       å‘挥要求功能

       åŠŸèƒ½å®žçŽ°æƒ…况

       å‘挥要求第(1)项

       å®žçŽ°

       å‘挥要求第(2)项

       å®žçŽ°

       å‘挥要求第(3)项

       æœªå®žçŽ°

       5.3 增加的其他功能

       u 与计费系统相关的所有参数用户均可修改并储存。

       u 兼有万年历和数字电子钟功能。

       u 一体化人机交互界面控制面板,硬件系装箱,提高机械强度,安全性能和美观度。

       ç¬¬å…­ç« ï¼šé™„录

       é™„录一 系统程序源代码

       /