单片机原理与接口技术习题答案.doc

上传人:s****u 文档编号:12813106 上传时间:2020-05-26 格式:DOC 页数:16 大小:338.51KB
返回 下载 相关 举报
单片机原理与接口技术习题答案.doc_第1页
第1页 / 共16页
单片机原理与接口技术习题答案.doc_第2页
第2页 / 共16页
单片机原理与接口技术习题答案.doc_第3页
第3页 / 共16页
点击查看更多>>
资源描述
单片机原理与接口技术习题答案习题与思考题11-2 单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点?答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。1-4 单片机的几个重要指标的定义。答:单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。习题与思考题22-2 MCS-51单片机的EA、ALE和PSEN端的功能是什么?答:ALEALE为地址锁存允许信号,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。PSEN外部程序存储器的读选通信号。当访问外部ROM时,PSEN产生负脉冲作为外部ROM的选通信号;在访问外部RAM或片内ROM时,不会产生有效的PSEN信号。PSEN可驱动8个LSTTL门输入端。EA访问外部程序存储器控制信号。对8051和8751,它们的片内有4KB的程序存储器。当EA为高电平时,CPU访问程序存储器有两种情况:一是访问的地址空间在04K范围内,CPU访问片内程序存储器;二是访问的地址超出4K时,CPU将自动执行外部程序存储器的程序。对于8031,EA必须接地,只能访问外部ROM。2-3 程序计数器(PC)有多少位?它的主要功能是什么?答:程序计数器有16位,它的功能和一般微型计算机的相同,用来存放下一条要执行的指令的地址。当按照PC所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。2-5 MCS-51单片机如何实现工作寄存器组R0R7的选择?答:每个工作寄存器组都可被选为CPU的当前工作寄存器,用户可以通过改变程序状态字寄存器(PSW)中的RS1、RS0两位来任选一个寄存器组为当前工作寄存器。RS1RS0寄存器组R0R1R2R3R4R5R6R7000组00H01H02H03H04H05H06H07H011组08H09H0AH0BH0CH0DH0EH0FH102组10H11H12H13H14H15H16H17H113组18H19H1AH1BH1CH1DH1EH1FH2-6 单片机复位后,各特殊功能寄存器中的初始化状态是什么?答:特殊功能寄存器初始状态特殊功能寄存器初始状态ACC00HTMOD00HPC0000HTCON00HPSW00HTL000HSP07HTH000HDPTR0000HTL100HP0P30FFHTH100HIPxx000000BB00HIE0x000000BSCON00HPCON0xxx0000BSBUF不定 2-7 MCS-51单片机的21个特殊功能寄存器中,哪些具有位寻址能力?答:MCS-51单片机中的程序状态字寄存器(PSW),B寄存器,累加器(ACC),端口P0P3,控制寄存器中用于中断控制的中断优先级控制寄存器(IP)和中断允许控制寄存器(IE),用于设置定时/计数器和串行口工作方式的定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)具有位寻址能力。2-8 程序状态字寄存器(PSW)的作用是什么? 答:PSW寄存器是8位寄存器,用做程序运行状态的标志,字节地址为D0H。可以进行位寻址。2-9 MCS-51单片机的P3口具有哪些功能?答:P3口是双功能口,除了作为准双向通用I/O口使用外,每一根口线还具有第二种功能,P3口的各位如不设定为第二功能则自动处于第一功能。P3的第二功能涉及到串行口、外部中断、定时器,与特殊功能寄存器有关。2-13 什么是时钟周期、状态周期、机器周期和指令周期?当单片机时钟频率为12MHz时,一个机器周期是多少?ALE引脚的输出频率是多少?答:时钟周期也称为振荡周期,定义为时钟脉冲频率(fosc)的倒数,它是计算机中最基本的、最小的时间单位。时钟周期经2分频后成为内部的时钟信号,用作单片机内部各功能部件按序协调工作的控制信号,称为状态周期,用S表示。完成一个基本操作所需要的时间称为机器周期。指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,指令不同,所需要的机器周期数也不同。当单片机时钟频率为12MHz时,一个机器周期为1s。ALE引脚的输出频率为2MHz。2-14 什么时候需要复位操作?对复位信号有何要求?答:复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位。上电复位利用电容器的充电实现。在时钟电路工作后,在RST端连续给出2个机器周期的高电平就可完成复位操作。MCS-51单片机的上电加按键复位电路当复位按键按下 后,复位端通过51的小电阻与+5V电源接通,迅速放电,使RST引脚为高电平;当复位按键弹起后,+5V电源通过2k电阻对22F电容重新充电,RST引脚端出现复位正脉冲。习题与思考题33-1 什么是寻址方式?MCS-51指令系统有哪些寻址方式?相应的寻址空间在何处?答:在指令系统中,操作数是一个重要的组成部分,它指定了参与运算的数据或数据所在的地址单元。如何找到参与运算的这个数据或数据所在的地址就称为寻址方式。MCS-51指令系统的寻址方式主要有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址和位寻址等七种。对程序存储器只能采用立即寻址和基址加变址寻址方式;对特殊功能寄存器只能采用直接寻址方式,不能采用寄存器间接寻址,对8032/8052等单片机内部RAM的高128个字节(80HFFH),只能采用寄存器间接寻址,不能使用直接寻址方式;对位操作指令只能对位寻址区操作;外部扩展的数据存储器只能用MOVX指令访问,而内部RAM的低128个字节(00H7FH)既能用直接寻址,也能用间接寻址。3-2 访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。答:访问外部数据存储器可以用以下指令实现:MOVX A, Ri ;(Ri)A,寄存器Ri指向的片外RAM地址中的内容送到累加器A中MOVX Ri, A ;A(Ri),累加器中内容送到寄存器Ri指向的片外RAM地址中MOVX A, DPTR ;(DPTR)A,数据指针指向的片外RAM地址中的内容送到累加器A中MOVX DPTR, A ;A(DPTR),累加器中内容送到数据指针指向的片外RAM地址中访问程序存储器可以用以下指令实现:MOVC A, A+DPTR ;(A+DPTR)A,表格地址单元中的内容送到累加器A中MOVC A, A+PC ;PC+1PC,(A+PC)A,表格地址单元中的内容送到累加器A中 3-3 试用下列3种寻址方式编程,将立即数0FH送入内部RAM的30H单元中。 (1) 立即寻址方式;(2) 寄存器寻址方式;(3) 寄存器间接寻址方式答:(1)立即寻址方式: MOV 30H, #0FH(2)寄存器寻址方式: MOV R5, #0FHMOV 30H, R5(3)寄存器间接寻址方式:MOV R1, #0FHMOV 30H, R13-5 试编写一段程序,将内部数据存储器30H、3lH单元内容传送到外部数据存储器1000H、1001H单元中。答: MOV A, 30HMOV DPTR, #1000HMOV DPTR, AMOV A, 31HMOV DPTR, #1000HMOV DPTR, A3-13 SJMP指令和AJMP指令都是字节转移指令,它们有什么区别?各自的转移范围是多少?能否用AJMP指令代替程序中的所有SJMP指令?为什么?答:AJMP和SJMP的区别有:(1) 跳转范围不同。AJMP addr1 ;短跳转范围:2KBSJMP rel ;相对跳转范围:-128+127(2) 指令长度不同。(3) 指令构成不同。AJMP、LJMP后跟的是绝对地址,而SJMP后跟的是相对地址。不能用AJMP指令代替程序中的SJMP指令,因为如果改变的话,程序跳转到的新PC值指向的地址会不同,导致程序出现错误。3-14 试用位操作指令实现下列逻辑操作。要求不得改变未涉及到的位的内容。(1)使ACC.0置位; (2)清除累加器高4位; (3)清除ACC.3,ACC.4,ACC.5,ACC.6。 答:(1)SETB ACC.0 (2)CLR ACC.4 CLR ACC.5 CLR ACC.6 CLR ACC.7 (3)CLR ACC.3 CLR ACC.4 CLR ACC.5 CLR ACC.6 习题与思考题44-1 MCS-51系列单片机汇编语言进行程序设计的步骤如何?答:单片机汇编语言进行程序设计的步骤:(1)分析题意,明确要求;(2)确定算法;(3)画程序流程图,用图解来描述和说明解题步骤;(4)分配内存工作单元,确定程序与数据区的存放地址;(5)编写源程序;(6)程序优化;(7)上机调试、修改和最后确定源程序。4-3 子程序调用时,参数的传递方法有哪几种?答:传递方法有传递数据、传送地址和通过堆栈传递参数。 4-5 编写程序,采用算术平均值滤波法求采样平均值,设8次采样值依次放在20H27H的连续单元中,结果保留在A中。 答:FILT: CLR AMOV R2, AMOV R3, AMOV R0, #20HMOV R7, #08H;初始化FILT1: MOV A, R0ADD A, R3 MOV R3, ACLR AADDC A, R2MOV R2, AINC R0DJNZ R7, FILT1;累加采样值到R3,累加进位到R2=00000xxxBFILT2: SWAP ARL A ;R2/8,节省一个指令周期XCH A, R3SWAP ARL A ;R3/8,节省一个指令周期ADD A, #80H ;四舍五入ANL A, #1FH ;屏蔽移位进入的前三位ADDC A, R3 ;结果相加END;取平均值 4-8 假设在R0指向的片内RAM区,存有20个16进制数的ASCII字串。将ASCII码转换为16进制数,然后两两合成一个字节,从低地址单元到高地址单元依次组合。答: ORG 0000HSTART: MOV R7, #20S0: MOV A, R0MOV R1, A ;R1为中间量MOV A, R0CLR CSUBB A, #30HMOV R1, AJC S01MOV A, R0SUBB A, #07HMOV R1, AS01: INC R0MOV A, R0CLR CSUBB A, #30HSWAP AORL A, R1MOV R1, AJC S02MOV A, R0SUBB A, #07HSWAP AOR A, R1MOV R1, AS02: INC R0DJNZ R7, S0END 习题与思考题6 6-2 MCS-51单片机提供了几个中断源?有几级中断优先级别?各中断标志是如何产生的又如何清除这些中断标志?各中断源所对应的中断矢量地址是多少?答:MCS-51单片机提供了5个中断源,有2级中断优先级别。中断标志由特殊功能寄存器TCON和SCON的相应位锁存。(见书中图6-4、6-6)中断标志的撤消分为:1)定时/计数器中断请求的撤消中断请求被响应后,硬件会自动清TF0或TF1。2)外部中断请求的撤消(1)跳沿方式外部中断请求的撤消是自动撤消的。(2)电平方式外部中断请求的撤消,除了标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。(见书中图例6-1)3)串行口中断请求的撤消响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤消只能使用软件的方法。CLR TI ;清TI标志位CLR RI ;清RI标志位各中断源对应的中断矢量地址分别为:中断源中断矢量外部中断00003H定时器T0中断000BH外部中断10013H定时器T1中断001BH串行口中断0023H定时器中断T2(仅52系列有)002BH 6-3 外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定? 答:采用中断电平触发方式时,中断请求标志IT0=0,CPU在每个机器周期的S5P2期间采样,一旦在P3.2引脚上检测到低电平,则有中断申请,使IE0置位(置1),向CPU申请中断。在电平触发方式中,在中断响应后中断标志位IE0的清0由硬件自动完成,但由于CPU对P3.2引脚没有控制作用,使中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清0的IE0标志位重新置1,所以,在中断响应后必须采用其它方法撤消该引脚上的低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。采用边沿触发方式时,IT0=1,CPU在每个机器的S5P2期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0置1,向CPU申请中断,此标志位一直保持到CPU响应中断后,才由硬件自动清除。在边沿触发方式中,为保证CPU在两个机器周期内检测到由高到低的负跳变,高电平与低电平的持续时间不得少于一个机器周期的时间。6-4 试分析以下几种中断优先级的排列顺序(级别由高到低)是否可能?若可能,则应如何设置中断源的中断级别?否则,请简述不可能的理由。 (1) 定时器T0中断,定时T1中断,外中断1NT0,外中断INT1,串行口中断;(2) 串行口中断,外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断;(3) 外中断INT0、定时器T1中断,外中断INT1,定时器T0中断,串行口中断。答:(1)可以,将定时器T0中断,定时T1设置为高优先级中断,将外中断1NT0,外中断INT1,串行口中断(2)可以,将串行口中断设置为高优先级中断,将外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断设置为低优先级中断;(3)不行,因为MCS-51单片机有2级中断优先级别,同级中断还存在按次序决定的第二优先级结构,由高到低依次为外中断1NT0、定时器T0中断、外中断INT1、定时器T1中断、串行口中断。 习题与思考题77-1 定时/计数器有哪些专用寄存器,它们有几种工作模式?如何设置?答:有定时控制寄存器(TCON)和工作方式寄存器(TMOD),具有四种工作方式:方式0、方式1、方式2和方式3,四种方式由工作方式寄存器(TMOD)的M1和M0两位决定。7-4 定时/计数器用作计数器时,对外界计数频率有何限制?答:外部输入的计数脉冲的最高频率为振荡器频率的1/24。7-7 编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400s,占空比为10:1的矩形脉冲。 答:本题采用晶体振荡器频率为12MHz,使用定时器配合计数器,设计成一个40s定时将P1.0置0和一个400s定时将P1.0置1。ORG 0000H ;中断入口地址AJMP STARTORG 000BH ;定时器0的中断向量地址AJMP TIME0ORG 0030HSTART: MOV SP, #5FHMOV 30H, #00H ;软件计数器清零MOV TMOD, #02H ;T0工作在方式1MOV TH0, #216MOV TL0, #216SETB EASETB ET0SETB TR0;任意程序段TIME0: PUSH ACC ;中断处理子程序PUSH PSWCLR P1.0INC 30HMOV A, 30HCJNE A, #10, T0_4SETB P1.0MOV 30H, #00HT0_4: POP PSWPOP ACCRETIEND7-9 利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。编一个程序,使8个指示灯依次一个一个闪动,闪动频率为20次/秒(8个灯依次亮一遍为一个周期)。答:本题采用晶体振荡器频率为12MHz,每个灯的闪烁周期是:50ms,采用工作方式1。ORG 0000HAJMP STARTORG 000BHAJMP TIME0ORG 0030HSTART: MOV SP, #5FHMOV R7, #0FEHMOV TMOD, #01H ;T0在工作方式1MOV TH0, #3CHMOV TL0, #0B0HSETB EASETB ET0SETB TR0S0: AJMP S0 ;此处放任意程序段TIME0: PUSH ACCPUSH PSWMOV P1, R7MOV A, R7RL AMOV R7, AMOV TH0, #3CHMOV TL0, #0B0HPOP PSWPOP ACCRETIEND7-12 简述特殊功能寄存器SCON,TCON,TMOD功能。答:SCON是串行口控制寄存器,主要用于控制、监视串行口的工作状态;TCON是定时控制寄存器,主要用于控制定时/计数器的启动和停止、计数溢出标志和管理外部中断;TMOD是工作方式控制寄存器,主要用于设定定时/计数器的的工作方式和选定定时还是计数以及门控INT0非信号。7-15 帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式几?。 答:是异步串行通信方式1。7-16 简述串行口通信的第9数据位的功能。答:在工作方式2和3下,才有第9数据位,既可作为奇偶校验位使用,也可作为控制位使用。习题与思考题88-1 画图说明单片机系统总线扩展方法。答:单片机系统扩展总线原理如下图所示,扩展后由P0口经锁存器形成低8位地址,P2口形成高8位地址,共同形成16位地址总线;P0口形成8位数据线,/WR、/RD及/PSEN形成控制总线。 8-10 以8031为核心的单片机应用系统中扩展程序存储器至16KB。 (1)选择存储器件;(2)画出原理电路;(3)说明各器件占用存储空间。答:(1)选用EPROM存储器作为程序存储器,可选用1片27128或2片2764,本题选两片6264作为程序存储器。(2)原理电路如下图所示。(3)由于8031单片机内部没有程序程序器,外扩程序存储器地址必须从0000H开始,并且单片机的/EA引脚应接地。从图中可以看出,1#2764的地址范围为0000-1FFFH,2#2764的地址范围为2000H-3FFFH8-12 试编程对8155进行初始化,设A口为选通输出,B口为选通输入,C口作为控制联络口,并启动定时/计数器按方式1工作,工作时间为10 ms,定时器计数脉冲频率为单片机的时钟频率24分频,fOSC=12 MHz。答:(1)参照书中图8-21,设: 8155的片选信号CE接至51单片机的P2.7口,即单片机操作指令产生的地址信号P2.7为0时,对扩展的8155进行操作。因此,扩展的8155口地址最高位为0; 8155的IO/M(IO/M=1时选择8155的寄存器,IO/M=0时选择8155的存储器)信号接至51单片机的P2.0口,即单片机操作指令产生的地址信号P2.0为1时(前提是P2.7为0),对扩展8155的内部寄存器进行操作。 (2)8155内部寄存器口地址分析 根据前面假设,扩展的8155内部寄存器高8位地址是:0xxx,xxx1B,取其中的任意位x为1,则8155内部寄存器高8位地址是:0111,1111B=7FH。 参照书中表8-5知,8155地址信号有效时,由地址信号的低3位确定所操作的寄存器如下: 控制字寄存器和状态字寄存器地址是:,000B,取其中任意值x为0,则该寄存器低8位地址是00H。加上前面分析过的这里扩展的8155内部寄存器高8位地址7FH,该寄存器的16位地址为7F00H; A口寄存器地址是:,001B,取其中任意值x为0,则该寄存器低8位地址是01H。同理,加上高8位地址7FH,该寄存器的16位地址为7F01H; B口寄存器地址是:,010B,取其中任意值x为0,则该寄存器低8位地址是02H。同理,加上高8位地址7FH,该寄存器的16位地址为7F02H; C口寄存器地址是:,011B,取其中任意值x为0,则该寄存器低8位地址是03H。同理,加上高8位地址7FH,该寄存器的16位地址为7F03H; 定时/计数器低字节寄存器地址是:,100B,取其中任意值x为0,则该寄存器低8位地址是04H。同理,加上高8位地址7FH,该寄存器的16位地址为7F04H; 定时/计数器高字节寄存器地址是:,101B,取其中任意值x为0,则该寄存器低8位地址是05H。同理,加上高8位地址7FH,该寄存器的16位地址为7F05H。 (3)8155控制字分析 根据8155控制字各位定义可知: D7D6位(TM1和TM2)是定时/计数器工作方式,TM1和TM2=11时,启动定时/计数器。根据题意要求,这两位取11(启动定时/计数器); D5位(IEB)是B口中断控制位,本题不涉及,故取0; D4位(IEA)是A口中断控制位,本题不涉及,故取0; D3D2位(PAB2和PAB1)是定义A口、B口和C口的工作方式。按照定义可知,PAB2PAB1=10时,A口和B口均为选通方式。此时,C口的PC0PC5提供它们所需握手联络信号(PC0=INTRA,PC1=BFA,PC2=STBA,PC3=INTRB,PC4=BFB,PC5=STBB)。其中与本题有关的信号是:STBA为A口数据选通输入信号,STBB为B口数据选通输入信号(选通信号只在读取A、B口数据时使用,本题要求的初始化程序中不需要考虑); D1位(PB)定义B口的输入/输出,PB=0为输入,PB=1为输出。根据题意应取该位为0; D0位(PA)定义A口的输入/输出,PA=0为输入,PA=1为输出。根据题意应取该位为1。 综合以上分析,这里扩展的8155控制字为:1100,1001B=C9H。意为:启动定时/计数器,A口和B口均为选通方式,B口为输入,A口为输出。 (4)定时/计数器工作方式及初值确定 51单片机的定时/计数器是以加法器方式工作,从定时常数开始加1直到溢出后产生定时中断。而8155的定时/计数器是以减法器方式工作,从定时常数开始减1直到溢出后产生定时中断。8155的定时时间常数计算公式为:10000/(分频系数*(fOSC/12)。 8155的定时/计数器是一个14位的减法计数器。根据8155定时/计数器工作方式的定义,定时/计数器高字节寄存器的D7D6位(M2、M1)为01时,定时/计数器以方式1工作(连续方波),D5D0是定时时间常数的高6位。定时/计数器低字节寄存器是定时时间常数的低8位。 依照题意及要求,工作时间为10 ms,定时器计数脉冲频率为单片机时钟频率的24分频,fOSC=12 MHz。因此,按照8155定时时间常数计算公式,计算如下: 10000/(24*(fOSC/12)=417D=00,0001,1010,0001B=01A1H 即,定时/计数器低字节寄存器内容是定时/计数初值低8位1010,0001B(A1H)。高字节寄存器内容是定时/计数器工作方式1(D7D6=01)和定时/计数初值高6位(D5D0=00,0001B)的“位或”逻辑组合值0100,0001B(41H)。 (5)分析结果 综合以上分析,得出本题中扩展的8155相关口地址和控制字结果如下: 控制寄存器地址:7F00H 端口A地址:7F01H(初始化程序中不使用) 端口B地址:7F02H(初始化程序中不使用) 端口C地址:7F03H(初始化程序中不使用) 定时/计数器低字节地址:7F04H 定时/计数器高字节地址:7F05H 控制字为:C9H 定时/计数器低8位初值为:A1H 定时/计数器高8位初值为:41H (6)编写8155初始化程序如下。 ORG 1000H MOV DPTR, #7F04H ;数据指针指向定时/计数器低字节地址 MOV A, #0A1H ;10ms定时初值的低8位 MOVX DPTR, A ;装入定时初值的低8位 INC DPTR ;数据指针指向定时/计数器高字节地址 MOV A, #41H ;连续方波方式和10ms定时初值的高6位 MOVX DPTR, A ;装入定时/计数器工作方式及定时初值高6位 MOV DPTR, #7F00H ;数据指针指向控制寄存器地址 MOV A, #0C9H ;C9H为依题意确定的8155控制字 MOVX DPTR, A ;写控制字到8155控制寄存器,设定A, B, C口 ;的工作方式,同时启动定时/计数器 RET ;完成8155初始化,返回 END 习题与思考题99-2 SPI总线与I2C总线在扩展多个外部器件时有何不同? 答: SPI总线与I2C总线在扩展多个外部器件时区别如下: (1)I2C总线 下图为I2C总线外围接口扩展示意图,单片机系统采用I2C总线可方便地扩展外部存储器、AD和DA转换器、实时时钟、键盘、显示等接口电路。 I2C总线上连接的器件都是总线上的节点,每个时刻只有一个主控器件操控总线。每个器件都有一个唯一确定的地址,主控器件通过这个地址实现对从器件的点对点数据传输。器件的地址由7位组成,其后附加了1位方向位,确定数据的传输方向。这8位构成了传输起始状态S后的第一个字节。 器件的地址由4位固定位和3位可编程位组成。固定位由生产厂家给出,用户不能改变。可编程位与器件的地址管脚的连接相对应,当系统中使用了多个相同芯片时可以进行正确的访问。 当主器件发送了数据帧的第一个字节后,总线上连接的从器件会将接收到的地址数据与自己的地址进行比较,被选中的从器件在根据方向位确定是接收数据还是发送数据。 (2)SPI总线 总线上有多个SPI接口的单片机时,应为一主多从,在某一时刻只能由一个单片机为主器件。如果总线上只有一个SPI接口器件,不需要进行寻址操作而进行全双工通信。在扩展多个SPI外围器件时,单片机应分别通过I/O口线为每个从器件提供独立的使能信号,硬件上比I2C系统要稍微复杂一些,下图所示为SPI总线扩展外围器件。但是SPI不需要在总线上发送寻址序列,软件上简单高效。 9-7 简述单线总线的操作原理。答: 由于单线总线没有时钟脉冲进行同步,需要严格的时序和协议来保证总线的操作有效性和数据的完整性。单线总线有四种基本操作,分别是复位、写1、写0和读位操作。单线总线将完成一位传输的时间称为一个时隙。定义了基本操作后,对器件的读写操作可通过多次调用位操作来实现。 采用单线总线通信,要求CPU能够产生较为精确的1s延时,还要保证通信过程不能被中断。所有的数据和指令的传递都是从最低有效位开始通过单线总线。 所有单线总线操作的流程为现对总线上的器件进行初始化,然后利用ROM操作指令寻找和匹配,指定待操作器件,接着发出功能指令,进行具体操作或传输数据。系统对从器件的各种操作必须按协议进行,只有主机呼叫时,从器件才能应答,如果命令顺序混乱,则总线将不能正常工作10-4 10-4 利用AD574设计一个接口电路,每隔5 s对模拟通道采样一次,并将采样结果保存在外部RAM的1000H单元。画出原理图并编制相应程序。答:AD574工作在单极性输入方式时与MCS-51单片机的接口电路原理图如下图所示。 P0.0和P0.1通过地址锁存器连接AD574的A0和R/C。启动转换时,R/C=0并且A0=0则按12位转换,未连接的地址线按1算,则启动12位A/D转换的地址为FCH。读取转换结果时,在R/C=1条件下,A0=0读高8位,A0=1读低4位,因而,读高8位数据的地址为FEH,读低4位数据的地址为FFH。P1.0用于查询A/D转换是否结束。 编写程序如下。包括AD574程序和5s延时程序(晶振频率为12MHz)。 ORG 0200H DEY5S: MOV R5, #100 ; 置外循环计数器R5初值为100 LOOP1: MOV R6, #200 ; 置2层循环计数器R6为初值为200 LOOP2: MOV R7, #248 ; 置三层循环计数器R7的初值为248 LOOP3: DJNZ R7, LOOP3 ; 3层循环计数结束否? DJNZ R6, LOOP2 ; 2层循环计数结束否? DJNZ R5, LOOP1 ; 1层循环计数结束否? AD574:MOV DPTR, #1000H ; DPTR指向数据缓冲区 MOV R0, #0FCH ; R0指向启动地址 MOVX R0, A ; 启动A/D转换 LOOP: JB P1.0, LOOP ; 等待转换结束 INC R0 ; 指向读高8位数据地址 INC R0 ; 12的数据存储时占两个字节 MOVX A, R0 ; 读高8位数据 MOVX DPTR, A ; 存高8位数据 INC R0 ; 指向读低4位数据地址 INC DPTR ; 指向缓冲区下一字节地址 10-7 利用DAC0832双缓冲结构特性,设计一个接口电路并编制相应程序,实现双路模拟信号同时输出。答:(1)接口电路原理如下图所示。图中选用两片0832作为双路模拟信号输出转换器,由图中的连接关系可以看出,1#0832第一级缓冲器地址为8000H,2#0832第一级缓冲器地址为4000H,1#0832和2#0832的第二级缓冲器的地址为2000H。采用线选法。 (2)程序清单如下: MOV DPTR, #8000H ;DPTR指向1#0832第一级缓冲器 MOV A, R0 ;取1#0832转换数据 MOVX DPTR, A MOV DPTR, #4000H ;DPTR指向2#0832第一级缓冲器 MOV A, R1 ;取2#0832转换数据 MOVX DPTR, A MOV DPTR, #2000H ;DPTR指向1#0832、2#0832第二级缓冲器 MOVX DPTR, A ;同时选通第二级缓冲器 RET 12-2 单片机电源系统常用的实现方式有哪些? 答: 单片机电源系统常用的实现方式有: (1)线性稳压电源。将变压器降压和整流滤波后的直流电压采用线性稳压方式稳压后输出,常用的稳压器有三端固定输出集成稳压器, 可调输出集成稳压器, 低压差线性稳压器,也可采用分立原件组成线性稳压电源。 (2)DC/DC电源。通过振荡电路和开关管把输入的直流电压转变为交流电压,通过变压器变压之后,再经过整流、滤波、稳压转换为直流电压输出。DC/DC转换器的输入电压要求在特定的范围里。从输入输出的关系而言,DC/DC转换器有降压、升压及隔离三种形式的电路。这种电源一般采用DC/DC电源控制器,配置合适的功率开关管实现。 (3)AC/DC电源。这种电源具有输入电压范围宽(85264 VAC)、交直流两用的特点,电源模块或控制器的内部主控芯片根据负载要求控制主控开关管的导通,产生高频交流电压,经高频变压器和高频整流滤波器处理后,可输出稳定的直流电压。这类电源一般采用集成的AC/DC控制器和耐高压的开关管来实现。 (4)基准电源,采用高精度的稳压管,运算放大器或三极管放大电路。目前常用的是采用集成基准电源芯片来实现,产生的电压给特定部件作为参考电压使用。 13-15简述看门狗技术及其实现方法。答:PC受到干扰而失控,引起程序乱飞,也可能使程序陷入“死循环”。指令冗余技术、软件陷阱技术不能使失控的程序摆脱“死循环”,通常采用“看门狗”(WATCH DOG TIMER)技术,又称程序监视技术,使程序脱离“死循环”。“看门狗”技术可由硬件实现,也可由软件实现,也可由两者结合来实现。13-16 简述数字滤波技术及其常用的滤波算法。答:当随机干扰信号混入输入信号时,通过一定的算法可以滤除干扰信号。数字滤波是将一组输入数字序列进行一定的运算转换成另一组输出数字序列,经过数字滤波转化后的输出数字序列更平滑、更易于处理。常用的数字滤波方法有(1)程序判断滤波法(2)中值滤波法(3)算术平均滤波法(4)递推平均滤波法(5)防脉冲干扰平均值滤波法习题与思考题1414-1 一般情况下,单片机应用系统的开发过程有哪些步骤?答:准备工作、应用系统设计过程、撰写设计总结报告。其中应用系统设计过程又包括系统的总体方案设计、系统硬件设计、系统软件设计、系统仿真调试、系统安装运行。14-1 单片机应用系统的调试分哪些部分?上机实践Keil软件的使用。答:硬件调试、软件调试、脱机运行调试。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!