基于MSP430和RC522的读卡器系统设计

基于MSP430和RC522的读卡器系统设计
基于MSP430和RC522的读卡器系统设计

基于MSP430和RC522 的读卡器系统设计[1]

分类: rfid [2] 2011-10-17 18:39 525人阅读评论(0) 收藏[3]举报

本文设计的读卡器系统以MSP430单片机作为主控芯片,选用MIFARE S50卡片,读卡器与卡片间以106kbps速率通信,同时实现读卡过程中的防冲突处理和对卡E2PROM块内容的读/写等功能。读卡器内部设置了Flash存储器以存放卡数据,在Flash容量满的情况下可通过读卡器的以太网口读出全部数据到管理中心上位机,便于建立对卡数据的综合管理系统。

 1 硬件系统设计

 读卡器硬件框图如图1所示。

 单片机MSP430通过SPI总线与RC522和Flash芯片AT45D011相连,同时用简化的ISA总线连接以太网接口芯片C58900,以提供连接到局域网的能力。AT45D0ll 存储容量为lMb,可同时存储7400多组MIFARE的E2PROM块和UID号,提供了足够读卡器一天内读取的信息量的存放容量。对于RC522天线部分的设计,Philips 公司有专门的手册详细介绍,本文不再赘述。RC522的SPI总线接口有其自身的时序要求。它只能工作于从模式,最高传输速率为10 Mbps,数据与时钟相位关系满足“空闲态时钟为低电平,在时钟上升沿同步接收和发送数据,在下降沿数据转换”的约束关系。MSP430系列单片机的片上外设包括1个SSP模块。该模块可配置为SPI接口使用,通过相应的寄存器可控制SPI接口的数据传输率、数据一时钟相位天系等通信参数。本文中配置SSP模块工作于SPI主模式下,时钟为1/4单片机主

频,接收和发送数据都在时钟上升沿发生。

需要注意的是,由于RC522支持的数字接口形式多种多样,因此芯片在每次复位时都会检测外部引脚连接关系。对于SPI接口,RC522的相关引脚必须按照图2所示的连接关系配置。

除了通用的4条SPI信号线(时钟线SCK、输入数据线MOSI、输出数据线MISO 和选通线NSS)以外,RC522要求额外的2个引脚I2C和EA分别固定接低电平和高电平。这2个引脚不参与SPI总线传输,只起设定RC522数字界面采用SPI接口的作用。另外,片选信号必须保证在写入数据流期问为低电平,而在无数据流写入时则为高电平;用户不得为节省PIC单片机引脚资源而一直将NSS置为低电平。

2 软件系统设计

相对于Philips公司生产的其他14443基站芯片(如RC500、RC530等),RC522简化了内部系统结构,去掉了片内E2PROM。从而大大缩减了芯片命令集。另外,对载波调制电路,发送电路和解调、解码电路的控制也相应简化,去掉了校准接收电路I时钟、Q时钟、校准发送与接收时钟相位等繁琐的操作。一般而言,单片机与RC522的通信流程如图3所示。

根据RC522和MIFARE卡间传送的控制流数据的不同,通信过程中可能会出现不同的状态。对各种状态须作不同处理,这正是软件系统开发的难度所在。下面给出RC522命令集中2个最基本命令(Tranceive和MFAuthe-nt)执行过程中可能遇到的通信状态及处理。这两个命令分别实现向MIFARE卡发送/接收数据和加密认证功能。实际上,通过它们即可完成对MIFARE卡的所有操作,包括Request、Anticollision、Select、READ、WRITE等。

 2.1 RC522命令集的实现

 RC522主要的状态指示寄存器包括ComIrqReg、Er-rorReg、Status2Reg和FIFOLevelReg等。软件处理的思路:通过ComIrgReg得到RC522内部中断状态;由中断判断RC522与MIFARE卡的通信流程信息,从而决定是否进行下一流程处理;若中断指示有错误发生,则需进一步读取ErrorReg的内容,据此返回错误字。

2.1.1 Tranceive命令

Tranceive命令的具体执行过程;读取RC522 FIFO中的所有数据,经基带编码和数字载波调制后通过通信接口以射频形式发送到MIFARE卡;发送完毕后通过通信接口检测有无MIFARE卡发送的射频信号回应,并将收到的信号解调、解码后放入FIFO中。分析以上Ttanceive命令执行过程,可以得到处理该命令的算法流程图,如图4所示。

为了处理MIIFARE卡在读卡器产生的电磁场中激励后,未完成处理就从激励场中拿开的情况,软件中启用了RC522芯片内部的定时器。若超过设定的时间未得到卡片应答,则中止与卡的通信,返回“卡无反应”的错误信息。

从图4中可以看出Tranceive命令的核心处理方法:根据相关通信状态指示寄存器的内容返回各种错误状态字,若有位冲突错误,则进一步返回位冲突位

置。Tranceive命令不处理面向比特的帧,这种帧只可能在MIFARE卡防冲突循环中出现。为了保持Tranceive命令对各种MI-FARE卡命令的普适性,该命令只完成帧的发送和接收,不对帧信息作处理,所有位冲突处理留在函数外进行。

 需要注意的是,Tranceive命令不能自动中止,在任何情况下从该命令返回时必须先执行IDLE指令使RC522转入空闲态。

 2.1.2 MFAuthent命令

RC522简化了与MIFARE卡的加密认证操作,用一个MFAuthent命令代替了原来RC500需要的Authentl和Authent2两条命令。MFAuthent命令执行的最终目的在于开启RC522的加密认证单元。该指令执行成功后,RC522芯片与MIFARE卡间的通信信息将首先加密,然后再通过射频接口发送。从本质上讲,MFAuthent是一条变相的Tranceive命令,其算法流程图与图4一致。但RC522芯片内部已经对通信过程中的各种通信状态作了相应处理,且该命令执行完后自动中止,因此用户只须检测定时器状态和错误寄存器状态来判断执行情况。实际上,MFAuthent只可能有一种错误状态(RC522与MI-FARE卡通信帧格式错误),此时该命令不能打开加密认证单元,用户必须重新执行认证操作。

 MFAuthent执行过程中RC522将依次从FIFO中读取1字节认证模式、l字节要认证的E2PROM块号、6字节密钥和4字节射频卡UID号等信息,在命令执行前必须保证这12字节数据完整地保存在FIFO中。认证模式有A密钥认证和B密钥认证两种,一般选用A密钥认证。

一次MFAutllent认证只能保证对MIFARE卡的一个扇区中的4个数据块解密,若要操作其他扇区的数据用户还须另外启动对该扇区的认证操作。

 2.2 MIFARE卡操作指令

 对MIFARE卡常用的操作指令包括查询、防冲突、选卡、读/写E2PROM块

等。其中,防冲突指令是14443A协议的精华部分,实现难度较大。下面将重点介绍防冲突算法的软件实现方法。

 2.2.1 防冲突指令

 14443A标准定义的防冲突算法本质上是一种基于信道时分复用的信道复用方

法。在某一时刻若多个射频卡占用射频信道与读卡器通信,则读卡器将会检测到比特流的冲突位置;然后重新启动另一次与射频卡的通信过程,在过程中将冲突位置上的比特值置为确定值(一般为1)后展开二进制搜索,直到投有冲突错误被检测到为止。MIFARE卡内有4字节的全球惟一序列号UID,而RC522防冲突处理的目的就在于最终确定MIFARE卡的UID。14443A标准的防冲突指令格式如下:

 

其中:命令代码“93”代表要处理的射频卡UID只有4字节;NVM表示此次防冲突命令的UID域中正确的比特数;BCC字节只有在NVM为70(即UID的4字节都正确)时才存在,它表示此时整个UID都被识别,防冲突流程结束。

 防冲突算法流程图如图5所示。

NVM初始值为20,表示该命令只含有2个字节,即“93+20”,不含UID数据,MIFARE卡须返回全部UID字节作为响应。若返回的UID数据有位冲突的情况发生,则根据冲突位置更新NVM值。可知在搜索循环中,随着UID已知比特数的加入,NVM不断增加,直到70为止。它表示除了“93+70”两个命令字节外,还有UID0~UID3和BCC 5个UID数据字节。此时命令字节共有7个,防冲突命令转变为

卡片选择命令。

防冲突流程中若遇到须发送和接收面向比特的帧的情况,则必须预先设置通信控制寄存器BitFramingReg。该寄存器可指明发送帧中最后一个字节和接收帧第一个字节中不完整的比特的位数。

2.2.2 读卡和写卡指令

14443A协议中并没有具体规定对射频卡的读写操作方式,故对每种卡的读写操作都必须考虑该卡的存储区域组织形式和应答形式。MIFARE卡内部存储器是由E2PROM组成的,共划分为16个扇区,每个扇区4个块,每块16字节。对E2PROM 的读写都以块为单位进行,即每次读/写16字节。

以写卡指令为例,MIFARE卡要求有两步握手,指令格式分别如下所述。

Setp A:查询块状态。

 

若块准备好,则MIFARE卡返回4比特应答。若值为1010,则可进行下一步操作;若值非1010,则表示块未准备好,必须等待直至块准备好为止。

Step B:写数据。

若写入成功,则MIFARE卡返回4比特应答,值仍为1010;若非lOl0,则表示写入失败。

读卡指令格式如下:

若执行成功,则MIFARE卡返回18字节应答比特。需要注意的是,其中只有16字节是读取的块数据,另外2个字节为填充字节。若字节数不为18,则可判断读卡操作错误。

MIFARE卡数据加密时以扇区为单位,一次加密认证仅能操作一个扇区的数据。这为用户实现“一卡通”功能提供了便利,用户可在不同的扇区内采用不同加密方式互不干扰地存放各种目的应用数据。实际生活中常见的一种应用是电子钱包,对卡的写操作须按照一定的格式进行。一个块的数据组成如下:

 注意:address值无意义,但value值写入时必须在4~7字节中存入取反值。

2.3 读卡器总体软件设计

 读卡器的软件设计思路是利用RC522的Tranceive命令作为标准函数,通过调用此函数实现MIFARE卡操作指令。MIFARE卡的操作流程如图6所示,其要点是将操作完成的卡转入休眠态,递减可能发生冲突的卡片数目直至所有卡片操作完毕,此时防冲突函数无卡片应答。

 RC522芯片在每次使用前都必须复位,除了在复位引脚NRSTPD输入从低电平至高电平的跳变沿外,还必须向RC522的命令寄存器CommandReg写人软复位命令代码0x0I?进行软复位。在利用Rc522操作MIF’RAE卡之前,用户必须正确设置芯片模拟部分的工作状态。依笔者经验,一般情况下RC522调制、解调方式采用默认设置即可;在106 kbps通信速率下可正常使用,但必须保证天线驱动接口打开,可以通过设置Tx—controlReg寄存器实现。另外,由于14443A协议采用调制深度为100的ASK调制,这一点与默认设置不同,因此必须相应设置TxASKRc毽来实现该种调制方式。

 RC522的通信参数设置很复杂,可以调控调制相位、调制位宽、射频信号检测强度、发送/接收速度等设置。在硬件调试过程中,用户可根据实际情况选用适合自身使用的设置形式。

 结语

 本文设计的读卡器在106 kbps通信速率下读卡距离达50 mm,可以实现考勤、电子钱包功能;整个读卡器采用低功耗元件,可以作为一个网络终端、以电池作后备电源可靠地工作。对于Rc522的应用,防冲突和通信接口的设置是重点。不同的射频卡协议,防冲突流程各不相同,通信接口也会有差异,但修改Rc522的相关设置即可使物理接口满足协议要求。对于防冲突处理,Rc522支持基于比特冲突检测的处理方式,不可处理类似144。13B的ALOHA时隙方式。

1. https://www.360docs.net/doc/0012916307.html,/apple_guet/article/details/6882168

2. https://www.360docs.net/doc/0012916307.html,/apple_guet/article/category/908279

3. javascript:void(0);

计算器课程设计报告

课设报告 福建工程学院软件学院 题目:汇编计算器 班级: 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,“+”“-”“*”“/”这些字符,若不是就会报错,实则根据运算符号调用其功能模块完成运算。最后将运算的结果显示在主频幕上,返回主程序,使用户可以重新输入。

简易计算器设计-msp430-C语言

简易计算器

目录 摘要…………………………………………………………………………………P3 关键字………………………………………………………………………………P3 一、设计要求………………………………………………………………………P3 二、方案论证与选择………………………………………………………………P3 2.1 单片机选择………………………………………………………………P3 2.2 LCD显示屏选择…………………………………………………………P3 2.3 键盘选择…………………………………………………………………P4 2.4 CPU工作方式选择………………………………………………………P4 三、系统实现………………………………………………………………………P4 3.1 硬件设计…………………………………………………………………P4 3.1.1系统框图……………………………………………………………P4 3.1.2 盘的电平设计以及与单片机的连接 键……………………………P5 3.2.3单片机与显示器的连接…………………………………………… P5 3.2软件设计…………………………………………………………………… P6 四、作品性能测试与分析…………………………………………………………P10 4.1试性能概览………………………………………………………………P10 4.2误差分析…………………………………………………………………P12

五、参考文献………………………………………………………………………P12 六、附录……………………………………………………………………………P13 6.1计算器功能介绍…………………………………………………………P13 6.2仿真电路图………………………………………………………………P13 6.3元件清单…………………………………………………………………P13 6.4原程序代码………………………………………………………………P14 摘要:本设计以低功耗单片机MSP430V136T、1602字符型液晶屏和4*4简易键盘为主要器件,来实现加、减、乘、除、开根号、平方、求倒数等运算。设计中分别采用P1口低4位和P2口低4位与键盘的行列线相连,用于采集中断信号并分析键值;键盘规格为4*4,由于所需的功能键数大于16,因此需要进行按键复用;单片机的P3口连接显示器的D0~D7端,用于输出显示数据或控制命令;选用P4口中的3、4和5口用于实现显示屏的控制功能:使能、控制/数

Java带计算过程的计算器课程设计报告

保存计算过程的计算器 Java程序设计课程设计报告保存计算过程的计算器 目录 1 概述.............................................. 错误!未定义书签。 1.1 课程设计目的............................... 错误!未定义书签。 1.2 课程设计内容............................... 错误!未定义书签。 2 系统需求分析.......................................... 错误!未定义书签。 2.1 系统目标................................... 错误!未定义书签。 2.2 主体功能................................... 错误!未定义书签。 2.3 开发环境................................... 错误!未定义书签。 3 系统概要设计.......................................... 错误!未定义书签。 3.1 系统的功能模块划分......................... 错误!未定义书签。 3.2 系统流程图................................. 错误!未定义书签。4系统详细设计........................................... 错误!未定义书签。 5 测试.................................................. 错误!未定义书签。 5.1 测试方案................................... 错误!未定义书签。 5.2 测试结果................................... 错误!未定义书签。 6 小结.................................................. 错误!未定义书签。参考文献................................................ 错误!未定义书签。附录................................................ 错误!未定义书签。 附录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口德扫描结果和各按键的地址,我们就可以得到是哪个键按下,从而完成键盘的功能。 以下为键盘接口电路的硬件电路图

北京邮电大学课设 基于MSP430的简单信号发生器的设计

基于MSP430的信号发生器 设计报告 学院:电子工程学院 班级:2013211212 组员:唐卓浩(2012211069) 王旭东(2013211134) 李务雨(2013211138) 指导老师:尹露

一、摘要 信号发生器是电子实验室的基本设备之一,目前各类学校广泛使用的是标准产品,虽然功能齐全、性能指标较高,但是价格较贵,且许多功能用不上。本设计介绍一款基于MSP430G2553 单片机的信号发生器。该信号发生器虽然功能及性能指标赶不上标准信号发生器,但能满足一般的实验要求,且结构简单,成本较低。本次需要完成的任务是以MSP430 LaunchPad 的单片机为控制核心、DAC 模块作为转换与按键电路作为输入构成的一种电子产品。MSP430 LaunchPad 单片机为控制核心,能实时的进行控制;按键输入调整输出状态,DAC0832将单片机输出的数字信号转化为模拟量,经运放放大后,在示波器上输出。在本次程序设计中充分利用了单片机内部资源,涉及到了中断系统、函数调用等。 关键字:信号发生器 MSP430单片机数模转换 二、设计要求 以msp430单片机为核心,通过一个DA (数字模拟)转换芯片,将单片机输出的方波、三角波、正弦波(数字信号)转换为模拟信号输出。提供芯片:msp430G2553、DAC0832、REF102、LM384、OP07。参考框图如下: Lauchpad MSP430 电位器 按键1 DA 转换DAC0832 放大输出LM384 按键N 按键2 AD …… 图1 硬件功能框图 1、基本要求 (1) 供电电压 VDD= 5V~12V ;(√) (2) 信号频率:5~500Hz(可调);(√) (3) 输出信号电压可调范围:≥0.5*VDD ,直流偏移可调:≥0.5*VDD ;(√) (4) 完成输出信号切换;(√) (5) 方波占空比:平滑可调20%~80%;(√) (6) 通带内正弦波峰峰值稳定度误差:≤±10%(负载1K )。(√)

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

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

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

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

java课程设计报告_简单图形界面计算器的设计

Java 课程设计 简单图形界面计算器的设计 课程名称 Java程序设计 选题名称简单图形界面计算器的设计 专业 班级 姓名 学号 指导教师 简单图形界面计算器的设计

一、设计任务与目标 本次java程序设计我的设计任务是设计一个图形界面(GUI)的计算器应用程序并且能够完成简单的算术运算。本次任务的基本要求是这个计算器应用程序可以完成十进制的加、减、乘、除、求倒、取余、开方运算,且有小数点、正负号、退格和清零功能。而我要在此基础上添加一项千位符分隔符的功能,即以三位为一级,在输入的一串数字中每三位加入一个逗号,这项功能国际通用,并已经成为惯例,会计记账都用这种方法便于账目核算与管理。 GUI计算器设计的具体目标: 1.完成十进制的加、减、乘、除、求倒、取余和开方运算; 2.有小数点和正负号加入运算; 3.有退格、复位和清零的功能; 4.有千位符分隔符的功能,即在输入的一串数字中每三位加入一个逗号。 二、方案设计与论证 1.设计目标的总体分析 (1)设计目标的需求分析:计算器是现在一个普遍应用的工具,能够解决许多人工所无法计算的数据,节省大量宝贵的时间。 (2)设计目标的功能分析:实现计算器系统的功能,主要有两个功能模块:输入和输出。 (3)设计原则:基于计算器系统要具有适用性广、操作简便等特点,本系统预计要达到以下几个目标:①满足以上的基本功能要求;②能够在常见的计算机及其操作系统上运行。 2.设计的基本思路 利用GUI的界面设计,将整个大设计分为三块,分别是数据的输入,运算符

功能符的控制和数据的输入输出显示。利用Swing控件,数据的输入由0~9这10个按钮来表示,用“+”、“-”、“*”、“/”、“1/x”、“%”、“sqrt”这7个按钮来表示加、减、乘、除、求倒、取余、开方运算,用“.”和“±”这2个按钮来表示小数点和正负号,用“Back”、“CE”和“C”这3个按钮来表示退格、复位和清零的功能,数据的输入输出显示由文本字段来表示。将计算器的总体界面设计好后,再将代码分别写入不同的按钮的源程序中。 我要完成的一项改进,即添加一个拥有千位符分隔符功能的按钮,按下这个按钮能够在输入的一串数字中每三位加入一个逗号并且显示出来。我要在之前的界面设计的基础上多添加一个按钮“$”来表示千位符分隔符,并且将功能代码写入这个按钮的源程序中。 三、程序流程图,程序清单与调用关系 1. 程序流程图:

计算器课程设计报告

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

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

计算器设计的java课程设计报告

】 · ( 华东交通大学课程设计 课 程: Java 程序设计 题 目: 计算器设计 年 级: 2010级 专 业: 信息一班 * 学 号: 姓 名: 组 员: 指导教师: 课程设计题目:计算器设计

课程设计(论文)任务书 基础学院信息与计算科学专业2010—1 班 一、课程设计(论文)题目计算器的设计 二、课程设计(论文)工作自2013 年 6 月23日起至2013 年6月27日止。 三、课程设计(论文) 地点: 计算机中心 · 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握系统各功能模块的基本工作原理; (2)掌握Java的基本编程原理和基本的编程方法; (3)使学生学会系统调试; (4)培养学生分析、解决问题的能力; (5)提高学生的软件文档写作能力和团队合作精神。 2.课程设计的任务及要求 ' 1)基本要求: (1)分析系统各功能模块的工作原理; (2)提出系统的设计方案; (3)对所进行编程、调试、修改。 2)创新要求: 在基本要求达到后,可进行创新设计,如:用虚函数,文件流,重载流插入运算符等。3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写设计论文; > (2)论文包括目录、摘要、正文、总结等; (3)毕业论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分; (2)能正确回答老师所提问题,可增加10分; (3)课程设计报告书写规范整齐,可增加10分; (4)心得体会认真总结,可增加10分; (5)程序有创新性,可增加10分; [ 成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。 5)参考文献:

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

计算机技术综合课程设计 设计题目锅炉液位控制系统学生姓名史婷艳 专业班级自动化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控制方式,从控制方式来看,它们要么系统结构简单成本低,不能有效的控制锅炉汽包“虚假水位”现象,要么能够在一定程度上控制“虚假现象”,系统却过于复杂,成本投入过大。常用的蒸汽锅炉液位调节系统有三种基本结构:单冲量调节系统结构、双冲量调节系统结构、串级三冲量调节系统结

基于MSP430的智能电子秤设计

摘要 目前,电子计价秤的使用非常普及,逐渐会取代传统的杆秤。由压力传感器制作的电子秤已广泛地应用到各行各业, 特别是微处理机的出现,工业生产过程自动化程度的不断提高,压力传感器已成为过程控制中的一种必需的装置。 本文介绍了一种以MSP430单片机微处理器最小系统,并配以几个主要的集成电路器件设计成的智能电子秤。本系统是利用压力传感器采集当前压力,根据输入单价,准确计算出物品的金额,同时把重量、金额显示到LED数码管上。 关键词:压力传感器放大器单片机

Abstract Nowadays,electronic scale is very popular and it will replace the traditional steelyard gradually. The electronics steelyard made by the pressure transducer has been applied to all professions, especially the emergence of the microprocessor. And with the increasing of the automation of industry production, the pressure transducer becomes a kind of essential device in the process control. This paper introduces a MSP430 smallest single-chip microprocessor system, and with several major integrated circuit devices designed as a smart electronic scales. The system is to use pressure sensors collect the current pressure, according to input price, and accurately calculate the amount of goods,At the same time, the weight of the amount of shows on the LED digital tube. Keywords:Pressure Transducer amplifier Single chip microcomputer

java课程设计报告计算器

java课程设计报告 计算器 1 2020年4月19日

目录 一、课程设计目的 (5) 二、课程设计任务.................................................................................................... .. (2) 2.1、设计任务 (5) 2.2、课程设计要求: (6) 2.3、需求分析 (6) 三、开发工具与平台.................................................................................................... (3) 3.1、开发工具 (7) 3.2、开发平台 (7) 2 2020年4月19日

四、设计思路.................................................................................................... . (4) 4.1、界面设计.................................................................................................... . (4) 4.2.1、逻辑设计 (8) 4.2.2、程序流程图.................................................................................................... . (5) 4.2.3、主要代码展示及说明 (5) 4.3、程序测试 (18) 五、实验小结 (20) 3 2020年4月19日

基于MSP430单片机的数字式水表设计

收稿日期:2004-07-31;修改日期:2004-09-28作者简介:张 宇(1979-),男,安徽宿州人,合肥工业大学硕士生; 张 辉(1963-),男,江苏海门人,合肥工业大学教授,硕士生导师.第27卷第10期 合肥工业大学学报(自然科学版)Vo l.27No.102004年10月JOURN AL OF HEFEI U NIVERSITY OF T ECH NOLOGY Oct.2004 基于M SP 430单片机的数字式水表设计 张 宇, 张 辉 (合肥工业大学仪器仪表学院,安徽合肥 230009) 摘 要:为了提高测量精度,利用T I 公司M SP430系列单片机的特点开发出利用维权磁敏传感器的数字式叶轮水表。给出了传感器的信号处理电路及软件处理程序流程。介绍了M S P430单片机的特点并详细讨论了其中断处理特点。并利用线性分段插值的方法对水表的非线性仪表系数进行误差修正。实验数据证明利用该方法设计的水表在全量程内都可保持较高的精度。 关键词:数字式水表;误差修正;磁敏传感器 中图分类号:TU 991.63 文献标识码:A 文章编号:1003-5060(2004)10-1375-04 Design of digital water meter based on MSP 430 ZHANG Yu, ZHANG Hui (School of Instrum ent,Hefei Un iversity of T echnology,Hefei 230009,China) Abstract :To improv e the precision of m easurement,an impeller w ater m eter is dig itized by using M SP 430and the Vegen mag netic sensor .The cir cuit for processing the sensor 's sig nal and the corre-sponding softw are flow are presented.The featur e of M SP430and its inter rupt processing are dis-cussed.T he error correction is made by using the linear fitting metho d.T he data o f experiment pr oves that the obtained precisio n can be rather hig h in the w hole measurement r ang e. Key words :digital w ater meter ;erro r correction ;magnetic senso r 叶轮式水表是一款比较成熟的流量传感器。家庭中使用的水表就多为旋翼式叶轮水表。叶轮式水 表的工作原理为:当水以一定流速流过水表时,水表的叶轮转动,其转速n 和水流速度u 成正比[1],即 n =Cu (1) 式中 n ——叶轮转速(r /s) u ——水流速度(m/s) C ——比例系数 当流量计口径一定时,理论上叶轮的转速与流量成线性关系。而实际上水表的比例系数并不是一个常数,所以要提高水表的测量精度必须实时修正水表的比例系数。普通水表只是将叶轮的转动通过齿轮组变换成表盘上指针的偏转量,完成对流量的积算,所以不能对水表进行实时误差修正。随着技术的进步和人们对水表要求的提高,无线式水表、IC 卡水表等智能化水表已经出现。 这些水表不仅能够将流量信号变换成为电脉冲信号从而进行数字化处理,而且能够进行误差修正以提高测量精度。

编写一个计算器程序课程设计报告-范例

《金融IT入门-程序设计》 课程设计报告 中国地质大学长城学院XX系2017年月 3 日目录 一.总体概述:二.设计目标:三.程序流程图:四.程序代码:五.* 六.设计体会: 题目:用Python编写简易计算器程序学号:$ 专业: 班级: 姓名: 指导教师:、

一、设计内容--------------------------------------------- - 2 - 1. 课程设计目的:------------------------------------- - 2 - 2.课程设计任务:-------------------------------------- - 2 - 3.创新要求:------------------------------------------ - 2 - 4.设计要求: ------------------------------------------- - 2 - 二、原理与分析------------------------------------------- - 2 - 1.开发的技术及功能------------------------------------ - 3 - 2.设计思路-------------------------------------------- - 3 - 3.设计效果图------------------------------------------ - 3 - 三、设计过程--------------------------------------------- - 3 - 1. 程序思路:----------------------------------------- - 3 - 2.功能实现:------------------------------------------ - 4 - 1)加减乘除求余以及指数运算------------------------ - 4 - 2)其他运算---------------------------------------- - 4 - 3)主要方法说明------------------------------------ - 6 - 4)程序流程图-------------------------------------- - 6 - 3.算法思路:------------------------------------------ - 7 - 4.数据分析:------------------------------------------ - 8 - 四、设计结果与分析---------------------------------------- - 8 - ⒈运行调试-------------------------------------------- - 8 - 1)进行加减乘除求余以及指数运算-------------------- - 8 - 2)求倒-------------------------------------------- - 9 -

430 单片机 计算器

#include const unsigned char data[22] ={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e, 0x8f,0xbf,0x89,0xb9, 0xff,0xaf};//0~9 a~f 符号 unsigned char segment[8] = {20,20,0,0,0,0,0,0};//初始数码管 unsigned char flag1=0; void delay(unsigned int j) { unsigned int i; for(i=0;i1;a--) segment[a]=0; } void zhuanhuan( unsigned long r) { segment[7]=r%10; segment[6]=r/10%10;

segment[5]=r/100%10; segment[4]=r/1000%10; segment[3]=r/10000%10; segment[2]=r/100000%10; } unsigned char getkey(void) { unsigned char m,n=16; P1OUT=0x00; if((!(P1IN&BIT4))||(!(P1IN&BIT5))||(!(P1IN&BIT6))||(!(P1IN&BIT7))) {delay(10000); if((!(P1IN&BIT4))||(!(P1IN&BIT5))||(!(P1IN&BIT6))||(!(P1IN&BIT7))) { flag1=1; for(m=0;m<=2;m++) { P1OUT=~BIT0; if(!(P1IN&BIT7)){n=3;break;} if(!(P1IN&BIT6)){n=7;break;} if(!(P1IN&BIT5)){n=11;break;} if(!(P1IN&BIT4)){n=15;break;} P1OUT=~BIT1; if(!(P1IN&BIT7)){n=2;break;} if(!(P1IN&BIT6)){n=6;break;} if(!(P1IN&BIT4)){n=14;break;} if(!(P1IN&BIT5)){n=10;break;} P1OUT=~BIT2; if(!(P1IN&BIT7)){n=1; break;} if(!(P1IN&BIT6)){n=5; break;} if(!(P1IN&BIT5)){n=9; break;} if(!(P1IN&BIT4)){n=13; break;} P1OUT=~BIT3; if(!(P1IN&BIT7)){n=0; break;} if(!(P1IN&BIT6)){n=4; break;} if(!(P1IN&BIT5)){n=8; break;}

计算机课程设计报告

课程设计 课程名称______________________ 题目名称______________________ 学生学院______________________ 专业班级______________________ 学号______________________ 学生姓名______________________ 指导教师______________________ 200 年月日

摘要 本课程设计说明书主要说明了在windows下如何用c语言编写设计ftp服务器和客户端的基本方法及其实现。包含了TCP/IP协议基本通信原理,Winsock编程基本原理以及ftp工作原理。正文部分是程序设计的具体内容及其源代码,最后是报告反思及总结。 关键词:TCP/IP,Winsock,ftp 摘要 (1) 1.绪论 (2) 1.1设计目的 (2) 1.2设计要求 (2) 1.21计算机网络实验环境建立在TCP/IP 网络体系结构之上。 (2) 1.22具体要求 (2) 1.3设计准备 (1) 1.4设计方案 (1) 2.开发环境介绍 (2) 3.相关原理分析了解 (2) 3.1TCP/IP原理 (2) 3.11网络层协议 (2) 3.12应用层协议 (2) 3.2Winsock编程原理 (3)

3.23Winsock编程模型: (3) 数据报套接字编程模型 (4) Winsock I/O模型 (4) 3.3TP工作原理 (4) 3.4Winsock API基本函数介绍 (5) (1)WSAStartup()函数和WSACleanup()函数 (5) (2)socket()函数 (5) (3)bind( ) 函数 (6) (4)listen( )函数 (6) (5)accept( )函数 (6) (6)connect( )函数 (6) (7)closesocket( )函数 (6) 4.总体设计 (7) 4.1了解Winsock与操作系统的关系 (7) 4.2实现功能流程图 (8) 5.详细设计 (8) 5.1文件传输源程序代码 (8) (1)客户端client程序代码 (8) (2)、服务器端server程序代码 (19) 六、系统实现步骤 (30) 七、总结结论(心得体会) (32) 参考文献: (33)

java课程设计报告—计算器

目录 一、课程设计目的 (3) 二、课程设计任务........................................................................ (2) 、设计任务 (3) 、课程设计要求: (3) 、需求分析 (4) 三、开发工具与平台........................................................................ . (3) 、开发工具 (4) 、开发平台 (4) 四、设计思路........................................................................ .. (4)

、界面设计........................................................................ .. (4) 、逻辑设计 (5) 、程序流程图........................................................................ .. (5) 、主要代码展示及说明........................................................................ .. (5) 、程序测试 (10) 五、实验小结 (12) 六、附录 (程序代码) (13)

一、课程设计目的 1、熟练掌握java面向对象编程。 2、选择合适的数据结构实现需求。 3、熟练使用各种控制结构。 4、GUI组件、事件处理技术。 二、课程设计任务 、设计任务 设计一个简易的计算器,可以进行四则运算:加、减、乘、除等(限于十进制下) 程序要求: (1)应具有相应的界面,可参考Windows操作系统自带的计算器界面。 (2)操作符号定为:“+”,“-”,“*”,“/”,“+/-”等。(按国际惯例设计) (3)用户通过点击程序界面上按钮,实现数字、运算符的输入操作。 (4)以上部分为必须完成的内容。 选作部分: (1)具有操作符号“1/x”,“sqrt”(开方),“.”(小数功能)等。、课程设计要求: (1)应用自己所学课程知识完成对计算器的基本任务。 (2)查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。 (3)通过应用java程序编写计算器来提升自己对简单的图形界面有一定的掌握和了解。

java课程设计报告计算器

目录 一、课程设计目的 (2) 二、课程设计任务 (2) 2.1、设计任务 (2) 2.2、课程设计要求: (2) 2.3、需求分析 (2) 三、开发工具与平台 (3) 3.1、开发工具 (3) 3.2、开发平台 (3) 四、设计思路 (4) 4.1、界面设计 (4) (3) 4.3、程序测试 (7) 五、实验小结 (8) 六、附录(程序代码) (8)

一、课程设计目的 1、熟练掌握java面向对象编程。 2、选择合适的数据结构实现需求。 3、熟练使用各种控制结构。 4、GUI组件、事件处理技术。 二、课程设计任务 2.1、设计任务 设计一个简易的计算器,可以进行四则运算:加、减、乘、除等(限于十进制下) 程序要求: (1)应具有相应的界面,可参考Windows操作系统自带的计算器界面。 (2)操作符号定为:“+”,“-”,“*”,“/”,“+/-”等。(按国际惯例设计)(3)用户通过点击程序界面上按钮,实现数字、运算符的输入操作。 (4)以上部分为必须完成的内容。 选作部分: (1)具有操作符号“1/x”,“sqrt”(开方),“.”(小数功能)等。 2.2、课程设计要求: (1)应用自己所学课程知识完成对计算器的基本任务。 (2)查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。 (3)通过应用java程序编写计算器来提升自己对简单的图形界面有一定的掌握和了解。 2.3、需求分析 1.设计的计算器可以完成加法、减法、乘法、除法的简单运算。 2.实现一些简单的扩展运算,如:正负号、倒数、退格、清零等功能。 3.添加小数点功能,用以实现浮点型数据的计算。 4.使用布局管理器设计一个计算器的界面,使用事件监听器处理数据的输入,并完成相关的计算。

相关文档
最新文档