单片机第六章 定时器计数器与串行通信口
单片机系统常用接口电路、功能模块和外设

引言概述:单片机系统是嵌入式系统中最常见的一种,它由单片机芯片以及与之配套的外围接口电路、功能模块和外设组成。
在上一篇文章中,我们介绍了单片机系统的基本概念和常用接口电路、功能模块和外设。
本文将继续深入探讨单片机系统的常用接口电路、功能模块和外设。
正文内容:1.时钟电路1.1晶振电路晶振电路是单片机系统中非常重要的一部分,它提供了系统的时钟信号。
晶振电路可以通过外部晶振或者由单片机内部产生的时钟源来实现。
1.2PLL电路PLL电路(PhaseLockedLoop)可以通过将输入信号与一个本地振荡器(通常为晶振)频率和相位锁定来提供精准的系统时钟。
PLL 电路在需要稳定时钟的系统中非常常见。
1.3复位电路复位电路用于初始化整个系统,在系统通电或发生异常情况下,将系统恢复到初始状态。
复位电路通常由电源复位和外部复位信号组成。
2.存储器接口电路2.1RAM电路RAM电路用于存储临时数据,在单片机系统中起到缓存作用。
常见的RAM电路有静态RAM(SRAM)和动态RAM(DRAM)。
2.2ROM电路ROM电路用于存储常量和程序代码,它是只读存储器,一旦存储内容被写入后将无法修改。
常见的ROM电路有EPROM、EEPROM和闪存。
2.3外部存储器扩展电路由于单片机内部存储器有限,常常需要扩展外部存储器来满足系统需求。
外部存储器扩展电路主要包括地质解码电路和控制信号电路。
3.通信接口电路3.1串口电路串口电路是单片机系统中常用的通信接口电路,它允许单片机通过串行通信与其他设备进行数据交换。
常见的串口通信标准有RS232、RS485和TTL等。
3.2并口电路并口电路主要用于并行数据通信,它通常用于连接显示器、打印机和外部存储设备等外部设备。
3.3SPI接口电路SPI(SerialPeripheralInterface)是一种常用的串行通信接口,它通过四根信号线实现全双工的数据传输。
3.4I2C接口电路I2C(InterIntegratedCircuit)是一种支持设备间通信的串行总线,它可以连接多个设备,并通过两根信号线进行数据传输。
单片机多机串口的通信

摘要本文详细介绍了基于RS-485总线的单片机与多台单片机间的串行通信原理、实现方法和相应的通信硬件、软件设计。
该设计是由单片机与单片机组成的主从控制系统,其中单片机做为上位机对下位单片机是实现控制和监视功能。
它包括通信和控制两个功能模块。
单片机作为下位机在整个系统中属于从属地位,主要用来接收上位机的命令。
由于此通信的单片接口是RS232的9针接口,且下位机数目有限(32台)。
所以本设计采用了RS485总线以及RS232转RS485的协议芯片以满足长距离多机通信,本文讨论了总线接口转换、主从式通信协议设计方法,给出了采用中断式处理的通信过程流程图,并叙述了设计过程中必备的绘图软件Protel DXP的应用,以及编辑源代码软件keil uVision2的应用,实现了单片机对多个单片机组成采集终端的通信与管理。
关键词:单片机单片机RS-485 通信AbstractThe communication 、realized method and corresponding design of hardware and software between 单片and multiple MCUs based on RS-485 is described in detai in the article. This design instroduces a pincipal and subordinate control system which is composed of 单片and single chip. Divided from its function, it includes two parts: communication and control, in which 单片is used as master, and MCUs is used as slave so as to receive the single order from the master.The bus interface conversion and the design of master-slave communication protocol is introduced and The program flowchart of communication with interrupt process is also given. In the process of design, the use of unnecessary painter software and code editor software is depicted so that realize the communication and administration between 单片and multiple MCUs which composed collection terminal.Keywords: 单片MCUs RS-485 communication目录第一章绪论 (1)第二章课题实施方案 (2)2.1 系统硬件设计 (2)2.2 系统软件设计 (3)第三章硬件电路设计 (9)3.1 C51单片机结构 (9)一CPU结构 (10)二ROM存储器 (11)三I/O端口 (11)四定时器/计数器 (12)五中断系统 (13)3.1.2 51单片机引脚功能及其连接 (13)3.1.3 51 中断系统 (15)3.1.4 C-51的串行通信 (15)3.2.1串行接口RS232结构与引脚功能 (21)3.3 Protel DXP 2004原理图设计 (23)3.3.1 Protel 2004的基本操作 (23)3.3.2绘制原理图 (25)3.3.3制作芯片原理图库 (27)第四章软件电路设计 (30)4.1 系统的通信协议 (31)4.2 C51编程实现单片机与单片机之间的串行通信 (31)4.3 Windows集成开发环境uVision2 (35)4.3.1启动uVision2 (35)4.3.2创建程序 (36)总结 (41)致谢 (42)参考文献 (43)第一章绪论单片机由于其具有控制功能强、设计灵活和性能价格比高的特点。
单片微型计算机原理和接口技术第三版复习总结

单片微型计算机原理和接口技术第三版复习总结前言单片微型计算机的定义和重要性接口技术在现代电子系统中的作用第一章:单片机概述1.1 单片机的发展历程单片机的诞生和发展主要的单片机系列1.2 单片机的基本组成CPU存储器输入/输出接口时钟系统复位电路1.3 单片机的分类和应用领域按功能分类按应用领域分类第二章:单片机的指令系统2.1 指令系统概述指令的格式指令的分类2.2 寻址方式立即寻址直接寻址间接寻址寄存器寻址变址寻址2.3 指令集详解数据传输指令算术运算指令逻辑运算指令控制转移指令第三章:存储器结构3.1 存储器的分类ROMRAMEEPROM3.2 存储器的扩展存储器的地址映射存储器的接口技术3.3 存储器的保护机制写保护保密机制第四章:输入/输出接口4.1 I/O接口的基本概念I/O端口I/O控制方式4.2 并行接口8255A可编程并行接口8155可编程并行接口4.3 串行接口串行通信原理串行接口芯片第五章:中断系统5.1 中断的基本概念中断的分类中断优先级5.2 中断处理流程中断请求中断服务程序中断返回5.3 中断控制器8259A可编程中断控制器第六章:定时器/计数器6.1 定时器/计数器的工作原理定时器的工作模式计数器的应用6.2 定时器/计数器的应用实例定时控制脉冲计数第七章:模数与数模转换7.1 模数转换器(ADC)ADC的工作原理ADC的应用7.2 数模转换器(DAC)DAC的工作原理DAC的应用第八章:总线技术8.1 总线的概念总线的功能总线的分类8.2 常用总线标准ISA总线PCI总线USB总线8.3 总线仲裁和控制总线仲裁机制总线控制策略第九章:单片机的系统设计9.1 系统设计的基本步骤需求分析硬件设计软件设计9.2 系统可靠性设计电源管理故障检测与处理9.3 系统性能优化代码优化硬件优化结语单片机技术的未来发展趋势学习单片机的重要性参考文献列出相关的参考书籍和文献。
单片机教案(讲稿)

单片机教案(讲稿)第一章:单片机概述1.1 单片机的定义与发展历程介绍单片机的概念及其发展历程讲解单片机在我国的应用与发展现状1.2 单片机的组成与结构介绍单片机的组成结构,包括CPU、存储器、输入/输出接口等讲解单片机的硬件系统设计与应用1.3 单片机的特点与分类讲解单片机的主要特点,如体积小、成本低、功耗低等介绍单片机的分类及应用领域第二章:单片机编程基础2.1 计算机组成原理与数制转换讲解计算机组成原理,包括二进制、八进制、十六进制等数制转换方法介绍ASCII码、GB2312等字符编码标准2.2 单片机指令系统与编程语法讲解单片机的指令系统,包括数据传输、逻辑运算、算术运算等指令介绍单片机编程语法,如寄存器、立即寻址、间接寻址等2.3 程序设计方法与技巧讲解程序设计方法,包括顺序结构、分支结构、循环结构等介绍编程技巧,如变量命名、代码优化、模块化设计等第三章:单片机接口技术3.1 并行接口设计与应用讲解并行接口的原理与设计方法介绍并行接口在单片机中的应用案例,如键盘、LED显示等3.2 串行接口设计与应用讲解串行接口的原理与设计方法介绍串行接口在单片机中的应用案例,如串口通信、USB接口等3.3 其他接口技术介绍讲解ADC、DAC、PWM等接口技术的原理与应用介绍这些接口技术在单片机中的应用案例第四章:单片机应用系统设计4.1 系统设计流程与方法讲解单片机应用系统设计的流程,包括需求分析、硬件选型、软件设计等介绍系统设计方法,如模块化设计、层次化设计等4.2 硬件系统设计与调试讲解硬件系统设计的方法与技巧介绍硬件调试工具与方法,如示波器、逻辑分析仪等4.3 软件系统设计与调试讲解软件系统设计的方法与技巧介绍软件调试工具与方法,如调试器、仿真器等第五章:单片机项目实践5.1 项目实践概述讲解项目实践的目的与意义介绍项目实践的内容与要求5.2 项目实践案例一:温度控制系统讲解温度控制系统的原理与设计方法介绍使用单片机实现温度控制的具体步骤与技巧5.3 项目实践案例二:智能家居系统讲解智能家居系统的原理与设计方法介绍使用单片机实现智能家居的具体步骤与技巧5.4 项目实践案例三:小型讲解小型的原理与设计方法介绍使用单片机控制小型的具体步骤与技巧展望单片机技术在未来的发展趋势与应用前景第六章:单片机中断与定时器/计数器6.1 中断系统讲解单片机的中断系统概念、类型及优先级介绍中断服务程序的编写方法与中断响应过程6.2 定时器/计数器原理讲解定时器/计数器的结构、工作模式及编程方法介绍定时器/计数器在工业控制中的应用案例6.3 中断与定时器/计数器应用实例结合具体案例,讲解中断与定时器/计数器在实际项目中的应用第七章:单片机串行通信技术7.1 串行通信基础讲解串行通信的概念、分类及标准介绍串行通信的物理层、数据链路层及网络层协议7.2 单片机串行通信接口讲解单片机串行通信接口的原理与编程方法介绍单片机串行通信在各种应用场景中的案例7.3 串行通信技术应用实例结合具体案例,讲解串行通信技术在实际项目中的应用第八章:单片机接口扩展技术8.1 并行扩展技术讲解并行扩展芯片的选型及接口设计方法介绍并行扩展在存储器、IO接口等方面的应用8.2 串行扩展技术讲解串行扩展芯片的选型及接口设计方法介绍串行扩展在ADC、DAC、显示模块等方面的应用8.3 接口扩展技术应用实例结合具体案例,讲解接口扩展技术在实际项目中的应用第九章:单片机嵌入式系统设计9.1 嵌入式系统概述讲解嵌入式系统的概念、特点及分类介绍嵌入式系统的设计流程与方法9.2 嵌入式操作系统讲解嵌入式操作系统的概念、特点及分类介绍常见的嵌入式操作系统及其应用案例9.3 嵌入式系统设计实例结合具体案例,讲解嵌入式系统在实际项目中的应用第十章:单片机技术发展趋势与应用前景10.1 单片机技术发展趋势讲解单片机技术的发展趋势,如性能提升、集成度增加等介绍新兴的单片机技术,如片上系统(SoC)、物联网(IoT)等10.2 单片机应用前景探讨单片机技术在各个领域的应用前景,如工业控制、智能家居、医疗设备等分析单片机技术对我国经济社会发展的重要意义重点和难点解析重点环节一:单片机的定义与发展历程单片机作为微控制器的核心,其定义和发展历程是理解微控制器应用的基础。
单片机知识点

第一章、绪论单片机定义:把CPU、寄存器、RAM/ROM 、I/O 接口等电路集成在一块集成电路芯片上,构成一个完整的微型计算机。
单片机特点:体积小、功耗低、性价比高;数据大都在片内传送,抗干扰能力强,可靠性高;结构灵活,应用广泛。
单片机发展趋势:数据位长1-->4-->8-->16-->32 位;CPU 处理能力和速度不断提高;增大片内RAM 和ROM 容量;增加片内I/O 口和功能模块种类和数量;扩大对外部RAM/IO 口和程序存储器寻址能力;缩小体积,降低功耗。
单片机应用:控制应用:应用范围广泛,从实时性角度可分为离线应用和在线应用。
软硬件结合:软硬件统筹考虑,不仅要会编程,还要有硬件的理论和实践知识。
应用现场环境恶劣:电磁干扰、电源波动、冲击震动、高低温等环境因素的影响。
要考虑芯片等级选择、接地技术、屏蔽技术、隔离技术、滤波技术、抑制反电势干扰技术等。
应用空间大:工业自动化、仪器仪表、家用电器、信息和通信产品、军事装备、物联网等领域。
第三章:MCS-51单片机结构与原理3.1 MCS-51 单片机的物理结构及逻辑结构51 单片机的引脚定义:P0、P1、P2、P3(输入输出口);RST(复位)/ VPD(后备电源引入端);EA (读内/ 外ROM 控制)/Vpp(编程电压);ALE(地址低8 位锁存)/ PROG(编程脉冲);PSEN (外部ROM 读选通信号);XTAL1、XTAL2 (外接晶振端)Vcc (+5v 电源);Vss (地)逻辑结构--51 单片机的系统结构图(教材P26)51 单片机基本组成:一个8 位微处理器CPU;数据存储器RAM 和特殊功能寄存器SFR;内部程序存储器ROM;两个定时/计数器,用以对外部事件进行计数,也可用作定时器;四个8 位可编程的I/O(输入/ 输出)并行端口;一个串行端口,用于数据的串行通信;中断控制系统;内部时钟电路。
单片机课后习题答案

第一章单片机的概述1、除了单片机这一名称外,单片机还可称为微控制器和嵌入式控制器;2、单片机与普通微型计算机的不同之处在于其将 CPU、存储器和I/O口三部分,通过内部总线连接在一起,集成于一块芯片上;3、在家用电器中使用单片机应属于微型计算机的 B;A、辅助设计应用B、测量、控制应用C、数值计算应用D、数据处理应用4、微处理器、微计算机、微处理机、CPU、单片机、嵌入式处理器它们之间有何区别答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机;而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机;嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器;目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等;嵌入式微处理器相当于通用计算机中的CPU;与单片机相比,单片机本身或稍加扩展就是一个小的计算机系统,可独立运行,具有完整的功能;而嵌入式微处理器仅仅相当于单片机中的中央处理器;为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强;5、MCS-51系列单片机的基本型芯片分别为哪几种它们的差别是什么答:MCS-51系列单片机的基本型芯片分别为:8031、8051和8751;它们的差别是在片内程序存储器上;8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM;6、为什么不应当把8051单片机称为MCS-51系列单片机答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机;7、AT89S51单片机相当于MCS-51系列单片机中哪一种型号的产品“s”的含义是什么答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM;“s”表示含有串行下载的Flash存储器;8、什么是嵌入式系统答:广义上讲,凡是系统中嵌入了“嵌入式处理器”,如单片机、DSP、嵌入式微处理器,都称其为“嵌入式系统”;但多数人把“嵌入”嵌入式微处理器的系统,称为“嵌入式系统”; 目前“嵌入式系统”还没有一个严格和权威的定义;目前人们所说的“嵌入式系统”,多指后者;9、嵌入式处理器家族中的单片机、DSP、嵌入式微处理器各有何特点它们的应用领域有何不同答:单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制;单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小; DSP是一种非常擅长于高速实现各种数字信号处理运算如数字滤波、FFT、频谱分析等的嵌入式处理器;由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法;广泛地用于通讯、网络通信、数字图像处理,电机控制系统,生物信息识别终端,实时语音压解系统等;这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在;与单片机相比,DSP具有的实现高速运算的硬件结构及指令和多总线,DSP处理的算法的复杂度和大的数据处理流量以及片内集成的多种功能部件更是单片机不可企及的;嵌入式微处理器的基础是通用计算机中的CPU,它的地址总线数目较多能扩展较大的存储器空间,所以可配置实时多任务操作系统RTOS;RTOS是嵌入式应用软件的基础和开发平台;正由于嵌入式微处理器能运行实时多任务操作系统,所以能够处理复杂的系统管理任务和处理工作;因此,广泛地应用在移动计算平台、媒体手机、工业控制和商业领域例如,智能工控设备、ATM 机等、电子商务平台、信息家电机顶盒、数字电视以及军事上的应用;第二章 AT89S511、在AT89S51单片机中,如果采用6MHz 晶振,一个机器周期为 2μs ;2、AT89S51的机器周期等于1个机器周期等于12个时钟振荡周期;3、 内部RAM 中,位地址为40H 、88H 的位,该位所在字节的字节地址分别为28H 和88H;4、片内字节地址为2AH 单元最低位的位地址是50H ;片内字节地址为88H 单元的最低位的位地址为88H;5、若A 中的内容为63H,那么,P 标志位的值为0;6、AT89S51单片机复位后,R4所对应的存储单元的地址为04H,因上电时PSW=00H ;这时当前的工作寄存器区是 0 组工作寄存器区;7、内部RAM 中,可作为工作寄存器区的单元地址为 00H-1FH;8、通过堆栈操作实现子程序调用时,首先把 PC 的内容入栈,以进行断点保护;调用子程序返回时,再进行出栈保护,把保护的断点送回到 PC ,先弹出来的是原来 中的内容;9、AT89S51单片机程序存储器的寻址范围是由程序计数器PC 的位数所决定的,因为AT89S51的PC 是16位的,因此其寻址的范围为64KB;10、下列说法C 、D 是正确的;A 、使用AT89S51且引脚1 EA 时,仍可外扩64KB 的程序存储器; ×B 、区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端; ×C 、在AT89S51中,为使准双向的I ∕O 口工作在输入方式,必须事先预置为1; √D 、PC 可以看成是程序存储器的地址指针; √11、下列说法A 是正确的;A 、AT89S51中特殊功能寄存器SFR 占用片内RAM 的部分地址; √B 、片内RAM 的位寻址区,只能供位寻址使用,而不能进行字节寻址; ×C 、AT89S51共有26个特殊功能寄存器,它们的位都是可用软件设置的,因此,是可以进行位寻址的; ×D 、SP 称之为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM 无关; × ;12、在程序运行中,PC 的值是: CA 、当前正在执行指令的前一条指令的地址;B 、当前正在执行指令的地址;C 、当前正在执行指令的下一条指令的首地址;D 、控制器中指令寄存器的地址;13、 下列说法A 、B 是正确的;A 、PC 是一个不可寻址的特殊功能寄存器; √B 、单片机的主频越高,其运算速度越快; √C 、在AT89S51单片机中,1个机器周期等于1μs; ×D 、特殊功能寄存器SP 内存放的是栈顶首地址单元的内容; ×14、 下列说法A 、B 、C 是正确的;A 、AT89S51单片机进入空闲模式,CPU 停止工作;片内的外围电路仍将继续工作; √B 、AT89S51单片机不论是进入空闲模式还是掉电运行模式后,片内RAM 和SFR 中的内容均保持原来的状态; √C 、AT89S51单片机进入掉电运行模式,CPU 和片内的外围电路如中断系统、串行口和定时器均停止工作; √D、AT89S51单片机掉电运行模式可采用响应中断方式来退出; ×15、AT89S51单片机的片内都集成了哪些功能部件答:AT89S51单片机的片内都集成了如下功能部件:①1个微处理器CPU;②128个数据存储器RAM单元;③4K Flash程序存储器;④4个8位可编程并行I/O口P0口、P1口、P2口、P3口⑤1个全双工串行口;⑥2个16位定时器/计数器;⑦1个看门狗定时器;⑧一个中断系统,5个中断源,2个优先级;⑨26个特殊功能寄存器SFR,⑩1个看门狗定时器;16、说明AT89S51单片机的EA引脚接高电平或低电平的区别;答:当EA脚为高电平时,单片机读片内程序存储器4K 字节Flash中的内容,但在PC值超过0FFFH即超出4K字节地址范围时,将自动转向读外部程序存储器内的程序;当EA脚为低电平时,单片机只对外部程序存储器的地址为0000H~FFFFH中的内容进行读操作,单片机不理会片内的4K字节的Flash程序存储器;17、 64K程序存储器空间中有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源;答:64K程序存储器空间中有5个特殊单元分别对应于5个中断源的中断服务程序入口地址,见下表:表 5个中断源的中断入口地址18、当AT89S51单片机运行出错或程序陷入死Array循环时,如何摆脱困境答:按下复位按钮;第三章 C511、C51在标准C的基础上,扩展了哪几种数据类型答:bit sbit sfr ;2、C51有哪几种数据存储类型其中“idata,code,xdata,pdata”各对应AT89C51单片机的哪些存储空间答: 1、 C51数据存储类型有: bdata, data, idata, pdata, xdata,code;2、“idata,code,xdata,pdata”各对应的存储空间数据存储类型对应单片机存储器idata 片内RAM 00H~FFH,共256字节code ROM 0000H~FFFFH ,共64K字节xdata 片外RAM 0000H~FFFFH,共64K字节pdata 片外RAM 00H~FFH,共256字节3、bit与sbit定义的位变量有什么区别答案非标准,网上凑起来的答:bit : 编译时分配空间;sbit 只能在外部定义全局变量;bit和sbit都是C51扩展的变量类型;sbit 要在最外面定义,就是说必须定义成外部变量、sbit定义的是SFR特殊功能寄存器的bit;sbit: 指示说明性说明;bit 可以在外部或内部定义;4、说明3中数据存储模式1small模式2compact模式3large模式之间的差别;答:若声明char varl,则在使用SMALL存储模式下,varl被定位在data 存储区,在使用COMPACT模式下,varl被定位在idata存储区;在LARGE模式下,varl被定位在xdata 存储区中;5、编写C51程序,将片外2000H为首址的连续10个单元的内容,读入到片内部40H到49H 单元中;答:程序设计思路——采用指针的方法;选用指针px, px指向char型数据位于xdata, 赋值px=2000H选用指针px1, px1指向char型数据位于data,赋值px1=40H在for循环中,px1=px; 并且当i++时,px++, px1++,;采用数组的方法;xdata uchar buf110 _at_ 0x2000data uchar buf210 _at_ 0x40;在for循环中, buf2i = buf1i ;采用指针的方法参考程序如下:define uchar unsigned charvoid main // 主函数{ data uchar i;uchar xdata px ; // 指针px,指向char型数据位于xdatauchar data px1 ; // 指针px1,指向char型数据位于datapx=0x2000;px1=0x40;fori=0; i<10; i++,px++,px1++px1=px;while1;}采用数组的方法参考程序如下:define uchar unsigned charxdata uchar buf110 _at_ 0x2000; //位于xdata数组buf10地址2000Hdata uchar buf210 _at_ 0x40; //位于data数组buf20地址40Hvoid main // 主函数{ data uchar i;fori=0; i<10; i++buf2i = buf1i;while1;}6、do-while构成的循环与do-while循环的区别是什么答:主要区别是:while循环的控制出现在循环体之前,只有当while后面表达式的值非0时,才可能执行循环体,因此有可能一次都不执行循环体;在do-while构成的循环中,总是先执行一次循环体,然后再判断表达式的值,因此无论如何,循环体至少要被执行一次;第四章应用题无答案第五章1、2、双向口和准双向口有什么区别答:双向口与准双向口的区别主要是:准双向口I/O口操作时做数据输入时需要对其置1,否则若前一位为低电平,后一位输入的电平为高则MOS管拉不起来导致出错;而双向口则不需要做此动作,因为双向口有悬浮态;准双向口就是做输入用的时候要有向锁存器写1的这个准备动作,所以叫准双向口;真正的双向口不需要任何预操作可直接读入读出;1:准双向一般只能用于数字输入输出,输入时为弱上拉状态约50K上拉,端口只有两种状态:高或低;2:双向除用于数字输入输出外还可用于模拟输入输出,模拟输入时端口通过方向控制设置成为高阻输入状态;双向端口有三种状态:高、低或高阻;3:初始状态和复位状态下准双向口为1,双向口为高阻状态第六章1、若寄存器IP = 00010100B,则优先级最高者为外部中断1,最低者为定时器T1;2、下列说法正确的是 D ;A.各中断源发出的中断请求信号,都会标记在AT89S51的IE寄存器中B.各中断源发出的中断请求信号,都会标记在AT89S51的TMOD寄存器中C.各中断源发出的中断请求信号,都会标记在AT89S51的IP寄存器中D.各中断源发出的中断请求信号,都会标记在AT89S51的TCON与SCON寄存器中3、在AT89S51的中断请求源中,需要外加电路实现中断撤销的是 A ;A.电平方式的外部中断请求B.下跳沿触发的外部中断请求C.外部串行中断D.定时中断4、下列说法正确的是 A、C、D ;A.同一级别的中断请求按时间的先后顺序响应B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求D.同级中断不能嵌套5、中断响应需要满足哪些条件答:一个中断源的中断请求被响应,必须满足以下必要条件:1总中断允许开关接通,即IE寄存器中的中断总允许位EA=1;2该中断源发出中断请求,即该中断源对应的中断请求标志为“1”;3该中断源的中断允许位=1,即该中断被允许;4无同级或更高级中断正在被服务;第七章1、如果采用的晶振频率为24MHz,定时器计数器工作在方式0、1、2下,其最大定时时间各为多少答:方式0最长可定时;方式1最长可定时;方式2最长可定时512us;2、定时器、计数器作计数器模式使用时,对外界计数器频率有何限制答:对于12振荡周期为1个机器周期的51单片机,外界信号频率必须小于晶振频率的1/24;对于单振荡周期为1个机器周期的51单片机,外界信号频率必须小于晶振频率或系统时钟频率的1/4;3、定时器、计数器的工作方式2有什么特点适用于哪些场合打:定时器、计数器的工作方式2具有自动回复初值的特点,适用于精确定时,比如波特率的产生;第八章1、帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式 1 ;2、下列选项中, ABDE 是正确的;A 串行口通信的第9数据位的功能可由用户定义;对B 发送数据的第9数据位的内容在SCON 寄存器的TB8位中预先准备好的;对C 串行通信帧发送时,指令把TB8位的状态送入发送SBUF 中;错D 串行通信接收到的第9位数据送SCON 寄存器的RB8中保存;对E 串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定;对3、串行口工作方式1的波特率是: CA 固定的,为fosc/32;B 固定的,为fosc/16;C 可变的,通过定时器/计数器T1的溢出率设定;D 固定的,为fosc/64;4、在异步串行通信中,接收方是如何知道发送方开始发送数据的答:当接收方检测到RXD 端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据;5、为什么定时器/计数器T1用作串行口波特率发生器时,常采用方式2若已知时钟频率,串行通信的波特率,如何计算装入T1的初值 参P128答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了执行重装参数的指令所带来的时间误差;设定时器T1方式2的初值为X,计算初值X 可采用如下公式:波特率==的溢出率定时器1322T SMOD SMODosc 23212(256)f X ⨯- 定时器T1的溢出率=计数速率/256-X=fosc/256-X12故计数器初值为256-X = 2SMOD ×fosc/12×32×波特率6、 若晶体振荡器为11、0592MHZ,串行口工作于方式1,波特率为4800b/s,写出用T1作为波特率发生器的方式控制字和计数初值;答:方式1的波特率 =)256(12322X f osc SMOD-⨯ = 4800 bit/sT1工作于方式2X=250=FAH经计算,计数初值为FAH,初始化程序如下:ANL TMOD,0F0H ;屏蔽低4位ORL TMOD,20H ;T1定时模式工作方式2MOV TH1,0FAH ;写入计数初值,波特率为4800b/sMOV TL1,0FAHMOV SCON,40H ;串行口工作于方式1解法2:由 4800655361232213221=-⨯=⨯=X f T osc SMODSMOD的溢出率定时器的波特率方式 T1工作于方式2 得H FFF X 4655241265536480038420592.1165536==-=⨯⨯-=初始化程序如下:ORG 0000HANL TMOD,0F0H ;屏蔽低4位ORL TMOD,10H ;T1定时模式方式1MOV TH1,0FFH ;写入计数初值,为4800b/sMOV TL1,0F4HMOV SCON,40H ;串行口工作于方式1MOV PCON,80H ;串行通信波特率加倍7、为什么AT89S51单片机串行口的方式0帧格式没有起始位0和停止位1答:串行口的方式0为同步移位寄存器输入输出方式,常用于外接移位寄存器,以扩展并行I/O口,一般不用于两个MCS-51之间的串行通信;该方式以fosc/12的固定波特率从低位到高位发送或接收数据;8、直接以TTL电平串行传输数据的方式有什么缺点为什么在串行传输距离较远时,常采用RS-232C、RS-422A和RS-485标准串行接口,来进行串行数据传输;比较RS-232C、RS-422A和RS-485标准串行接口各自的优缺点;答:直接以TTL电平串行传输数据的方式的缺点是传输距离短,抗干扰能力差;因此在串行传输距离较远时,常采用RS-232C、RS-422A和RS-485标准串行接口;主要是对传输的电信号不断改进,如RS-232C传输距离只有几十米远,与直接以TTL电平串行传输相比,采用了负逻辑,增大“0”、“1”信号的电平差;而RS-422A和RS-485都采用了差分信号传输,抗干扰能力强,距离可达1000多米;RS-422A为全双工,RS-485为半双工;第九章1、单片机存储器的主要功能是存储程序和数据;2、在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的片选端提供片选控制;3、起止范围为0000H-3FFFH的存储器的容量是16KB;4、在AT89S51单片机中,PC和DPTR都用于提供地址,但PC是为访问程序存储器提供地址,而DPTR是为访问数据存储器提供地址;5、11根地址线可选2KB个存储单元,16KB存储单元需要14根地址线;6、4KB RAM存储器的首地址若为0000H,则末地址为 0FFFH7、试编写一个程序例如将05H和06H拼为56H,设原始数据放在片外数据区2001H单元和2002H单元中,按顺序拼装后的单字节数放入2002H;解:本题主要考察正确使用MOVX指令对外部存储器的读、写操作;编程思路:首先读取2001H的值,保存在寄存器A中,将寄存器A的高四位和低四位互换,再屏蔽掉低四位,然后将寄存器A的值保存到30H中,然后再读取2002H的值,保存在寄存器A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的结果保存在2002H中;ORG 1000HMAIN:MOV DPTR,2001H ;设置数据指针的初值MOVX A,DPTR ;读取2001H的值SWAP A ;A的高四位和低四位互换ANL A,0F0H ;屏蔽掉低四位MOV 30H,A ;保存AINC DPTR ;指针指向下一个MOVX A,DPTR ;读取2002H的值ANL A,0FH ;屏蔽掉高四位ORL A,30H ;进行拼合MOVX DPTR,A ;保存到2002HEND8、编写程序,将外部数据存储器中的4000H~40FFH单元全部清零;答:本题主要考察对外部数据块的写操作;编程时要注意循环次数和MOVX指令的使用;ORG 1000HMAIN:MOV A,0 ;送预置数给AMOV R0,00H ;设置循环次数MOV DPTR,4000H ;设置数据指针的初值LOOP:MOVX DPTR,A ;当前单元清零INC DPTR ;指向下一个单元DJNZ R0,LOOP ;是否结束END9、在AT89S51单片机系统中,外接程序存储器和数据存储器共16位地址线和8位数据线,为何不会发生冲突参P159答:因为控制信号线的不同:外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为和;外扩RAM的读、写控制引脚分别与AT89S51的和引脚相连;外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为,该引脚与AT89S51单片机的相连;10、11、判断下列说法是否正确,为什么A、由于82C55不具有地址锁存功能,因此在与AT89S51的接口电路中必须加地址锁存器B、在82C55芯片中,决定各端口编址的引脚是PA1和PA0C、82C55具有三态缓冲器,因此可以直接挂在系统的数据总线上D、82C55的PB口可以设置成方式2答:A错;B错;C错,82C55不具有三态缓冲器;D错,82C55的B口只可以设置成方式0和方式1;12、I/O接口和I/O 端口有什么区别I/O接口的功能是什么答:I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器;I/O接口是指单片机与外设间的I/O接口芯片;I/O接口功能:1 实现和不同外设的速度匹配;2 输出数据缓存;3 输入数据三态缓冲;一个I/O 接口芯片可以有多个I/O 端口,传送数据的称为数据口,传送命令的称为命令口,传送状态的称为状态口;当然,并不是所有的外设都需要三种接口齐全的I/O接口;13、I/O 数据传送有哪几种方式分别在哪些场合下使用答:3种传送方式: 1 同步传送方式:同步传送又称为有条件传送;当外设速度可与单片机速度相比拟时,常常采用同步传送方式;2 查询传送方式:查询传送方式又称为有条件传送,也称异步传送;单片机通过查询得知外设准备好后,再进行数据传送;异步传送的优点是通用性好,硬件连线和查询程序十分简单,但是效率不高; 3 中断传送方式:中断传送方式是利用AT89S51本身的中断功能和I/O接口的中断功能来实现I/O数据的传送;单片机只有在外设准备好后,发出数据传送请求,才中断主程序,而进入与外设进行数据传送的中断服务程序,进行数据的传送;中断服务完成后又返回主程序继续执行;因此,中断方式可大大提高工作效率;14、常用的I/O端口编址有哪两种方式他们各有什么特点MCS—51的I/O端口编址采用的是哪种方式答:两种;1 独立编址方式:独立编址方式就是I/O地址空间和存储器地址空间分开编址;独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明;但却需要设置一套专门的读写I/O的指令和控制信号;2 统一编址方式:这种方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址;统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O 操作;AT89S51单片机使用的是I/O和外部数据存储器RAM统一编址的方式;15、82C55的“方式控制字”和“PC按位置位∕复位控制字”都可以写入82C55的同一个控制寄存器,82C55是如何来区分这两个控制字的答: 82C55通过写入控制字寄存器的控制字的最高位来进行判断,最高位为1时,为方式控制字,最高位为0时,为C口的按位置位/复位控制字;第十章1、对于电流输出的D/A转换器,为了得到电压输出,应使用由运算放大器构成的电流/电压转换电路;2、使用双缓冲同步方式的D/A转换器,可以实现多路模拟信号的同步输出;3、判断下列说法是否正确A、“转换速率”这一指标仅适用于A/D转换器,D/A转换器不用考虑转换速率这一问题错B、 ADC0809可以利用转换结束信号EOC向AT89S51发出中断请求对C、输出模拟量的最小变化量称为A/D转换器的分辨率错D、对于周期性的干扰电压,可使用双积分型A/D转换器,并选择合适的积分元件,可以将周期性的干扰电压带来的转换误差消除; 对4、D/A 转换器的主要性能指标有哪些设某 DAC 为二进制12 位,满量程输出电压为 5V,试问它的分辨率是多少答:D/A转换器的主要技术指标如下:分辨率:D/A转换器的分辨率指输入的单位数字量变化引起的模拟量输出的变化,是对输入量变化敏感程度的描述;建立时间:建立时间是描述D/A转换速度快慢的一个参数,用于表明转换速度;其值为从输入数字量到输出达到终位误差±1/2GB最低有效位时所需的时间;转换精度:理想情况下,精度与分辨率基本一致,位数越多精度越高;严格讲精度与分辨率并不完全一致;只要位数相同,分辨率则相同、但相同位数的不同转换器精度会有所不同;当DAC为二进制12位,满量程输出电压为5V时,分辨率为5÷212=1、22 mV5、A/D转换器的两个最重要指标是什么答:A/D转换器的两个最重要指标:1 转换时间和转换速率——转换时间A/D完成一次转换所需要的时间;转换时间的倒数为转换速率;2 分辨率——A/D转换器的分辨率习惯上用输出二进制位数或BCD码位数表示;6、分析 A/D 转换器产生量化误差的原因,一个8 位的 A/D 转换器,当输入电压为 0~5V 时,其最大的量化误差是多少答:量化误差是由于有限位数字且对模拟量进行量化而引起的;最大的量化误差为%;△=+LSB/2=+1/25/28 =+7、目前应用较广泛的A/D转换器主要有以下几种类型它们各有什么特点答:目前应用较广泛的主要有以下几种类型:逐次逼近式转换器、双积分式转换器、∑-△式A/D转换器;逐次逼近型A/D转换器:在精度、速度和价格上都适中,是最常用的。
单片机课后习题与答案

第1部分答案1-1 简述冯·诺依曼型计算机的主要特征。
1、采用二进制代替十进制运算2、存储程序工作方法3、计算机硬件系统的构成1-2 计算机硬件系统由哪些部件组成?计算机硬件系统由运算器、控制器、存储器、输入设备和输出设备五个部分。
1-3 填空:(1)100D=01100100=64H(2)03CH=00111100B=60D1-4 写出下列各数的原码、反码和补码(用二进制数表示)。
21 -21 59 -59 127 -127 1 -121 原码:00010101反码:00010101补码:00010101 -21 原码:10010101 反码:11101010补码:1111101159原码:00111011反码:00111011补码:00111011-59原码:10111011反码:11000100补码:11000101127原码:01111111反码:01111111补码:01111111-127 原码:11111111反码:10000000补码:100000011原码:00000001反码:00000001补码:00000001-1原码:1000001反码:11111110补码:111111111-5 用十进制数写出下列补码的真值:1FH 69H 89H FCH 97H CDH B3H 10H1FH的真值:31D69H的真值:105D89H的真值:-119DFCH的真值:-4D97H的真值:-105DCDH的真值:-51DB3H的真值:-77D10H的真值:16D1-6 已知X和Y,求(X+Y)补。
(1)X=31D,Y=55D (X+Y)补= 01010000B(2)X=46D,Y=-81D (X+Y)补=11010001B(3)X=-54D,Y=93D (X+Y)补=00100111B(4)X=-23D,Y=-67D (X+Y)补=10100110B(5)X=75D,Y=89D (X+Y)补=10100100B1-7 写出下列各数的8421BCD码。
单片机串行通信

1.单片机串行通信的概述在通信领域内,有两种数据通信方式:并行通信和串行通信。
随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。
通信是指计算机与外界的信息传输,既包括计算机与计算机之间的传输,也包括计算机与外部设备,如终端、打印机和磁盘等设备之间的传输。
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。
在串行通信中,把通信接口只能发送或接收的单向传送办法叫单工传送;而把数据在甲乙两机之间的双向传递,称之为双工传送。
在双工传送方式中又分为半双工传送和全双工传送。
半双工传送是两机之间不能同时进行发送和接收,任一时该,只能发或者只能收信息。
51系列单片机有一个可编程的全双工串行通信接口,它可作异步接收发送器用,也可做同步移位寄存器用,其帧格式可有8位、10位或11位,并能设置各种波特率,给使用带来很大的灵活性。
51系列单片机有两个物理上独立的接收、发送缓冲器SBUF,它们只占用同一地址99H,可同时发送、接送数据。
发送缓冲器只能写入,不能读出,接收缓冲器只能读出、不能写入。
串行发送接收的速率与波特率发生器产生的移位脉冲同频。
51系列单片机用定时器T1或直接用CPU时钟作为通信波特率发生器的输入,在串行接口的不同工作方式中,波特率发生器从两个输入信号中选择一个分频,产生移位脉冲来同步串口的接收和发送,移位脉冲的速率即是波特率。
接收器是双缓冲结构,在前一个字节被从接收缓冲器SBUF读出之前,第二字节即开始被接收。
但是,若在第二个字节接收完毕后,前一个字节还未被CPU 读取的话,第二个字就会覆盖第一个字节,造成第一个字节的丢失。
接收器是双缓冲结构,串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的。