• 9.76 MB
  • 2022-04-22 11:19:00 发布

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

  • 38页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'李升主编《单片机原理与接口技术》习题参考答案目录习题一-1-习题二-1-习题三-2-习题四-4-习题五-12-习题六-16-习题七-17-习题八-20-习题九-23-习题十-25-习题十一-31-习题十二-32-习题十三-34-习题十四-34-*******************************************************************************本答案由南京工程学院电网监控专业闵大立、李斌同学及王曼老师整理,读者在使用过程中如发现有不妥之处,请及时联系本书主编李升sora2008@126.com******************************************************************************* 李升主编《单片机原理与接口技术》习题参考答案习题一一、单项选择题1.C2.D3.B二、填空题1.CPU、存储器、定时器/计数器、I/O接口电路2.87513.128B4.45.8031、EPROM、锁存器三、简答题1、将CPU、只读存储器(ROM)、随机存储器(RAM)、定时器/计数器和多种I/O接口电路都集成到一块集成电路芯片上的微型计算机就是单片微型计算机,简称单片机。2、工业测控等实时控制系统、智能化仪表、机电一体化产品、分布式系统、民用领域。3、8031没有片内ROM,8051有4KB掩膜ROM,8751有4KBEPROM。4、(1)ISP功能(2)AT89S51最高工作频率达33MHz,而AT89C51最高工作频率为24MHz。(3)内部集成有“看门狗”定时器(4)双数据指示器和电源断开标识(5)全新的加密算法,使得对AT89S51解密难度大大增加。习题二一、单项选择题1.A2.A3.B4.B5.B6.A7.D8.D9.D10.B二、填空题1.片外程序存储器2.1/6-36-共37页 李升主编《单片机原理与接口技术》习题参考答案1.程序2.位3.接地4.CY5.0000H6.置1(FFH)7.88.先进后出三、简答题1.8位CPU,4KBFlash程序存储器,128BRAM,4个8位并行I/O接口,2个16位可编程定时/计数器,6个中断源,5个中断矢量、2个优先级,一个全双工串行通信口,片内看门狗定时器,26个SFR,两个数据指针,在线可编程ISP端口。2.时钟周期:主频振荡周期。机器周期:CPU完成某一个规定操作(如存储器读或写、I/O读或写等)所需要的时间称为机器周期;机器周期又由12个振荡周期组成。单片机的每个机器周期包括6个状态周期S。指令周期:把执行一条指令所需要的时间称为指令周期;指令周期一般由1~4个机器周期组成。主频为24MHz时,T=0.5us,执行一条指令最长需要2us。3.(P0)=(P1)=(P2)=(P3)=FFH,(PC)=0000H,(DPTR)=0000H,(SP)=07H,(ACC)=00H,(PSW)=00H。复位不影响片内RAM单元的数据变化,仅影响特殊功能寄存器中的内容,对于部分特殊功能寄存器复位后的初始值具有重要意义。4.从物理结构上分:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从逻辑结构上分:片内外统一编址的64KB程序存储器、片内256B的数据存储器(包含特殊功能寄存器SFR)、片外64KB的数据存储器。5.AT89S51单片机有两种节电运行模式:空闲模式和掉电模式。空闲模式和掉电模式都是由特殊功能寄存器中的电源控制器PCON有关控制位来控制的。PD=1,进入掉电模式,IDL=1则进入空闲模式。6.ISP(In-SystemProgramming)在系统可编程,指在改写片内存储器程序时不需要将芯片从工作环境剥离。电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。习题三一、单项选择题1.B2.D3.A4.D5.A6.B-36-共37页 李升主编《单片机原理与接口技术》习题参考答案1.A2.A3.C4.B一、填空题1.寻找操作数所在地址的方式2.寄存器间接寻址3.0,1,1,1,-334.片内RAM,片外RAM,片内外ROM5.R0,R1,DPTR二、简答题1.SUBBA,30H;(A)=7AH-A5H-01H=D4HSUBBA,#30H;(A)=7AH-30H-01H=49HADDA,R0;(A)=7AH+30H=AAHADDA,30H;(A)=7AH+A5H=1FHADDA,#30H;(A)=7AH+30H=AAHADDCA,30H;(A)=7AH+A5H+01H=20HSWAPA;(A)=A7HXCHDA,@R0;(A)=75H,((R0))=AAHXCHA,R0;(A)=30H,(R0)=7AHXCHA,30H;(A)=A5H,(30)=7AHXCHA,@R0;(A)=A5H,((R0))=7AHMOVA,@R0;(A)=A5H2.MOVA,#45H;立即数MOVA,45H;字节地址,RAM45H单元MOV45H,46H;字节地址,RAM45H单元MOV45H,#45H;前一个字节地址,RAM45H单元,后一个立即数MOVC,45H;位地址3.MOVSP,#5AH;(SP)=5AHMOVA,#20;(A)=20HMOVB,#30H;(B)=30HPUSHACC;(SP)=5BH,(5BH)=20HPUSHB;(SP)=5CH,(5CH)=30HPOPACC;(SP)=5BH,(A)=30HPOPB;(SP)=5AH,(B)=20H4.(SP)=34H,(33H)=7BH,(34H)=00H5.MOVA,@R0;(A)=80HMOV@R0,40H;((R0))=(40H)=08HMOV40H,A;(40H)=(A)=80HMOVR0,#35H;(R0)=35H三、编程题1.方法1MOVA,20HCJNEA,#00H,L1SJMPL4-36-共37页 李升主编《单片机原理与接口技术》习题参考答案L1:JCL3L2:LJMP2100HL3:LJMP2200HL4:LJMP2300H方法2MOVA,20HJZLOOP1JBACC.7,LOOP2LJMP2100HLOOP1:LJMP2300HLOOP2:LJMP2200H2.MOVA,20HRRCAMOV20H,AMOVA,21HRRCAMOV21H,AMOV07H,C3.MOVR0,#20H  MOVR1,#20H MOVR2,#50H LOOP:MOVA,@R0MOVX@R1,AINCR0 INCR1 DJNZR2,LOOP习题四一、单项选择题1、B2、A3、B4、D5、C二、简答题1、四部分:(1)置初值部分(2)循环工作部分(3)循环控制变量修改部分(4)循环终止部分2、子程序:-36-共37页 李升主编《单片机原理与接口技术》习题参考答案能被其他程序调用,在实现某种功能后能自动返回到调用程序去的程序。其最后一条指令一定是返回指令,故能保证重新返回到调用它的程序中去。也可调用其他子程序,甚至可自身调用(如递归)。注意保护现场和恢复现场。3、ADDA,#78H改为ADDCA,#78H(30H)=86H(31H)=13H一、程序阅读题1、(60H)=ACH,(61H)=50H,(62H)=FCH,(A)=03H2、(R0)=11H,(A)=04H,((R1))=15H,(30H)=15H,(B)=03H,(10H)=03H3、ACC,03H,02H4、MOVXA,@R1MOVXA,@DPTR5、(A)=BDH(A)=23H,CY=1(A)=BBH(A)=0BH(A)=F4H(P1)=F4HC=16、100.00612X[1+(1+1+2X123+2)X200+2]/6X10^67、C,ONEMAX,C,ONEMAX,RMAX8、MAIN,#10H,#10H,DPTR,@DPTR四、编程题1、ORG0000HSJMPSTARTORG0030HSTART:MOVDPTR,#2040HMOVXA,@DPTRMOVR0,ASWAPAANLA,#0FHINCDPTRMOVX@DPTR,AMOVA,R0ANLA,#0FHINCDPTRMOVX@DPTR,AEND2、ORG0000HMOVA,30HASCH:CLRCSUBBA,#30HCJNEA,#10H,AH9AH9:JCAH10-36-共37页 李升主编《单片机原理与接口技术》习题参考答案SUBBA,#07HAH10:AJMP$END3、ORG0000HAJMPSTARTORG0030HSTART:MOVR0,#20HMOVR2,#00HMOVR3,#00HMOVR4,#0FHMOV40H,#41HMOV60H,#61HLOOP1:MOVA,@R0JBACC.7,LOOP3LOOP2:INCR2MOVR1,40HMOV@R1,AINC40HAJMPLOOP4LOOP3:INCR3MOVR1,60HMOV@R1,AINC60HLOOP4:INCR0DJNZR4,LOOP1MOV40H,R2MOV60H,R3END-36-共37页 李升主编《单片机原理与接口技术》习题参考答案4、BUFEQU10HORG0000HAJMPSTARTORG0030HSTART:MOVA,#38HADDA,#2AHCLRCSUBBA,#19HMOVBUF,AEND5、DATA1EQU30HDATA2EQU50HORG0000HSJMPSTART-36-共37页 李升主编《单片机原理与接口技术》习题参考答案ORG0030HSTART:MOVR0,#DATA1MOVR1,#DATA2MOVR2,#14HLOOP:MOVA,@R1XCHA,@R0XCHA,@R1INCR0INCR1DJNZR2,LOOPEND6、ORG0000HAJMPSTARTORG0030HSTART:MOVA,#6MOVDPTR,#TABDECARLAMOVB,AMOVCA,@A+DPTRMOVR6,AMOVA,BINCAMOVCA,@A+DPTRMOVR7,AORG1000HTAB:DW1,4,9,16,25,36,49,64,81,100DW121,144,169,196,225,256,289,324,400END-36-共37页 李升主编《单片机原理与接口技术》习题参考答案7、ORG0000HAJMPSTARTORG0030HSTART:MOVA,#04HMOVDPTR,#TABMOVCA,@A+DPTRORG0100HTAB:DB40H,79H,24H,30H,19H,12H,02H,78H,00H,1BHEND8、ORG0000HAJMPSTARTORG0030HSTART:MOVR0,#20HMOVR1,#40HMOVR2,#00H-36-共37页 李升主编《单片机原理与接口技术》习题参考答案LOOP1:MOVA,@R0CJNEA,#0DH,LOOP2SJMPEDLOOP2:CJNEA,#43H,LOOP3INCR2LOOP3:INCR0AJMPLOOP1ED:MOVA,R2MOVX@R1,AEND9、ORG0000HSJMPSTARTORG0030HSTART:MOVA,R3RLAMOVDPTR,#JMPTABJMP@A+DPTRJMPTAB:AJMPM00AJMPM01-36-共37页 李升主编《单片机原理与接口技术》习题参考答案AJMPM02......AJMPM7FEND10、ORG0000HSJMPSTARTORG0030HSTART:MOVR0,#30HMOVR7,#0FHCLRF0LOOP:MOVA,@R0MOV10H,AINCR0MOV11H,@R0CLRCSUBBA,@R0JZNEXTJCNEXTMOV@R0,10HDECR0MOV@R0,11HINCR0SETBF0NEXT:DJNZR7,LOOPJBF0,STARTEND-36-共37页 李升主编《单片机原理与接口技术》习题参考答案习题五一、单项选择题1.B2.C3.C4.C5.C6.A7.C8.A9.A10.C二、填空题1.22.0CH3.电平触发、脉冲触发4.125.TL06.TF17.SCON-36-共37页 李升主编《单片机原理与接口技术》习题参考答案8.停止位9.自动重装入初值8位定时器/计数器10.方式1三、简答题1.P0口有一个输出锁存器,两个三态输入缓冲器,由场效应管FET1.FET2组成输出驱动电路。P1口有一个输出锁存器,两个三态输入缓冲器,由场效应管FET和上拉电阻R组成输出驱动电路。P2口有一个输出锁存器,两个三态输入缓冲器,由场效应管FET和上拉电阻R组成输出驱动电路,有一个多路开关MUX。P3口有一个输出锁存器,两个三态输入缓冲器,由场效应管FET、非门M和上拉电阻R组成输出驱动电路。2.读锁存器指令时,引脚内的输出锁存器Q端状态经读锁存器输入缓冲器进入内部总线,由CPU根据指令要求把Q端状态值修改后,又重新写回锁存器中,被称为读—修改—写指令。读引脚指令时,首先必须通过读锁存器指令或复位方式将端口锁存器置1。3.中断是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。中断装置和中断处理程序统称为中断系统。中断入口是一地址。该地址表又称中断矢量表,它是中断矢量类型码与该中断类型相对应的中断服务程序入口之间的连接表。H为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。中断嵌套是指中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行,这个过程就是中断嵌套。4.5个中断源,2个中断优先级。按照自然优先级,自然优先级是按照外部中断0、定时器/计数器0、外部中断1、定时器/计数器1、串行口的顺序依次来响应中断请求。5.TCON、SCON、IE、IP。6.分为三个阶段:中断响应、中断处理、中断返回。7.外部中断0、定时器/计数器0、外部中断1、定时器/计数器1自动撤除。软件清0。8.2个。TMOD中前4位T1,后4位T0。M1M0=00,工作方式0,13位计数器。M1M0=01,工作方式1,16位计数器。M1M0=10,工作方式2,2个独立8位计数器。M1M0=11,工作方式3。9.方式0为同步移位寄存器,波特率=f/12。方式1为10位移位收发器,波特率由定时器控制。方式2为11位移位收发器,波特率=f/32或者f/64。方式3为11位移位收发器,波特率由定时器控制。10.应用软件运行时受干扰时可进行实时复位。MOV0A6H,#1EHMOV0A6H,#0E1H。四、应用编程题1.ORG0000HLJMPMAINORG0003HLJMPINT01ORG000BHLJMPINTORG0030H-36-共37页 李升主编《单片机原理与接口技术》习题参考答案MAIN:MOVR0,#20MOVSP,#50HMOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBEASETBEX0SETBIT0SJMP$INT01:SETBET0SETBTR0CLRP1.0RETIINT:MOVTH0,#3CHMOVTL0,#0B0HDJNZR0,DEDE0:SETBP1.0CLRET0CLRTR0MOVR0,#20DE:RETIEND2.(1)1FH,08H(2)ORG0000HLJMPMAINORG000BHLJMPINTORG0030HMAIN:MOVTMOD,#00HMOVSP,#50HMOVTH1,#1FHMOVTL1,#08HSETBEASETBET0SETBTR0SJMP$INT:MOVTH1,#1FHMOVTL1,#08HCPLP1.0RETIEND3.ORG0000HLJMPMAINORG0030H-36-共37页 李升主编《单片机原理与接口技术》习题参考答案MAIN:MOVTMOD,#90HMOVTL1,#00HMOVTH1,#00HMOVR0,#50HJBP3.3,$SETBTR1JNBP3.3,$JBP3.3,$CLRTR1MOV@R0,TL1INCR0MOV@R0,TH1SJMP$END4.ORG0000HLJMPMAINORG000BHLJMPINTORG001BHLJMPINT11ORG0030HMAIN:MOVTMOD,#03HMOVTH1,#0C8HMOVTL1,#64HMOVSP,#50HSETBEASETBET0SETBTR0SETBTR1SJMP$INT:MOVTL1,#64HCPLP1.0RETIINT11:MOVTH1,#0C8HCPLP1.1RETIEND5.ORG0000HLJMPMAINORG0030HMAIN:MOVR0,#50HMOVR1,#01HMOVR7,#10HMOVTMOD,#20H-36-共37页 李升主编《单片机原理与接口技术》习题参考答案MOVTH1,#0FEHMOVTL1,#0FEHSETBTR1CLRESMOVSCON,#40HMOVPCON,#00HLOOP:MOVA,R1MOV@R0,AMOVSBUF,AWAIT:JBCTI,CONTSJMPWAITCONT:INCR0INCR1DJNZR7,LOOPEND习题六一、单项选择题1.B2.C3.B4.D5.A二、填空题1.程序存储器,数据存储器,642.3.,4.MOVXA,@Ri、MOVXA,@DPTR5.MOVCA,@A+PC、MOVCA,@A+DPTR6.R0,R1,DPTR7.接地8.线选法、译码法三、简答题1.对于无片内ROM型单片机或片内程序存储器不够用的情况,需要扩展片外程序存储器。由于有需要大量数据缓冲保存的要求,因此仅依靠片内的RAM存储器不够,需要扩展片外数据存储器。2.不会。单片机片外程序存储器、片外数据存储器空间在逻辑上是严格分开的,通过不同的选通信号,,来选通不同的逻辑空间。四、设计题-36-共37页 李升主编《单片机原理与接口技术》习题参考答案1.6116地址范围:0000H——07FFH(0000000000000000B——0000011111111111B)2.2764地址范围:40000H—5FFFFH6264地址范围:20000H—3FFFFH习题七一、单项选择题1.A2.D3.D4.D-36-共37页 李升主编《单片机原理与接口技术》习题参考答案1.C一、填空题1.C2.3,23.PC4,PC54.00000011B5.输出缓冲器满信号二、简答题1.10110100B,11000100B2.8255A口具有输入、输出两个锁存器,B口只具有输出锁存器。3.向A口写入新数据前加一个延时子程序,延时时间应略大于K从按下到释放的时间。三、应用编程题1.ORG0000HLJMPMAINORG0030HMAIN:MOVSCON,#00HMOVSP,#50HCLRESMOVA,#80HDELR:CLRP1.0MOVSBUF,AJNBTI,$SETBP1.0ACALLDELAYCLRTIRRAAJMPDELRDELAY:MOVR6,#0FFHDL0:MOVR7,#0FFHDL1:NOPDJNZR7,DL1DJNZR6,DL0RETEND2.ORG0000HLJMPMAINORG0030HMAIN:MOVP0,#0FFHMOVDPTR,#7FFFHMOVA,#0FFHMOVX@DPTR,ALOP:MOVXA,@DPTRJNBACC.0,HA-36-共37页 李升主编《单片机原理与接口技术》习题参考答案MOVA,#0FFHMOVX@DPTR,ASJMPLOPHA:MOVA,#00HMOVX@DPTR,ASJMPLOPEND3.PA8255EQU7FFCHPB8255EQU7FFDHPC8255EQU7FFEHCON8255EQU7FFFHORG0000HLJMPMAINORG0030HMAIN:MOVP0,#0FFHMOVDPTR,#CON8255MOVA,#82HMOVX@DPTR,AMOVDPTR,#PA8255MOVA,#0FFHMOVX@DPTR,ALP:MOVDPTR,#PB8255MOVXA,@DPTRANLA,#07HMOVDPTR,#LABMOVCA,@A+DPTRMOVDPTR,#PA8255MOVX@DPTR,ASJMPLPORG1000HLAB:DB11111110B,11111101B,11111011B,11110111BDB11101111B,11011111B,10111111B,01111111BEND4.PA8255EQU7FFCHPB8255EQU7FFDHPC8255EQU7FFEHCON8255EQU7FFFHORG0000HLJMPMAINORG0030HMAIN:MOVSP,#50HMOVP0,#0FFHMOVDPTR,#CON8255MOVA,#80H-36-共37页 李升主编《单片机原理与接口技术》习题参考答案MOVX@DPTR,AMOVDPTR,#PA8255MOVA,#0FFHMOVX@DPTR,AMOVR7,#0FEHWAIT:MOVDPTR,#PC8255MOVXA,@DPTRJBACC.6,WAITMOVA,R7ACALLDELAYMOVDPTR,#PA8255MOVX@DPTR,ARLAMOVR7,AAJMPWAITDELAY:MOVR6,#50D1:MOVR5,#100D2:MOVR4,#100DJNZR4,$DJNZR5,D2DJNZR6,D1RETEND习题八一、单项选择题1.C2.B3.A4.A5.C二、填空题1.642.中断源的识别标志,可用来存放中断服务程序的入口地址或跳转到中断服务程序的入口地址。3.边沿触发,电平触发4.缓冲方式,非缓冲方式5.反相器三、简答题1.不要。若低优先级按键一直闭合,优先级高的按键按下不会出现优先级高的按键控制的灯亮,保持原样。优先级高的按键控制的灯亮时按下低优先级按键,再释放优先级高的按键低优先级按键控制的灯不会亮。-36-共37页 李升主编《单片机原理与接口技术》习题参考答案1.固定优先级和循环优先级。固定优先级是指各中断的优先级固定,由IRi引脚编号确定,分为普通全嵌套方式和特殊全嵌套方式。循环优先级是指当某个中断源受到中断服务后,它的优先级自动降为最低,相邻低一级中断源的优先级升为最高,分为优先级自动循环方式和优先级特殊循环方式。2.级联。先向从片发一个普通EOI命令,然后读ISR内容。若为0,表示只有一个中断服务,这时再向主片发一个EOI命令,否则,说明该从片有两个以上中断,则不该发给主片EOI命令,待该片中断服务全部结束后,再给主片发EOI。3.主片IR0,主片IR1,从片IR0,从片IR1,从片IR2,从片IR3,从片IR4,从片IR5,从片IR6,从片IR7,主片IR3,主片IR4,主片IR5,主片IR6,主片IR7。4.AEOI中ISR中的相应位清0由硬件自动完成,只适用1片8259A,且不会发生中断嵌套的情况。OEI方式下需要通过CPU发指令来使ISR中的相应位清0。普通EOI自动将ISR中级别最高的置1位清0。特殊EOI通过软件方法向8259A发一个中断结束命令,中断命令中指出要结束哪一级中断源,从而使ISR中的相应位清0。一、应用编程题1.ORG0000HAJMPMAINORG001BHAJMPTT1ORG0030HMAIN:MOVSP,#50HMOVP1,#0FFHMOVTMOD,#60HMOVTH1,#0FFHMOVTL1,#0FFHSETBEASETBET1SETBTR1SJMP$TT1:PUSHPSWPUSHACCSETBRS0MOVP1,#00HCLRRS0POPACCPOPPSWRETIEND2.ORG0000HLJMPMAINORG0003HLJMPINTORG0030HMAIN:MOVSP,#50H-36-共37页 李升主编《单片机原理与接口技术》习题参考答案SETBEASETBEX0SETBIT0SJMP$INT:JBCP1.0,I1JBCP1.1,I2JBCP1.2,I3JBCP1.3,I4LJMPQQI1:…JBCP1.1,I2JBCP1.2,I3JBCP1.3,I4LJMPQQI2:…JBCP1.2,I3JBCP1.3,I4LJMPQQI3:…JBCP1.3,I4LJMPQQI4:…QQ:RETIEND3.ORG0000HLJMPMAINORG0003HLJMPINT8259ORG0030HMAIN:MOVSP,#50HMOVR0,#7EHMOVA,#16HMOVX@R0,AINCR0MOVA,#21HMOVX@R0,ASETBEASETBEX0SETBIT0ORG1000HINT8259:PUSHPSWPUSHACCMOVR0,#7EHMOVXA,@R0-36-共37页 李升主编《单片机原理与接口技术》习题参考答案MOVXA,@R0MOVDPL,AMOVXA,@R0MOVDPH,ACLRAJMP@A+DPTRORG2100HLAB:LJMPI0NOPLJMPI1NOPLJMPI2NOPLJMPI3NOPI0:…LJMPCONTI1:…LJMPCONTI2:…LJMPCONTI3:…LJMPCONTCONT:MOVR0,#7EHMOVA,#20HMOVX@R0,APOPACCPOPPSWRETIEND习题九一、单项选择题1.C2.B3.A4.B5.D二、填空题1.软件方法,不可编程的硬件方法,可编程定时器/计数器2.33.从计数通道2读取出当前计数值-36-共37页 李升主编《单片机原理与接口技术》习题参考答案1.二进制,BCD码2.1,5一、简答题1.CLK:时钟脉冲,输入。作用是在8253进行定时或者计数工作时,每输入一个时钟信号CLK,减法计数器CE在其下降沿使计数值减一。GATE:门控信号,输入。作用是启动、控制定时/计数信号。OUT:计数器输出信号。当计数器工作时,其计数值减为0,在OUT引脚上输出一个OUT信号。2.先写入锁存命令字,再读当前值。3.10110111B二、应用编程题1.ORG0000HLJMPMAINORG0003HLJMPINTORG0030HMAIN:MOVSP,#50HSETBEASETBEX0SETBIT0MOVDPTR,#7FFFHMOVA,#00010000BMOVX@DPTR,AMOVDPTR,#7FFCHMOVA,#1MOVX@DPTR,ASJMP$INT:CLRP1.0RETIEND2.ORG0000HLJMPMAINORG0030HMAIN:MOVDPTR,#7FFFHMOVA,#00110111BMOVX@DPTR,AMOVDPTR,#7FFCHMOVA,#00HMOVX@DPTR,AMOVA,#10HMOVX@DPTR,AMOVDPTR,#7FFFHMOVA,#01110111BMOVX@DPTR,AMOVDPTR,#7FFDH-36-共37页 李升主编《单片机原理与接口技术》习题参考答案MOVA,#00HMOVX@DPTR,AMOVA,#10HMOVX@DPTR,ASJMP$END习题十一、单项选择题1.B2.D3.C4.A5.B二、填空题1.并行通信,串行通信2.低,1,高,1、1.5、23.84.可编程通用同步/异步接收发器5.40H6.01111010B7.TxRDY=1,TxEN=1,=08.片选信号,I/O时钟,串行输入,串行输出三、简答题1.异步通信中数据是一帧一帧传送的。同步通信中,数据开始传送前用同步字来指示,并由时钟发送和接收端同步,即检测到同步字符后,就连续传送数据,直到通信结束。-36-共37页 李升主编《单片机原理与接口技术》习题参考答案异步通信的优缺点:优点:不需要传送同步脉冲,字符帧长度也不受到限制。缺点:字符帧中因为包含了起始位和停止位,因此降低了有效数据的传输速率。异步通信和同步通信的比较(1)异步通信简单,双方时钟可允许一定误差。同步通信较复杂,双方时钟的允许误差较小。(1)异步通信简单,双方时钟可允许一定误差。同步通信较复杂,双方时钟的允许误差较小。(2)异步通信只适用于点<-->点,同步通信可用于点<-->多。(3)通信效率:异步通信低,同步通信高。1.波特率是指每秒传送的N进制数。国际上规定的波特率标准值为:110、300、600、1200、1800、2400、4800、9600和19200、38400、57600、115200。2.接收时钟/发送时钟频率是波特率的1、16、32或64倍。波特率因子就是发送/接收1个数据(1个数据位)所需要的时钟脉冲个数,其单位是个/位。波特率因子就是接收时钟的频率是波特率的倍数,1、16、64。76800b/s。3.6545.45。4.对于不带SPI串行总线接口的MCS-51系列单片机来说,可以使用软件来模拟SPI的操作,包括串行时钟、数据输入和数据输出。对于不同的串行接口外围芯片,它们的时钟时序是不同的。对于在SCK的上升沿输入(接收)数据和在下降沿输出(发送)数据的器件,一般应将其串行时钟输出口P1.1的初始状态设置为1,而在允许接收后再置P1.1为0。这样,MCU在输出1位SCK时钟的同时,将使接口芯片串行左移,从而输出1位数据至MCS-51单片机的P1.3口(模拟MCU的MISO线),此后再置P1.1为1,使MCS-51系列单片机从P1.0(模拟MCU的MOSI线)输出1位数据(先为高位)至串行接口芯片。至此,模拟1位数据输入输出便宣告完成。此后再置P1.1为0,模拟下1位数据的输入输出……,依此循环8次,即可完成1次通过SPI总线传输8位数据的操作。对于在SCK的下降沿输入数据和上升沿输出数据的器件,则应取串行时钟输出的初始状态为0,即在接口芯片允许时,先置P1.1为1,以便外围接口芯片输出1位数据(MCU接收1位数据),之后再置时钟为0,使外围接口芯片接收1位数据(MCU发送1位数据),从而完成1位数据的传送。一、应用编程题1.甲ORG0000HAJMPDELAYORG0030HDELAY:MOVR4,#10D0:MOVR5,#125D1:MOVR6,#200D2:DJNZR6,D2DJNZR5,D1DJNZR4,D0SEND:MOVTMOD,#20HMOVTH1,#0FAHMOVTL1,#0FAHMOVSCON,#50HMOVPCON,#00HSETBTR1-36-共37页 李升主编《单片机原理与接口技术》习题参考答案CAL:MOVSBUF,#0AAHJNBTI,$CLRTIJNBRI,$CLRRIMOVA,SBUFCJNEA,#0BBH,CALLOP:MOVSBUF,P1JNBTI,$CLRTIMOVSBUF,#0FFHJNBTI,$CLRTIJNBRI,$CLRRIMOVA,SBUFCJNEA,#0FFH,LOPEND乙ORG0000HAJMPRECEORG0030HRECE:MOVTMOD,#20HMOVTH1,#0FAHMOVTL1,#0FAHMOVSCON,#50HMOVPCON,#00HSETBTR1RESP:JNBRI,$CLRRIMOVA,SBUFCJNEA,#0AAH,RESPJES:MOVSBUF,#0BBHJNBTI,$CLRTILOP:JNBRI,$CLRRIMOVA,SBUFMOVR0,#30HMOV@R0,AJNBRI,$CLRRIMOVA,SBUFCJNEA,#0FFH,LOPMOVA,@R0-36-共37页 李升主编《单片机原理与接口技术》习题参考答案MOVP1,AMOVSBUF,#0FFHJNBTI,$CLRTIEND2.甲ORG0000HAJMPDELAYORG0030HDELAY:MOVR4,#10D0:MOVR5,#125D1:MOVR6,#200D2:DJNZR6,D2DJNZR5,D1DJNZR4,D0SEND:MOVTMOD,#20HMOVTH1,#0FDHMOVTL1,#0FDHMOVSCON,#50HMOVPCON,#00HSETBTR1SEND1:MOVR0,#0MOVDPTR,#TABLOP:MOVA,R0MOVCA,@A+DPTRMOVSBUF,AJNBTI,$CLRTIINCR0CJNER0,#10,LOPTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND乙ORG0000HAJMPRECEORG0030HRECE:MOVTMOD,#20HMOVTH1,#0FDHMOVTL1,#0FDHMOVSCON,#50HMOVPCON,#00HSETBTR1LOP:MOVR0,#0MOVR1,#30HLOP1:JNBRI,$CLRRI-36-共37页 李升主编《单片机原理与接口技术》习题参考答案MOVA,SBUFMOV@R1,AINCR1INCR0CJNER0,#10,LOP1DP0:MOVR1,#30HDP1:MOVP1,@R1ACALLDELAYINCR1CJNER1,#3AH,DP1SJMPDP0DELAY:MOVR4,#10D0:MOVR5,#125D1:MOVR6,#200D2:DJNZR6,D2DJNZR5,D1DJNZR4,D0RETEND3.ORG0000HLJMPMAINORG0030HMAIN:MOVDPTR,#0FEFFHMOVA,#0MOVR0,#3STI:MOVX@DPTR,ANOPDECR0JNZSTIMOVA,#40HMOVX@DPTR,ANOPNOPMOVA,#7EHMOVX@DPTR,ANOPNOPMOVA,#31HMOVX@DPTR,ANOPNOPSENDCHAR:MOVR1,#00HMOVR7,#0FFHWAITSEND:MOVXA,@DPTR-36-共37页 李升主编《单片机原理与接口技术》习题参考答案RRCAJNCWAITSENDMOVA,R1MOVDPTR,#0FEFEHMOVX@DPTR,AINCR1DJNZR7,WAITSENDENDORG0000HLJMPMAINORG0030HMAIN:MOVDPTR,#0FEFFHMOVA,#0MOVR0,#3STI:MOVX@DPTR,ANOPDECR0JNZSTIMOVA,#40HMOVX@DPTR,ANOPNOPMOVA,#7EHMOVX@DPTR,ANOPNOPMOVA,#16HMOVX@DPTR,ANOPNOPRECECHAR:MOVR1,#00HMOVR7,#0FFHWAITRECE:MOVXA,@DPTRRRCARRCAJNCWAITRECEMOVDPTR,#0FEFEHMOVXA,@DPTRMOV@R1,AINCR1DJNZR7,WAITRECEEND-36-共37页 李升主编《单片机原理与接口技术》习题参考答案习题十一一、单项选择题1.D2.C3.B4.D5.B二、填空题1.静态显示、动态显示2.独立键盘接口电路、行列式键盘接口电路3.10ms软件4.扫描法、反转法5.字符型、点阵型三、简答题1.静态显示方式就是当显示器显示某一个字符时,相应的发光二极管始终处于导通状态或截止状态,直到显示另一个字符为止。静态显示时亮度较高,编程容易,管理也较简单,占用I/O口资源较多,在显示位数较多时,会大大增加硬件电路的成本。动态显示就是一位一位的分时轮流点亮各位LED显示器,对每一位LED显示器来说,每隔一段时间轮流点亮一次。动态显示要分时依次输入每一位LED显示器的字型码和位码,周而复始的循环,实现动态显示。2.10000000B3.为了确保单片机对一次按键动作只确认一次按键有效,利用延时越过抖动期,即在第一次检测到有按键按下时,该键所对应的行线为低电平,执行一段延时10ms的子程序后,再次检测到该行仍为低电平,则确认该行确实有按键按下,通过延时程序消除按键按下时所产生的抖动。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测到该行仍为高电平,说明按键确实已经松开。4.先把某一列线置为低电平,其余各线置为高电平,检查各行线电平的变化,如果某行线电平为低电平,就可以确定此行列交叉点处的按键被按下。通常可分两步进行:第一步,识别键盘有无按键按下;第二步,如有按键被按下,识别出具体的键位。5.(1)查询方式查询方式只有当单片机空闲时,才调用键盘扫描子程序,反复扫描键盘,等待用户从键盘输入命令或数据,来响应键盘的输入请求。(2)定时查询方式每隔一段时间对键盘查询一次,通常利用单片机内的定时器产生10ms的定时中断,单片机响应定时器溢出中断请求,对键盘进行扫描查询,在有键按下时识别出按下的键,并执行相应的处理程序。(3)中断方式采用中断方式,可以提高单片机键盘输入的工作效率,只有在键盘有键按下时,才向单片机发出中断请求,执行键盘扫描输入程序,如果无键按下将不理睬键盘。-36-共37页 李升主编《单片机原理与接口技术》习题参考答案习题十二一、单项选择题1.C2.B3.D4.C5.C6.D7.B8.C二、填空题1.1.22mv2.8位输入寄存器,8位DAC寄存器3.直通方式、单缓冲方式、双缓冲方式4.级联方式,非级联方式5.快速,慢速三、简答题1.分辨率,转换时间,转换精度,线性度。2.在D/A转换器的输出端加一个I-V转换电路,将电流输出转换为电压输出。3.分辨率,转换时间,转换精度。4.(1)错(2)错(3)错四、应用编程题1.ORG0000HLJMPMAINORG0030HMAIN:MOVSP,#50HMOVR0,#0FEHLP:MOVR2,#0AHMOVA,#00HLOOP:MOVX@R0,AINCALCALLDELAYDJNZR2,LOOPSJMPLPDELAY:MOVR6,#14HDL0:MOVR7,#30HDL1:NOPDJNZR7,DL1DJNZR6,DL0RET-36-共37页 李升主编《单片机原理与接口技术》习题参考答案END2.ORG0000HLJMPMAINORG0003HMAIN:MOVR6,#32HMOVAUXR1,#01HMOVDPTR,#2000HMOVAUXR1,#00HMN:MOVDPTR,#7FF8HMOVR7,#08HLOOP:MOVX@DPTR,AORLP0,#0FFHLP:JNBP0.7,LPMOVXA,@DPTRMOVAUXR1,#01HMOVX@DPTR,AINCDPTRMOVAUXR1,#00HINCDPTRDJNZR7,LOOPDJNZR6,MNEND-36-共37页 李升主编《单片机原理与接口技术》习题参考答案习题十三一、单项选择题1.B2.C3.D4.C5.A二、填空题1.dataidataxdata2.工作寄存器组3.reentrant4.#include5.#pragmaasm#pragmaendasm三、简答题1.(略)2.(略)3.答:C51通过变量定义时的存储类型关键字指出变量的存储位置。4.答:可以通过绝对指针、预定义宏和使用关键字_at_三种方法。习题十四一、单项选择题1.B2.A3.C4.C5.A二、填空题1.高8位地址2.#include3.4.P1=0xf05.unsignedintCON8255;CON8255=XBYTE[0x007f];三、程序阅读题1.程序实现流水灯,利用片内定时器T1硬件定时,每个发光二极管点亮时间为1s。与例14-5的解法不同在于切换流水灯状态时采用查表法,每次读取常数表led[8]中的一行送P1口;另外使用了定时溢出标记ldelay作为100次T1定时周期到的标志。2.XBYTE[0x007f]XBYTE[0x007c]XBYTE[0x007d]3.将ADC0809的8个引脚IN0~IN7上的模拟量信号按顺序转换为数字量存放至片内RAM40H开始的8个连续存储单元。四、编程题1.#includesbitP1_0=P1^0;//定义引脚voidTimer0(void);main()-36-共37页 李升主编《单片机原理与接口技术》习题参考答案{//初始化定时器TMOD=0x02;//T0工作于方式2TH0=0xce;TL0=0xce;//开放定时器中断ET0=1;EA=1;//启动定时器TR0=1;while(1);}voidTimer0(void)interrupt1//定时器T0中断服务子程序{P1_0=~P1_0;}2.#includesbitP2_0=P2^0;//定义引脚voidTimer0(void);main(){//初始化计数器TMOD=0x0a;//T0工作于方式2TH0=0xff;TL0=0xff;//开放定时器中断ET0=1;EA=1;//启动计数器TR0=1;while(1);}voidTimer0(void)interrupt1//计数器T0中断服务子程序{inti;P2_0=1;for(i=0;i<1000;i++)P2_0=0;}3.-36-共37页 李升主编《单片机原理与接口技术》习题参考答案#includesbitP1_0=P1^0;voiddelay()//软件延时函数voidmain(){unsignedcharcodeled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsignedcharledi=0;//显示顺序SCON=0x00;while(1){P1_0=0;SBUF=led[ledi];while(!TI);//查询循环等待发送完成TI=0;P1_0=0;delay();ledi++;if(ledi==8)ledi=0;}}4.#includecharxdatat[100]_at_0x1100;//发送数据存放区域voidserial_inital()//初始化{SCON=0x50;//设置串口工作方式-36-共37页 李升主编《单片机原理与接口技术》习题参考答案TMOD=0x20;//PCON=0x80;TH1=0xf6;//TL1=0xf6;TR1=1;//设置波特率发生器RI=0;TI=0;//清中断标志位}main(){unsignedchari=0;serial_inital();for(i=0;i<100;i++){SBUF=t[i];//启动发送while(!TI);//查询循环等待发送完成TI=0;//发送完毕,为下一此发送清中断标志位}}5.#include#include#defineDAC0832XBYTE[0x7fff]//DAC0832地址unsignedchari;voidmain(){while(1){for(i=0;i<0xff;i++)DAC0832=i;//下降沿for(i=0xff;i>0;i--)DAC0832=i;//下降沿}}习题十五略-36-共37页'