论文发表百科

的设计与实现毕业论文

发布时间:2024-07-07 14:05:38

的设计与实现毕业论文

网站的设计与实现毕业论文开题报告 一、立论依据(论文的研究意义、国内外研究现状分析)网络游戏产业是一个新兴的朝阳产业,经历了20世纪末的初期形成期阶段,及近几年的快速发展,现在中国的网络游戏产业处在成长期,并快速走向成熟期的阶段。在中国整个网络经济的发展过程中从无到有,发展到目前成为中国网络经济的重要组成部分。网络游戏产业之所以可以打破在原来中国整个网络经济中的平衡,主要缘于在20世纪末中国网络经济泡沫破灭整个网络经济大受打击的时候,网络游戏却异军突起成为整个网络经济发展的领头羊,得到迅猛的发展。 网络游戏的起源可追溯到1969年的PLATO,到1972年PLATO的同事在线人数突破到1000人,到了20世纪八十年代末,由于国外计算机数量的`增加,网游进入了高速发展时期,市场呈几何状上升。 而中国的网络游戏真正开始起步要从1999年说起,1999年4月经过对一个电话游戏的升级改造,乐斗士推出了国内最早的图形MUD游戏—《笑傲江湖之精忠报国》。 到2001年,中国网络游戏的市场规模接近亿元人民币,根据IDC的研究,在2002 年中国网络游戏市场规模将达到亿元人民币,比2001年增长。 2007年中国网络游戏市场规模为128亿元,同比增长。2007年中国网络游戏用户达到4800万,环比增长。 2011年,中国网络游戏市场规模为亿元,同比增长,增长速度止跌回升。其中,互联网游戏为亿元,同比增长;移动网游戏为亿元,同比增长。 数据显示,网络游戏依然保持着超高的发展速度,而作为网络游戏的兄弟——网络游戏网站、论坛也犹如雨后春笋一样纷纷成立,所以,构建一个有特色的网络游戏网站就有了一种必要。 二、论文内容 1.研究目标、研究内容和拟解决的关键问题 网络游戏网站不是一个简单的网站,是有着自己特点的目标性网站,构建一个网站需要方案、技术和资源的支持。而一个完整的研究方案是要有明确的研究目标,而本论文的研究目标就是网络游戏网站的设计与实现。 其中技术支持包括: (1)HTML的了解与应用。 (2)JSP的应用。 (3)数据库的构建。 (4)JSP与数据库的结合。 (5)JDK和Apache服务器 (6)数据库的设计。 (7)系统功能模块化。 (8)JAVA插件的编写和应用。 (9)Tomcat的安装和应用。 (8)配置ODBC数据源。 关键问题主要包括: (1)要保证信息采集的真实性、实时性。 (2)信息分析的科学性。 (3)操作系统的选择、开发技术的选择、开发软件的选择以及模块化网站的方法等等。 2.拟采取的研究方法、技术路线、实验方案及可行性分析 通过大量的社会信息的收集和分析,整理出科学的论据及方案,查阅一定的文献书籍和搜索国内外各种关于网络游戏方面的年度报告,对数据进行分析,制定可行的实验方案,和技术路线,记录步骤和结果,以保证论文的科学性和实时性。 同时还必须要加强自身的科学技术修养,通过此次论文的编辑使自身的能力再度得到提升。 可行性分析: (1)理论方面目前已经收集了大量的参考文献,这些文献覆盖了网站建站的技术及其应用, 包含了网络游戏网站在网络上的应用,网络游戏的发展历史等方方面,这些文献将会对本论文的研究提供极大的参考价值。 (2)目前网络游戏依然发展迅猛,前景不可估量,借此契机打造一个优秀的网络游戏网站、论坛成为可能。 (3)通过两年的计算机应用的学习,我也已经学习和使用了很多的软件,练就了相当的设计能力。 (4)有导师为该文的研究支持,并有从事研究的学术环境保证论文能够按目标进度进行。 三、 论文进度安排 第一阶段. 2012年5月27号-2012年6月3号思考写作方向,选材 第二阶段. 20112年6月10号完成开题报告,交给指导老师 第三阶段. 2012年7月—2012年12月查找资料撰写论文 第四阶段.年月号在教师的指导下,进行论文设计 第五阶段.年月号装订成搞,送交指导老师批阅 第六阶段.年月号—上交论文 四、参考文献 [1] 魏晶 泫 :《网络游戏》清华大学出版社 2008 [2] 文化部:《2011中国网络游戏市场年度报告》2012 [3] C++和HTML开发网络应用程序实例解析 现代电子技术,2004 [4] 基于HTML和XML语言的页面制作工具分析 现代电子技术, 2001 [5] 可扩展置标语言XML 现代电子技术,2002 ;

运用对比,必须对所要表达的事物的矛盾本质有深刻的认识。对比的两种事物或同一事物的两个方面,应该有互相对立的关系,否则是不能构成对比的。

画图板的设计与实现毕业论文设计

可以用visio,也属于办公软件的一种,用它画图方便,画好的图用在word文档中也方便,就全选,复制,粘贴到word就行了,visio还提供了很多种类的绘图类型,用起来很方便

一般是用CAD但是容易上手的是coreldraw和excle。

word可以画,但是扩展性不好。推荐visio,微软的专业作图工具,使用类似Office套件

最容易上手的有两款:1、附件中的画图工具2、PPT,这里都是矢量图,可以任意旋转或缩放。

毕业论文网站的设计与实现

可以啊,只要你能搜到相关的资料

毕业论文可以写A企业网站设计与实现。网站是信息的载体形式,色彩设计必须以完成网站可视性阅读功能为目的. 本系统采用蓝... 为整个公务管理过程的现代化实现将起到积极的作通过毕业论文的撰写。

网站设计的毕业论文键盘论文网很多的哦,之前我就找的他们,效率非常高很快就给我了,建议你看看

280919298

毕业论文系统的设计与实现

仅仅给你个参考//Java Group Project_StudentManagement源码//NetBeans IDE 环境package studentmanager;import .*;import .*;import .*;import .*;import .*;class Student implements {String number,name,specialty,grade,borth,sex;public Student(){};public void setNumber(String number){ ;}public String getNumber(){ return number;}public void setName(String name){ ;}public String getName(){ return name;}public void setSex(String sex){ ;}public String getSex(){ return sex;}public void setSpecialty(String specialty){ ;}public String getSpecialty(){ return specialty;}public void setGrade(String grade){ ;}public String getGrade(){ return grade;}public void setBorth(String borth){ ;}public String getBorth(){ return borth;}}public class StudentManager extends JFrame{JLabel lb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" +"内容改后的保存!");JTextField 学号,姓名,专业,年级,出生;JRadioButton 男,女;ButtonGroup group=null;JButton 录入,查询,删除,修改,显示;JPanel p1,p2,p3,p4,p5,p6,pv,ph;Student 学生=null;Hashtable 学生散列表=null;File file=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;public StudentManager(){super("学生基本信息管理系统");学号=new JTextField(10);姓名=new JTextField(10);专业=new JTextField(10);年级=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男=new JRadioButton("男",true);女=new JRadioButton("女",false);(男);(女);录入=new JButton("录入");查询=new JButton("查询");删除=new JButton("删除");修改=new JButton("修改");显示=new JButton("显示");录入.addActionListener(new InputAct());查询.addActionListener(new InquestAct());修改.addActionListener(new ModifyAct());删除.addActionListener(new DeleteAct());显示.addActionListener(new ShowAct());修改.setEnabled(false);p1=new JPanel();(new JLabel("学号:",));(学号);p2=new JPanel();(new JLabel("姓名:",));(姓名);p3=new JPanel();(new JLabel("性别:",));(男);(女);p4=new JPanel();(new JLabel("专业:",));(专业);p5=new JPanel();(new JLabel("年级:",));(年级);p6=new JPanel();(new JLabel("出生:",));(出生);pv=new JPanel();(new GridLayout(6,1));(p1);(p2);(p3);(p4);(p5);(p6);ph=new JPanel();(录入);(查询);(修改);(删除);(显示);file=new File("学生信息.txt");学生散列表=new Hashtable();if(!()){try{FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);(学生散列表);();();}catch(IOException e){}}Container con=getContentPane();(new BorderLayout());(lb, );(pv, );(ph, );setDefaultCloseOperation(EXIT_ON_CLOSE);setBounds(100,100,600,300);setVisible(true);}public static void main(String[] args) {new StudentManager();}class InputAct implements ActionListener{public void actionPerformed(ActionEvent e){修改.setEnabled(false);String number="";number=学号.getText();if(()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();}catch(Exception ee){("创建散列表出现问题!");}if(学生散列表.containsKey(number)){String warning="该生信息已存在,请到修改页面修改!";(null,warning,"警告",);}//end if1else{String m="该生信息将被录入!";int ok=(null,m,"确认",);if(ok==){String name=姓名.getText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表.put(number,学生);(学生散列表);();();}catch(Exception ee){("输出散列表出现问题!");}学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}}//end else1}//end if0else{String warning="必须输入学号!";(null,warning,"警告",);}//end else0}//end actionPerformed}//end classclass InquestAct implements ActionListener{public void actionPerformed(ActionEvent e){String number="";number=学号.getText();if(()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();}catch(Exception ee){("散列表有问题!");}if(学生散列表.containsKey(number)){修改.setEnabled(true);Student stu=(Student)学生散列表.get(number);姓名.setText(());专业.setText(());年级.setText(());出生.setText(());if(().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}else{修改.setEnabled(false);String warning="该学号不存在!";(null,warning,"警告",);}}else{修改.setEnabled(false);String warning="必须输入学号!";(null,warning,"警告",);}}}class ModifyAct implements ActionListener{public void actionPerformed(ActionEvent e){String number=学号.getText();String name=姓名.getText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()){sex=男.getText();}else{sex=女.getText();}Student 学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表.put(number, 学生);(学生散列表);();();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}catch(Exception ee){("录入修改出现异常!");修改.setEnabled(false);}}}class DeleteAct implements ActionListener{public void actionPerformed(ActionEvent e){修改.setEnabled(false);String number=学号.getText();if(()>0){try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();}catch(Exception ee){}if(学生散列表.containsKey(number)){Student stu=(Student)学生散列表.get(number);姓名.setText(());专业.setText(());年级.setText(());出生.setText(());if(().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}String m="确定要删除该学生的记录吗?";int ok=(null,m,"确认",);if(ok==){学生散列表.remove(number);try{outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);(学生散列表);();();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}catch(Exception ee){(ee);}}else if(ok==){学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);}else{String warning="该学号不存在!";(null,warning,"警告",);}}else{String warning="必须输入学号!";(null,warning,"警告",);}}}class ShowAct implements ActionListener{public void actionPerformed(ActionEvent e){new StudentShow(file);}}class StudentShow extends JDialog{Hashtable 学生散列表= null;JTextArea 显示=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public StudentShow(File file){super(new JFrame(),"显示对话框");;显示=new JTextArea(16,30);try{inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();}catch(Exception ee){}if(学生散列表.isEmpty())显示.append("目前还没有学生的信息记录!\n");else{显示.setText("学号 姓名 性别 专业 年级 出生\n");for(Enumeration enm=学生散列表.elements();();){Student stu=(Student)();String sex="";if(().equals("男"))sex="男";else sex="女";String str=()+","+()+","+sex+","+()+","+()+","+()+"\n";显示.append(str);}}JScrollPane scroll=new JScrollPane(显示);Container con=getContentPane();("Center",scroll);();setVisible(true);setBounds(200,200,400,300);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){setVisible(false);}});}}}

毕业论文管理系统, 自己写这个项目时需要注意以下几点

基于 AT89C52 的多周期同步测频技术的实现黄晓峰 上海工程技术大学高职学院,上海 200437 摘 要:论述了传统的频率测量方法的原理及误差。提出了基于 AT89C52 实现多周期同步测频的新方法。 构造了与待测信号同步的多周期闸门时间,实现了时基信号与待测信号的准同步计数,系统只用一个定时/ 计数器 T2 实现了多周期同步测频。该频率测试仪结构简单,成本较低,能够在高低频段范围内实现频率参 数的等精度测量,具有较高的测量精度和较短的系统反应时间。 关键词:频率测量;多周期同步;闸门时间;AT89C52;捕捉方式; 关键词:频率测量;多周期同步;闸门时间;AT89C52;捕捉方式;等精度测量 中图分类号: 中图分类号: 文献标识码: 文献标识码:B 文章编号: 文章编号: Realization of multi-cycle synchronization based on AT89C52 HUANG Xiao-Feng Vocational Technical College, Shanghai University of Engineering Science, Shanghai, 200437 Abstract:The traditional frequency measuring principles and the errors are introduced. The new way of : multi-cycle synchronization based on 89C52 is presented. By structuring multi-cycle gate time synchronistically with the frequency signal, the system use only T2 to acquire under synchronous time base with the frequency signal, and realize the new method of multi-cycle synchronization frequency measuring .With the characteristics of a simple structure ,low cost, high accuracy and short measuring time, this frequency meter can realize equal precision measurement from high frequency to low frequency . Keyword:frequency measurement; multi-cycle synchronization; gate time;AT89C52; capture function;equal : precision measurement 0 引言 频率作为一种最基本的物理量,是电子测量技术中最重要的被测量之一。本文详细论 述了传统频率测量方法及原理, 并对各种方法的测量误差进行了分析。 为保证频率测量精度 和兼顾测量反应时间, 采用多周期同步测频技术, 设计了以 AT89C52 单片机为核心的频率参 数测试仪, 由于充分利用 AT89C52 片内定时器/计数器 T2 所特有的捕捉功能, 使得该频率参 数测试仪的软硬件结构简单, 实现了对高低频段频率参数的等精度测量, 具有较高的测量精 度和较短的系统反应时间。 1 传统测频方法及其误差分析 频率测量的方法主要有 M 法、T 法以及 M/T 法 [1] 。M 法的基本测频原理是在选定的 闸门时间 T 内对被测脉冲信号进行计数,根据计数值 N x 和闸门时间 T 求得所测脉冲信号的 频率。在 M 法中,由于闸门时间 T 由标准频率源决定,而单片机的标准频率源是由晶振频 率分频后获得, 因而保证了闸门时间 T 的精确性。 但由于闸门的启闭与待测计数脉冲不同步, 闸 门开 通时间 通常 不是待 测信 号周期 的整数 倍, 存在 待测脉 冲信号 的计 数量 化误差 ?N x = ±1 。由 M 法的测频原理可知,待测信号频率 1 fx = Nx N ? f0 = x N0 T (1) 设待测脉冲频率的准确值为 f xd , 由于单片机测频系统中的标准频率源通常是由晶振产 生的频率信号分频后得到的, 而晶振的稳定性很高, 只要按测量精度要求选择合适的晶振后, 由标准频率源的不稳定性所造成的测频误差就可以被忽略掉 (文中的误差分析均是在忽略标 准频率源的不稳定性下做出的) 。设 δ Mx 为测量的相对误差 δM x = f xd = 得 δ Mx = f xd ? f x f xd (2) N x + ?N x T = ?N x N x + ?N x ≤ (3) f xd ? f x f xd 1 Nx (4) 由式(4)知, 当待测脉冲信号频率较高时, 在闸门时间 T 内被测信号脉冲的计数值 N x 较 大, δ Mx 很小,M 法能够达到较高的测量精度;而当待测脉冲信号频率较低时,在闸门时间 T 内 N x 较小, δ Mx 很大,测频精度降低。例如,被测信号的频率为 100HZ,则在 1S 内的相对误差 δ M x =1%。 而当待测脉冲信号的频率为 10HZ, f x 在 T =1S 内的相对误差 δ M x =10%。 则 虽然可以通过增大闸门时间 T 来提高测量精度,但闸门时间 T 过长将使系统的测量时间过 长,无法满足实时性的要求。 T 法的基本原理是在待测脉冲的一个周期内对标准频率信号进行计数,根据计数值 N 0 和标准信号的频率 f 0 求得待测脉冲信号的频率。在 T 法中,由于闸门时间 T 由待测脉冲信 号决定,不存在待测脉冲信号计数的量化误差 ?N x 。但由于闸门的启闭与标准频率源不同 步,故存在对标准频率源信号的计数量化误差 ?N 0 = ±1 。由 T 法的测频原理可知,待测信 号频率 f x = 1 N 0T0 = f 0 N 0 其中 T0 为标准频率源信号的周期。同理,可得 (5) δ Tx = f xd ? f x f0 f = ? 0 N 0 + ?N 0 N 0 f xd f0 N 0 + ?N 0 (6) 2 = ?N 0 N 0 ≤ 1 N 0 由于闸门时间 T 是待测脉冲信号周期的整数倍, 当待测脉冲频率较低时, 闸门时间 T 较 长,对标准频率源的计数值 N 0 较大,测量精度高;而当待测脉冲频率较高时,闸门时间 T 过短,甚至与标准频率源信号周期相近,故高频测量时 T 法存在严重的测量误差。 理论分析表明, 无论采取何种补偿措施, 都无法同时消除对待测脉冲和标准信号的计数 量化误差。将 M 法和 T 法结合起来就是 M/T 法,M/T 法结合了 M 法和 T 法各自的优点,在被 测信号频率较高时采用 M 法,频率较低时采用 T 法,这样在高、低频信号测量中都能获得较 高的精度。但由于在 M 法中, ?N x 随着被测信号频率的降低而增大,在 T 法中 ?N 0 随着被 测信号频率的增大而增大, 因此必存在 M 法和 T 法的分界点, 在该点高低频测量的相对误差 相等且达到最大,即 δ max = δ M x = δ T x 。我们将该点的频率称为中界频率 f C ,由式(1)知 N x = f x ? T ,由式(5)得 N 0 = f 0 f x ,则中界频率 f C = f 0 T 。虽然 M/T 法能够在两端获 得高精度,但在中界频率处的误差却总是最大的。本系统采用多周期同步测频原理,利用 AT89C52 片内定时器/计数器 T2 所特有的捕捉方式,实现对信号频率、周期、脉宽以及占空 比的测量。 2 多周期同步测频原理及其误差分析 多周期同步测频技术的基本原理是在待测脉冲的 m 个周期内同时对对待测脉冲和标准 信号计数, 根据待测脉冲的计数值 N x 和标准信号的计数值 N 0 求得被测信号的频率 [2,3] 。 由 于闸门时间 T 为待测脉冲的 m 个周期即闸门时间与待测脉冲同步,从而消除了待测脉冲的 计数量化误差 ?N x 。但由于闸门的启闭与标准信号不同步,故仍存在对标准信号的计数量 化误差 ?N 0 = ±1 。设两个计数器在闸门时间 T 内同时对待测脉冲和标准信号的计数值分别 为 N x 和 N 0 ,则待测信号频率 fx = Nx T f0 = N0 T 消去闸门时间 T ,得 f x = N x ? f 0 N 0 (7) (8) (9) 同理,相对误差 δ = f xd ? f x f xd f0 f ?N ? Nx ? 0 x N + ?N 0 N0 = 0 f0 ? Nx N 0 + ?N 0 (10) = ?N 0 N 0 ≤ 1 N 0 = 1 f 0T 3 由式(10)知, δ 只与标准频率源的频率 f 0 和闸门时间 T 有关,与待测脉冲的频率 f x 无 关,实现了整个测量频段内的等精度测量,使测量精度大大提高。对于标准信号的计数量化 误差 ?N 0 ,虽然可以通过提高标准频率源的频率 f 0 和加大闸门宽度 T 来减小,但需要考虑 标准频率源工作频率的限制,以及加大闸门宽度 T 所带来的系统测量时间的增加。 3 基于 AT89C52 的多周期同步测频技术的实现 AT89C52 片内有 1 个 16 位的定时/计数器 T2,T2 除具备和定时/计数器 T0、T1 相同的 功能外,还具有捕捉方式、16 位自动重装等功能 [4,5] 。所谓捕捉功能就是当 T2 的外部输入 端 T2EX()的输入电平发生负跳变时,就会把 TH2 和 TL2 的内容同时记录到特殊功能寄存 器 RCAP2H 和 RCAP2L 中,并将外部中断标志 EXF2 置位,向 CPU 发出中断申请信号。T2 的 捕捉功能避免了 CPU 在读计数值的高字节时, 低字节还在变化所引起的读数误差, 更重要的 是,T2EX()上输入电平连续两次负跳变的计数差值,就是外部输入脉冲的周期。 依据多周期同步测频技术的原理,将 AT89C52 的定时/计数器 T2 设置为定时器捕捉工 作方式,闸门时间 T 为 m 个待测脉冲周期,被测信号经放大、整形、分频后送入 T2 的外部 输入端 T2EX(),在待测信号产生第一次负跳变时,TH2 和 TL2 中的内容(即时基脉冲计 数值)被同时捕捉至特殊功能寄存器 RCAP2H 和 RCAP2L,并在 T2 外部中断服务程序中记录 待测信号下降沿的数目, 以此实现闸门开启及待测脉冲及和时基脉冲的同时计数, 闸门时间 到时(即 T2 的外部输入端 T2EX 检测到第 m + 1 个待测脉冲下降沿) ,一次测量过程结束。 在此过程中, 当外部待测脉冲的下降沿到来或定时器 T2 产生对时基脉冲的计数溢出时, T2 外部中断标志 EXF2 或 T2 溢出标志 TF2 置位,并向 CPU 发出中断申请信号。CPU 相应中 断后,在 T2 中断服务程序中通过软件判断是 EXF2 还是 TF2 产生的中断,并进行相应的处 理,是 EXF2 产生的中断就记录下待测脉冲下降沿的数目,若是 TF2 就记录下 T2 对时基脉 冲的溢出次数。待测频率具体的计算如下: 设闸门时间 T 内共产生了 m + 1 次 T2 外部中断( m 个待测脉冲)及 N 次 T2 溢出中断, 且设第一个待测脉冲的下降沿到来时 T2 对时基的计数值为 l1 , m + 1 个待测脉冲的下降沿 第 到来时 T2 对时基的计数值为 l2 ,则 T2 对时基的计数过程如下(包括 N 次 T2 溢出中断) 。 l1 L65535 → 0L65535 → 0L65535 → 0LLL0L65535 → 0Ll2 则闸门时间 T = ( l2 ? l1 + 65536 × N ) × T0 = mTx 其中 T0 为单片机时基信号周期, Tx 为待测脉冲信号周期,故被测信号频率为 fx = k ( l2 ? l1 + 65536 × N ) × mT0 (11) 其中 k 为可编程分频器相应的分频数 4 4 系统的软硬件设计 本系统采用多周期同 步 测 频 原 理 [3] , 以 盘 AT89C52 单片机为核心, 显 利用其片内定时器/计数 示 器 T2 所特有的捕捉功能, 器 XTAL2 利用定时器 T2 的捕捉功 复位电路 RESET VSS 能及外部中断,软硬件结 GND 合完成待测信号与闸门信 图1 系统硬件组成框图 号的同步,以及待测信号 与时基信号的同时刻计数,使用一个定时器/计数器 T2 实现多周期同步测频技术,使得频率 测试仪的软硬件结构简单易于实现。系统硬件组成框图如图 1 所示,主要由放大限幅电路、 波形转换与整形电路、可编程分频器电路、单片机最小应用系统及键盘显示器电路组成。输 入的正弦波、 三角波等各种形式的小信号电压经放大限幅后, 通过波形转换电路转换为方波 信号,再利用 7414 整形为 TTL 电平信号,利用可编程分频器来扩展频率测量范围的上限, 这样将经过了放大、整形、分频后的待测脉冲送入单片机最小应用系统的 (T2 的外部 输入端 T2EX) ,通过键盘显示器电路来实现被测频率参数(频率、周期、脉宽和占空比) 的选择与动态显示。 放 大 被测信号 与 限 幅 波 形 变 换 整 形 可 编 程 待测脉冲 分 频 器 +5V VCC XTAL1 键 软件采用自顶向下的模块化设计方法 [6] ,将 T2中断服务程序流程图 N 各个功能分成独立的模块,由系统的监控程序统 一管理执行。整个系统由初始化模块、键输入模 块(用于测量参数的选择)、信号频率测量模块、 数据处理模块、数据显示模块等组成。上电后, 首先进入系统初始化模块,在初始化子程序中完 成对定时/计数器 T2 的定时器及捕捉方式的设置, 并启动 T2。 频率测量模块由 T2 中断服务程序完成, 当外 部待测脉冲的下降沿到来或定时器 T2 产生对时基 脉冲的计数溢出时,T2 向 CPU 发出中断申请。 CPU 响应中断后, 通过软件判断是 EXF2 还使 TF2 产生的中断,并进行相应处理。T2 中断服务程序 流程图如图 2 所示。 5 结束语 本文讨论了传统频率测量方法的原理及误 差。在此基础上,对多周期同步测频技术的原理 及其误差进行了详细分析。由于多周期同步测频 技术的测量精度与被测信号的频率无关,实现了 整个测量频段内的等精度测量,消除了 M 法中对 T2外部中断? Y T2外中断次数加1 T2溢出中断 次数加1 Y 第1个外部 脉冲下降沿? N 第m+1个外部 脉冲下降沿? 捕捉寄存器 内容送时基 计数单元1 Y 捕捉寄存器内容 送时基计数单元2 存外中断次数 外中断次数清零 存T2溢出次数 溢出次数清零 清TF2中断 标志 清EXF2中断标志 中断返回 图2 T2中断服务程序流程图 5 被测脉冲信号的计数量化误差 ?N x = ±1 , 克服了 M/T 法中高低频两端精度高而中界频率附 近测量误差最大的缺陷。 本文提出了基于 AT89C52 实现多周期同步测频方法, 利用 T2 的捕 捉功能和外部中断产生与待测信号同步的闸门时间,通过 T2 的定时功能实现了时基信号与 待测信号的同步计数,使得系统只用一个定时器/计数器 T2 就实现了多周期同步测频技术, 该系统软硬件结构简单,具有较高的测量精度和较短的系统反应时间。 参考文献: 参考文献: [1] 尹克荣.智能仪表中的频率测量方法[J].长沙电力学院学报,2002, 17(1):74-76 [2] 章军,张平,于刚.多周期同步测频测量精度的提高[J].电测与仪表,2003,40(6):16-18 [3] 王连符.测频系统测量误差分析及其应用[J].中国科技信息,2005,(18A):94-94 [4] 李全利.单片机原理及应用技术[M].北京:高等教育出版社,2001 [5] 李群芳 黄建.单片微型计算机与接口技术[M].北京:电子工业出版社,2002 [6] 孙传友,孙晓斌,汉泽西等,测控系统原理与设计[M].北京:北京航空航天大学出版社,2002 作者简介: 作者简介: 黄晓峰(1969-),男,甘肃省甘谷县人,副教授,硕士,研究方向为检测技术及智能仪器仪表、计算机控制。 E-mail: 电话: 6 基于 MCS_51单片机的直流电机转速测控系统设计摘要: 给出了一种基于89C51单片机以及 PWM 控制思想的高精度、高稳定、多任务直流电机转速测控系 统的硬件组成及关键单元设计方法。实验结果表明该系统能实时、有效地对直流电机转速进行监测与控制, 而且输出转速精度高、稳定性好。 0 引言 目前使用的电机模拟控制电路都比较复杂,测量范围与精度不能兼顾, 且采样时间较长, 难以测得 瞬时转速。本文介绍的电机控制系统利用 PWM 控制原理, 同时结合霍尔传感器来采集电机转速, 并经 单片机检测后在显示器上显示出转速值, 而单片机则根据传感器输出的脉冲信号来分析转速的过程量, 并 超限自动报警。本系统同时设置有按键操作仪表, 可用于调节电机的转速。 1 系统方案的制定 直流电机控制系统主要是以 C8051单片机为核心组成的控制系统, 本系统中的电机转速与电机两端的 电压成比例, 而电机两端的电压与控制波形的占空比成正比, 因此, 由 MCU 内部的可编程计数器阵列 输出 PWM 波, 以调整电机两端电压与控制波形的占空比, 从而实现调速。本系统通过霍尔传感器来实 现对直流电机转速的实时监测。系统的设计任务包括硬件和软件两大部分,其中硬件设计包括方案选定、 电路原理图设计、PCB 绘制、线路调试; 软件设计包括内存空间的分配, 直流电机控制应用程序模块的 设计, 程序调试、软件仿真等。 2 硬件设计 C8051是完全集成的混合信号系统级 MCU 芯片, 具有64个数字 I/O 引脚, 片内含有 VDD 监视器、 看门狗定时器和时钟振荡器, 是真正能独立工作的片上系统, 并能快捷准确地完成信号采集和调节。同 时也方便软件编程、干扰防制、以及前向通道的结构优化。 本单片机控制系统与外部连接可实时接收到外部信号, 以进行对外部设备的控制, 这种闭环系统可 以较准确的实现设计要求, 从而制定出一个合理的方案, 图1所示是电机测控系统框图。 图1 电机测控系统框图。 本系统先由单片机发出控制信号给驱动电机, 同时通过传感器检测电机的转速信号并传送给单片机, 单片机再通过软件将测速信号与给定转速进行比较, 从而决定电机转速, 同时将当前电机转速值送 LED 显示。此外, 也可以通过设置键盘来设定电机转速。系统中的转速检测装置由霍尔传感器组成, 并通过 A/D 转换将转速转换为电压信号, 再以脉冲形式传给单片机。这种设计方法具有频率响应高(响应频率达 20 kHz 以上)、输出幅值不变、抗电磁干扰能力强等特点。其中霍尔传感器输入为脉冲信号, 十分容易与 微处理器相连接, 也便于实现信号的分析处理。单片机的 T0口可对该脉冲信号进行计数。 设计时, 可通过单片机的 ~ 五个接口来完成键盘的输入, 口可完成鸣叫和报警, 接电机, ~接显示器的位选, P0口为显示器段选码, 其硬件连接电路如图2所示。 图2 硬件连接电路图。 本系统的脉冲宽度调制(Pulse Width Modulation)原理是: 脉冲宽度调制波由一列占空比不同的矩形脉 冲构成, 其占空比与信号的瞬时采样值成比例。该系统由一个比较器和一个周期为 Ts 的锯齿波发生器组 成。脉冲信号如果大于锯齿波信号, 比较器输出正常数 A, 否则输出0。图3所示为脉冲宽度调制系统的 调制原理和波形图。 图3 脉宽调制过程。 设样本 τk 为均匀脉冲信号, 它的第 k 个矩形脉冲可以表示为: 其中, x {t} 是离散化信号; Ts 是采样周期,τ0是未调制宽度, m 是调制指数。现假设脉冲幅度为 A, 中心在 t=kTs 处, τk 在相邻脉冲间变化缓慢, 那么, 其 Xp (t) 可表示为: 其中, 为电机角速度,结合式(2) 可见, 脉冲宽度信号可由信 号 x (t)加上一个直流成分以及相位调制波构成。当 τ0<<> 因此, 脉冲宽度调制波可以直接通过低通滤波器进行解调。C8051单片机有2个12位的电压方式 DAC, 每个 DAC 的输出摆幅为0 V~VREF, 对应的输入码范围是0x000~0xFFF。通过交叉开关配置可将 CEX0~CEX4 配置到 P2 端口, 这样, 改变 PWM 的占空比就可以调整电机速度。 LED 显示采用动态扫描方式, 并用单片机 I/O 接口扩展输出, 再由三极管驱动各显示器的位选端并 放大电流。独立式按键采用查询方式, 按键输入均采用低有效, 上拉电阻可用于保证在按键断开使其 I/O 口为高电平。单片机的 I/O ()引脚所扩展的5个按键分别定义为: 设置、启动、移位、开始、+1 功能。硬件电路确定以后, 电机转速控制的主要功能将依赖于软件来实现。 3 软件设计 本系统的软件程序的设计可分为5个步骤: 分别是综合分析并确定算法; 设计程序流程图;合理选择和分配内存单元以及工作寄存器; 编写程 序; 上机调试运行程序。 应用软件的设计可采用模块化结构设计, 其优点是每个模块的程序结构相对简单, 且任务明确, 易 于编写、调试和修改; 其次是程序可读性好, 对程序的修改可局部进行, 而其他部分可以保持不变, 这 样便于功能扩充和版本升级; 另外, 对于使用频繁的子程序, 可以建立子程序库, 以便于多个模块调 用; 最后是便于分工合作, 多个程序员可同时进行程序的编写和调试工作, 故可加快软件研制进度。 本程序采用8051单片机的 C 语言编程来实现。 在系统的程序设计中, 可采用模块化编程实现。 整个软件由主程序模块、转速测量模块、时钟模块、数据通信模块、动态显示模块等组成。各模块均 采用结构化程序设计思想设计, 因而具有较强的通用性; 而采用模块化程序结构则可使软件易于调试、 维护和移植。 系统软件可根据硬件电路的功能与 AT89C51各管脚的连接情况对软件进行设计。以便明确各引脚所要 完成的功能, 从而方便进行程序设计和内存地址的分配, 最终完成程序模块化设计。 本系统为直流电机测控系统。根据系统性能要求, 除复位电路外, 还应该设置一些功能键: 包括启动键、设置键、确定键、移位键、加1键等。由于本系统中的单片机还有闲置的 I/O 口线,而系 统要求所设置的按键数量也不多, 因此, 可以采用独立式按键结构。 根据直流电机控制系统的结构, 该电机转速控制系统为一简单的应用系统, 可以采用顺序的设计方 法。这种设计由主程序和若干个中断服务程序构成, 整个电机转速测控系统可分成六大模块, 每个模块 完成一定的功能。图4所示是根据电路图确定的程序设计模块图。 图4 直流电机控制软件设计模块图。 其中主程序模块主要设置主程序的起始地址、中断服务程序的起始地址、有关内存单元及相关部件的 初始化和一些子程序调用等。其主程序流程图如图5所示。 图5 主程序流程图。 对于定时器 T1 (1s) 子程序的设计,其实在单片机中,定时功能既可以由硬件(定时/计数器) 实现,也 可以通过软件定时程序来实现。软件延时程序要占用 CPU 的时间, 因而会降低 CPU 的利用率。而硬件定 时则通过单片机内的定时器来定时, 而且, 定时器启动以后可与 CPU 并行工作, 故不占用 CPU 的时间, 从而可使 CPU 具有较高的工作效率。 本系统采用硬件定时和软件定时并用的方式, 即用 T1溢出中断功能来实现10 ms 定时, 而通过软件 延时程序实现1 ms 定时。其中 T1定时器中断服务程序的功能主要实现转速值的读入、检测与缓存处理。 对于定时器 T1的计数初值计算, 由于本系统采用的是6 MHz 的时钟频率, 所以, 一个机器周期时 间是2 ?s。这样, 根据 T1定时器产生500 ?s 的定时, 便可以计算出计数初值。 本文设计的转速测控系统的工作方式寄存器 TMOD=00010000B, T1定时器以工作方式2来完成定时。 4 程序调试 程序调试可在伟福仿真软件上进行编制, 该软件支持脱机运行, 纯软件环境可模拟单步、跟踪、全 速、 断点; 源文件仿真、 汇编等, 并可支持多文件混合编程。 仿真调试后的目标程序可以固化到 EPROM, 然后用专门的程序烧写器对89C51单片机进行程序烧写。 5 结束语 本设计采用 C51进行编程, 程序占用存储器单元少, 执行速度快, 并能够准确掌握执行时间, 实 现精细控制。同时由于采用89C51为 CPU,并利用噪声抵抗能力较强的 PWM 控制技术、串行口扩展显示 器接口和 I/O 口扩展键盘, 因而可省去片外 RAM, 而且体积小, 功能全, 小巧灵活,操作方便, 又 可安装在工作现场单独工作。因而具有较大的实用价值和良好的应用前景。

运用对比,必须对所要表达的事物的矛盾本质有深刻的认识。对比的两种事物或同一事物的两个方面,应该有互相对立的关系,否则是不能构成对比的。

论坛设计与实现毕业论文

自己全部手写!!这样对你有帮助的!

你可以去中国月期刊网看看那里的文章挺多的,你可以去那参考一下:

这个是一个非常受欢迎的毕业论文题目,希望楼主仔细研究。这个将为你带来一份丰厚的薪资待遇。

大专计算机毕业论文学生论坛的设计与实现我有这方面的资料 球球296145855

相关百科
热门百科
首页
发表服务