4×4_矩阵键盘计算器设计

4×4_矩阵键盘计算器设计
4×4_矩阵键盘计算器设计

西华大学

课程设计说明书

题目4×4 矩阵键盘计算器设计系(部) 电气信息学院

专业(班级) 自动化3班

姓名

学号

指导教师胡红平

起止日期2012.6.10-2012.6.30

计算机接口及应用课程设计任务书

系(部):电气信息学院专业:09自动化

指导教师:日期:2012-6-20

西华大学课程设计鉴定表

摘要

近几年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应根据具体硬件结合,加以完善。

本任务是个简易得三位数的减法运算,用4×4 矩阵键盘及计算器设计,利用数码管实现255内的减法运算。程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不完善,限制也较多。本任务重在设计构思与团队合作,使得我们用专业知识,专业技能分析和解决问题全面系统的锻炼。

关键词:单片机,AT89C51,矩阵键盘,数码管

ABSTRACT

In recent years, along with the rapid development of science and technology, the application of SCM is unceasingly thorough, it causes the traditional control test technology increasingly updates. In real-time detection and automatic control of single-chip microcomputer application system, often as a core component to use, only microcontroller aspects of knowledge is not enough, should according to specific hardware combined, and perfects.

This task is a simple three digits, subtract with 4 * 4 matrix keyboard and a calculator design, use digital tube realization within the 255 subtract. Program is according to the teaching material and within the network reference and compiled program, on the function is not perfect, restrictions also more. This task focuses on design conception and team cooperation, make us with professional knowledge, professional skills to analyze and solve problems of full system exercise.

Keywords:Single-chip,AT89C51,Matrix keyboard,digital tube

目录

摘要 ....................................................................................................................................... I ABSTRACT ................................................................................................................................ II 第1章课题概述 (1)

1.1 课题概述 (1)

1.2 课题要求 (2)

第2章系统设计 (3)

2.1 设计思路 (3)

2.2 框图设计 (3)

2.3 知识点 (3)

2.4 硬件设计 (4)

2.4.1 电路原理图 (4)

2.4.2 元件选择 (5)

2.4.3 PCB制版及效果 (9)

2.5 软件设计 (10)

2.5.1 程序流程图 (10)

2.6 系统仿真及调试 (11)

2.6.1 硬件调试 (11)

2.6.2 软件调试 (11)

2.6.3 软硬件调试 (11)

结论 (11)

参考文献 (14)

附录 (15)

第1章课题概述

1.1 课题概述

随着当今时代的电子领域的发展,尤其是自动化的控制领域,传统的分立元件或数字逻辑电路构成的控制系统正被智能化的单片机所取代。主要是因为单片机具有体积小、功能强、成本低、能耗低、应用面积广等优点。可以说,智能控制系统的核心就是单片机。单片机的应用已经贯穿到了我们生活各个方面。

本设计是基于51系列单片机的进行的计算模式的设计,可以完成矩阵键盘输入,并进行减的8位无符号数字的运算,在输入的同时数据要同步动态显示在LED显示器上。单片机总体功能的简介:

(1)智能产品:单片机与传统的机械产品相结合,使传统的机械产品结构简单,控制智能化,使机电成为一个有机的整体,减少人工的体力脑力活。目前,利用单片机构成的智能产品已广泛应用于家用电器、办公设备及各种工厂的机床。

(2)智能仪器:各种传感器、变送器、控制仪已普遍的采用单片机应用系统。它集测量、处理、控制等功能于一体,具有各种智能化功能,如储存、数据处理、查找等功能;

(3)测控技术:用单片机构成的各种工业控制系统中的数据采集系统具有工作稳定可靠、抗干扰能力强的优点;

(4)智能接口:在计算机系统中,除通用的外部设备外,还有许多外部通信、采集、多路分配管理、驱动控制等接口都是利用单片机与主机并行加工处理,大大的减少接口的通信密度,极大的提高了接口控制管理水平。

1.2 课题要求

根据题目《4×4 矩阵键盘计算器设计》,设计需满

足以下要求:

1、分别识别16个键盘值;

2、设定前10个为0到9,后面键值分别是A、B、C、D,—,最后一个键值为

确认键;

3、利用数码管实现255内的减法运算。

4、对4×4 矩阵键盘先进行全扫描,再进行行扫描。

5、在LED数码管里面动态显示扫描的内容。

第2章系统设计

2.1 设计思路

设计主要是利用AT89C51进行数据处理,利用4×4矩阵键盘的按键扫描,利用LED 数码管的动态显示。该设计首先是运用矩阵键盘的按键扫描,然后把扫描得到的键值进行译码,其次把译码所得的数值进行处理,最后将处理后的值进行动态显示。矩阵键盘和数码管分别接在P1和P0,这样大大的节约了单片机的I/O端口。

2.2 框图设计

图2.1系统结构框图

对4×4 矩阵键盘的按键进行全扫描和行扫描,把扫描的结果进行处理,处理后的结果放到LED数码管了里面进行动态显示。

2.3 知识点

本设计主要是运用到了《单片机原理及接口技术》里面所学的一些单片机的知识,有时钟电路及89C51 CPU时序、LED动态显示原理、汇编语言程序设计知识。

2.4 硬件设计

2.4.1 电路原理图

利用proteus 仿真电路,电路图2.2,晶振接在XTAL1、XTAL2口上,复位电路接在REST 口上,矩阵键盘的四列接在P1口的低四位,矩阵键盘的四行接在P1口的高四位,LED 数码管的段选码接口于P0口相连,LED 数码管的位选码接口于P2.5-P2.7相连。

1-89C51单片机芯片 2-开关 3-电源 4-接地 5—电容

6-晶振 7-数码管 8-电阻 图2.2 proteus 仿真电路图

1

2

3

4 5 7

8

6

2.4.2 元件选择

1、元件清单

表2.1电路元件清单

2、关键元件

a.AT89C51

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图片见下图:

图2.3 A T89C51

(1).主要特性:

·与MCS-51兼容

·4K字节可编程闪烁存储器

寿命:1000写/擦循环

数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128*8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路

(2).管脚说明:

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址

信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示:

口管脚备选功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)

P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

(3).振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

b.矩阵键盘

首先判别键盘中有无键按下,由单片机I/O口向键盘送全扫描字,然后按读入列线状态;来判断。方法是:向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根列线电平悲拉置低电平,从而使列输入不全为1.

判断键盘中哪一个按键悲按下是通过将行线逐行置低电平后,检查列输入状态实现的。方法是:依次给行线送低电平,然后检查所有列线状态,称行扫描。如果全为1,则所按下的键不在此行;如果不全为1,则所按下的键必在此行,而且是在与零电平列线相交的那个键。

2.4.3 PCB制版及效果

图2.4 PCB制图

图2.5 3D模型图

图2.3是利用proteus里面自带的软件绘制的PCB制版,图2.4是它的3D模仿出来的立体效果。

2.5 软件设计

2.5.1 程序流程图

图2.6

初始化后,程序开始进入主程序,1、进行按键判断,如果有键按下,继续往下执行,否则重新扫描;2、如果有键按下,延时5MS;3、再次按键判断,如果有键按下,继续往下执行,否则重新扫描;4、如果有键按下,确定按键位置;5、再次进行按键判断,如果有键按下,继续往下执行,否则,表示出错,重新扫面;6、如果有键按下,对按键译码;7、判断是否按键释放,如果释放,继续往下执行,否则等待;8、对送来的译码值进行数据处理;9、把处理的数据,放到LED数码管中动态显示。

2.6 系统仿真及调试

系统的调试主要通过proteus软件进行仿真。

单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。一般方法是排除明显的硬件故障,在进行综合调试,排除可能的软(硬)件故障。

2.6.1 硬件调试

硬件调试分为静态调试和动态调试,对于硬件调试而言,只要认真焊接,硬件一般不会出现什么问题的。

静态调试一般采用的工具是万用表,它是用户系统未工作时的一种硬件检测。

动态调试是在用户系统工作的情况下发现和排查错误的一种硬件检测。调试步骤为:首先把电路分为若干模块,调试过程中与该模块无关的元件可以不加考虑,这样可把故障限定在一定的范围内,故障清除后,把各个模块合在一起进行联调,即可完成整个硬件调试工作。

2.6.2 软件调试

软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。

2.6.3 软硬件调试

软硬件调试是指把调试无误的软件程序灌进单片机芯片内部,接通电源后,检查硬件工作是否有预期的效果,如果没有则需要检测软件是否在现实功能上有欠缺。若有错误,通过写软件来调试,直至达到预期效果,则设计圆满成功。

本课程设计调试结果如下图所示

图2.7 效果图

结论

很快一周多的时间又过去了,一个星期的课程设计对于我们初学者来说并不简单,毕竟我们对单片机这门课程花的时间很少,上课的时间和上机的时间仅仅那么多,所以我们对这门课程的知识只了解了一个大概。对于这一个星期的成就我感到很欣慰,能够自己编出一个程序运用到实践当中。

刚开始我们都不知道如何动笔,看到那么多的课题,心中在暗暗的想,我们真的能做好一个吗,纠结了好久才把课题选好。选好课题后也不只从何处下手,我们只得到处查询资料和网上借鉴。我们都知道这个课程设计的关键是流程图和程序的编写。我们不急不忙的看了很多相似的程序和流程图,和向老师的请教才将流程图给画出个大概来,当然万事开图难吗,第一步做好了以后。我们就得开始编写程序了,这是最关键的了,首先我们认真的看了书本上的相似程序,将这个程序看懂了解透。我们才开始着手编写程序,当然在编写程序的这个过程是最复杂最麻烦了。老是出现各种各样的问题,这就需要我们能静下心了,同样我们也得考验同学之间团结合作能力了。自己编的程序自己往往很难发现错误,我们便便请教班上的高手解答。实在不懂得就求助老师了。在各种方法使尽后,程序终于出来了,一个程序的编写就花了我们课程设计的一大半的时间。此后说明书的书写也是项不小的工程,要将所有的东西集合起来还真的不简单。老是发现缺这却那得。一个人书写后还得要几个人的审查才感最终确定。

当然经过这次课程设计我们学会了很多,对单片机这门课程有了更好的了解,这也是一次理论知识运用到实践当中的考验,同时也为我们以后的毕业设计提供了参考。

参考文献

[1]于殿泓,王新年. 单片机原理与程序设计实验教程[D].西安电子科技大学

出版社,2007:94-95

[2]戴佳,苗龙,陈斌.51单片机应用系统开发典型实例[D].中国电力出版社,

2005:20-47

[3]朱家建.单片机原理及应用.高等教育出版社[D],2002:171-181

[4]韩志军,沈晋源,王振波.单片机应用系统设计[D].机械工业出版社,

2005:120-129

[5]楼然苗,李光飞.51系列单片机设计实例[D].北京航空航天大学出版社,

2003:77-84

[6]李朝青.单片机原理及接口技术[D]. 北京航空航天大学出版社,2006:1-277

计算器课程设计报告

课设报告 福建工程学院软件学院 题目:汇编计算器 班级: 1301 姓名 学号: 指导老师: 日期:

目录 1、设计目的 (3) 2、概要设计 (3) 2.1 系统总体分析 (3) 2.2 主模块框图及说明 (3) 3、详细设计 (4) 3.1 主模块及子模块概述 (4) 3.2各模块详运算 (4) 4、程序调试 (7) 4.1 运行界面分析 (7) 算法分析 (7) 4.2 调试过程与分析 (9) 5、心得体会 (11) 5.1 设计体会 (11) 5.2 系统改进 (11) 附录: (11)

1、设计目的 本课程设计是一次程序设计方法及技能的基本训练,通过实际程序的开发及调试,巩固课堂上学到的关于程序设计的基本知识和基本方法,进一步熟悉汇编语言的结构特点和使用,达到能独立阅读、设计编写和调试具有一定规模的汇编程序的水平。 2、概要设计 用8086汇编语言编写一个能实现四则混合运算、带括号功能的整数计算器程序。程序能实现键盘十进制运算表达式的输入和显示(例如输入:“1+2*(3-4)”),按“=”后输出十进制表示的运算结果。 2.1 系统总体分析 在8086的操作环境下,该计算器分成输入,数据存储,运算功能,输出几个大模块,实现了使用者使用该计算器时输入一个算式,能让系统进行计算。此计算器的实现功能是基本的数学的四则运算,结果范围在0~65535。 2.2 主模块框图及说明 此流程图简要的表现出了所要实现的功能以及一些功能的大概算法,同时也是我编写的一个总体的框架。 程序流程图说明:通过流程图,可以看出程序运行时,首先输出提示语气,当用户输入后,程序根据所输入内容进行判断,通过判断的结果来决定调用哪个功能模块,首要先要要判断的是否为0-9,“+”“-”“*”“/”这些字符,若不是就会报错,实则根据运算符号调用其功能模块完成运算。最后将运算的结果显示在主频幕上,返回主程序,使用户可以重新输入。

C++课程设计报告--小型特殊计算器

课程设计报告 课程:面向对象程序设计学号: 姓名: 班级: 教师:

课程设计名称:小型特殊计算器 1.设计内容: 实现一个特殊的计算器,可以实现复数、有理数、矩阵和集合的特殊计算。程序可以实现复数、有理数的加、减、乘、除,可以实现矩阵的加法、减法和乘法运算,也可以实现集合的求交集、并集、子集的运算。 2.设计目的与要求: 2.1设计目的 达到熟练掌握C++语言的基本知识和技能; 基本掌握面向对象程序设计的基本思路和方法; 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2.2设计要求 要求利用面向对象的方法以及C++的编程思想来完成系统的设计; 要求在设计的过程中,建立清晰的类层次; 在系统的设计中,至少要用到面向对象的一种机制。 3.系统分析与设计 3.1主要知识点 运算符重载增加了C++语言的可扩充性。运算符的重载实际上就是一种函数调用的形式,可以用成员函数重载运算符,就是将运算符重载定义为一个类的成员函数的形式;也可以用友元函数重载。用友元重载运算符的友元函数是独立于类以外的一般函数。 3.2关键技术 程序中每一种数据类型用一个类来实现,共设计了4个类。复数类complex,矩阵类matrix,有理数类rational以及集合类set。每一种类都定义了相应的运算符重载函数。具体定义如下所示: (1)类complex 类complex中,成员变量image表示虚部,real表示实部。成员函数print()用来显示数据。运算符重载函数都是用友元函数来实现的。分别重载+、-、*、/运算符。 (2)类matrix 类matrix中,成员变量elems用来存放矩阵的所有元素,rows表示矩阵的行,cols表示矩阵的列。成员函数SetElems()用来给矩阵中的每一个元素赋值,Disp()用来显示矩阵中的所有元素。其它友元函数分别重载+、-、*、/运算符。 (3)类rational 类rational中,有两个成员变量:denominator用来表示有理数的分母,numerator表示有理数的分子。有理数成员函数print()用来显示有理数,optimization()用来优化有理数函数。友元函数real()用来将有理数转换为实数,其它友元函数分别重载+、-、*、/运算符。 (4)类set

简单计算器c++课程设计

简单计算器 1 基本功能描述 简单计算器包括双目运算符和单目运算符。双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦、阶乘、对数、开方、倒数等运算。可对输入任意操作数包含小数和整数及正数和负数进行以上的所有运算并能连续运算。出现错误会给出提示,同时包含清除、退格、退出功能以及有与所有按钮相对应的菜单项。 2 设计思路 如图1,是输入数据子函数的流程图。打开计算器程序,输入数据,判断此次输入之前是否有数字输入,如果有,则在之前输入的数字字符后加上现有的数字字符;如果没有,则直接使编辑框显示所输入的数字字符。判断是否继续键入数字,如果是,则继续进行前面的判断,如果否,则用UpdateData(FALSE)刷新显示。 如图2,是整个计算器的流程图。对于输入的算式,判断运算符是双目运算符还是单目运算符。如果是双目运算符,则把操作数存入数组a[z+2]中,把运算符存入b[z+1]中;如果是单目运算符,则把字符串转化为可计算的数字,再进行计算。下面判断运算符是否合法,如果合法,则将结果存入a[0],不合法,则弹出对话框,提示错误。结束程序。

输入一个数字 在之前输入的数字字符后面加上现在的数字字符。 Eg :m_str+=”9”。 直接使编辑框显示所输入的数字字符。 Eg :m_str=”9”。 pass3=1表示已有数字输入 开始 之前是否有数字输入? pass3==1? 继续键入数字? 用UpdateData(FALSE)刷新显示 图1 输入数据子函数流程图 Y N Y N

输入开始 双目运算符 是否每一个操作数都存入a[]数组? 把操作数存入a[z+2],把运算符存入b[z+1]。 单目运算符 将字符串转换 为可计算的数进行运算 运算是否合法? 将结果存入a[0] 弹出对话框提示错误 结束Y Y N N 图2 简单计算器总流程图

计算机科学与专业技术学院课程设计成绩单

计算机科学与技术学院课程设计成绩单

————————————————————————————————作者:————————————————————————————————日期:

计算机科学与技术学院课程设计成绩单 课程名称:数据库系统原理指导教师: 姓名性别学号班级 综合成绩成绩等级 程序运行情况 (占总成绩20%) □能正确运行□基本能正确运行□能运行但结果不完善 (20分)(15分)(10分) 程序功能的完善 程度 (占总成绩10%)□完善□基本完善□不完善(10分)(8分)(5分) 程序结构的合理 性 (占总成绩10%)□合理□基本合理□不太合理(10分)(8分)(5分) 对问题的答辩情况 (占总成绩40%)□概念正确有创新□能正确回答所有问题□基本能正确回答(40分)(35分)(30分) □部分问题回答概念不清晰 (20分) 学生的工作态度与独立工作能力(占总成绩10%)□工作态度认真能独立完成任务□工作态度认真但独立性较差(10分)(8分) □工作态度基本认真但缺乏独立性 (5分) 设计报告的规范 性 (占总成绩10%)□符合规范□基本符合规范□规范性较差(10分)(8分)(5分) 优秀:90分~100分良好:80分~89分中等:70~79分及格:60~69分不及格0分~59分 武汉科技大学计算机科学与技术学院制表

计算机科学与技术学院 课程设计报告 课程名称:数据库系统原理专业: 班级:级班学号: 姓名: 指导老师:

网上选课系统 一、实验目的 利用一种DBMS作为设计工具,理解并应用课程中关于数据库设计的相关理论,能按照设计流程完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够应用各个阶段的典型工具 二、设备与环境 (1) 硬件设备:PC机一台 (2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2000等。 三、实验内容 完整实践应用数据库设计的工程过程:需求分析\概念设计\逻辑设计\物理设计和实施: (1)需求分析:选定一个应用,对所设计的数据库系统有一定的调研分析,其结果应该以 简单的需求分析说明书\数据字典和数据流图(2级数据流即可)表示; (2)概念分析:使用E-R图作为描述工具.描述出局部和全局的E-R图; (3)逻辑设计:将E-R图转化为相应的关系模式,并根据范式理论进行优化分析,关系模 式不少于3个; (4)物理设计:根据需要设计必要的索引等结构; (5)实施:以某种DBMS为工具创建出完整的数据库.在数据库中要表现出的知识点包括 ①登录控制 (标准登录或混合登录) ②数据完整性(参照完整性、实体完整性、自定义完整性(包括触发器) ③设置用户,并相应设计用户的权限和角色(用户设计至少3个,有不同的权限) ④以游标或存储过程完成相关操作至少2个,以文件方式保存 (6)以上内容,请详细描述,并有必要抓图. 四、实验结果及分析 1.需求分析 随着信息时代科技不断提高,学校规模不断扩大,教学质量不断提高,大学期间有许多公共选修课,以往的选修课方法是课堂报名或者纸上填写方式报名,这种方法虽然直接,但是造成选课的盲目性,而且学生选过课程后不好在更改查看,一方面浪费大量的人力,物力资源,另一方面浪费时间以及在认为统计过程中不可避免的出现差错的情况。这给广大的老师和学生带来诸多的不便,管理起来也相当困难。使用网上选课系统可以提前进行网上选课,并且选课以后学生还可以在查看和更改,随意选择各个老师的课程,老师管理起来也比较方便。鉴于

扫描矩阵键盘简介以及其FPGA设计思路

扫描键盘的设计思想和代码技巧非常值得学习。 首先扫描键盘可以节省FPGA 的引脚资源,例如一个4x4的扫描键盘有16个按键,如果不用扫描方式而是直接把16跟控制线接入FPGA ,就要16个引脚,而用扫描方式只需要4+4=8个引脚。尤其是随着键盘的增大,比如8x9=72的键盘,用扫描方式只需要17个引脚。 要想了解扫描键盘的原理,首先要知道矩阵键盘的电路结构。 如上图所示,矩阵键盘的某一个按钮按下会使对应的一条行线和列线导通,为了便于分析扫描过程做如下简化: 3.3v Row0 Row1 Row2 Row3 Col 0 Col 1 Col 2 Col 3 Row0 Row1 Row2 Row3 Col 0 Col 1 Col 2 Col 3 3 5 A E D C 2 B 9 8 F 4 6 0 1 7 接高电平 由FPGA 输出给键盘高低电平的组合,即是扫描码 键盘行线 高低电平的变化输入给FPGA

扫描键盘的工作状态分为两种: 第一种状态是判断是否有键按下,该状态下四根列线对应的电平状态是{col 0,col 1,col 2,col 3}=0000 。四根行线左端都接高电平,没有键被按下时,四根行线右端的状态是{row0,row1,row2,row3}=1111 。假如上图中按键3被按下了,也就是说row0和col 0接通了。那么四根行线右端的状态将会是{row0,row1,row2,row3}=0111 。也就是说,在第一种状态下,只要键盘行线输入FPGA的状态不是1111,就说明有键被按下了。马上进入第二状态。 第二种状态是判断具体哪个键被按下了。该状态下四根行线左端接高电平不变,四根列线对应的电平状态不断变化,由FPGA的输出的扫描码控制四根列线的电平状态。由第一状态的行线输入已经可以确定按键所处的行了。接下来只要再确定按键所处的列就可以确定到底哪个键被按下了。 如何根据行线的输入确定按键所处的列,奥妙就在于扫描码了。让列线以1000、0100、0010、0001的电平状态不断循环。假设上一状态确定按键处于row0行,那么随着扫描的进行,行线输入的变化规律如下表: 1000 0100 0010 0001 1000 0100 0010 0001 1000 0100 0010 0001 扫描 码 Row0 1 0 0 0 1 0 0 0 1 0 0 0 Row1 1 1 1 1 1 1 1 1 1 1 1 1 Row2 1 1 1 1 1 1 1 1 1 1 1 1 Row3 1 1 1 1 1 1 1 1 1 1 1 1 观察上表可以发现,在row0是1的时候与之对应的扫描码可以体现出按键所在列。 一个随之而来的设计思路是在第一状态确定按键所在行,然后在第二状态捕捉特定行是高电平的时候所对应的扫描码。 但是这里有一个不可避免的实际问题,那就是机械键盘的抖动!这种抖动主要体现在两个方面:第一,我们手指按某个键的时候可能由于接触面积大无意中碰到周围的键。第二,在按着一个键的时候由于力度不均或者接触不良,行线和列线并不能时刻保持接通的状态。下图来自网络上,描述的是单片机的机械键盘,借用一下。

单片机计算器的课程设计报告

目录 一、设计任务和性能指标 (1) 1.1设计任务 (2) 1.2性能指标 (2) 二、设计方案 (2) 3 3 4 5 5 6 6 7 7 20 20 20 20 21 参考文献 (21) 附录1、系统硬件电路图 (22) 附录2、硬件实物图 (23) 附录3、器件清单 (24)

一、设计任务和性能指标 1.1设计任务 自制一个单片机最小系统,包括复位电路,采用外部小键盘输入数据,能够实现加法、乘法及一个科学计算,计算结果显示在四位一体的数码管上。 要求用Protel 画出系统的电路原理图(要求以最少组件,实现系统设计所要 显 位 监测模块采用二极管和扬声器(实验室用二极管代替)组成电路。 键盘电路采用4*4矩阵键盘电路。 显示模块采用4枚共阳极数码管和74ls273锁存芯片构成等器件构成。 整个单片机的接口电路: P0用于显示输出; P1用于键扫描输入; P2用于数码管位选控制; P3用于键盘扩展(部分运算符输入);

三.系统硬件设计 3.1单片机最小系统 单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。 主控芯片选取STC89C52RC芯片,因其具有良好的性能及稳定性,价格便宜应用方便。 扩展键:“log”,“ln”,“x^2”“小数点”,“开方” 共计25个按键,采用4*4矩阵键盘,键盘的行和列之间都有公共端相连,四行和四列的8个公共端分别接P1.0~P1.7,这样扫描P1口就可以完成对矩阵键盘的扫描,通过对16个按键进行编码,从而得到键盘的口地址,对比P1口德扫描结果和各按键的地址,我们就可以得到是哪个键按下,从而完成键盘的功能。 以下为键盘接口电路的硬件电路图

C++ 科学计算器-课程设计报告

DONGFANG COLLEGE,FUJIAN AGRICULTURE AND FORESTRY UNIVERSITY 课程名称:堆栈计算器 系别:计算机 年级专业:11级计算机科学与技术 学号:1150303040 姓名:蔡新云 任课教师:林励成绩: 2013 年 6 月13 日

引言 堆栈计算器 简介: 计算带括号的数学算式,可以判断优先级,错误判断等功能。友好的操作界面,美观的视觉效果。 截图 界面: 计算演示: 结果:

错误判断: 数据结构:应用了栈,做数值缓存,应用了递归处理括号内算式。其他知识:mfc界面设计;c++类的封装(.h与.cpp分离)。 编译环境:使用了vs2012,通过修改vs2010也可以打开。

程序简单流程图: (注:eval 的代码在下面。。。) 功能实现原理与代码: //栈的实现 //初始化 stack::stack(int len) { lengh=len; date=new double[len]; date[0]=0; top=0; } stack::stack() { date=new double[100]; MFC 文本框 按钮事件 = 事件 Cal.eval() 调用函数eval(),返回结果到文本框 当 =事件 发生 从文本框取出表达式到eval ()函数

date[0]=0; top=0; } //判断为空 bool stack::is_empty() { if(top==0) { return true; } return false; } //进栈 void stack::push(double number) { date[top++]=number; } //出栈 double stack::pop() { if(!is_empty()) return date[--top]; } //calculator类(核心代码) 初始化 calculator::calculator() { error="null"; } 是否为数字 bool calculator::is_num(char num) { if(num<='9' && num>='0'||num=='.') { return true; }

android简单计算器课程设计.

摘要 Android是当今最重要的手机开发平台之一,它是建立在Java基础之上的,能够迅速建立手机软件的解决方案。Android的功能十分强大,成为当今软件行业的一股新兴力量。Android基于Linux平台,由操作系统、中间件、用户界面和应用软件组成,具有以下5个特点:开放性、应用程序无界限、应用程序是在平等条件下创建的,应用程序可以轻松的嵌入网络、应用程序可以并行运行。而简单计算器又是手机上必备的小程序,所以此次创新实践很有意义。并且具有很强的使用性。 关键字:Android Java基础计算器

目录 第1章开发工具与环境 (1) 1.1 Android平台 (1) 1.2 Java开发环境 (1) 1.3 Eclipse (1) 1.4 Android程序基础—Android应用程序的构成 (2) 第2章系统分析与设计 (4) 2.1系统的可行性分析 (4) 2.2 系统的需求分析 (4) 2.3 系统的优势 (4) 2.4 系统的流程图 (5) 第3章系统详细设计 (6) 3.1 动作Activity (6) 3.2 布局文件XML (6) 3.3 Activity的详细设计 (7) 3.2 布局文件XML的详细设计 (21) 3.2 系统的运行结果 (24) 结论 (25) 参考文献 (26)

第1章开发工具与环境 1.1 Android平台 1.谷歌与开放手机联盟合作开发了Android, 这个联盟由包括中国移动、摩托罗拉、高通、宏达和T-Mobile在内的30多家技术和无线应用的领军企业组成。 2.Android是一个真正意义上的开放性移动设备综合平台。通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,来建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统,这样应用之间的通用性和互联性将在最大程度上得到保持。 3.所有的Android应用之间是完全平等的。 4.所有的应用都运行在一个核心的引擎上面,这个核心引擎其实就是一个虚拟机,它提供了一系列用于应用和硬件资源间进行通讯的API。撇开这个核心引擎,Android的所有其他的东西都是“应用”。 5.Android打破了应用之间的界限,比如开发人员可以把Web上的数据与本地的联系人,日历,位置信息结合起来,为用户创造全新的用户体验。 1.2 Java开发环境 Java技术包含了一个编程语言及一个平台。Java编程语言具有很多特性,如面向对象、跨平台、分布式、多线程、解释性等等。Java编程语言起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入式家用电器的分布式系统,使电气更加智能化。1996年1月发布了JDK1.1版本,一门新语言自此走向世界。之后,1998年12月发布了1.2版本,2002年2月发布1.4版本,2004年10月发布1.5版本(5.0),2006年12月发布1.6(6.0)版本,这是目前的最新版本。Java1.2版本是一个重要的版本,基于该版本,Sun将Java技术分为J2SE、J2ME、J2EE,其中J2SE为创建和运行Java程序提供了最基本的环境,J2ME与J2EE 建立在J2SE的基础上,J2ME为嵌入式应用(如运行在手机里的Java程序)提供开发与运行环境,J2EE为分布式的企业应用提供开发与运行环境。 1.3 Eclipse

基于msc51单片机实现的四位4乘4矩阵键盘计算器的C语言程序及其PROTUES电路和仿真

单片机原理及接口技术 课程设计报告 设计题目:计算器设计 学号:100230205 姓名:费博文 指导教师:张扬 信息与电气工程学院 二零一三年七月

计算器设计 单片机体积小,功耗小,价格低,用途灵活,无处不在,属专用计算机。是一种特殊器件,需经过专门学习方能掌握应用,应用中要设计专用的硬件和软件。近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。其中系统的抗干扰性能是系统可靠性的重要指标。 数学是科技进步的重要工具,数据的运算也随着科技的进步越发变得繁琐复杂,计算器的出现可以大大解放人在设计计算过程中的工作量,使计算的精度、速度得到改善,通过msc51单片机,矩阵键盘和LED数码管可以实现简单的四位数的四则运算和显示,并当运算结果超出范围时予以报错。 注:这一部分主要描述题目的背景和意义,对设计所采取的主要方法做一下简要描述。字数不要太多,300-500字。 另注:本文要当做模板使用,不要随意更改字体、字号、行间距等,学会使用格式刷。文中给出的各项内容都要在大家的报告中体现,可采用填空的方式使用本模板。 1. 设计任务 结合实际情况,基于AT89C51单片机设计一个计算器。该系统应满足的功能要求为: (1) 实现简单的四位十进制数字的四则运算; (2) 按键输入数字,运算法则; (3) LED数码管移位显示每次输入的数据和运算结果; (4) 当运算结果超出范围时实现报错。 主要硬件设备:AT89C51单片机、LED数码管、矩阵键盘。 注:这一部分需要写明系统功能需求,用到的主要硬件(参考实验箱的说明书)。

科学计算器课程设计报告C课程设计修订稿

科学计算器课程设计报告C课程设计 集团标准化工作小组 [Q8QX9QT-X8QQB8Q8-NQ8QJ8-M8QMN]

计算机科学与技术学部 C++课程设计 题目科学计算器 学部计算机科学与技术 班级计科1103 指导教师李军 姓名刘明 学号 2012年6月27日

摘要 计算器的产生和发展是建立在电子计算机基础之上的。硬件方面,自1946年第一台电子计算机诞生以来,计算机技术的发展可谓日新月异,从庞大的只能在实验室里供研究使用的计算机到如今能适应不同环境满足不同需求的各种各样的计算机;运算速度从每秒几千次到每秒几百亿次;处理器从焊有上百万个电子管的大的惊人的电子板到只有指甲大小的集成电路;现在计算机在硬件方面的发展已达到了每三个月更新换代一次的惊人速度。软件方面,也已从机器语言、汇编语言、高级语言发展到现如今的第四代语言——非结构化、面向对象、可视化的语言。 在这个计算器里面,我们实现了简单的四则运算以及更高功能的科学计算,它的外观简洁美观,使人们能快捷简单的操作。能准确的得到计算结果,大大减少了数字计算所需要的时间,为人们的生活带来便利。此系统在Windows 7环境下,使用VC++ 进行编写。 简单计算器包括双目运算和单目运算功能,双目运算符包含基本的四则运算及乘幂功能,单目运算符包含正余弦,对数,开方,阶乘,倒数,进制转换等运算。可对其输入任意操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。并且包含清除,退格功能等。我们所做的计算器其功能较Windows 7下的计算器还是很不够多,没有其菜单的实现功能项,没有其小巧的标准计算器。 关键词:计算器;运算;VC++等

JAVA实现计算器课程设计

JAVA实现计算器课程设计 计算机科学系 计应0701班 指导老师:刘其昌 设计人员:陈秀桃 设计日期:2009年11月10日——2009年12月20日 计算器的设计 目录 第一章绪 论 ..................................................................... .. (2)

1.1 开发环 境 ..................................................................... . (2) 1.2 基本功能介 绍 ..................................................................... ......... 2 第二章系统设 计 ..................................................................... (3) 2.1 系统流程 图 ..................................................................... . (3) 2.2 系统功能框 图 ..................................................................... (3) 2.3 需求分 析 ..................................................................... ................ 4 第三章软件设 计 ..................................................................... (5) 3.1 界面设 计 ..................................................................... . (5) 3.2 代码设 计 .....................................................................

简易计算器课程设计

评阅教师评语:课程设计成绩 考勤成绩 实做成绩 报告成绩 总评成绩指导教师签名: 课程设计报告 论文题目基于ARM的简易计算器设计 学院(系):电子信息与自动化学院 班级:测控技术与仪器 学生姓名:同组同学: 学号:学号: 指导教师:杨泽林王先全杨继森鲁进时间:从2013年 6 月10 日到2013年 6 月28 日 1

目录 1、封面—————————————————————P1 2、目录—————————————————————P2 3、前言—————————————————————P3 4、关键字————————————————————P3 5、原理与总体方案————————————————P3 6、硬件设计———————————————————P6 7、调试—————————————————————P10 8、测试与分析——————————————————P11 9、总结—————————————————————P13

10、附件—————————————————————P14 前言 近几年,随着大规模集成电路的发展,各种便携式嵌入式设备,具有十分广阔的市场前景。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个控制逻辑。在嵌入式系统中,数据和命令通过网络接口或串行口经过ARM程序处理后,或显示在LCD上,或传输到远端PC上。 本文通过周立功的LPC2106芯片完成的简易计算器,正是对嵌入式应用的学习和探索。 一、摘要: 计算器一般是指“电子计算器”,是能进行数学运算的手持机器,拥有集成电路芯片。对于嵌入式系统,以其占用资源少、专用性强,在汽车电子、航空和工控领域得到了广泛地应用。本设计就是先通过C语言进行相应程序的编写然后在ADS中进行运行最后导入PROTUES进行仿真。最后利用ARM中的LPC2106芯片来控制液晶显示器和4X4矩阵式键盘,从而实现简单的加、减、乘、除等四则运算功能。 关键字:中断,扫描,仿真,计算 二、原理与总体方案: 主程序在初始化后调用键盘程序,再判断返回的值。若为数字0—9,则根据按键的次数进行保存和显示处理。若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零。程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。最后将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。 电路设计与原理:通过LPC2106芯片进行相应的设置来控制LCD显示器。 而通过对键盘上的值进行扫描,把相应的键值通过MM74C922芯片进行运算从而

计算器课程设计报告

高级语言程序(JAVA)课程设计报告 系部名称:商学系专业班级:营销*** 学生姓名:墨璇 墨兰学号: ********** ********** 指导教师:王芬教师职称:讲师 2014年06月26日

目录 一、课程设计目的及意义 .................................... 错误!未定义书签。 二、课程设计任务 .......................................... 错误!未定义书签。 2.1程序设计要求....................................... 错误!未定义书签。 三、课程设计时间 .......................................... 错误!未定义书签。 四、课程设计地点 .......................................... 错误!未定义书签。 五、课程设计内容 .......................................... 错误!未定义书签。 5.1开发工具与平台..................................... 错误!未定义书签。 (1).开发工具 ...................................... 错误!未定义书签。 (2).开发平台 ...................................... 错误!未定义书签。 5.2设计思路........................................... 错误!未定义书签。 5.3 程序测试 .......................................... 错误!未定义书签。 5.4实验总结........................................... 错误!未定义书签。 六、课程设计感想 .......................................... 错误!未定义书签。 七、附录(程序代码) ...................................... 错误!未定义书签。

VB科学计算器课程设计

湖南医药学院 VB计算器课程设计题目: VB科学计算器 院(系)别临床医学院 专业临床医学 班级本临一班 学号 2015101010121 姓名夏铭锴 指导教师李跃强 二○一六年四月

目录 一、设计内容及要求 二、设计原始资料 三、设计完成后提交的文件和图表设计 四、进程安排 五、主要参考资料 [摘要] 用VB制作这个程序的简单计算器,它包括一个标准的计算器和一个科学计算器。它可以实现简单的加减乘除四则运算,数字的平方、平方根,正弦、余弦、正切,倒数、指数函数、对数函数,角度、弧度、梯度的转换,以及各进制的相互转换。而且它的功能还有退格,清除当前数据,清除所有数据,复制数据,粘贴数据。 在这个计算器的程序中,我用到了单行选择语句If…Then…Else…, 块语句if…then…end if,If语句的嵌套,多条件选择语句Select Case,而且还用到了按钮、文本框、框架、单选按钮控件,菜单的设计。 在此报告中我重点叙述了计算机的各个功能及用法。特别是进制间的转换和数字与运算符之间的联系。。虽然描述的不太完整,但我会尽力使用系统结构图,划分多个模块,让大家明白我设计的运算器的功能的。 [关键词] Visual Basic;计算器;对象;代码 1

2

3

四、进程安排 (1)创建应用程序的界面。 (2)设置属性。 (3)编写代码。 4

附页: 设计原始资料 Private Sub Command1_Click() '删除数字的最后一位If Label3.Caption <> "" Then Label3.Caption = Left(Label3.Caption, Len(Label3.Caption) - 1) Else c = MsgBox("内容已为空!不可删除一位!", 49, "注意!") End If End Sub Private Sub Command10_Click() '输入数字6 Label3.Caption = Label3.Caption + Command10.Caption End Sub Private Sub Command11_Click() If Label3.Caption <> "" Then '输入符号* Label1.Caption = Label3.Caption Label2.Caption = Command11.Caption Label3.Caption = "" Else c = MsgBox("请输入数据后输入符号!", 49, "注意!") End If End Sub 5

最新单片机简易计算器课程设计

单片机简易计算器课 程设计

引言 说起计算器,值得我们骄傲的是,最早的计算工具诞生在中国。中国古代最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也有用木头,兽骨充当材料的。约二百七十枚一束,放在布袋里可随身携带。直到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时的珠算盘已经与现代的珠算盘几乎相同。17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发展,也为现代计算器发展奠定了良好的基础,成为现代社会应用广泛的计算工具。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本任务是个简易的两位数的四则运算,程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不完善,限制也较多。本任务重在设计构思与团队合作,使得我们用专业知识、专业技能分析和解决问题全面系统的锻炼。 随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS –51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。 事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台

矩阵键盘简易计算器要点

《微处理器系统与接口技术》课程实践报告 计算器 班级: 学号: 学生姓名: 指导老师: 日期: 2014.7.5 ******电子与信息工程学院

目录 1、设计题目:计算器 (3) 2、设计目的 (3) 3、计算器总体设计框图 (3) 4、计算器详细设计过程 (4) 4.1输入模块 (4) 4.2键盘输入电路 (5) 4.3主程序模块 (6) 5、分析与调试 (6) 7、运行结果 (8) 8、结束语 (8) 8、参考文献 (8) 9、源程序附录 (9) 9.1主程序 (9) 9.2延时函数delay (12) 9.3显示函数display (12) 9.4键盘扫描函数 (14) 9.5预定义函数 (15)

1、设计题目:计算器 2、设计目的 此次课程实践题目是基于单片机简单计数器的设计,本此设计使用的是Intel公司MCS-51系列的8051AH单片机。设计的计算器可以实现2位小数的加、减、乘、除运算以及整数的乘方运算,其中用4*4矩阵键盘来输入待参与运算的数据和运算符;八位数码管动态显示输入待参与运算的数据以及运算后产生的结果,每个硬件模块的调用过程中涉及到了函数入口及出口参数说明,函数调用关系描述等。 3、计算器总体设计框图 计算器以MCS-51系列的8051AH单片机作为整个系统的控制核心,应用其强大的I/O功能和计算速度,构成整个计算器。通过矩阵键盘输入运算数据和符号,送入单片机进行数据处理。经单片机运算后控制LED数码管的输出。整体框图如图1所示: 图3 整体框图 本系统硬件主要由矩阵键盘、独立键盘I/O输入输出、数码管显示等主要部分组成。各模块的主要功能如下: (1)矩阵键盘将十六进制编码的数字送到单片机。 (2) 单片机扫描键盘信号并接收,对输入的键盘信号进行处理 (3) LED以动态扫描的方式移位显示每次输入的数据和最后的运算结果。实践设计的具体流程图如下图2所示:

计算机技术综合课程设计报告

计算机技术综合课程设计 设计题目锅炉液位控制系统学生姓名史婷艳 专业班级自动化1302班学号20134460203 指导老师洪镇南 2017年1 月3日

目录 前言 (2) 1 锅炉汽包水位控制对象与控制指标 (4) 1.1锅炉汽包水位的特征 (4) 1.2汽包水位动态特性 (4) 1.2.1汽包水位在给水流量W作用下的动态特性 (4) 1.2.2汽包水位在蒸汽流量D扰动下的动态特性 (5) 1.2.3燃料量B扰动下汽包水位的动态特性 (6) 2. 汽包水位控制方案 (7) 2.1单冲量控制方式 (7) 2.2 双冲量控制方式 (8) 2.3 三冲量控制方式 (9) 3. 三冲量串级PID控制 (11) 3.1 串级PID控制 (11) 3.2 智能整定PID控制 (12) 4 汽包水位模糊控制器设计及仿真 (12) 4.1 输入输出变量 (12) 4.2 隶属度函数 (15) 4.3基于MATLAB/Simulink 环境建立的系统仿真分析 (16) 4.3.1 基于MATLAB/Simulink 的系统模型 (16)

4.3.2 仿真结果分析 (18) 总结与体会 (18) 参考文献 (20) 前言 锅炉是典型的复杂热工系统,目前,中国各种类型的锅炉有几十万台,由于设备分散、管理不善或技术原因,使大多数锅炉难以处于良好工况,增加了锅炉的燃料消耗,降低了效率。同时,锅炉工作过程中各项指标的调节难以建立数学模型,具有非线性、不稳定性、时滞等特点,所以如何改善对锅炉的控制,保证其正常工作,提高效率一直是人们关注的焦点。而汽包液位是锅炉安全、稳定运行的重要指标,保证液位在给定范围内,对于高蒸汽品质、减少设备损耗和运行损耗、确保整个网络安全运行具有要意义。 现代锅炉的特点之一就是蒸发量显著提高,汽包容积相对变小,水位变化速度很快,稍不注意就容易造成汽包满水或者烧成干锅,这都对汽包液位控制系统提出了更高的要求。汽包液位过高,会影响汽包内汽液分离效果,使汽包出口的饱和蒸汽带水增多,蒸汽带水会使汽轮机产生水冲击,引起轴封破损、叶片断裂等事故。同时会使饱和蒸汽中含盐量增高,降低过热蒸汽品质,增加在过热器管壁和汽轮机叶片上的结垢。水位过低,则可能破坏自然循环锅炉汽水循环系统中某些薄弱环节,以致局部水冷管壁被烧坏,严重时会造成爆炸事故。 目前,对汽包液位位控制大多采用常规PID控制方式,从控制方式来看,它们要么系统结构简单成本低,不能有效的控制锅炉汽包“虚假水位”现象,要么能够在一定程度上控制“虚假现象”,系统却过于复杂,成本投入过大。常用的蒸汽锅炉液位调节系统有三种基本结构:单冲量调节系统结构、双冲量调节系统结构、串级三冲量调节系统结

数据结构计算器(包括中缀转换后缀)课程设计报告

课程设计报告 题目:计算表达式的值 1.问题描述 对于给定的一个表达式,表达式中可以包括常数、算术运行符(“+”、“-”、“*”、“/”)和括号,编写程序计算表达式的值。 基本要求:从键盘输入一个正确的中缀表达式,将中缀表达式转换为对应的后缀表达式,并计算后缀表达式的值。对于表达式中的简单错误,能够给出提示,并给出错误信息;表达式中可以包括单个字母表示的变量。 测试数据:任意选取一个符合题目要求的表达式。 提高要求:(1)能够处理多种操作符。 (2)实现包含简单运算的计算器。 (3)实现一个包含简单运算和函数运算的计算器。 2.需求分析 (1)软件的基本功能 本软件实在win32工程下实现的带有界面和图标的功能较为齐全的计算器。 此计算器分三个方面进行计算,分别为数值表达式的计算,字母表达式的计算和函数计算。可由键盘或用鼠标点击按键输入带有数字或字母的中缀表达式,程序可以将输入的带有数字或字母的中缀表达式转换成对应的后缀表达式,并计算只含有数字的后缀表达式的值。本软件支持含小数、多位数等多种操作数的处理,可以计算含加、减、乘、除、百分号、求余、求幂,求阶乘,求三角函数的值等多种运算符和函数的表达式 (2)输入/输出形式 用户可通过打开图标弹出来的计算器界面任意点击操作。对于在输入时发生的简单错误,软件通过弹出对话框给出提示并且在提示错误的同时自动将用户的出错输入略去转化成正确的表达式进行计算,用户也可选择清楚操作然后重新输入a.对于数值和函数表达式软件会输出其表达式的后缀表达式和计算结果并保留六位小数; b.对于字母表达式因字母无法进行数值运算,软件仅输出其后缀表达式的值;清楚按钮可以清楚有已经输入或输出的数据从头计算; 软件窗口可实现最小化。并且输入编辑框可进行修改,复制,粘贴等操作,但后缀表达式和求值结果的编辑框中的内容不可修改,只能执行复制操作。

相关文档
最新文档