单片机课程知识点归纳.pdf
单片机课程知识点归纳单片机课程知识点归纳单片机课程知识点归纳单片微型计算机原理及应用所在章所在节 1.1 单片机第 1 章单片机概述 1.CS-51 系列单片 MCS-51 系列单片机分类机本节小计本章小计 412.1MCS-51 单片机内 MCS-51 单片机内部结构组成部总体结构本节小计 MCS-51 单片机的引脚功能 2.2MCS-51 单片机的 MCS-51 单片机的片外三总线结构引脚及片外总线结构本节小计 2462 第 2 章 MCS-CS-51 单片机的件存储器结构 CPU 的组成指令的执行过程时钟电路 CPU 时序本节小计存储器类型存储器结构及地址空间内部程序存储器内部数据存储器特殊功能寄存器 SFR 堆栈及特性本节小计复位电路 2.5MCS-51 单片机的复位后寄存器的状态复位本节小计本章小计 3.1MCS-51 单片机的指令格式汇编语言指令格式和数据的表示形式和符号简介符号简介本节小计立即寻址直接寻址寄存器寻址.2MCS-51 单片机的寄存器简介寻址寻址方式变址寻址相对寻址位寻址本节小计通用数据传送指令第 3 章 MCS-51 单片机的指令系统 3.3 数据传送指令片外RAM(或 I/O 口)与累加器 A 传送数据指令程序存储器向累加器 A 传送数据指令数据交换指令堆栈操作指令本节小计加减运算指令乘除运算指令 3.4 算术运算类指令加 1、减 1 指令二/十进制调整指令本节小计逻辑运算指令 3.CS-51 单片机的汇编语言程序设计第 5 章 MCS-51 单片机的并行 I/O 口起始地址伪指令终止汇编伪指令 544.2MCS-51 单片机汇定义字节伪指令编语言的伪指令赋值伪指令定义字伪指令本节小计顺序结构程序分支结构程序 4.3 汇编语言程序设循环结构程序计子程序结构及参数传递方法本节小计本章小计 P0 口的功能 P1 口的功能9415.1P0CS-51 单片机的中断系统 6.2MCS-51 单片机的中断源中断系统本节小计中断处理 6.CS-517.2 单片机的定时/计定时/计数器的结构单片机的定时/计数器数器结构及基本原理定时/计数的基本原理计数满/定时到时的处理任意计数或定时的实现方法本节小计定时器控制寄存器 7.3 定时/计数器的控工作模式寄存器 TMOD 制中断允许控制寄存器 IE 本节小计工作模式 0 及应用工作模式1 及应用 7.4 定时/计数器的工工作模式 2 及应用作模式工作模式 3 及应用本节第 1页 共 10页小计本章小计系统总线.1 系统总线及总线系统总线的构造方法构造本节小计第9 章 MCS-51 单片机的系统扩展外部程序存储器的扩展 9.2 程序存储器的扩地址锁存器及 EPROM、EEPROM 展芯片与单片机的连接本节小计常用的单片机外部数据存储器常用地址锁存器及 EPROM、EEPROM 芯片 9.3 数据存储器的扩外部数据存储器与单片机的连接展本节小计数据总线扩展 I/O 口 9.4 并行 I/O 端口的可编程的并行 I/O 接口芯片扩展扩展本节小计本章小计扩展阅读:单片机课程总结北京交通大学海滨学院课程设计报告 1.单片机应用系统的设计过程:1.1 单片机应用系统典型的单片机应用系统除主机外,还包括有:前向通道(即输入部分):数字量、开关量、模拟量信号(A/D)的输入。后向通道(输出部分):数字量、开关量、模拟量信号(D/A)的输出。人机对话通道,即人机交互部分:键盘、显示器、打印机、看门狗(监视)电路等.单片机应用系统设计有以下特点。(1)单片机应用系统一般来说针对一项具体应用,规模比较小。设计开发过程要借助专用的开发器、仿真器或开发系统来进行。(2)单片机应用系统设计中要综合考虑硬件、软件的组成,以达到较高的性能价格比。在满足技术要求的前提下,可以采用软件固化实现部分硬件功能,也可以采用硬件来实现某些软件的功能。(3)单片机应用系统要求可靠性高,特别是有些系统处于无人值守、不间断工作的环境中,必须保证系统安全可靠。在设计中要从电路设计、软件程序等加以考虑。看门狗监视电路就是其中一种。(4)单片机应用系统要尽量做到低功耗、小体积。软件程序固化在单片机内德程序存储器中。软件固化要在专门的编程器或下载设备中完成。北京交通大学海滨学院课程设计报告第 2页 共 10页 1.2 单片机应用系统的设计过程传统的单片机应用系统的设计方法是采用软件和硬件分开设计的方法。在软件和硬件开发设计中可采用先设计硬件后设计软件的方式,这是单片机应用系统开发过程中常用的方式。单片机应用系统的设计过程主要包括以下几个部分:.总体方案的设计.硬件系统设计.软件系统设计.系统仿真调试.运行维护北京交通大学海滨学院课程设计报告单片机应用系统设计过程的流程图 1.21 总体设计方案应用系统总体方案的设计师非常重要的环节。首先要根据市场需求,进行分析,提出本项目的任务。要对项目的可行性进行调研和分析,最好做出可行性报告,作为开题的依据。熟悉和了解控制对象,确定合理的可行性技术指标。在方案和技术指标基本确定的前提下,确定系统功能的具体实现形式。单片机是系统的核心,首先完成的是单片机的选型。近年来单片机的发展非常快,体现在以下几个方面。北京交通大学海滨学院课程设计报告(1)运行速度的提高(2)存储技术的发展(3)I/O 接口的多样化(4)单片机产品的系列化团队工作时,要按照软件工程的思想,将整个系统分解为若干子系统,分别列出子系统的任务书,以及软件、硬件及它们之间的接口标准、技术要求,这样会高校地完成系统的设计。1.2.2 硬件系统设计硬件系统设计的过程包括功能定义、原理图设计、PCB(印制电路板)设计、制版和组装、硬件调试几部分。1.2.3 软件系统设计在进行软件设计的时候,首先应该根据实际情况选择软件的开发环境,好的开发环境的支持是完成软件系统设计的保障。同时,需要确定设计时使用的编程语言。第 3页 共 10页对于单片机应用的软件系统,建立一个好的数学模型是非常必要的。由于单片机应用系统的软件和硬件之间密不可分的联系,在软件设计的开始,把软件要实现的功能和硬件的结合进行具体定义。在具体编写软件程序之前,要根据功能实现的过程,画出程序的主流程图,将各个模块、子程序的工作流程形象化地描述出来。绘制完流程图就可以编程序了。1.2.4 系统仿真调试 1.2.5 系统的运行与维护 2.89C51 单片机系统的硬件电路设计 2.1 硬件系统设计过程为了实现应用系统中硬件部分的功能,要确定系统的 CPU、存储器、I/O 接口及相关的传感器、继电器、显示器、键盘等外围部件和电路。然后设计出系统的电路原理图,一般情况下,需要单片机应用系统的硬件设计人员根据电路原理图画出印制电路版图,交给制版厂制作印制电路板。制版完成后,进行元器件的焊接和组装,并进行硬件电路的测试。根据功能要求,选择合适的元器件。存储器是存放程序、数据的重要器件。系统输入输出通道的设计,是根据应用系统的规模和需要设置的。I/O 通道处理的信号有数字量、开关量和模拟量三种。北京交通大学海滨学院课程设计报告原理图和 PCB 板(印刷电路板)的设计是单片机应用系统硬件设计人员要完成的工作。硬件部分的电路组装和调试也是很重要的一步。在 PCB 板和元器件齐套时,焊接组装。利用电子仪器,可以编写一些测试程序,进行硬件调试,确保硬件部分功能正常。这样,在应用系统整机调试时,才可以减少硬件故障造成的问题,提高调试效率。2.289C51 基本硬件系统的设计复位操作有上电自动复位、按键手动复位和看门狗三种复位方式。89C51复位电路片内时钟产生电路 89C51 内部有一个高增益的反相放大器,用于构成振荡器。反相放大器的输入为引脚某 TAL1(19 脚),输出端为引脚某 TAL2(18 脚)。在芯片的内部,第 4页 共 10页某 TAL1 和某 TAL2 之间跨接一个石英晶体振荡器和两个微调电容,从而构成一个稳定的自激振荡器,这是利用片内电路的时钟信号产生电路,如图所示。石英晶体振荡器的振荡频率 f 范围为 024MHz.电容 C1 和 C2 用来稳定频率并有频率微调作用,通常取值为 30PF 左右。在设计印制电路板时,应使晶体和电容尽可能和单片机靠近,以保证电路的稳定可靠。北京交通大学海滨学院课程设计报告 89C51 采用片内振荡器的时钟电路 89C51 用 MOV 某或 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 所示。北京交通大学海滨学院课程设计报告 3.89C51 单片机系统的软件设计和调试 3.1 汇编语言程序设计过程汇编语言程序设计分为以下几个步骤:1.分析任务首先,根据任务的要求,进行全面的分析,以便对任务有一个整体的概念。通过分析,明确要求:本任务要解决的问题是什么;工作过程是怎样的;现在的条件有哪些;对运行结果的要求、包括运算结果的精度和运算速度等。在分析任务的基础上提出硬件的电路和软件的设计方案。2.确定方案和算法在对任务的分析和对硬件了解的基础上开始软件的设计。首先要找出问题的规律性,归纳出数学模型,可能会有不同的算法,对此进行比较、分析,找出最适宜的算法。可以直接或间接利用一些已有的计算方法和程序设计方法。3.画出程序流程图第 5页 共 10页程序流程图是使用一些图形、符号和带方向的线段等,把程序设计的过程、解决问题的北京交通大学海滨学院课程设计报告先后顺序直接地描述出来的一种方法对于面向过程的设计方法来说,画好程序流程图是重要的步骤。它把整个程序按功能分成若干模块,通过流程图把它们有机地联系在一起,从而对全局有整体的了解,对各有部分的关联有清晰的认识。流程图有很多种,如逻辑流程图、算法流程图、程序流程图等。流程图一般由起始框和终止框、执行框、判断框和指向线四部分组成。4.编写程序根据流程图中描述的各部分的功能,编写出具体的程序。然后按流程图中各部分之间的关系整理出全部程序。用汇编语言编写源程序,要严格按照执行指令和说明语句的要求,在经过汇编以后,不要出现语法错误,如果有,要反复地进行修改和重新汇编。5 调试程序程序编写完毕,经过汇编过程,没有语法错误以后,要进行上机调试,这样才能检查出程序是否有逻辑上的错误、是否满足系统功能的要求。3.2 汇编语言程序的调试KeilC51 开发环境 KeilC51uVision2 是一个功能强大的 51 单片机集成开发平台,它主要由标题栏、菜单栏、工具栏、项目窗口、源程序编辑窗口和输出窗口几部分组成,如图 6.2 所示。图 6.2KeilC51uVision2 集成开发平台界面(2)程序调试的过程北京交通大学海滨学院课程设计报告 1.新建源程序文件 KeilC51uVision2 软件的工作界面中有一个源程序编辑窗口,可以在其中编辑、输入和编写汇编语言或 C 语言的源程序,并建立和保存一个汇编语言或C 语言的源程序文件,该文件为扩展名为.ASM 或.C 的文件。第 6页 共 10页 2.新建项目文件在 KeilC51uVision2 集成开发环境中,先进一个项目文件,该文件扩展名为 UV2 的文件。把要调试的源程序文件添加到该项目中。3.编译项目对项目进行编译,直接没有错误并生成扩展名为。HE 某的目标文件为止。4.调试程序利用 KeilC51 集成开发环境中的调试工具,对目标程序进行调试、排错。5.固化程序应用系统调试完成后,可以将目标程序固化到单片机的程序存储器 ROM中,结束开发工作。程序的固化可以通过专门的编程器来完成,也可以通过专门的程序下载接口来实现。3.3 汇编语言程序的调试实例将外部存储器从 8000H 开始的 20 个字节都赋以同一数值 FFH 汇编语言的源程序如下:80000030HSTART:,R0,#20MOVA,#0:MOV 某DPTR,,P$END北京交通大学海滨学院课程设计报告程序的开发调试过程如下所述。1.新建源程序文件在File菜单的下拉菜单中选择New命令新建文件。在源程序编辑窗口中进行源程序的编写并保存文件。文件保存为扩展名为.ASM 的文件。2.新建项目文件,并对项目进行参数选项和环境的设置在主菜单上选择 Project 项,在其下拉菜单中选择 NewProject 命令新建项目。在弹出的创建新项目对话框中,选择要保存项目文件的路径,在文件名文本框中输入项目名,然后单击保存按钮。3.将源程序文件添加到项目(Project)中在左侧的项目窗口(Projectwindow)中,右击鼠标,选取SourceGroup1.然后,在弹出的快捷菜单中选择“AddFiletoGroupSourceGroup1命令。这时会弹出浏览对话框。添加编辑好的.ASM 文件。这时添加的文件名出现在 ProjectWindow 窗口中。双击刚第 7页 共 10页添加的.ASM 文件,打开编辑文件窗口。4.编辑链接程序选择菜单栏中【Project】【Rebuildalltargetfiles】命令。如果编译成功,开发环境在下方输出(output)窗口中会显示编译成功的信息,无编译错误后,开始调试。5.调试程序打开 View 菜单下的 MemoryWindow(存储器窗口),在下方输出窗口中会出现 Memory(存储器)窗口。在 Memory(存储器)窗口的 Address(地址)输入框中输入某:8000H,接着按回车键。这时存储器窗口中会显示出片外 RAM 从地址 8000H 起始的存储单元的数据,初始值都为 0.(1)全速运行程序单击 run 按钮,运行程序。单击暂停按钮可以停止程序的运行。程序结束后,存储器窗口显示 8000H起始的 20 个单元的数据已经变为 0FFH.(2)设置断点在需要设置断点的指令行的空白处双击鼠标左键,指令行的前端出现红色方块,设置断点完成。在该行的空白处双击鼠标左键,红色方块消失,完成取消该短点的设置。北京交通大学海滨学院课程设计报告调试时,单击 run 按钮,程序运行到断点处会自动停下,观察输出窗口中各个寄存器、存储器单元的数值,即可检查程序的正确与否。4.89C51 的应用系统设计实例例 1 设计一个实时时钟以秒、分、时为单位计时。采用定时器与中断功能的综合应用解实时时钟要求以秒、分、时为单位进行计时。此例是定时器与中断功能的综合应用。已知单片机系统的主频率为 11.0592MHz.(1)实现时钟计时的基本方法第 8页 共 10页 1.定时器采用定时方式,定时时间为 20ms,累计 50 次得到 1 秒的计时。2.从秒到分、时的计时通过累计和数值比较实现,即 60 秒为 1 分钟、60分钟为 1 小时。3.通过显示电路和驱动程序完成实时时钟时间的显示。(2)设计过程 1.计算计数初值假定使用定时器 T0,以工作模式 1 进行 20ms 的定时。已知:fosc=11.0592MHz,则计数初值某为:(2e16 某)某 12/(11.0592 某 10e6)=20 某 10e-3 解得:某=47104=B800H.因此,计算初值为(TH0)=B8H;(TL0)=00H。2.设计主程序进行定时器 T0 的初始化编程并启动 T0,并允许定时器 T0 中断;对工作单元初始化将小时工作单元 30H、分钟工作单元 31H 和秒工作单元32H 清零;通过反复调用显示子程序,等待 20ms 定时中断的到来。主程序流程如图 7.20 所示。3.设计中断服务程序进行计时操作。程序开始先判断计数溢出是否慢 50 次,不满表明还没有达到最小计时单位 1 秒,中断返回;如果慢 50 次,表示已达到 1 秒,程序继续向下进行,进行计时操作。当满 1 秒时则将记录秒位的 32H 单元内容加 1,慢 60 秒后向记录分位的31H 单元内容加 1,满 60 分钟则向记录时位的 30H 单元内容加 1,。当满 24 小时的时候,工作单元 30H、31H、32H 单元的内容全部清零,重新开始计数。北京交通大学海滨学院课程设计报告中断服务程序流程图如图 7.21 所示。(3)程序清单:001 某HMAIN:MOVSP,#60D,#01,#5030H,0OVTL0,#00,#0B80SJMP$PIT0:MOVTL0,#00,#0B8H,OV20H,#50MOVA,#01HADDA,3232H,A北京交通大学海滨学院课程设计报告 CJNEA,#60H,OV32H,#00HMOVA,#01HADDA,3131H,A CJNEA,#60H,OV31H,#00HMOVA,#01HADDA,3030H,A CJNEA,#24H,OV30H,#00:POPACC北京交通大学海滨学院课程设计报告 5.89C51 单片机应用的新创意第 9页 共 10页快热式家用电热水器的设计快热式电热水器与普通电热水器最大的区别在于它取消了储水罐,热水随开随用,无需预热,减少了电能浪费。另外,它还具有体积小,使用安全,安装方便等优点。快热式电热水器主要包括电源电路、单片机控制器、温度检测电路、按键输入电路、LED 数码管及指示灯电路、报警电路和加热控制器。北京交通大学海滨学院课程设计报告快热式电热水器为了达到快热的效果,取消了储水罐,使冷水在进入加热管后立即被加热,这就要求加热管有较大的功率。对于加热功率的控制,最简单的方法是由若干不同功率的电热丝组合得到几种加热功率,但由于快热式热水器的加热功率较普通的大,且档位设置较多,用电热丝组合的方法需要几组电热丝和继电器,成本增高且工作可靠性低,所以比较理想的是采用可控硅控制功率,电路简单又控制方便。温度检测的方法较多,最经典的方法就是用热敏电阻组成电桥来采集信号,再经放大、A/D 转换后送单片机。采用温度/频率转换测温法,直接将温度信息转换成频率信号,用单片机测出频率大小,从而间接测出温度值,温度/频率转换电路简单可靠,成本低廉。第 10页 共 10页