单片机课程总结

  • 格式:doc
  • 大小:764.50 KB
  • 文档页数:15

北京交通大学海滨学院课程设计报告 1 1. 单片机应用系统的设计过程:

1.1单片机应用系统 典型的单片机应用系统除主机外,还包括有:  前向通道(即输入部分): 数字量、开关量、模拟量信号(A/D)的输入。  后向通道(输出部分): 数字量、开关量、模拟量信号 (D/A )的输出。  人机对话通道,即人机交互部分: 键盘、显示器、打印机、看门狗(监视)电路等.

单片机应用系统设计有以下特点。 (1) 单片机应用系统一般来说针对一项具体应用,规模比较小。设计开发过程要借助专用的开发器、仿真器或开发系统来进行。 (2) 单片机应用系统设计中要综合考虑硬件、软件的组成,以达到较高的性能价格比。在满足技术要求的前提下,可以采用软件固化实现部分硬件功能,也可以采用硬件来实现某些软件的功能。 (3) 单片机应用系统要求可靠性高,特别是有些系统处于无人值守、不间断工作的环境中,必须保证系统安全可靠。在设计中要从电路设计、软件程序等加以考虑。看门狗监视电路就是其中一种。 (4) 单片机应用系统要尽量做到低功耗、小体积。软件程序固化在单片机内德程序存储器中。软件固化要在专门的编程器或下载设备中完成。北京交通大学海滨学院课程设计报告

2 1.2 单片机应用系统的设计过程 传统的单片机应用系统的设计方法是采用软件和硬件分开设计的方法。在软件和硬件开发设计中可采用先设计硬件后设计软件的方式,这是单片机应用系统开发过程中常用的方式。 单片机应用系统的设计过程主要包括以下几个部分: ⑴.总体方案的设计 ⑵.硬件系统设计 ⑶.软件系统设计 ⑷.系统仿真调试 ⑸.运行维护 北京交通大学海滨学院课程设计报告

3 单片机应用系统设计过程的流程图 1.2.1总体设计方案 应用系统总体方案的设计师非常重要的环节。 首先要根据市场需求,进行分析,提出本项目的任务。要对项目的可行性进行调研和分析,最好做出可行性报告,作为开题的依据。 熟悉和了解控制对象,确定合理的可行性技术指标。 在方案和技术指标基本确定的前提下,确定系统功能的具体实现形式。单片机是系统的核心,首先完成的是单片机的选型。近年来单片机的发展非常快,体现在以下几个方面。 北京交通大学海滨学院课程设计报告 4 (1) 运行速度的提高 (2) 存储技术的发展 (3) I/O接口的多样化 (4) 单片机产品的系列化 团队工作时,要按照软件工程的思想,将整个系统分解为若干子系统,分别列出子系统的任务书,以及软件、硬件及它们之间的接口标准、技术要求,这样会高校地完成系统的设计。 1.2.2硬件系统设计 硬件系统设计的过程包括功能定义、原理图设计、PCB(印制电路板)设计、制版和组装、硬件调试几部分。

1.2.3软件系统设计 在进行软件设计的时候,首先应该根据实际情况选择软件的开发环境,好的开发环境的支持是完成软件系统设计的保障。同时,需要确定设计时使用的编程语言。 对于单片机应用的软件系统,建立一个好的数学模型是非常必要的。由于单片机应用系统的软件和硬件之间密不可分的联系,在软件设计的开始,把软件要实现的功能和硬件的结合进行具体定义。在具体编写软件程序之前,要根据功能实现的过程,画出程序的主流程图,将各个模块、子程序的工作流程形象化地描述出来。绘制完流程图就可以编程序了。 1.2.4系统仿真调试 1.2.5系统的运行与维护 2. 89C51单片机系统的硬件电路设计 2.1 硬件系统设计过程

为了实现应用系统中硬件部分的功能,要确定系统的CPU、存储器、I/O接口及相关的传感器、继电器、显示器、键盘等外围部件和电路。然后设计出系统的电路原理图,一般情况下,需要单片机应用系统的硬件设计人员根据电路原理图画出印制电路版图,交给制版厂制作印制电路板。制版完成后,进行元器件的焊接和组装,并进行硬件电路的测试。 根据功能要求,选择合适的元器件。存储器是存放程序、数据的重要器件。 系统输入输出通道的设计,是根据应用系统的规模和需要设置的。I/O通道处理的信号有数字量、开关量和模拟量三种。 北京交通大学海滨学院课程设计报告 5 原理图和PCB板(印刷电路板)的设计是单片机应用系统硬件设计人员要完成的工作。硬件部分的电路组装和调试也是很重要的一步。在PCB板和元器件齐套时,焊接组装。利用电子仪器,可以编写一些测试程序,进行硬件调试,确保硬件部分功能正常。这样,在应用系统整机调试时,才可以减少硬件故障造成的问题,提高调试效率。 2.2 89C51基本硬件系统的设计

复位操作有上电自动复位、按键手动复位和看门狗三种复位方式。 89C51复位电路

片内时钟产生电路 89C51内部有一个高增益的反相放大器,用于构成振荡器。反相放大器的输入为引脚XTAL1(19脚),输出端为引脚XTAL2(18脚)。在芯片的内部,XTAL1和 XTAL2之间跨接一个石英晶体振荡器和两个微调电容,从而构成一个稳定的自激振荡器,这是利用片内电路的时钟信号产生电路,如图所示。石英晶体振荡器的振荡频率f范围为0~24MHz.电容C1和C2用来稳定频率并有频率微调作用,通常取值为30PF左右。在设计印制电路板时,应使晶体 和电容尽可能和单片机靠近,以保证电路的稳定可靠。 北京交通大学海滨学院课程设计报告

6 89C51采用片内振荡器的时钟电路 89C51用MOVX或MOVC指令访问片外的RAM和ROM时,P2端口输出被访问单元的高8位地址,P0端口首先输出被访问单元的低8位地址,然后P0端口就作为双向的数据总线使用。由于P0端口是分时复用的,所以低8位地址信号必须锁存起来,在整个总线周期中一直保留。电路中必须要有锁存器,一般常用8位锁存器74LS373.89C51在P0端口送出低8位地址的同时,89C51的ALE(地址锁存允许)引脚信号变为高电平,在ALE信号由高变低时,将P0端口上低8位地址信号锁存到外部地址锁存器74LS373中,直到下一次ALE变化为止。这以后,P0端口称为双向数据总线,不会影响操作,如图3.7所示。 北京交通大学海滨学院课程设计报告

7 3. 89C51单片机系统的软件设计和调试 3.1 汇编语言程序设计过程 汇编语言程序设计分为以下几个步骤: 1. 分析任务 首先,根据任务的要求,进行全面的分析,以便对任务有一个整体的概念。通过分析,明确要求:本任务要解决的问题是什么;工作过程是怎样的;现在的条件有哪些;对运行结果的要求、包括运算结果的精度和运算速度等。在分析任务的基础上提出硬件的电路和软件的设计方案。 2. 确定方案和算法 在对任务的分析和对硬件了解的基础上开始软件的设计。首先要找出问题的规律性,归纳出数学模型,可能会有不同的算法,对此进行比较、分析,找出最适宜的算法。可以直接或间接利用一些已有的计算方法和程序设计方法。 3.画出程序流程图 程序流程图是使用一些图形、符号和带方向的线段等,把程序设计的过程、解决问题的北京交通大学海滨学院课程设计报告 8 先后顺序直接地描述出来的一种方法 对于面向过程的设计方法来说,画好程序流程图是重要的步骤。它把整个程序按功能分成若干模块,通过流程图把它们有机地联系在一起,从而对全局有整体的了解,对各有部分的关联有清晰的认识。流程图有很多种,如逻辑流程图、算法流程图、程序流程图等。 流程图一般由起始框和终止框、执行框、判断框和指向线四部分组成。 4.编写程序 根据流程图中描述的各部分的功能,编写出具体的程序。然后按流程图中各部分之间的关系整理出全部程序。用汇编语言编写源程序,要严格按照执行指令和说明语句的要求,在经过汇编以后,不要出现语法错误,如果有,要反复地进行修改和重新汇编。 5调试程序 程序编写完毕,经过汇编过程,没有语法错误以后,要进行上机调试,这样才能检查出程序是否有逻辑上的错误、是否满足系统功能的要求。 3.2 汇编语言程序的调试 ⑴ Keil C51开发环境 Keil C51uVision2是一个功能强大的51单片机集成开发平台,它主要由标题栏、菜单栏、工具栏、项目窗口、源程序编辑窗口和输出窗口几部分组成,如图6.2所示。

图6.2 Keil C51uVision2集成开发平台界面 (2)程序调试的过程 北京交通大学海滨学院课程设计报告 9 1.新建源程序文件 Keil C51uVision2软件的工作界面中有一个源程序编辑窗口,可以在其中编辑、输入和编写汇编语言或C语言的源程序,并建立和保存一个汇编语言或C语言的源程序文件,该文件为扩展名为.ASM或.C的文件。 2.新建项目文件 在Keil C51uVision2集成开发环境中,先进一个项目文件,该文件扩展名为UV2的文件。把要调试的源程序文件添加到该项目中。 3. 编译项目 对项目进行编译,直接没有错误并生成扩展名为。HEX的目标文件为止。 4. 调试程序 利用Keil C51集成开发环境中的调试工具,对目标程序进行调试、排错。 5. 固化程序 应用系统调试完成后,可以将目标程序固化到单片机的程序存储器ROM中,结束开发工作。程序的固化可以通过专门的编程器来完成,也可以通过专门的程序下载接口来实现。

3.3 汇编语言程序的调试实例 将外部存储器从8000H开始的20个字节都赋以同一数值FFH 汇编语言的源程序如下: ADDR EQU 8000H ORG 0000H AJMP START ORG 0030H START: MOV DPTR,#ADDR MOV R0,#20 MOV A,#0FFH LOOP: MOVX @DPTR,A INC DPTR DJNZ R0,LOOP SJMP $ END