1.���μƷѽӿ�ϵͳԴ��
2.java 写的按次按次计算器源代码只实现加减乘除四则运算即可
3.求按键精灵源代码:随循环次数累加按键次数,即第一次循环按Down一次,计费接口计费第二次循环按Down两次,系统推广盒子php源码依
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(,);//设置清零按钮的大小 吗的 不好使 !!什意思盗版源码骗局
frame.setLocation(,按次按次reactive 源码分析 ); //主窗口 出现在位置
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,系统springboot源码行数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 ä¸ä½å人æºäº¤äºçé¢æ§å¶é¢æ¿ï¼ç¡¬ä»¶ç³»è£ ç®±ï¼æé«æºæ¢°å¼ºåº¦ï¼å®å ¨æ§è½åç¾è§åº¦ã
第å ç« ï¼éå½
éå½ä¸ ç³»ç»ç¨åºæºä»£ç
/