《单片机原理及应用课件》由会员分享,可在线阅读,更多相关《单片机原理及应用课件(145页珍藏版)》请在金锄头文库上搜索。
1、单片机原理及应用第 1 章 概述学习要点 通过本章的学习,应该建立关于单片机系统的概 念,了解单片机与一般微机的区别。 要求掌握系统单片机的结构特点,熟悉单片机的应用领域及开发工具。1.1单片机发展概况主要分为以下个阶段: 第阶段(年)为初级单片机阶段。其典型产品是公司的第阶段(年) 为高性能单片机阶段。其典型产品是系列。第阶段(年以后) 为位单片机巩固、完善及位单片机推出1.2 单片机硬、软件系统及种类1.2.1单片机的硬件系统1.2.2 单片机的软件系统1.2.3单片机的种类1.3 单片机应用领域与开发工具1.3.1应用领域 .单片机在智能仪器仪表中的应用 2. 单片机在工业测控中的应用
2、3. 单片机在计算机网络与通信设备中的应用 4. 单片机在日常生活及家电中的应用1.3 单片机应用领域与开发工具1.3.2 开发工具单片机开发系统一般应具备以下方面的基本功能:系统硬件电路的诊断与检查。用户程序的输入修改。程序的运行调试。程序的固化。第2章 单片机的结构原理本章要点 了解-单片机的常用术语、内部结构。 熟悉运算器和控制器中的累加器、程序状态字寄存器、程序计数器、堆栈指针和指针的特点及应用。 熟悉-单片机存储器的特点、的时序和引脚功能、输入输出接口结构特点。 掌握工作寄存器的分组情况、所占内存空间、位地址空间、程序存储器和数据存储器的结构特点。掌握“漏极开路、准双向、读-改写”的
3、准确含义及编程时应采取的措施。2.1 常用术语及内部结构2.1.1 常用术语 本节重点讲解 46个单片机常用术语2.1 常用术语及内部结构2.1.2 内部结构2.2 CPU 及存储器单片机最核心的部分是,可以说是单片机的大脑和心脏。的功能是产生控制信号,把数据从存储器或输入接口传送到或反向传送,还可对输入数据进行算术、逻辑运算以及位操作处理,故内包含了运算器、控制器以及布尔处理器。存储器主要包括程序存储器和数据存储器2.2 CPU 及存储器2.2.1 运算器 1. 累加器 2. 算术逻辑部件 3. 程序状态寄存器2.2 CPU 及存储器2.2.2 控制器 1. 程序计数器 2. 堆栈指针 3.
4、 指令译码器 4. 数据指针DPTR2.2 CPU 及存储器2.2.3 程序存储器程序存储器和数据存储器的寻址空间是分开的,对系列(和除外)而言,有个物理上相互独立的存储器空间。2.2 CPU 及存储器2.2.4 数据存储器数据存储器用于存放运算的中间结果、数据暂存以及数据缓冲等。它由读写存储器组成,片内为,片外最大可扩展为。2.3 引脚功能及CPU的时序2.3.1 引脚功能 1. 电源引脚和 2.时钟电路引脚和 3. 控制信号引脚、和 4. 输入输出接口引脚、和 2.3 引脚功能及CPU的时序2.3.2 振荡电路和时钟电路单片机的振荡电路和时钟电路一起构成了单片机的时钟方式. 单片机有一个高
5、增益反相放大器,反相放大器输入端为,输出端为,在和之间跨接石英晶体及两个微调电容就构成了振荡器,如左图所示,和一般取左右,振荡频率范围是。如果需要,单片机也可以使用外部振荡信号,如右图所示。2.3 引脚功能及CPU的时序2.3.3 CPU的时序1. 震荡周期2. 时钟周期3. 机器周期4. 指令周期 2.4 输入、输出接口2.4.1 P0口 P0口的内部结构如下 。它由一个锁存器、两个三态输入缓冲器以及控制电路和驱动电路组成。 2.4 输入、输出接口2.4.2 P1口口的位内部结构如图下.口是一个准双向口,作通用口使用,其内部有上拉电阻与电源相连,故不必再外接上拉电阻。当作输入时,必须先向对应
6、的锁存器写“”,使截止。 2.4 输入、输出接口2.4.2 P1口口的位内部结构如图下.口是一个准双向口,作通用口使用,其内部有上拉电阻与电源相连,故不必再外接上拉电阻。当作输入时,必须先向对应的锁存器写“”,使截止。 2.4 输入、输出接口2.4.3 P2口口的每一位内部结构如下。口也是一个准双向口,其位结构与口类似,当系统中有片外存储器时,口用于输出高位地址。2.4 输入、输出接口2.4.4 P3口口的每一位内部结构如图所示。口是一个双功能口,它既可以作通用口使用,又具有第二功能。 第3章 单片机的指令系统与程序设计本章要点 通过本章的学习,应该了解-单片机的指令格式、寻址方式、指令类型以
7、及汇编语言程序设计中的顺序结构程序、分支程序、循环结构和子程序的设计方法。 要求掌握指令的基本形态、单字节双字节三字节指令的格式,掌握种寻址方式,熟悉条指令的用途。 掌握-汇编语言编程的基本方法,熟悉一些常用的程序段,能正确的应用-指令系统进行编程。3.1 指令系统-单片机的指令系统按功能可划分为类:数据传送类指令条。算术运算类指令条。逻辑运算类指令条。位操作类指令条。控制转移类指令条。3.1 指令系统-单片机汇编语言指令由操作码助记符和操作数两部分组成。指令格式如下:标号:操作码目的操作数,源操作数;注释【例】:,;累加器清【例】;机器代码为【例】,;机器代码为3.1.1 指令格式3.1 指
8、令系统助记符语言一般由操作码和操作数两部分组成,操作码规定了指令的操作功能,操作数代表了指令的操作对象。例如:“ ,”表示把一个数与累加器的内容相减(带借位位),其结果存放在累加器中。3.1.2 助记符语言3.1 指令系统. 寻址方式中常用符号注释(共 14种 ) 2. 寻址方式(1)立即寻址(2)直接寻址(3)寄存器寻址(4)寄存器间接寻址(5)变址寻址(6)相对寻址(7)位寻址3.1.3 寻址方式及常用符号注释3.1 指令系统数据传送类指令是指令系统中最基本、使用最多的一类指令,主要用于数据的传送、保存以及交换等场合。. 以累加器为目的操作数的指令(条).以寄存器为操作数的指令(条).以直
9、接地址为目的操作数的指令(条).以间接地址为目的操作数的指令(条).查表指令(条).累加器与片外传送指令(条).堆栈操作类指令(条).交换指令(条).位数据传送类指令(条)3.1.4 数据传送指令功能及应用举例3.1 指令系统算术运算指令主要完成加、减、乘、除四则运算,以及加、减、码的运算和调整等。. 加法指令(条).带进位加法 指令(4条).带借位减法指令(4条).乘法指令(1条).除法指令(1条).加1指令(5条).减1指令(4条).十进制调整指令(1条)3.1.5 算术运算指令功能及应用举例3.1 指令系统逻辑运算类指令共有条,有与、或、异或、求反、左右移位、清等逻辑运算。对应的寻址方式
10、有直接、寄存器和寄存器间接寻址,该类指令的执行一般不影响。.循环移位指令(条).累加器半字节交换指令(条).求反指令(条).清指令(条).逻辑与指令(条).逻辑或指令(条).逻辑异或指令(条)3.1.6 逻辑运算指令的功能及应用举例3.1 指令系统控制转移类指令用于控制程序的走向,共有以下几类:. 无条件转移指令(条).条件转移指令(条).调用子程序及返回指令(条).空操作指令(条) 3.1.7 控制转移类指令的功能及应用举例3.1 指令系统位操作类指令共有条,均以位为操作对象,分别完成位传送、位状态控制、位逻辑运算、位条件转移等功能。.位数据传送指令(条).位状态控制指令(条).位逻辑运算指
11、令(条).位条件转移指令(条) 3.1.8 位操作类指令的功能及应用举例3.1 指令系统-单片机具有极丰富的数据传送指令(条),能够实现多种数据的传送。本实验的目的是着重练习这些指令的使用和编程方法。(1) 片内 (低)的数据传送(2)外部 的数据传送(3)片内特殊功能寄存器()的数据传送(4) 从程序寄存器中取数据(5)不同传送空间之间的数据传送上机实验1:数据传送指令的使用及编码方法3.1 指令系统-单片机具有较强的加、减、乘、除种基本数学运算功能,这些运算均是直接对位无符号二进制数而言,利用溢出标志,还可以把加、减法运算用于有符号数的运算;利用十进制调整指令,又可使运算直接用十进制数(码
12、)来进行。本实验的目的是着重练习各种数学运算指令的使用及编程方法。(1) 加法指令(2)减法指令(3)乘法指令 上机实验2:算术运算指令的使用及编码方法3.1 指令系统-单片机具有对字节操作进行的基本逻辑运算功能。本实验的目的是着重练习按字节寻址的逻辑运算指令(条)的使用及编程方法。【实验原理】 可分成单字节寻址和双字节寻址逻辑运算。 (1) 单字节寻址 (2)双字节寻址 上机实验3:逻辑运算指令的使用及编程方法3.1 指令系统-单片机具有对位操作进行的基本逻辑运算功能。本实验的目的是着重练习按位寻址的逻辑运算指令(条)的使用及编程方法。【实验原理】-单片机有独立的按位操作的位处理器(又称为布
13、尔处理器),使能执行按位操作。它将原中的进位标志作为布尔处理器的位累加器使用。 上机实验4:位操作指令的使用及编程方法3.1 指令系统本实验的目的是着重练习控制转移指令的使用及编程方法。【实验原理】控制转移指令大体分为类:p第一类为无条件转移指令。无论什么情况,只要碰到该指令,都要转移到由指令提供的地址去执行。 p第二类为条件转移指令。根据给出的条件进行测试。若条件满足,则程序转向指定的地址去执行;若条件不满足,则继续按顺序执行下一条指令。p第三类是中断。当中断发生时会改变程序的执行顺序,使程序转去执行中断服务子程序。在子程序结束后又返回到原程序去继续执行。 上机实验5:控制转移指令的使用及编
14、程方法3.2 汇编语言程序设计举例本节主要介绍-单片机的汇编语言与一些常用的汇编语言程序设计方法,最后列举一些具有代表性的汇编语言程序实例。3.2 汇编语言程序设计举例3.2.1 汇编语言程序的格式1. 伪指令(8种) 设置起始地址: 定义字节DB: 标号:项或项表定义字节DW: 标号:W项或项表 预留存储区DS: 标号:S项或项表 为标号赋值EQU: 标号: EQU数或汇编符号 数据地址赋值DATA: 标号: DATA数或表达式 位地址符号BIT: 符号名 BIT 位地址 源程序结束END: 标号: END 表达式 3.2 汇编语言程序设计举例3.2.1 汇编语言程序的格式2. 汇编语言的格
15、式 汇编语言源程序是由汇编语句(指令语句)构成的。汇编语句由个部分构成,每一部分称为一个字段,汇编程序能够识别它们。其语句格式如下:标号:操作码操作数;注释 每个字段之间要用分隔符分离,而每个字段内部不能使用分隔符。可以作为分隔符的符号有空格、冒号、逗号、分号等。3.2 汇编语言程序设计举例3.2.2 汇编语言程序设计步骤用汇编语言编写一个程序的过程大致可分为步:确定计算方法,定出运算步骤和顺序,把运算过程画成框图。确定数据,包括工作单元的数量、分配存放单元。按所使用计算机的指令系统,把确定的运算顺序(框图)写成汇编语言程序。3.2 汇编语言程序设计举例3.2.2 汇编语言程序设计方法方法用汇
16、编语言编写一个程序的方法有下面4种:顺序结构程序。分支结构程序循环结构程序。子程序设计3.2 汇编语言程序设计举例3.2.2 汇编语言程序设计方法顺序结构顺序结构程序是一种最简单、最基本的程序,按照程序编写的顺序依次执行。编写这类程序主要应注意正确地选择指令,提高程序的执行效率。【例】双字节二进制数求补。程序清单如下: , ,;低位字节补码送, ;高位加进位, ;高位字节补码送T3.2 汇编语言程序设计举例3.2.2 汇编语言程序设计方法分支结构分支结构程序可根据程序要求无条件或有条件地改变程序执行的顺序,选择程序流向。编写这类结构的程序主要是为了正确使用转换指令,即无条件转移、条件转移和散转
17、。【例】设变量存放在单元之中,函数值存放在中,按下式给赋值: , , , 3.2 汇编语言程序设计举例3.2.2 汇编语言程序设计方法循环结构在程序设计中,常遇到反复执行某一段程序的情况,此时可用循环程序结构,这有助于缩短程序,节省存储空间。 循环程序流程图如下:3.3 汇编语言程序设计1. 代码转换类程序【例】位二进制数转换为码。编程说明:编程说明:由编码表可知转换方法为若位二进制数小于, 则此二进制数加上,若大于(或等于),则加上。入口:()位二进制数。出口:()转换后的码。流程图如图如下:3.3 汇编语言程序设计2. 运算类程序【例】多字节无符号数加法。编程说明:多字节运算一般是按从低字
18、节到高字节的顺序依次进行的。入口:()被加数低位地址指针。()加数低位地址指针。()字节数。出口:()和数高位地址指针。流程图如下。3.3 汇编语言程序设计在-系列机中,已经设计了单字节的加、减、乘、除指令,但在实际应用程序设计过程中,经常要用到多字节的各种运算。所以,本实验的目的是着重练习多字节的各种运算及这类程序的设计方法。(1) 多字节加法运算(2)多字节减法运算(3)多字节十进制加法(4) 多字节乘法(5)多字节除法上机实验6:多字节算术运算3.3 汇编语言程序设计数据的拼拆及转换是程序设计的一种最常用的方法。本实验的目的是着重练习数据的拼拆程序及转换程序的设计方法,以提高编制单片机应
19、用程序的能力。(1) 数据的拼拆 (2)ASCII码与二进制码之间的转换(3)BCD码与二进制码之间的转换 上机实验7:数据的拼拆及转换第4章 单片机中断的使用技巧本章要点 通过本章的学习,应该了解和掌握-单片机中断源的种类、产生中断的方式、中断的控制以及外部中断源的扩展方法。 要求能熟练地编制中断服务程序,熟悉中断的嵌套,以及程序存储器中个有关的中断入口地址。4.1 中断的功能控制及响应中断的优点:(1)同步工作 (2)实时处理(3)故障处理 4.1.1 中断的功能(一)中断源的种类:p外部输入输出设备,如、打印机等。p数据通信设备,如双机或多机通信。p定时时钟。p故障源,如掉电保护请求。p
20、为调试程序而设置的中断源。 4.1 中断的功能控制及响应4.1.1 中断的功能(二)中断系统的功能:(1)实现中断并返回(2)能实现优先权排队(3)高级中断源能中断低级的中断处理 4.1 中断的功能控制及响应4.1.1 中断的控制与响应中断系统结构框图: 4.1 中断的功能控制及响应4.1.1 中断的控制与响应中断请求源1.定时器计数器控制寄存器2.串行口控制寄存器 4.1 中断的功能控制及响应4.1.1 中断的控制与响应中断控制1.中断开放和禁止 2.中断优先级 4.1 中断的功能控制及响应4.1.1 中断的控制与响应 中断的响应条件与相应过程1.响应条件 2.响应过程 4.2 中断医院应用
21、的4个实例【例】利用定时器作外部中断源。 【例】利用定时器定时,在端输出周期性方波信号,方波周期为,已知晶振频率为【例】利用定时中断抗干扰。【例】图为多个故障显示电路。当系统无故障时,个故障源输入端全为低电平,显示灯全灭。当某部分出现故障,其对应的输入由低电平变为高电平,从而引起单片机中断。中断服务程序的任务是判定故障源,并用对应的发光二极管进行显示。 4.1 中断的功能控制及响应本实验旨在通过对种中断的编程练习,进一步理解中断的基本概念,加深对中断的认识。(1) T0中断实验(2) T1中断实验(3)外部中断0(INT0)中断实验(4)外部中断1(INT1)中断实验(5)串行口中断实验(6)
22、外部中断实验上机实验8:中断的使用及编程方法第5章 单片机定时器/计数器的使用技巧本章要点了解定时器计数器的结构原理、控制和工作方式的设置。应掌握定时器计数器的基本编程和应用方法。5.1 中断的功能控制及响应5.1.1 定时器/计数器的结构与原理1.结构图 5.2 定时器/计数器的工作方式与控制 1. 工作方式0 逻辑结构图 5.2 定时器/计数器的工作方式与控制 2. 工作方式1 逻辑结构图 5.2 定时器/计数器的工作方式与控制 3. 工作方式2 逻辑结构图 5.2 定时器/计数器的工作方式与控制 4. 工作方式3 逻辑结构图 5.3 定时器/计数器应用举例应用定时器计数器时需要注意两点:
23、一是初始化(写入控制字),二是对初值的计算。初始化步骤为:()向写工作方式控制字。()向计数器、装入初值。()置,启动计数。()置,允许定时器计数器中断(若需要时)。()置,开中断(若需要时)。5.3 定时器/计数器应用举例【例】设为工作方式,设置为定时状态,定时时间为。每当到,申请中断,在中断服务程序中将的内容取反送出(假设晶振为)。【例】当,且只有引脚上出现高电平时,才被允许计数。试利用这一功能测试()输入。工作在方式,设置为定时状态,置为“”。测试时,在端为“” 时置为“”,当端变为“” 时启动计数,端再次变为“”时停止计数,此时的计数值就是被测正脉冲的宽度。5.3 定时器/计数器应用举
24、例上机实验9:定时器/计数器的使用及编程方法(1) 工作方式0 编程练习 (2)工作方式1 编程练习 (3)工作方式2 编程练习 (4)工作方式3 编程练习第6章 单片机串行接口 的使用技巧本章要点 通过对本章的学习,应该了解和掌握-单片机串行接口的结构原理,掌握工作方式的应用。 熟悉工作方式的编程方法及初始化过程,了解多机通信的基本原理及编程方法。6.1 串行通信中的几个概念 (1)通信方向 (2)同步通信和异步通信 (3)波特率 (4)传送编码(5)信号的调制与解调6.2 串口工作原理 与波特率设计6.2. 1 串口的工作原理1.串口控制寄存器SCON2.电源控制寄存器PCON 6.2 串
25、口工作原理 与波特率设计6.2. 2 波特率设计1.工作方式0的波特率:fosc/122.工作方式2的波特率:2SMOD/64*fosc 3. 工作方式1和工作方式3的波特率: 2SMOD/32*T1溢出率6.3 串口的4种工作方式1.工作方式0,扩展电路如下:2.工作方式1 用于串行发送或接收数据,为10位异步通信接口 3. 工作方式2 每帧11位异步通信接口4. 工作方式3 工作状态同工作方式2,波特率不同6.4 串口应用举例1.利用串行口扩展并行输入、输出口 (1) 用扩展并行输入口 (2)用扩展并行输出口6.4 串口应用举例2.利用串行口进行异步单工通信 (1) 发送工作 (2)接收工
26、作3. 利用串行口进行异步双工通信4主-从式多机通信 6.2 串口工作原理 与波特率设计上机实验 10:双机通信本实验的目的是着重练习单片机双机之间的通信编程方法与技巧。【实验原理】设在甲、乙两台开发机之间使用定时器工作方式、串行口工作方式进行通信,通信波特率约定为波特。6.2 串口工作原理 与波特率设计上机实验 10:双机通信甲机发送:将片外单元中的数据块及数据块首、末地址通过串行口发送到乙机。发送程序流程如下:6.2 串口工作原理 与波特率设计上机实验 10:双机通信乙机接收:接收的第、字节为数据块首地址,第、字节为数据块末地址,第字节开始为数据块。将接收到的数据块首、末地址及数据块依次存
27、入片外以为起始地址的区域中。接收程序流程如下:6.2 串口工作原理 与波特率设计上机实验 11:主-从式多机通信【实验目的】本实验的目的是着重练习单片机在主从式多机通信中的编程技巧与方法。【实验原理】在主从式多机通信中,主机发送的信息可以被各个从机接收,而各从机发送的信息只能由主机接收,从机和从机之间不能直接通信。多机通信的实现主要靠主、从机之间正确地设置与判断多机通信控制位和发送或接收的第数据位()。第7章 单片机系统的扩展技巧本章要点通过本章的学习,应该了解系统扩展的含义、程序存储器的扩展方法、数据存储器的扩展方法以及接口的扩展方法。 掌握接口扩展时的口地址分配及地址译码法。 掌握、等芯片
28、的特性、使用方法和单片机的接口技术以及编程方法。 熟悉、等芯片的特性、使用方法以及编程方法。7.1 程序存储器的扩展(1)地址线 程序存储器的低位地址线()与口(.)相连,高位地址线()与口(.)相连。(2)数据线程序存储器的位数据线与口(.)从低到高对应相连。 7.1 程序存储器的扩展(3)控制线 7.2 数据存储器的扩展在-系列单片机中,片内数据存储器的容量一般为,当数据量较大时,就需要在片外扩展数据存储器,扩展容量最大可达。8051扩展1片6116的电路如下: 7.3 I/O接口的扩展在-系列单片机中,单片机本身提供给用户使用的输入、输出口线并不多,实际设计中需要对其扩展。(1) 常用选
29、址方法 线选法 地址译码法 7.3 I/O接口的扩展若系统只扩展少量的外部和接口芯片,一般都采用线选法。右图是一个例子。 7.3.2 常用的选址方法线选法7.3 I/O接口的扩展 当芯片所需要的片选信号多于可利用的地址线时,可采用地址译码法。右图是一个例子。 7.3.2 常用的选址方法地址译码法 7.3 I/O接口的扩展在-单片机应用系统中,常采用电路、电路锁存器或三态门构成简单的输入输出口。通常,这种接口都是通过口扩展的。由于口只能分时使用,故构成输出口时,接口芯片应具有锁存功能;构成输入口时,根据输入数据是常态还是暂态,接口芯片应具有三态缓冲或锁存选通。数据的输入、输出由单片机的信号控制。
30、右图是用44、构成的扩展电路图。 7.3.3用芯片扩展接口7.3 I/O接口的扩展左边是8255A的引脚图,图是其内部结构图。 7.3.4 8255可编程并行口的扩展 结构与功能7.3 I/O接口的扩展下图是 8255A的3种工作方式图。 7.3.4 8255可编程并行口的扩展 工作方式7.3 I/O接口的扩展下图是 8255A的控制字格式图。 7.3.4 8255可编程并行口的扩展 控制字7.3 I/O接口的扩展下面是二者的连接图。 7.3.4 8255可编程并行口的扩展 8055A与MCS-51单片机的连接7.3 I/O接口的扩展下面是二者的引脚和内部结构图。 7.3.5 8155可编程接
31、口的扩展 8155芯片结构图7.3 I/O接口的扩展。 7.3.5 8155可编程接口的扩展 8155与8031单片机连接7.3 I/O接口的扩展 7.3.6 8279可编程键盘显示器接口的扩展 8729逻辑结构图7.3 I/O接口的扩展 7.3.6 8279可编程键盘显示器接口的扩展 8729引脚及引脚功能7.3 I/O接口的扩展 7.3.6 8279可编程键盘显示器接口的扩展 8729的键盘、显示器配置及其与8031接口电路7.3 I/O接口的扩展 7.3.6 8279可编程键盘显示器接口的扩展 8031单片机与8279接口电路7.3 I/O接口的扩展 7.3.7 8234并行I/O接口的
32、扩展 8234的结构与功能引脚图工作时序及第一个4位数格式7.3 I/O接口的扩展 7.3.7 8234并行I/O接口的扩展 8234与MCS-51的接口7.3 I/O接口的扩展上机实验 12:程序存储器和外部数据存储器的扩展【实验目的】(1)掌握外部程序存储器和数据存储器的扩展方法。 (2)学会根据不同的要求选择不同的芯片和电路,并编制出相应的程序。【实验设备】 (1)-仿真(开发)机一台。 (2)外部、扩展实验板一块。 (3)发光二极管、电源等元器件若干。7.3 I/O接口的扩展上机实验 14 74LS244、74LS273等芯片简单接口的扩展【实验目的】通过本实验掌握简单接口的扩展方法。
33、学会编制简单接口的应用程序。【实验设备】-仿真(开发)机一台。数字逻辑实验板一块。、等芯片若干。7.3 I/O接口的扩展上机实验 15 8155可编程控制芯片的应用【实验目的】掌握单片机输入输出接口的扩展方法。熟悉芯片的性能,掌握其编程方法。【实验设备】-仿真(开发)机一台。数字逻辑实验板一块。元器件若干。7.3 I/O接口的扩展上机实验 16 8279可编程键盘/显示器与8031接口【实验目的】掌握与接口硬件电路的设计方法。掌握与接口软件的编程方法。了解外部中断的使用和编程方法。【实验设备】-仿真(开发)机一台。数字逻辑实验板一块。元器件若干。【实验电路】第8章 单片机系统的接口技巧本章要点
34、 通过本章的学习,应该了解并掌握 (模数)转换接口与 (数模)转换接口的扩展技巧。 掌握、等芯片的特性、使用方法以及编程方法。8.1 A/D转换接口的扩展技巧逐次逼近式双积分式转换电路原理转换器的主要技术指标-单片机与典型转换接口的应用8.1 A/D转换接口的扩展技巧8.1.1 逐次逼近式A/D转换器 逐次逼近式转换器是目前种类最多、应用最广的转换器。右图是逐次逼近式转换器的电路原理图,它由寄存器、转换器、比较器和控制逻辑等部分组成。8.1 A/D转换接口的扩展技巧8.1.1 双积分式A/D转换器 下图是双积分式转换器的电路原理图。它由电子开关、积分器、比较器、计数器和逻辑门等部分组成。双积分
35、即进行一次转换需要进行两次积分。8.1 A/D转换接口的扩展技巧分辨率量化误差转换精度转换速率8.1.3 A/D转换器的主要技术指标 8.1 A/D转换接口的扩展技巧8.1.4 单片机与ADC0809的接口技巧 ADC0809的引脚与内部结构8.1 A/D转换接口的扩展技巧8.1.4 单片机与ADC0809的接口技巧 8031单片机与ADC0809的接口8.1 A/D转换接口的扩展技巧8.1.5 单片机与MC14433的接口技巧 MC14433的引脚与内部结构8.1 A/D转换接口的扩展技巧8.1.5 单片机与MC14433的接口技巧 MC14433与8031的接口电路8.2 D/A转换接口的
36、扩展技巧权电阻D/A转换器的原理图如下:8.2.1 D/A转换器的原理及性能权电阻D/A转换器8.2 D/A转换接口的扩展技巧R-2RT型电阻网络D/A转换器的原理图如下:8.2.1 D/A转换器的原理及性能 R-2RT型电阻网络D/A转换器8.2 D/A转换接口的扩展技巧转换速率转换精度分辨率线性度输出极性及范围8.2.1 D/A转换器的原理及性能 D/A转换器的主要性能指标8.2 A/D转换接口的扩展技巧8.2.2 8031单片机与DAC0832接口技巧 及产生任意波形的方法 DAC0832 的引脚及内部结构:8.2 A/D转换接口的扩展技巧8.2.2 8031单片机与DAC0832接口技
37、巧 及产生任意波形的方法 DAC0832 与8031单片机单缓冲方式接口:8.2 A/D转换接口的扩展技巧8.2.2 8031单片机与DAC0832接口技巧 及产生任意波形的方法 DAC0832 与8032单片机双缓冲方式接口:8.2 A/D转换接口的扩展技巧8.2.3 8031单片机与AD7520接口技巧 AD7520 的引脚及 AD7520与8031单片机的二级缓冲接口8.2 A/D转换接口的扩展技巧上机实验 17 8路8位逐次比较A/D 0809接口【实验目的】掌握与接口电路的设计方法和转换程序的设计方法。了解转换器的工作原理。【实验设备】-仿真(开发)机一台。接口板一块。电源两台,其中
38、一台为电压可调电源,用于模拟量输入信号。8.2 A/D转换接口的扩展技巧上机实验 18 3 位 MC14433 A/D接口【实验目的】掌握双积分转换器和单片机接口的设计方法。了解单片机读取转换结果的程序设计方法。【实验设备】-仿真(开发)机一台。实验板一块。电源一台。万用表一块。8.2 A/D转换接口的扩展技巧上机实验 19 8位D/A 0832接口【实验目的】掌握与单片机的接口方法。掌握转换的程序设计方法。【实验设备】-仿真(开发)机一台。多路直流稳压电源(, )一台。示波器一台。转换实验板一块。第9章 单片机系统的工程设计本章要点通过本章的学习,应该了解和熟悉-单片机应用系统的研制方法和研
39、制过程。了解整个系统的研制流程,明确硬件和软件功能的划分方法。 通过“交通信号灯控制”、“水塔水位控制”、“作息时间控制” 等实例,加深理解应用系统的设计步骤。9.1 设计要求一、可靠性采用双机系统采用集散式控制系统进行软硬件滤波提高元器件的可靠性二、系统自诊断功能三、操作维修方便四、性能价格比9.2 设计方法单片机应用系统研制框图:一、总体设计确定技术指标选择机型和硬件硬件和软件的功能划分提高元器件的可靠性二、硬件设计程序存储器数据存储器和I/O接口总线驱动 9.2 设计方法8031单片机与缓冲器接口电路二、硬件设计程序存储器数据存储器和I/O接口总线驱动 9.2 设计方法软件设计流程图二、
40、软件设计系统定义软件结构设计程序设计 9.3 设计实例实例1交通信号灯模拟控制实例2水塔水位控制实例3自然风发生控制实例4发音电路及程序设计实例5红外线遥控单片机接口系统实例6数字温度接口及程序设计第10章 单片机C 语言程序设计本章要点 了解单片机语言程序设计的结构特点。 掌握语言程序设计的运算符、表达式、规则以及语言程序设计的基本方法。10.1 C51程序的结构特点单片机的语言程序设计,也就是通常所称的程序设计。C51的一般格式如下:类型函数名(参数表)参数说明:数据说明部分;执行语句部分;10.2 C51程序的运算符、表达式及语法规则1. 算术运算符中最基本的算术运算符如下:加法运算符,
41、或正值符号。:减法运算符,或负值符号。* :乘法运算符。: 除法运算符。:模(求余)运算符。例如,“”结果是除以所得的余数10.2 C51程序的运算符、表达式及语法规则2. 算术表达式算术表达式是指用算术运算符和括号将运算对象连接起来的式子,其中的运算对象包括常量、变量、函数、数组、结构等。【例】;*;a*() () ;*;10.2 C51程序的运算符、表达式及语法规则4. 算术运算符优先级算术运算符的优先级规定为:先乘除模,后加减,括号最优先,即在算术运算符中,乘、除、模运算符的优先级相同,并高于加、减运算符。在表达式中若出现括号,则括号中的内容优先级最高。10.2 C51程序的运算符、表达
42、式及语法规则5. 关系运算符共提供6种关系运算符:(小于)(大于)(小于或等于)(大于或等于(测试等于)! (测试不等于) 10.2 C51程序的运算符、表达式及语法规则6. 关系运算符优先级关系运算符的优先级如下:前种关系运算符(、)优先级相同,后种也相同;前种优先级高于后种。关系运算符的优先级低于算术运算符。关系运算符的优先级高于赋值运算符。10.2 C51程序的运算符、表达式及语法规则7. 逻辑运算符共提供3种逻辑运算符:逻辑与()。:逻辑或()。!:逻辑非()。10.2 C51程序的运算符、表达式及语法规则8. 运算符的优先级逻辑运算符与算术运算符、关系运算符、赋值运算符之间优先级的次
43、序如图下图所示,其中“!”运算符优先级最高,算术运算符次之,关系运算符再次之, “” 和“”再次之,最低为赋值运算符。 优先级!(非)算术运算符 (高)关系运算符和赋值运算符 (低)10.2 C51程序的运算符、表达式及语法规则9. 位操作运算符提供了如下位操作运算符:按位与。:按位或。:按位异或。:按位取反。:位左移。:位右移。10.2 C51程序的运算符、表达式及语法规则10. 自增(减)运算符自增自减运算符的作用是使变量值自动加或减。如:“、”在使用之前,先使值加(减)。“、”在使用之后,再使值加(减)。10.2 C51程序的运算符、表达式及语法规则11. 符合运算法及其表达式凡是二目运
44、算符,都可以与赋值运算符“”一起组成复合赋值运算符。共提供了0种复合赋值运算符,即、 、 、 。采用这种复合赋值运算的目的是为了简化程序、提高程序编译效率,如:相当于 相当于 相当于相当于a* 相当于*相当于 相当于10.3 C51程序设计技巧程序设计的一些技巧,分以下几点来说明:存取单片机特殊功能寄存器。位的控制。中断子程序的设计。内存应对式。程序中加入汇编语言语句。10.3 C51程序设计技巧单片机内部有一些特殊功能寄存器(),如、,其对应的内存地址分别为、。在编写汇编语言程序时可以利用以下指令对端口做输出控制:,这两条指令将端口全部设为低电位。对于下的语言,则可以用下列方式来做控制:.;
45、1. 存取单片机特殊功能寄存器10.3 C51程序设计技巧内部有一些特殊功能寄存器,其中可以分别做位的控制,如、等。例如,将端口位设为高电位,可以使用汇编语言指令: .将其设为低电位可以使用如下指令: .将位取反可以使用如下指令: .而在中则可以使用如下指令:.*一般定义*.*位设定取消宏定义*. *寄存器定义*(.); *设为高电位*(.); *设为低电位*(.); *位取反*2. 位的控制10.3 C51程序设计技巧本身提供有语句,可以在语言中加入汇编语言代码,有以下两种格式。格式一:汇编语言指令;在此格式中, “” 内的所有指令将全部送到汇编语言编译器。注意,在语句的最后要加上分号,作为语句的结束,如同一般语言程序。3. 程序中加入汇编语言10.3 C51程序设计技巧格式二: 汇编语言指令 在此格式中,所有位于“”间的每一行指令将原封不动地送到汇编语言编译器做编译。4. 程序中加入汇编语言10.4 C51程序设计举例实例一:求和的C51程序() ,; ; ; 4. 程序中加入汇编语言