1、.1单片机原理及接口技术.2课程安排n40学时。n上课共10周。n课程设计一周。.3课程重点n教材内容比较多,讲授19章内容,重点在MCS-51单片机原理、指令系统、单片机系统接口技术的学习。n每次课前回列出重要知识点。n主题可分为6大部分q微型计算机基础。q51单片机结构及工作原理。q51单片机指令系统及汇编程序设计。q半导体存储器及其与51单片机的连接。q51单片机中断技术q基本I/O接口技术(并口、串口、A/D、D/A)n预备知识:q模电、数电、C/C+程序设计、微型计算机原理与接口技术.4第1章微型计算机基础n定点数与浮点数n计算机中的数制和编码q二进制、十六进制、八进制qBCD编码、
2、ASCII编码q原码、反码、补码的表示及运算规则n单片计算机的基本结构、原理及分类.5计算机的数制与数的转换q数制是指数的制式,即利用符号计数的方法。微型计算机中常用的数值有十进制、二进制、八进制、十六进制等。q微型计算机中的所有信息都是采用二进制数进行表示,二进制数及编码是所有计算机的基本语言。.6进位计数制q十进制。09,如45D。q二进制。0,1,如01010011B。q十六进制。09,A,B,C,D,E,F,如3BH。q八进制。07,如76O。.7进位数制之间的转换q十进制转为二进制。q二进制转为十进制。q二进制转为十六进制。q十六进制转为二进制。q十进制转为十六进制。.8计算机中数的
3、表示方法n定点数表示法。二进制数的小数点位置不变。q定点整数q定点小数n浮点数表示法。小数点位置随阶码的大小浮动。.9二进制数的运算n算术运算q加、减、乘、除n逻辑运算q逻辑乘(与)、逻辑加、逻辑非、逻辑异或.10二进制数的表示方法q在计算机中,有3种数据类型:n无符号二进制数。n带符号二进制数。n无符号十进制数(BCD码)。q二进制中符号位的表示。”0”为正,”1”为负n+69=01000101 -69=11000101q机器数与真值,如上例中n+69=01000101(机器数)= +1000101(真值)n -69=11000101(机器数)= -1000101(真值)q带符号数表示法。n
4、原码n反码n补码.11原码表示法q正数的符号用”0”表示,负数的符号用”1”表示。nX1001111,则X原01001111nX1001111,则X原11001111n0:X0000000,则X原00000000n0:X0000000,则X原10000000.12反码表示法q正数的表示同原码,负数的反码:符号位为”1”,其余各位按位求反。nX0011111,则X反00011111nX0011111,则X反11100000n0:X0000000,则X反00000000n0:X0000000,则X反11111111.13补码表示法q为什么需要补码?q补码中的“模”时钟的例子。qX补模X。q补码的计
5、算:n正数的补码等于原码。n负数的补码等于反码+1。nX1001111,则X补01001111nX1001111,则X补10110001n0:X0000000,则X原00000000n0:X0000000,则X补00000000q补码数的符号扩展q补码数的右移规则.14补码的加减运算n补码加法。qX+Y补=X补+Y补n补码减法。qX-Y补=X补+-Y补n计算机中凡是带符号数都用补码表示,所有运算都采用补码加法完成,运算结果也是补码。n应用举例。q例1.18q例1.19.15溢出及判断n溢出产生的原因。每个数的补码有一个表示范围(字长位n的二进制数,补码的表示范围为-2n-12n-1-1),运算
6、结果超出该范围引起的计算出错称为溢出。n溢出的判断变形码qCs:表示最高位(符号位)的进位情况。qCy:表示数值部分最高位的进位情况。q溢出Cs 异或 Cyn应用举例q例1.22q例1.23.16二进制编码q为什么需要编码?q常用编码类型。nBCD编码(二十编码)。nASCII编码。n校验码编码。.17BCD编码表q采用二进制对十进制数进行编码,又称8421BCD编码。.18BCD编码二进制数的运算修正q加法修正。q减法修正。.19字符代码ASCII编码q以7位二进制数表示128种不同的字符(包括字母、数字及控制符号等)。q标准ASCII码最高为为0,最高为为1的为扩展ASCII码,常用于双字
7、节编码领域,如汉字编码(GB2312,BIG5,GBK等)。q见附录A.20校验码编码n奇偶校验码。q奇校验q偶校验n海明码。.21单片机的基本结构.22中央处理器q中央处理器,是单片机的核心,集成了n运算器。n控制器。n专用寄存器组。.23存储器q用于存放程序及数据的部件。q单片机中使用半导体存储器。q存储器单元使用存储器地址标识。qCPU需要读写存储器单元的内容时,需要首先提供存储器的地址。.24总线和总线控制逻辑q系统总线。连接多个功能部件,并具有完成信息相互传送功能的一组公共传输线,包括n数据总线(DB)。传送数据信号。n地址总线(AB)。传送地址信号。n控制总线(CB)。传送控制及状
8、态信号。q总线控制逻辑。实现总线传输控制的部件。.25I/O接口和特殊功能部件q串行与并行I/Oq特殊功能部件n定时器/计数器、A/D、D/A、DMA通道、系统时钟等.26单片机执行程序的过程.27单片机的分类q4位机。q8位机位机。n8031/80C31/8051/80C51/8751/87C51等等q16位机。q32位机。q区别在于字长、制造方式(功耗)、RAM/ROM大小、I/O接口等.28单片机在DDC中的应用.29单片机在DCS中的应用.30第2章MCS-51单片机结构与时序nMCS-51单片机内部结构。q重点:专用寄存器组名称及功能、存储器结构及地址分配、位地址、I/O端口、定时器
9、与计数器、中断系统nMCS-51单片机引脚及其功能。q重点:端口线、控制线nMCS-51单片机工作方式。q重点:有几种工作方式、各有何用途nMCS-51单片机时序。q重点:时钟周期、机器周期、指令周期、典型操作时序.31MCS-51系列单片机.32CPU结构.33专用寄存器组nMCS-51系列单片机中的专用寄存器组包括:q程序寄存器PC(16位)q累加器A(8位)q通用寄存器B(8位)q程序状态寄存器PSW(8位)q堆栈指针SP(8位)q数据指针DPTR(16位).34程序状态寄存器PSW.35堆栈指针SP.36数组指针DPTR.37存储器结构nMCS-51内部的存储器分为ROM与RAM两类q
10、ROM存储器结构qRAM存储器结构q特殊功能寄存器.38ROM存储器结构.39RAM存储器结构.40特殊功能寄存器SFRn指有特殊功能的寄存器集合。SFR的实际个数与单片机具体型号有关。8031/8051有21个,8032/8052有26个,允许位寻址的有11个,如下所示。.41I/O端口n并行I/O端口8位qP1、P2、P3、P4n串行I/O端口.42并行I/O端口.43串行I/O口.44定时器/计数器.45中断系统.46MCS-51单片机的封装双列直插式封装HMOS器件方形封装CHMOS器件.47端口线.48控制线.49电源线qVcc:+5VqVss:GND.50几种晶振连接电路.5180
11、31连接片外存储器.52MCS-51单片机的工作方式q复位方式q程序执行方式n单步执行n连续执行q节电方式n掉电方式n空闲方式q编程与校验方式.53复位方式.54程序执行方式q单步执行n逐条执行用户指令,用于调试用户程序n利用单片机的外部中断功能实现q连续执行n所有单片机都需要的一种工作方式,被执行程序可放置在片内或片外ROM中n单片机复位后PC0000H,因此需要在0000H放置一条跳转指令将PC指向程序开始的位置.55节电工作方式q节电方式是一种降低功耗的工作方式,只有CMOS器件才有本方式,受电源控制寄存器PCON控制。节电方式分为:n掉电方式n空闲方式.56电源控制寄存器PCON.57
12、空闲方式.58掉电方式.59掉电/空闲方式的实际应用.60编程与校验方式.618751编程方式.628751校验方式.63编程/校验时序.64EPROM保密编程.65MCS-51三种周期.66时序.67时序示例.68读外部ROM指令时序.69读外部RAM指令时序.70第3章MCS-51单片机指令系统n寻址方式。n指令系统。.71基本概念q指令指令。指使计算机完成某种操作的命令。q指令系统指令系统。指令的集合称为指令系统。q计算机的机器指令包括操作码和操作数两部分。q操作码操作码。表示计算机执行什么样的操作。q操作数操作数。表示计算机参加运算操作要处理的数据信息。.72指令的格式.73指令的三种
13、表现形式.74指令的字节数.75指令的分类.76指令中的符号说明.77指令对标志位的影响.78寻址方式qMCS-51有7种寻址方式:n直接寻址。n立即寻址。n寄存器寻址。n寄存器间址。n变址寻址。n相对寻址。n位寻址。.79直接寻址.80立即寻址.81寄存器寻址.82寄存器间址.83变址寻址.84相对寻址.85位寻址.86数据传送类指令.87内部数据传送指令.88立即型数据传送指令.89直接型传送指令.90寄存器寻址的传送指令.91寄存器间址传送指令.92内部数据传送指令小结.93外部ROM/RAM的传送指令q指令共7条,分为3类n16位数的传送指令(1条)n对外部ROM的读数指令(2条)n对
14、外部RAM的读写指令(4条).9416位数的传送指令.95对外部ROM的读数指令.96对外部ROM的读数指令举例.97对外部RAM的读写指令.98对外部RAM的读写指令举例.99堆栈操作指令q堆栈操作共两条指令n压栈指令n弹出指令.100压栈指令.101弹出指令.102堆栈指令举例.103数据交换指令q数据交换指令共4条n数据交换指令(3条)n半字节交换指令(1条).104数据交换指令.105半字节交换指令.106数据交换例1.107数据交换例2.108算术与逻辑运算和移位指令q这类指令共49条,包括n算术指令(24条)n逻辑指令(20条)n移位指令(5条).109算术运算指令q算术运算指令可
15、处理加、减、乘、除算术运算,包括:n加法指令(13条);n减法指令(8条);nBCD调整指令(1条);n乘除指令(2条);.110不带Cy的加法指令.111不带Cy加法指令示例1.112不带Cy加法指令示例2.113带Cy加法指令.114加1指令.115加法指令例子.116带Cy减法指令.117带Cy减法指令示例.118减1指令.119减法指令例子.120BCD调整指令.121BCD加法调整.122BCD减法调整.123乘除指令.124逻辑运算指令q逻辑乘指令(6条)。q逻辑加指令(6条)。q逻辑异获指令(6条)。q累加器清零和求反指令(2条).125逻辑乘指令.126逻辑乘指令示例.127逻
16、辑加指令.128逻辑加指令示例.129逻辑异或指令.130逻辑异或指令示例.131累加器清零和取反指令.132移位及半字交换指令.133移位指令例1.134移位指令例2.135控制转移及位操作指令q控制转移指令(17条)n无条件转移指令(4条)n条件转移指令(8条)n子程序调用与返回指令(4条)n空操作指令(1条)q位操作指令(17条).136无条件转移指令.137条件转移指令q累加器A判零转移指令(2条)q比较转移指令(4条)q减1条件转移指令(2条).138累加器A判零转移指令.139累加器A判零转移指令示例.140比较条件转移指令.141比较条件转移指令示例.142减1条件转移指令.14
17、3减1条件转移指令示例.144子程序调用与返回指令q包括:n调用指令(2条)n返回指令(2条)q子程序的作用n缩短用户程序长度n节省程序设计时间q什么是子程序n完整程序功能,如多字节加法子程序、三角函数子程序等n通用性,可多次调用n通过调用/返回指令完成对子程序的调用/返回q调用指令的作用n堆栈-断点地址断点地址(PC中)n转入子程序的第一条指令执行q返回指令的作用nPC-断点地址(堆栈中).145子程序嵌套.146短调用指令(2KB范围内).147长调用指令(64KB范围).148返回指令.149子程序调用与返回指令例子.150空操作指令.151位操作指令.152位传送指令.153位置位/清
18、零指令.154位运算指令.155以Cy中内容为条件的转移指令.156以位地址内容为条件的转移指令.157第3章习题课q3-10q3-12q3-15q3-17q3-18q3-23q3-27q3-28.1583-10.1593-12.1603-15.1613-17.1623-18.1633-23.1643-27.1653-28.166第4章汇编语言程序设计n汇编语言程序格式。n汇编语言程序设计。.167程序设计语言.168汇编程序.169汇编语句的格式.170汇编语言的构成.171ORG/END伪指令.172EQU/DATA伪指令.173DB/DW/DS伪指令.174BIT伪指令.175汇编语言程
19、序的设计步骤.176汇编语言程序的汇编n汇编语言源程序必须转换为机器语言才能够被MCS-51CPU执行,将汇编语言源程序转换为机器语言的过程称为“汇编”。可以采用以下两种手段进行汇编q人工汇编查手册q机器汇编汇编程序.177汇编语言程序设计示例q简单程序及分支程序设计q循环及查表程序设计q子程序与运算程序设计.178简单程序设计.179.180.181分支程序设计.182.183.184.185循环程序设计.186循环程序结构.187循环程序类型.188.189.190.191查表程序设计.192查表步骤.193.194.195子程序设计.196子程序设计注意事项.197.198.199运算程
20、序设计.200.201.202.203.204第5章半导体存储器n半导体存储器的分类。n存储器容量的扩展方式。n存储器与MCS-51的连接。.205存储器的类型.206存储器的层次.207内存储器的组成.208半导体存储器的种类.209半导体存储器的技术指标.210半导体存储器的发展前景n半导体存储器将继续沿着以下几个方面发展q集成度q存取速度q工作电压及功耗.211单译码半导体存储器结构.212双译码半导体存储器结构.213只读存储器n掩膜ROMn可编程PROMn紫外光可擦除EPROMn电可擦可编程EEPROMn闪速存储器Flash Memory.214掩膜ROM存储器原理.215PROM存
21、储器原理.216EPROM存储器原理.217典型EPROM、E2PROM芯片nEPROM Intel 27128AnEPROM Intel 2764nEEPROM Intel 2815.21827128、2764引脚图.21927128原理图及工作方式.2202815引脚及工作方式.221静态RAM基本存储电路.222动态RAM基本存储电路.223常见RAM芯片nIntel 6264nIntel 2116nIntel 2186.224Intel 6264(SRAM,8KB).225Intel 2116(DRAM,16Kx1).226Intel 2186(全集成化DRAM,8KB).227存储器
22、与CPU连接需考虑的主要问题n存储芯片选择(容量、个数)nCPU总线的负载能力。q在CPU与存储器间增加缓冲器、驱动器、地址译码器等以增强负载能力。nCPU时序与存储器存取速度匹配。n存储器地址分配(重叠地址空间)。n控制信号连接。q译码(线选法、部分译码、全译码)q读写信号.228存储器容量扩展n字数扩展n位数扩展.229存储器容量的位扩展.230存储器容量的字扩展.231存储器与CPU的连接.232线选法产生片选信号.23374LS138.234局部译码法产生片选信号.235全译码法产生片选信号.236各种片选的优缺点.237MCS-51与存储器连接示例.238.239.240.241.2
23、42.243第6章中断系统n中断的概念。n中断处理过程。nMCS-51的中断系统。.244中断的概念n指CPU在正常运行程序时,因内部或外部事件要求CPU暂时中止执行原程序,转而执行其服务程序(称为中断服务程序),待服务完毕后自动返回执行原程序的过程。.245中断的功能n同步操作,并行处理。n实时处理。n故障处理。.246中断源.247中断的分类.248中断嵌套.249中断系统及其功能n可自动完成中断任务的逻辑电路及软件。包括:q识别中断源q对多个中断源进行优先级排队等n一个中断系统应可完成下列任务:q能实现中断响应、中断服务、中断返回。q能实现中断优先级排队。q能实现中断嵌套。q能识别中断源
24、及开关中断。.250中断优先权的一般处理原则n多个中断源同时申请时,按优先权从高到低依次处理。n高级别中断源可以中断级别较低且正在处理的中断,排斥同级,同时响应更高级别的中断请求。n同级别多个中断源同时申请中断,应预先排好次序,依次逐个处理。.251MCS-51的中断源.252MCS-51的中断标志.253对中断允许的控制.254对中断优先级的控制.255MCS-51响应中断的条件.256.257MCS-51对中断的响应时间.258MCS-51对中断的撤除n防止CPU重复响应同一个中断.259.2608259A中断控制器.2618259A芯片结构.2628259A的工作过程.2638259A与
25、总线的连接方式(1).2648259A与总线的连接方式(2).2658259A的使用(编程)n通过设置初始化命令字ICW1ICW4及操作命令字OCW1OCW3实现,任务包括q优先级设置q优先级循环方式q中断屏蔽方式q中断结束方式q中断请求的触发方式.2668031对外部中断源的扩展方式n借用T0/T1扩展n采用查询法扩展n采用8259A扩展.267借用定时器溢出中断扩展外部中断源.268.269.270第7章并行I/O接口n接口的类型。nMCS-51内部并行I/O接口。nMCS-51并行I/O的扩展。nMCS-51内部定时器/计数器。.271什么是接口.272为什么需要使用接口.273接口电路
26、的功能n数据缓冲n数据格式转换n地址译码及设备选择n传递控制及状态信号n电平转换.274接口的类型n按照接口的功能分类:q通用接口q专用接口n按照数据传送方式分类q并行接口q串行接口.275I/O接口的端口寻址.276CPU与外设间的信号nCPU与外设之间交换的信息主要有3类:q数据信息n数字信号。“0或1”形式的二进制数据。n模拟信号。传感器/控制器的输入/输出的表示温度、压力、流量、阀门等数据的电压或电流信号,需要A/D,D/A转换使用。n开关量。表示开、关两种状态,例如电机的启动与停止等。q状态信息n反映外设的工作状态,如“准备好”或“忙”状态。q控制信息读写控制信号、片选等。.277接
27、口的一般结构n接口电路一般包括以下部件:q数据寄存器q状态寄存器q控制(命令)寄存器.278I/O数据的四种传送方式n程序控制传送方式q同步传送q异步传送n中断传送nDMA(直接存储器存取)方式.279程序控制传送方式.280无条件传送方式.281条件传送方式.282中断传送方式.283中断传送方式的接口电路.284DMA传送方式n不需要CPU参与。n需要专用控制芯片控制总线的使用及数据存取。.285MCS-51内部并行I/O端口.286MCS-51并行I/O端口的操作方式.287.288.289.290常用并行接口芯片介绍n8255A。n8155。.2918255A的基本特性n8255A是一
28、个具有两个8位(A和B口)和两个4位(C口高低四位),最多可达24位的并行输入输出端口的接口芯片,它为Intel系列CPU与外部设备之间提供TTL电平兼容的接口,如打印机、AD、DA转换器、键盘、步进电机以及需要同时两位以上信息传送的一切形式的并行接口。.2928255A的引脚功能.2938255A内部结构.2948255A的控制字n方式控制字及对C口按位置位/复位控制字.2958255A的工作方式n方式0是一种基本输入或输出方式,它适用于无需握手信号的简单输入输出应用场合, 端口A、B、C都可作为输入或输出数据使用,端口B、C输出有锁存而输入无锁存。n方式1也称选通的输入/输出方式。在这种方
29、式下,无论是输入还是输出都通过应答关系实现, 这时端口A或B用作数据口,端口C的一部分引脚用作握手信号线与中断请求线。q若端口A工作于方式1,则B可工作于方式0; q若端口B工作于方式1,则A可工作于方式0或余下的13位可工作于方式0; q若端口A和B同时工作于方式1,端口C余下的两位还可用于传送数据或控制信号。n方式2也称选通的双向I/O方式,仅适用于端口A, 这时A口的PA7-PA0作为双向的数据总线, 端口C有5条引脚用作A的握手信号线和中断请求线,而B口和C口余下的3位仍可工作于方式0或1。.2968255A方式0基本输入输出模式.2978255A方式1选通输入模式.2988255A方
30、式1选通输出模式.2998255A方式2双向输入输出模式.3008155A基本特性n2*8位I/On1*6位I/On256字节RAMn1*14位定时器.3018155A引脚及内部结构.3028155A端口地址.3038155A命令字.3048155A状态字.3058155A定时器长度字.3068155工作方式.307C口引脚在各种方式下的定义.308选通I/O输入.309选通I/O输出.3108155A定时器长度字格式.3118155A定时器初始化.3128155A定时器应用举例.313借用外部RAM地址扩展I/O端口.314应用举例.315.316采用8155扩展并行I/O端口(1).317
31、采用8155扩展并行I/O端口(2).318采用8155扩展并行I/O端口(3).319.320MCS-51内部的定时器/计数器.321定时器控制寄存器TCON.322定时器方式寄存器TMOD.323MCS-51内部定时器工作方式.324方式0.325方式1.326方式2.327方式3(只有T0才有).328MCS-51对内部定时器的初始化.329计数值初值的计算.330定时器初值的计算.331初值设置举例.332应用举例(1).333应用举例(2).334第8章A/D与D/A接口nA/D与D/A转换器。nMCS-51与A/D、D/A的接口。.335A/D、D/A的用途.336D/A转换器原理
32、.337T型电阻网络.338D/A转换器性能指标.339DAC0832结构.340DAC0832引脚功能.341MCS-51与D/A的接口qDAC的应用qMCS-51对8位DAC的接口qMCS-51对12位DAC的接口.342.343.344.345MCS-51对8位DAC的接口q直通方式q单缓冲方式q双缓冲方式.346直通方式.347单缓冲方式.348单缓冲方式锯齿波程序.349单缓冲方式三角波程序.350单缓冲方式方波程序.351.352MCS-51对12位DAC的接口qDAC1208的结构与原理qMCS-51与DAC1208的接口.353.354.355A/D转换器.356逐次比较式A/
33、D转换器.357并行A/D转换器.358A/D的性能指标.359ADC0809内部结构.360ADC0809引脚功能.361MCS-51对A/D转换器的接口qMCS-51与ADC0809的接口qMCS-51与ADC574A的接口.362MCS-51与ADC0809的接口(1).363MCS-51与ADC0809的接口(2 ).364ADC574A-结构.365ADC574A-引脚功能.366ADC574A-引脚功能.367第9章MCS-51串行通讯n串行通讯基础知识。nMCS-51的串行通讯接口与应用。n多机通讯概念。.368串行通信的分类q异步通信q同步通信.369异步通信.370同步通信.
34、371串行通信的制式.372调制解调器的作用与原理.373调制解调器的分类.374调制与解调(以FSK型Modem为例).375串行I/O数据的软件实现.376硬件实现工作原理.377硬件实现UART对RXD的采样.378硬件实现错误校验.379MCS-51串口的结构.380串行口控制寄存器SCON.381电源控制寄存器PCON.382MCS-51串行口的工作方式q方式0同步移位寄存器。q方式1可变频率10位异步通信。q方式2固定频率11位异步通信。q方式3可变频率11位异步通信。.383方式0同步移位寄存器.384方式110位异步收发.385方式211位异步收发(固定波特率).386方式311位异步收发(可变波特率).387串行口通信波特率.388方式0应用用作输出口.389方式0应用用作输入口.390方式1应用.391方式2应用.392方式3应用(1)主程序.393方式3应用(2)接收子程序.394方式3应用(3)出错处理程序