单片机课程设计指导.doc
《单片机课程设计指导.doc》由会员分享,可在线阅读,更多相关《单片机课程设计指导.doc(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章 课程设计(大型作业)的教学组织1.1 课程设计的基本任务:着重提高学生在单片机应用方面的实践技能,树立严谨的科学作风,培养学生综合运用理论知识解决实际问题的能力。学生通过单片机和硬件和软件设计、安装、调试、整理资料等环节,初步掌握工程设计方法和组织实践的基本技能,逐步熟悉开展科学实践的程序和方法。1.2 课程设计的要求:1) 根据应用系统的要求,初步掌握总体结构设计的方法和构思,从中选择一种最佳设计方案;2) 根据应用系统结构规模的要求,掌握单片机外部扩充系统硬件设计的基本过程;3) 根据任务要求和硬件设计要求,首先画出程序的总体流程图,然后进行各控制模块的程序设计;4) 掌握如何应用
2、单片机仿真器来开发应用系统及仿真调试的过程。1.3 设计报告要求设计内容建议如下:1)系统工作原理:叙述完成课题设计要求的工作原理2)总体设计:叙述软、硬件部分总体设计3)硬件:系统的组成,硬件的选用,芯片的特点、功能和编址4)软件:存储单元的分配,标志位的设置,由上自下的程序框图,子程序的设计及调试。5)综合调试6)结束语简述课程设计的收获、体会以及对本教学环节的意见和建议 第二章 单片机应用系统的设计步骤 单片机的应用系统随着用途不同,它们的硬件和软件结构差别很大,但系统设计的方法和步骤基本上是相同的。一般包括总体设计、硬件设计、软件设计、仿真调试、固化程序、应用系统独立运行等步骤。 课程
3、设计由于时间安排、学生水平、实验条件等诸方面的限制,仅要求学生完成仿真调试即可。2.1 总体设计2.1.1 明确任务 根据课题的要求确定系统的工作原理。如电脑时钟的工作原理为:每百分之一秒对计数一次,满100次秒加一,秒满60次分加一;并在数码管上显示时、分秒当前值。如果需要还要提出相应的技术指标。如电脑时钟要求显示的最小单位为秒,还是百分之一秒;温度测量系统要求测量多少路?测量精度是多少;收银机计算金额的范围多大,最小单位是否计分;交通灯控制系统测量车流量的最大频率是多少等。2.1.2 硬件和软件功能的划分系统的硬件配置和软件设计是紧密地联系在一起的,且硬件和软件具有一定的互换性。多用硬件完
4、成一些功能,可以提高工作速度,但降低了系统的柔性。若用软件替代某些硬件功能,可增加系统的柔性,但降低系统的工作速度。因此,总体设计时,应综合考虑,合理划分硬件和软件的功能。2.2 硬件设计根据总体设计要求,确定系统扩展与功能接口,设计出系统的电路原理图。2.2.1 系统扩展必须首先组成最小系统,即由8031、地址锁存器和程序存储器组成。根据课题要求,在此基础上进行扩展。包括程序存储器扩展、数据存储器扩展、I/O口扩展(8155、8255、74LS164)、定时器/计数器扩展(8253)和中断控制器扩展(8259)等(若单片机内包括存储器,则可以不进行存储器扩展)。如交通灯控制系统中要求控制四个
5、方向的红、绿、黄灯共12个,因此,需扩展I/O口,可选用8255,也可利用串入并出移位寄存器74LS164扩展2个8位输出口的接口电路。2.2.2 功能接口所谓接口是CPU与外界的连接部件,以实现CPU与外部设备的最佳耦合和匹配。包括键盘、显示、A/D转换、D/A转换和打印机等。根据课题要求,选用外设,并选用合适的外围接口芯片。2.2.3 系统的组成及统一编址I/O端口是CPU与I/O设备直接通信的地址。单片机系统对I/O端口是采用端口地址与存储器地址统一编址的方式,即存储器映射方式。而编址技术又分线选法和译码法。对8155、8255、0809、0832等芯片地址,学生在设计硬件时,应自行编址
6、。2.3 软件设计 一个优秀的的系统的软件应具有下列特点: 软件结构清晰、简捷、流程合理。各功能程序实现模块化、子程序化。这样,既便于调试、链接,又方便移植、修改。程序存储区、数据存储区分配合理。运行状态实现标志化管理。各个功能程序运行状态、运行结果以及运行要求都设置状态标志(一般用位寻址区的位)以便查询,程序的转移、运行、控制都可以通过状态标志条件来控制。实现全面软件抗干扰设计。(由于条件有限,课程设计中不考虑。)软件设计一般步骤如下:2.3.1 系统定义系统定义是在软件设计前,把软件承担的任务明确出来。2.3.1.1 各种数据类型的定义。是定点数还是浮点数;是有符号数还是无符号数;是十六进
7、制数还是BCD码。如果一个参数的变化范围有限,就可以用定点数来表示,以简化程序设计和加快运行速度。当参数的变化范围太宽时,只好采用浮点数来表示,如智能电桥中被测对象的变化范围达10个数量级(ll0 000F),定点数是无法胜任的。若要求数据的正负之分,则考虑定义有符号数。对于自然数列,为显示方便,可以采用BCD码,如电脑时钟的时、分、秒。2.3.1.2合理定义和分配存储空间、定义标志位。资源分配的主要工作是RAM资源的分配。片外RAM的容量要比片内RAM大,通常用来存放批量大的数据,如采样数据系列。主要考虑片内RAM的分配。系统上电复位时,自动定义0区为工作寄存器,1区为堆栈,并向2区、3区延
8、伸。如果系统前台程序要用1区、2区作为工作寄存器,就应将堆栈空间重新规划,常将堆栈安放在片内RAM的高端,如60H7FH。在工作寄存器的8个单元中,R0和R1具有指针功能,是编程的重要角色,应充分发挥其作用,尽量避免用来做其他事情。20H2FH这16个字节具有位寻址功能,用来存放各种软件标志、逻辑变量、位输入信息、位输出信息副本、状态变量、逻辑运算的中间结果等。当这些项目全部安排好后,保留一两个字节备用,剩下的单元才可改作其他用途。30H7FH为一般通用寄存器,只能存入整字节信息。通常用来存放各种参数、指针、中间结果,或用作数据缓冲区。RAM资源规划好后,应列出一张RAM资源的详细分配清单,作
9、为编程依据。为了增加可读性,便于修改,一般对分配的存储单元取名。如保存当前时间的时、分、秒取HOUR、MINI、SEC,编程时用变量名,编译时只需在前面加HOUR EQU 24H即可(20H为分配给小时的存储单元的地址)。2.3.2 软件结构设计 软件设计有两种方法:一种是自上而下,逐步细化;另一种是自下而上,先设计出每一个具体的模块(子程序),然后再慢慢扩大,最后组成一个系统。两种方法各有优缺点。自上而下的方法在前期看不到什么具体效果,对于初学者来说,心中总是不踏实。而自下而上的方法一开始就有结果,每设计并测试好一个模块,就能看到实际的效果,给人一步一个足印的感觉,能树立信心。我们建议两种方
10、法结合运用。主程序采用自上而下的方法,将它分成若干个功能相对独立的较小的程序模块。然后再采用自下而上的方法,设计一个模块,调试一个模块,加入主程序调试;再进行下一个模块设计和调试。所以在这一步骤就是设计主程序的框架。2.3.3 模块设计2.3.3.1 建立入口条件和出口条件,明确模块功能根据问题的定义,描述出各个输入变量的存放地址(入口条件)和各个输出变量的存放地址(出口条件)。例如输入量是经A/D转换后的8个数字量,存入在以30H为首的数据块中,输出量是这8个数字量的平均值,存放在40H中。为方便起见,用R0存放输入量数据块首地址,用R1存放输出量地址。则入口条件为R0,出口条件为R1。2.
11、3.3.2 绘制程序框图根据问题的定义,确定算法,并绘制程序框图。注意必须确保程序框图的正确性。比如在电脑时钟中,考虑输入“分”的数据的合理性,数据必须小于60,程序框图中就不能忽视等于60如何处理,这是初学者常犯的错误。2.3.3.3 编写程序在确保程序框图的正确性的前提下,才能编写程序。在编程时必须注意以下几点:一定要严格根据框图编程。一定要写注释。通过编译后,只表明语法没错,并不表明逻辑正确,一定要用不同的数据对模块进行测试。完全符合预定结果,方可确认通过。将该模块加到主控模块进行测试,如果与预定结果不符,必须查找原因,进行修改、调试。必须注意随时保存调试通过的副本。以便当新程序出现故障
12、时,随时可返回前面的正确点重新开始。2.3.4 编写设计说明书设计说明书的格式见附录四。由于设计时间紧迫,读者不要在完成全部设计后再编写设计说明书。而应在设计过程中逐步完成。一开始不可能设计出满意的主程序框图。因此,总体设计部分在完成全部设计任务后再写。而硬件部分和软件部分可以在设计过程同步完成。第三章 单片机综合应用系统实践3.1 系统硬件原理图与说明单片机综合应用系统电路原理图如图3-1所示,其中包括单片机最小系统、电源电路、键盘、显示器电路、流水灯电路、交通灯电路、串行接口电路、AD转换电路。单片机最小系统部分如图3-2所示。选用Phlips公司的P89V51RD2单片机作为控制核心,接
13、上晶振与复位电路,四个八位并行口通过开关接输入/输出器件。电源电路如图3-3所示。四个八位并行口所接的上拉电阻图如图3-4所示,选用四个8*2k的排阻来实现。键盘与扬声器电路如图3-5所示。显示器电路如图3-6所示。流水灯电路如图3-7所示。交通灯电路如图3-8所示。串行接口电路如图3-9所示。AD转换电路如图3-10所示。3.2 硬件电路焊接注意事项所有器件要看清位置再焊接,另外注意:1、排阻要注意方向(做标志的是公共端)2、发光二极管和整流二极管要分清阴极和阳极3、三极管注意EBC三极4、交通灯的分布要按要求焊接(分色)5、蜂鸣器有方向6、MAX232边上的两个电阻是跳线焊接成功的综合应用
14、系统照片如附录三所示。图3-1 单片机综合应用系统电路原理图图3-2 单片机最小系统图3-3 电源电路图3-4 上拉电阻图3-5 键盘与扬声器电路图3-6 显示器电路图3-7 流水灯电路图3-8 交通灯电路图3-9 串行接口电路图3-10 AD转换电路3.3 uVision2 集成开发环境简介uVision2 IDE 是一个基于Window的开发平台,包含一个高效的编辑器,一个项目管理器和一个MAKE工具。uVision2支持所有的KEIL 8051工具,包括C编译器,宏汇编器,连接/定位器,目标代码到HEX的转换器。uVision2通过以下特性加速嵌入式系统的开发过程:(1) 全功能的源代码
15、编辑器。(2) 器件库用来配置开发工具设置。(3) 项目管理器用来创建和维护项目。(4) 集成的MAKE工具可以汇编,编译和连接嵌入式应用。(5) 所有开发工具的设置都是对话框形式的。(6) 真正的源代码级的对CPU和外围器件的调试器。(7)高级GDI(AGDI)接口用来在目标硬件上进行软件调试,以及和Monitor-51进行通信。(8) 与开发工具手册和器件数据手册和用户指南有直接的链接。第四章 单片机课程设计示例(交通灯控制)4.1 课题设计内容对基于单片机的交通灯控制系统进行设计。所设计的系统功能为:以MCS-51系列单片机作为控制核心,在东西南北四个方向设置左拐、右拐、直行及行人4种通
16、行指示灯,用计时器显示路口通行转换剩余时间。在出现紧急情况时,可以由交警手动实现全路口车辆禁行而行人通行状态,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。4.2 设计方案论证 根据设计内容要求,提出了如下三种方案:方案一:采用40脚、片内带8kB Flash ROM的AT89S52单片机作为控制核心,采用四组高亮红绿双色二极管作为东西南北四个路口的通行指示灯,采用四组3位LED数码管作为四个路口的通行倒计时显示器,LED显示采用动态扫描方式,以节省端口数。方案一结构框图如图4-1所示,按照这种结构设计,单片机端口资源刚好满足要求。图4-1 方案一:采
17、用LED动态扫描的交通灯控制系统结构框图方案二:采用20脚、片内带2kB Flash ROM的AT89C2051单片机作为控制器,左拐、右拐、直行及行人4种通行指示采用1616点阵双色LED发光管,通行倒计时显示也采用1616点阵LED发光管。LED点阵的列驱动采用74LS595,以实现串行端口扩展,行译码采用4/16译码器74LS154,74LS154生成16条行选通信号线,每条行线上需要较大的驱动电流,选用大功率三极管作为驱动管。方案二结构框图如图4-2所示,方案三:采用AT89C2051单片机作为控制器,左拐、右拐、直行、行人通行指示及通行倒计时指示采用单块LCD液晶点阵显示器。三种方案
18、的特点比较如下:方案一具有电路简单,设计方便,显示亮度高,耗图4-2 方案二:采用1616点阵LED发光管设计的交通灯控制系统结构框图电较少,可靠性高等特点;方案二的图案显示逼真,单片机占用端口资源少,缺点是需要大量的硬件,电路复杂,耗电量大,不太适合于模型制作;方案三设计占用单片机的端口最少,硬件也少,耗电也最少,虽然显示图案也很精美,但由于亮度太暗,晚上还得开背光灯,不够实用。可见方案一优于其他两种方案,因此本设计选用方案一:采用LED动态扫描的方案进行设计。4.3 系统硬件设计采用LED动态扫描的交通灯控制系统电路原理图如图4-3所示系统由控制模块、通行灯显示模块、时间显示模块、电源模块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 指导
限制150内