北京交通大学海滨学院课程设计总结报告(推荐)_北京交通大学海滨学院

2020-02-27 其他工作总结 下载本文

北京交通大学海滨学院课程设计总结报告(推荐)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“北京交通大学海滨学院”。

北京交通大学海滨学院课程设计总结报告

单片机应用课程设计 专业: 电气工程及自动化 班级: 0906 学号: 09142063 姓名: 李健 日期: 2011-11-09 1

题目:北京交通大学海滨学院课程设计总结报告

一、单片机应用系统的设计过程:

1.1单片机应用系统

典型的单片机应用系统除主机外,还包括有:

1)

前向通道(即输入部分):数字量、开关量、模拟量信号(A/D)的输入。2)

后向通道(输出部分):数字量、开关量、模拟量信号(D/A)的输出。

3)

人机对话通道,即人机交互部分:键盘、显示器、打印机、看门狗(监视)电路等.4)

单片机应用系统组成:

1.2 单片机应用系统的设计 设计过程包括以下几部分: 1)总体方案的设计 2)硬件系统设计 3)软件系统设计 4)系统仿真调试 5)运行维护。

这5个部分不是孤立的,而是相互关联、相互依靠、互相制约的。

1.3 单片机应用系统的设计过程 ⑴.总体方案的设计

1)根据市场需求, 进行分析, 提出本项目的任务。2)熟悉和了解控制对象,确定合理可行的技术指标.3)确定系统功能具体实现形式, 选择出适合该项目,能迅速开发出性能价格比高的应用系统的单片机。

4)合理地划分硬件和软件两部分的功能要求。

5)确定总体方案,拟定设计任务书。按照软件工程的思想,列出各子系统的任务书, 以及软件、硬件及它们之间的接口标准、技术要求。

⑵.硬件系统设计1)根据功能要求, 选择系统的CPU、存储器、I/O接口以及传感器、继电器、显示器、键盘等元器件。

2)原理图和PCB板(印制电路板)的设计。使用专门的EDA(电子设计自动化)工具软件(如Protel)。它们有强大的自动设计能力, 高速有效的编辑功能, 使得设计过程简便高效。3)制版和组装设计完成后,交付制版生产厂家。在PCB板和元器件齐套时,焊接组装。4)硬件调试利用电子仪器及编写测试程序,进行硬件调试。

⑶.软件系统设计

根据总体方案提出的要求和具体的硬件电路,设计出实现应用系统功能要求的控制程序。1)选择软件的开发环境,确定设计使用的编程语言 2)根据任务的要求,建立一个好的数学模型。

3)采用模块化程序设计方法。提高效率,保证可靠性。

4)软件设计开始,把软件要实现的功能结合硬件进行具体的定义。5)根据功能实现过程, 画出程序主流程图。6)编写程序。实现系统功能及抗干扰的要求。7)软件模拟仿真。调试。⑷.系统仿真调试

应用系统测试工作包括:

1)功能测评。根据技术指标要求, 逐项测试。完成功能测试, 指标测量, 追踪程序执行, 分析执行时间等。

2)系统优化。如硬件电路去除冗余器件,提升性能指标,降低功耗等。软件程序存储空间、循环优化等。

3)可靠性测试。检验其抗干扰能力、可靠性等。

系统仿真调试要在集成开发环境中完成。

软件仿真中, 在虚拟硬件平台上验证程序的正确性.硬件仿真通过仿真器、开发系统、ICE设备等,借助示波器、逻辑分析仪等电子测量仪器,对开发的目标系统进行实时在线仿真。

⑸.系统运行维护

1)应用系统在仿真调试环境中成功后, 确定硬件和软件基本正确,将程序代码固化到单片机的程序存储器中。独立运行该应用系统。

2)

在系统独立运行中,随时观察系统,有时需要对其进行改进。如果运行正常,就可以投入正常的工作中。

3)

一般来说,在连续工作的过程中,有可能出现调试中没有遇到的问题,需要设计人员进一步改进。经过一定时间的监护,系统运行正常,单片机应用系统的开发工作胜利完成。

二、89C51单片机系统的硬件电路设计

2.1 硬件系统设计过程

1)根据功能要求, 选择系统的CPU、存储器、I/O接口以及传感器、继电器、显示器、键盘等元器件。

2)原理图和PCB板(印制电路板)的设计。使用专门的EDA(电子设计自动化)工具软件(如Protel)。

3)制版和组装设计完成后,交付制版生产厂家。在PCB板和元器件齐套时,焊接组装。4)硬件调试 利用电子仪器及编写测试程序,进行硬件调试 5)89C51基本硬件系统的设计

为使硬件设计尽可能合理,应重点考虑以下几点。

1.尽可能采用功能强的芯片

1)单片机的选型。随着集成电路技术的飞速发展,许多外围部件都已集成在芯片内,本身就是一个系统,这样可以省去许多外围部件的扩展工作,设计工作大大简化。2)优先选用片内带有闪烁存储器的产品。例如,使用ATMEL公司的89C51/89C52/ 89C55,PHILIPS公司的89C58(内有32KB的闪烁存储器),可省去扩展单片机程序存储器的工作,减少芯片数量,缩小体积。

3)考虑EPROM空间和RAM空间。目前EPROM容量越来越大,一般尽量选用容量大的EPROM。89C51内部的RAM单元有限,当需增强软件数据处理功能时,往往觉得不足,这就要求系统配置外部RAM,如6264(8KB),62256(32KB)芯片等。

4)对I/O端口的考虑。在样机研制出来进行现场试用时,往往会发现一些被忽视的问题,而这些问题是不能单靠软件措施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在硬件设计之初就多设计出一些I/O端口,这些问题就会迎刃而解了。

5)预留A/D和D/A通道。和I/O端口同样的原因,留出一些A/D和D/A通道将来可能会解决大问题。2.以软代硬

原则上,只要软件能做到且能满足性能要求,就不用硬件。硬件多了不但增加成本,而且系统故障率也会提高。以软带硬的实质,是以时间换空间,软件执行过程需要消耗时间,因此这种代替带来的问题就是实时性下降。在实时性要求不高的场合,以软代硬是很合算的。3.工艺设计

包括机箱、面板、配线、接插件等。必须考虑到安装、调试、维修的方便。另外,硬件抗干扰措施也必须在硬件设计时一并考虑进去。

复位电路

时钟电路89C51外部扩展电路:

89C51电源电路等

三、89C51单片机系统的软件设计和调试

在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相互结合进行。当系统的电路设计定型后,软件的任务也就明确了。

一般来说,软件的功能分为两大类。

一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控制等;

另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度的角色。设计人员在进行程序设计时应从以下几个方面加以考虑:(1)根据软件功能要求,将系统软件分成若干相对独立的部分,设计出合理的软件总体结构,使其清晰、简洁、流程合理。

(2)各功能程序实行模块化、子程序化。既便于调试、链接,又便于移植、修改。(3)在编写应用软件之前,应绘制出程序流程图。多花一些时间来设计程序流程图,就可以节约几倍于源程序的编辑和调试时间。

(4)要合理分配系统资源,包括ROM、RAM、定时器/计数器、中断源等。其中最关键的是片内RAM分配。对AT89C51来讲,片内RAM指00H~7FH单元,这128个字节的功能不完全相同,分配时应充分发挥其特长,做到物尽其用。

3.1 汇编语言程序设计过程

汇编语言程序设计是面向过程设计的典型方法。

汇编语言程序设计分为以下几个步骤: 1.分析任务

首先,根据任务的要求,进行全面的分析,以便对任务有一个整体的概念。通过分析,明确要求:本项任务要解决的问题是什么;工作过程是怎么样的;现在的条件有哪些;对运行结果的要求、包括扩运行结果的进度和运算速度等。

单片机的应用项目都是软件和硬件紧密结合在一起的,因此,根据任务的要求,合理地设计硬件电路,合理地分配软件和硬件锁担负的工作。对于总体的需求,还要考虑系统的可靠性,时间精度的安排及成本等。

在分析任务的基础上提出硬件的电路和软件的设计方案。2.确定方案和算法

在对任务的分析和对硬件电路了解的基础上开始软件的设计。首先要找出问题的规律性,归纳出数学模型,可能会有不同的算法,对此进行分析、比较,找出最合适的算法。可以直接或间接利用一些已有的计算方法和程序设计方法。如果没有现成的算法和程序可借鉴,那就需要自己摸索,建立符合任务要求的软件方案和算法。3.画出程序流程图

程序流程图是使用一些图形,符号和带方向的线段等,吧程序设计的过程、解决问题的先后顺序直观地描述出来的一种方法。4.编写程序

根据流程图中描述的各部分的功能,编写出具体的程序。然后,按照流程图中各部分之间的关系整理出全部程序。

在编写程序之前,要合理地确定存储器中存储空间的分配及各种单元的安排。编写过程中,在指令的使用上,要尽量节省存储器数据存放单元、使程序缩短、使程序执行速度最快,并以此为原则。5.调试程序

程序编写完毕,经历过汇编过程,没有语法错误以后,要进行上机调试,这样才能检查出程序是否有逻辑上的错误、是否满足系统功能的要求。

单片机应用系统调的试一般需要借助开发器、仿真器等硬件和软件来进行,这些工具给程序的调试提供了直观、方便的环境、有很大帮助。3.2 汇编语言程序的调试 ⑴ Keil C51开发环境

⑵ Keil C51开发调试过程 1)新建源程序文件

Keil C51软件的工作界面中游一个源程序编辑窗口,可以在其中编辑、输入和编写汇编语言或C语言的源程序,并建立和保存一个汇编或C语言源程序文件,该文件为扩展名.ASM 或.C 文件。2)新建项目文件

在Keil C51开发环境中,新建一个项目文件,该文件扩展名为.UV2的文件。把要调试的源程序文件添加到该项目中。

从器件库中选择一个所使用的器件,针对目标硬件设置工作选项。3)编译(Build)项目

对项目进行编译,直达没有错误并生成目标文件.HEX 的目标文件为止。4)调试程序(Debug)

利用Keil C51集成开发环境中的调试工具,对目标程序进行调试,排错。5)固化程序

应用系统调试完成后,可以将目标程序固化到单片机中德程序存储器ROM中,结束开发工作。程序的固化可以通过专门的编程器来完成,也可以通过专门的程序下载接口来实现。

3.3 汇编语言程序的调试实例 以一个程序为例说明开发调试过程: 1.新建源程序文件

2.新建项目文件,进行参数选项和环境的设置。3.将源程序文件添加到该项目(Project)中。4.编译链接程序

5.调试程序 点击按钮 Use Simulator 纯软件仿真, 进入调试环境

Use:Keil Monitor-51 Driver仿真器的仿真

四、89C51的应用系统设计实例

例1 设计一个实时时钟

解:1.实时时钟实现的基本思想

如何获得1秒的定时,可把定时时间定为100ms,采用中断方式进行溢出次数的累计,计满10次,即得到秒计时。

片内RAM中规定3个单元作为秒、分、时单元,具体安排如下: 42H:“秒”单元 ;41H:“分”单元;40H:“时”单元

从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。2.程序设计

(1)主程序的设计

1)进行定时器T0的初始化编程并启动T0,并允许定时器T0中断(开中断); 2)对工作单元初始化——将小时工作单元40H、分工作单元41H和秒工作单元42H清零 3)通过反复调用显示子程序,等待20ms定时中断的到来。(2)中断服务程序的设计

中断服务程序(PIT0)的主要功能包括以下几个部分。

进行计时操作。程序开始先判断计数溢出是否满50次,不满表明还没达到最小计时单位1秒,中断返回;如果满50次,表示已达到1秒,程序继续向下运行,运行计时操作。当满1秒时则将记录“秒位”的42H单元内容加1,满60秒后向记录“分位”的41H单元内容加1,满60分钟则向记录“时位”的30H单元内容加1.当记满24小时的时候,工作单元40H、41H、42H单元的内容全部清空,重新开始计数。

(3)程序清单:

ORG 1000H AJMP MAIN

;上电, 跳向主程序;T0的中断入口

ORG 000BH AJMP IT0P MAIN: MOV TMOD,#01H;设T0为方式1 MOV 20H, #0AH;装入中断次数

CLR A MOV

40H, A;“时”单元清“0”MOV 41H, A;“分”单元清“0”

MOV 42H, A;“秒”单元清“0” SETB ET0 SETB EA

;允许T0申请中断;总中断允许

MOV TH0,#3CH;给T0装入计数初值

;启动T0 MOV TL0,#0B0H

SETB TR0

HERE: SJMP HERE;等待中断(也可调用显示子程序)IT0P: PUSH PSW;T0中断服务子程序入口, 保护现场

PUSH Acc

;重新装入初值

;1秒未到, 返回;重置中断次数;“秒”单元增1

MOV TH0,#3CH

MOV TL0,#0B0H

DJNZ 20H,RETURN

MOV 20H, #0AH

MOV A, #01H

ADD A,42H

DA A

MOV 42H,A

;“秒”单元十进制调整;“秒” BCD码存回“秒”单元

;计满60秒, “秒”单元清“0”;“分”单元增1

CJNE A,#60,RETURN;是否到60秒, 未到则返回

MOV 42H, #00H

MOV A, #01H ADD A,41H

DA A

;“分”单元十进制调整

;“分”的BCD码存回“分”单元;计满60分, “分”单元清“0”;“时”单元增1

;到24小时, “时”单元清“0”

MOV 41H,A

CJNE A,#60,RETURN;是否到60分, 未到则返回

MOV 41H, #00H

MOV A, #01H

ADD A,40H DA A

MOV 40H,A

;“时”单元十进制调整

CJNE A,#24,RETURN;是否到24小时,未到则返回 MOV 40H, #00H

;恢复现场;中断返回 RETURN: POP Acc

RETI

POP PSW END例2 设计一个实用的数据采集和超限报警系统。

解: CPU:89C51单片机

主频:11.0592MHz 数据采集:16通道模拟量输入

多路选择器:4067(16选1模拟开关电路)A/D转换器: MAX187(12位串行接口A/D转换器)开关量输出:8路开关量输出。

看门狗: X5045(带E2PROM的看门狗定时器电路)实时时钟: DS1307(带64字节RAM串行RT电路)

串行通信接口:MAX485,提供RS-485标准接口

并行I/O接口:8255A并行I/O接口电路

显示器: 6位LED显示器和8个发光二极管。

键盘:4个按键,独立连接的非编码键盘

电源:DC+5V、DC+12V 软件:程序固化单片机中,采用汇编语言编程。数据采集系统功能框图:

单片机数据采集系统主流程图:

五、89C51单片机应用的新创意LED点阵显示系统简介

随着图形点阵LED显示模块在各行各业的逐步使用,使得人机界面变得越来越直观形象,尤其对于国内大多数需要有汉字和图形显示的用户来说,显示界面的友好与否,将直接影响到其产品的形象和市场竞争力。

本文所介绍的点阵LED显示屏,显示汉字和各种常见字符等信息,可广泛应用于各种场所。具有结构简单、安装方便、字型美观、图案清析。采用高性能单片机控 制,性能稳定,可靠性高,具有掉电保护功能,可完全脱机运行,可以显示约2000个文字。经过一条RS-232串口线与电脑连接更换信息,操作简单,使用 方便。2 LED点阵显示系统的硬件设计

LED点阵显示系统由计算机、RS-232通讯电路、控制电路和LED点阵显示电路构成,结构框图如图1所示。

上位计算机可选择工业控制计算机或者普通个人计算机。单块条屏由控制电路和驱动显示电路组成。控制电路负责与上位机通信,可根据通信距离的远近选用RS-232或RS-485标准总线接口。本电路采用RS-232接口的3脚(TXD)和5脚(GND),计算机向控制电路发送汉字或字符内码;控制电路存储该 内码并在字库中对应汉字或字符点阵,向驱动电路发送行列选通信号;显示驱动电路负责根据行列选通信号,向指定LED发光器件提供驱动电流。3 软件系统

程 序可以实现与计算机的通信,可非常方便地任意修改所要显示的汉字;并使显示屏可固定、平移地显示汉字。程序中将数据存储器分为三个区:显示缓冲区,数据存 储区和接收缓冲区[4]。单片机通过串口接收PC机传来的数据(包括显示内容,显示方式和显示状态)暂时放在接收缓冲区,处理后放入数据存储区保存,然后 再根据显示方式从数据存储区中读出数据放入显示缓冲区用于显示。显示方式的实现取决于数据放入显示缓冲区的顺序,左移是从数据存储区取出一位数放入显示缓 冲区,上移是每次取出一行数据放到缓冲区,时间显示是先把实时时钟的数据放到显示缓冲区。显示时并不识别显示缓冲区的数据,只是依次从显示缓冲区提取数据 向显示屏发送并送入相应的锁存消隐和行值信号,完成扫描。程序功能框图如图5所示。

软 件系统采用模块化结构,包括主程序、显示子程序和串口中断服务程序。主程序为顺序结构,完成堆栈、中断、串口的初始化设置后,循环调用显示子程序,以及响 应串行接收或发送中断;显示子程序从显示缓冲区取出字模,输出行选通信号至P0口并通过一个通用逻辑阵列GAL16V8D输出,配合列扫描信号,进行动态 扫描显示;中断服务程序串口接收PC机发送的汉字机内码数据,实现与计算机实时通信。程序各部分的功能,由各个模块分别实现。程序模块有: 串口初始化模块、数据输入模块、汉字首地址计算模块、取字模块、显示模块和移动模块。

《北京交通大学海滨学院课程设计总结报告(推荐).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
北京交通大学海滨学院课程设计总结报告(推荐)
点击下载文档
相关专题 北京交通大学海滨学院 交通大学 总结报告 北京 北京交通大学海滨学院 交通大学 总结报告 北京
[其他工作总结]相关推荐
    [其他工作总结]热门文章
      下载全文