《微控制器技术应用》试卷答案.docx

上传人:飞****2 文档编号:60086972 上传时间:2022-11-13 格式:DOCX 页数:32 大小:159.25KB
返回 下载 相关 举报
《微控制器技术应用》试卷答案.docx_第1页
第1页 / 共32页
《微控制器技术应用》试卷答案.docx_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《《微控制器技术应用》试卷答案.docx》由会员分享,可在线阅读,更多相关《《微控制器技术应用》试卷答案.docx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、单片机原理与应用项目式教程自测题答案邹显圣 主编目 录绪论2项目一3项目二3项目三3项目四3项目五3项目六3项目七3项目八3项目九3绪论1单片机发展分为哪几个阶段?各阶段的特点是什么?答:共分为四个阶段,分别如下:1)第一代单片机(19751976年)。这个时期生产的单片机其特点是制造工艺落后,集成度低,而且采用双片形式。2)第二代单片机(19761978年)。其性能低、品种少、寻址范围有限、应用范围也不广。3)第三代单片机(19791982年)。存储容量大、寻址范围广,而且中断源、并行I/O口、定时器/计数器的个数都有了不同程度的增加,同时它还新集成了全双工的串行通信接口电路;在指令系统方面

2、普遍增设了乘除法和比较指令。4)第四代单片机(1983年以后)。出现了工艺先进、集成度高、内部功能更强和运算速度更快的16位单片机,它允许用户采用面向工业控制的专用语言,如C语言等。2AT89系列单片机分为几类?各类的主要技术特点是什么?都有哪些型号?答:型 号AT89C51AT89C52AT89C1051AT89C2051AT89S8252档次标准型低档型高档型Flash/KB48128片内RAM/KB12825664128256I/O(条)3232151532定时器/个23123中断源/个68369串行口/个11111M加密/级33223片内振荡器有有有有有E2PROM/KB无无无无23微

3、型计算机中常用的数制有几种?计算机内部采用哪种数制?答:二进制、八进制、十进制和十六进制。内部采用二进制4十六进制数能被计算机直接执行吗?为什么要用十六进制数?答:不能。引入十六进制数是为了表示或者书写上的方便,因为一位十六进制数可以代表四位二进制数。5单片机的应用领域主要有哪些?答:智能化产品、智能化接口、智能化测控系统、智能化仪表6将下列十进制数转换为二进制数和十六进制数。(1)125D (2)0.525D (3)121.678D (4)47.945D答:(1)B、7DH(2)0.B、0.86H(3).B、79.ACH(4).1111B、2F.F0H7将下列二进制数转换为十进制数和十六进制

4、数。(1)B (2)0.B (3)0.1010B (4)1101.0101B答:(1)181D、B5H(2)0.695D、0.B2H(3)0.625D、0.AH(4)13.3125D、D.5H8将下列十六进制数转换为二进制数和十进制数。(1)ABH (2)28.07H (3)ABC.DH (4)0.35FH答:(1)B、171D(2).B、40.027D(3)0.1101B、2748.8125D(4)0.1B、0.875D9在8位二进制计算机中,正、负数如何表示?答:8位二进制的正数其最高位为“0”;负数最高位为“1”10写出下列各十进制数的原码、反码和补码。(1)+28D (2)+69D (

5、3)-125D (4)-54D答:(1)原码:B;反码:B;补码:B(2)原码:B;反码:B;补码:B(3)原码:B;反码:B;补码:B(4)原码:B;反码:B;补码:B11写出下列各十进制数的BCD码。(1)34D (2)59D (3)1983D (4)270D答:(1)B(2)B(3)11B(4)B项目一1AT89C51单片机的信号有何功能?答:引脚用于决定CPU从哪个ROM中读取程序,当=0时,CPU只从外部ROM中读取程序;当=1时,CPU先从内ROM中读取程序,当地址超过0FFFH时,继续从外部ROM中读取程序。2AT89C51单片机只用内部flash存储器时,引脚应该如何处理?答:

6、应接在电源端上,即保持引脚为高电平。3AT89C51单片机的P3P0口各有什么功能?答:P3P0均为8位并行I/O口,当进行外部扩展时,P3口兼作控制总线,提供系统的各种控制信号;P2口用于提供最多高8位地址总线;P1口为纯粹的数据口;P0口分时复用,兼作低8位地址总线和数据复用端口。4简述AT89C51单片机的存储器组织结构和内部RAM的地址空间分配。答:AT89C51单片机的存储器组织结构采用哈弗结构;内部RAM地址空间分配如下:00H1FH为寄存器区;20H2FH为位寻址区;30H7FH为用户RAM区,即堆栈区;80HFFH为特殊功能寄存器区。5内部RAM的低128单元划分为哪三个主要部

7、分?各部分的主要功能是什么?答:寄存器区、位寻址区、用户RAM区;各部分功能为:寄存器区:用于存储程序执行过程中的寄存器中的数据;位寻址区:即可以字节寻址,又可以位寻址,主要用于位寻址;用户RAM区:用于存储堆栈过程中的各项数据。6位地址7CH与字节地址7CH如何区别?位地址7CH具体在内部RAM中的什么位置?答:存储容易不一样,位地址只能存储一位二进制数据,而字节地址可以存储八位二进制数据;位地址7CH位于字节地址2FH.4。7AT89C51单片机有哪些特殊功能寄存器?这些特殊功能寄存器分别在单片机中哪些功能部件中?答:见表2-3,主要包括ACC、B、PSW、P0等;见表2-3,分别位于累加

8、器、B寄存器、中央处理器、0号并行I/O口等。8特殊功能寄存器中哪些寄存器可以位寻址?它们的字节地址是什么?答:寄存器符号地址*ACCE0H*BF0H*PSWD0H*IEA8H*IPB8H*P080H*P190H*P2A0H*P3B0H*SCON98H*TCON88H9程序计数器PC的功能和特点是什么?答:PC的功能是ROM中的程序指针,用于表示ROM中程序的存放位置;其特点是:PC为十六位二进制,但其本身无地址,不能对其赋值,也不能读取PC值。10PC与DPTR各有哪些特点?有何异同?答:PC为程序指针,DPTR为数据指针;相同为:均为十六位二进制,不同点是PC不能赋值,而DPTR可以赋值。

9、11AT89C51单片机是如何确定和改变当前工作寄存器区的?答:改变当前工作寄存器区主要由PSW中的RS1和RS0决定,具体如下:RS1RS0寄存器组R0R7地址00组000H07H01组108H0FH10组210H17H11组318H1FH12AT89C51单片机复位后,CPU使用了哪一区工作寄存器?工作寄存器R0R7对应的单元地址是什么?答:AT89C51单片机复位后,CPU使用了0号区工作寄存器,R0R7为00H07H。13程序状态字寄存器PSW的作用是什么?简述各位的作用是什么?答:程序状态字PSW是一个8位寄存器,用于寄存程序运行的状态信息;各位的作用如下:位序PSW7PSW6PSW

10、5PSW4PSW3PSW2PSW1PSW0位标志CYACF0RS1RS0OV/PCY:进位标志位。AC:辅助进位标志位。F0:用户标志位。RS1和RS0:寄存器组选择位。用于设定通用寄存器的组号。OV:溢出标志位。P:奇偶标志位。14在AT89C51单片机ROM空间中,0003H、000BH、0013H、001BH、0023H有什么特殊用途?答:分别为外部中断0、定时中断0、外部中断1,定时中断1和串行中断的入口地址。15AT89C51单片机中XTAL1和XTAL2的功能是什么?采用外部时钟源的情况下,如何处理这两个引脚?答:AT89C51单片机中XTAL1和XTAL2的功能是单片机的时钟输入

11、和输出引脚;当采用外部时钟时,XTAL1引脚接地, XTAL2接外部时钟源。16什么是时钟周期、机器周期和指令周期?答:时钟周期即石英晶体振荡周期,等于1/fosc、机器周期为时钟周期的12倍,即1机器周期=12时钟周期;指令周期为执行一条单片机指令所需要的时间,根据指令类型的不同,一指令周期可以等于1或2或4机器周期。17AT89C51单片机所使用的晶振频率为6MHz,时钟周期,机器周期为多少?答:时钟周期为微秒;机器周期为2微秒。18AT89C51单片机运行出错或出现死循环,如何摆脱困境?答:对单片机应用系统进行复位操作。19AT89C51单片机复位后,PC、A、PSW、SP、P3P0的状

12、态各是什么?复位后内部RAM中的数据有何影响?答:(PC)=0000H(A)=00H(PSW)=00H(SP)=07H(P0)(P3)=FFH复位后内部RAM中的数据依然被保存,但某些特殊功能寄存器中的数据可能有所改变。项目二1什么是计算机的指令和指令系统?答:指令是用于指导计算机工作的命令;所有的计算机所能够执行指令的集合称为指令系统。2简述AT89C51汇编指令格式。答:标号:操作码操作数;注释。3简述8051的寻址方式和所能涉及的空间。答:共有七种寻址方式,分别为:寄存器寻址、立即寻址、寄存器间接寻址、直接寻址、相对寻址、变址寻址和位寻址。分别对应的空间是:内部RAM、ROM、内部RAM

13、和外部RAM;内部RAM、ROM、ROM和内部RAM的位地址空间。4要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答:对于特殊功能寄存器的访问只能采用直接寻址方式,对于片外数据存储器的访问要采用寄存器间接寻址方式。5编写程序,把片外RAM从2000H开始存放的8个数传送到片内30H开始的单元中。答:MOVDPTR,#2000HMOVR0,#30HMOVR2,#08HLOOP:MOVXA,DPTRMOV R0,AINCDPTRINCR0DJNZR2,LOOPSJMP$6下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么?ORG 1000HTAB1EQU1234HTAB2

14、EQU3000HDB “START”DWTAB1,TAB2,70H答:如下表所示。地址数据1000H53H1001H54H1002H41H1003H52H1004H54H1005H12H1006H34H1007H30H1008H00H1009H00H100AH70H7查表指令是在什么空间上的寻址操作?答:查表指令是在ROM空间上进行的寻址操作项目三1指出以下程序每一条指令的执行结果。MOVA,#0F0H;答:(A)=F0HCPLA;答:(A)=0FHANL30H,#00H;答:(30H)=00HORL30H,#BDH;答:(30H)=BDHXRLA,#44H;答:(A)=4BH2指出以下程序每

15、一条指令的执行结果(假设CY=1)。MOVA,#0AAH;答:(A)=AAHCPLA;答:(A)=55HRLCA;答:(A)=ABH,C=0RLA;答:(A)=57HCPLA;答:(A)=A8HRRCA;答:(A)=54H,C=0RRA;答:(A)=2AH3若(A)=7AH,分别执行下列指令后,(A)的值是多少?(1)ANLA,#0FFH;答:(A)=7AH(2)ORLA,#0FFH;答:(A)=FFH(3)ANLA,#00H;答:(A)=00H(4)ORLA,#00H;答:(A)=7AH(5)XRLA,#0FFH;答:(A)=85H(6)XRLA,#00H;答:(A)=7AH4设(A)=83

16、H,(R0)=17H,(17H)=34H,分析当执行完下面指令段后累加器A、(R0)、(17H)的值各是多少?ANLA,#17HORL17H,AXRLA,R0CPLA答:(A)=CBH、(R0)=17H、(17H)=37H5写出完成下列要求的指令。(1)累加器A的低2位清0,其余位不变。答:ANLA,#FCH(2)累加器A的高2位置1,其余位不变。答:ORLA,#C0H(3)累加器A的高4位到反,其余位不变。答:XRLA,#F0H(4)累加器A的第0位、2位、4位、6位取反,其余位不变。答:XRLA,#55H6试分析下列程序段,当程序执行完毕后,位地址00H、01H中的内容将为何值?P1口的8

17、条I/O线为何状态?CLRCMOVA,#66HJCLOOP1CPLCSETB01HLOOP1:ORLC,ACC0JBACC2,LOOP2CLR00HLOOP2:MOVP1,A答:(P1)=66H,位地址00H保持原值,位地址01H的内容为“1”。7阅读下面程序,分析执行结果。MOVA,#67H;答:(A)=67H=0110,0111BSETBACC7;答:ACC7=1,(A)=1110,0111BMOVC,ACC2;答:C=1CPLA;答:(A)=18H=0001,1000BMOVACC6,C;答:ACC.6=1,(A)=0101,1000B=58HCLRC;答:C=0SETBACC0;答:A

18、CC.0=1,(A)=0101,1001B=59HMOVACC4,C;答:ACC.4=0,(A)=0100,1001B=49H8编程实现把外部RAM中8000H开始的连续30个字节的数据传送到外部RAM中8100H开始的连续单元中。答:MOVR4,#14HMOVDPTR,#8000HPUSHDPHPUSHDPLMOVDPTR,#8100HMOVR2,DPHMOVR3,DPLLOOP:POPDPLPOPDPHMOVXA,DPTRINCDPTRPUSHDPHPUSHDPLMOVDPL,R3MOVDPH,R2MOVXDPTR,AINCDPTRMOVR2,DPHMOVR3,DPLDJNZR4,LOOP

19、SJMP$9编程统计从外部RAM的2000H开始的连续100个单元中“0”的个数,并将结果存放于R2中。答:MOVR2,#64HMOVR3,#00HMOVDPTR,#2000HLOOP1:MOVXA,DPTRCJNEA,#00H,LOOPINCR3LOOP:INCDPTRDJNZR2,LOOP1SJMP$10将内部RAM的30H单元中的中间4位、31H的低2位、32H的高2位按顺序排成一个新的字节,存入33H单元中。答:MOVA,30HANLA,#3CHMOVB,AMOVA,31HANLA,#03HORLA,BMOVB,AMOVA,32HANLA,#C0HORLA,BMOV33H,A11将DP

20、TR中间8位取反,其余位不变。答:MOVA,DPLXRLA,#F0HMOVDPL,AMOVA,DPHXRLA,#0FHMOVDPH,A12试编写程序完成以内部RAM的30H为首地址的20个数据传送,目的地址为外部RAM以3000H为首地址的区域。答:MOVR0,#30HMOVDPTR,#3000HMOVR2,#14HLOOP:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR2,LOOPSJMP$13试编写条件转移程序,当寄存器R3的内容分别满足下列条件时能转移到LOOP处执行程序,条件不满足时停机。(1)(R3)15 (2)(R3)15 (3)(R3)15 (4)(R3)1

21、5答:(1)CJNER3,#0FH,LOOP1SJMPLOOPLOOP1:JC LOOPSJMP$LOOP:(2)CJNER3,#0FH,LOOP1SJMP$LOOP1:JNC LOOPSJMP$LOOP:(3)CJNER3,#0FH,LOOP1SJMPLOOPLOOP1:JNC LOOPSJMP$LOOP:(4)CJNER3,#0FH,LOOP1SJMP$LOOP1:JC LOOPSJMP$LOOP:14试编写程序将内部RAM以40H为首地址的数据块传送到以BUF为起始地址的内部RAM区域,直到遇到所传送的数据不为0时停止。答:MOVR0,#40HMOVR1,#BUFLOOP:MOVA,R0

22、JNZLOOP1INCR0INCR1SJMPLOOPLOOP1:SJMP$15编写一程序将数00H存入内部RAM的20H单元,存入后,通过读操作来检查是否确实存入?然后再将数FFH存入内部RAM的21H单元,检查是否确实存入。如果两次检查结果都正确,将内部RAM的60H单元置00H,否则置11H。答:MOV20H,#00HMOVA,20HCJNEA,#00H,LOOPMOV21H,#FFHMOVA,21HCJNEA,#FFH,LOOPMOV60H,#OOHLOOP:MOV60H,#11HSJMP$16设内部RAM的60H单元有一个8位二进制数,该数8位中的某位为“1”,编写程序检查“1”在哪一

23、位。如果“1”在第0位,则在内部RAM的30H单元写入数“00H”, 如果“1”在第1位,则在内部RAM的31H单元写入数“01H”,以此类推。答:MOVA,60HLOOP:JBACC.0,L0JBACC.1,L1JBACC.2,L2JBACC.3,L3JBACC.4,L4JBACC.5,L5JBACC.6,L6JBACC.7,L7SJMPLOOPL0:MOV30H,#00HSJMP$L1:MOV31H,#01HSJMP$L2:MOV32H,#02HSJMP$L3:MOV33H,#03HSJMP$L4:MOV34H,#04HSJMP$L5:MOV35H,#05HSJMP$L6:MOV36H,#

24、06HSJMP$L7:MOV37H,#07HSJMP$项目四1算术运算指令包括如下指令:答:(1)不带进位的加法指令ADD;(2)带进位加法指令ADDC;(3)加1指令INC;(4)十进制调整指令DA ;()带进位减法指令;()减指令;()乘法指令;()除法指令。2BCD码进行加法运算后,为什么要进行十进制调整?答:因为码是用位二进制数表示一位十进制数,当两个码相加时,对应位相加超过十时,就应该有进位了,可用来表示它的数码是十六进制的,也就是说只有超过十六才能进位,这样就造成所对结果不是对应的码了。为了得到正确的码结果,所以要对加法运算的结果进行调整,且这条指令必须紧跟或指令使用,它不能用于十

25、进制数减法的调整。3编程求外部RAM3000H、3001H单元数据的平均值,并传送给外部RAM的3002H单元。答:MOVDPTR,3000MOVXA,DPTRMOVR0,AINCDPTRMOVXA,DPTRADDA,R0MOVB,#02DIVABINCDPTRMOVXDPTR,A4写出下面这段程序的运行结果。MOVA,#79HMOV20H,#18HADDA,20HDAASWAPA答:运行结果为:A=79H。5根据下列要求写出指令序列。(1)求254的乘积,结果存入数据指针DPTR之中。(2)设计计算25512的程序,将商和余数分别保存在50H和51H。(3)判断内部RAM20H单元的内容,若

26、为正数程序转向2100H;若为负数程序转向2200H;若为0程序转向2300H。(4)已知(A)=192,编程求A与立即数88的和,将结果存入31H(高位)和30H(低位)单元。答:(1)MOVA,#25 MOVB,#4 MULAB MOVDPH,B MOV DPL,A (2)MOV A,#255MOV B,#12DIV ABMOV 50H,AMOV 51H,B (3)ORG0100HMOVA,20HJZL3JBACC.7 ,L2LJMPL1ORG2100HL1:ORG2200HL2:ORG2300HL3:END(4)MOV A,#192ADD A,#88JC L1MOV 30H,AMOV 3

27、1H,#00SJMP$L1:MOV 30H,AMOV 31H,#01END6编写程序段,实现两个8位无符号数的乘法程序,积存放在R2、R3中(R2存放高位)。答:MOVA,#78MOVB,#56MULABMOVR2,BMOVR3,AEND7已知(30H)=17H,(31H)=38H,分析下面这段程序的运行过程,在每条语句右边的空格中写出在执行完该语句后相应单元的结果。MOVA,30H(A)= ADDA,31H(A)= DAA(A)= 答:(1)(A)= 17H (2)(A)= 4FH (3)(A)= 55H 8两个16位无符号数分别存放在内部RAM40H、41H和50H、51H中(低位在低字节

28、单元),编写程序段,实现两个16位数的减法程序,差存放在R6、R7中(R6存放高位)。答:MOVA,40HSUBB A,50H MOV R7,A MOV A,41H SUBB A,51H MOV R6,AEND项目五1什么是中断,采用中断方式有哪些优点?答:中断是计算机的CPU暂停正在运行的程序,转而执行提出中断的那个外部设备或事件的服务程序(即中断服务程序),当服务程序处理完毕后,CPU再回到原来的“断点”继续原来的程序。优点:引入中断技术,解决了CPU与外设的速度匹配问题,提高CPU的运行效率,计算机具有中断功能后,还有如下优点:(1)分时处理功能(2)实时处理功能(3)故障处理功能2在A

29、T89C51单片机系统中,有哪些中断源?响应这些中断的服务程序入口地址分别是多少?怎样合理安排中断服务程序?答:(1)有5个中断源,分别为:外部中断0、定时器T0、外部中断1、定时器T1、串行口中断。(2) 中断源 中断服务程序入口地址外部中断0: 0003H定时器T0 : 000BH外部中断1: 0013H定时器T1 : 001BH串行口中断: 0023H由于各中断服务程序的入口地址相隔仅8个单元,如果整个中断服务程序的长度少于或等于8个字节,那么可以将这个中断服务程序存放在从入口地址开始的8个单元中,但如果中断服务程序的长度大于8个字节,那么通常在入口地址处安排一条转移指令,而转移指令要跳

30、转的地址才开始真正存放中断服务程序。3在单片机复位后,IP和IE为何值?如果当前单片机系统中只允许开放和T1中断源,且要求和T1为高级中断源,其余为低级中断源,怎样设置IP和IE的值?答:(1)单片机复位后,IP为XXB;IE为0XB(2)IP为:XXX01001B ;IE为:1XX01001B4定时器0和定时器1各有几种工作方式?简述之。答:定时器0有4种工作方式:方式0、方式1、方式2、方式3定时器1有3种工作方式:方式0、方式1、方式25已知单片机系统时钟频率为12MHz,若要求定时时间分别为05ms、1ms、10ms,定时器0工作在方式0、方式1、方式2的情况下,定时初值TH0、TL0

31、分别是多少?答:(1)方式0:定时0.5ms时: TH0=1EH; TL0=0CH;定时1ms时: TH0=1CH; TL0=18H;定时10ms时:采用定时1ms时的初值,循环10次。(2)方式1:定时0.5ms时:TH0=0FEH; TL0=0CH;定时1ms时:TH0=0FCH; TL0=18H;定时10ms时:TH0=0DAH; TL0=1CH;(2)方式2:定时0.1ms时:TH0=9CH; TL0=9CH;定时0.5ms时:(采用0.1ms的初值,循环5次)定时1ms时: (采用0.1ms的初值,循环10次)定时10ms时: (采用0.1ms的初值,循环100次)6要求将定时器T0

32、和T1的外部信号输入断作为新增的二个外部中断请求信号,如何设置计数初值?答:TH0和TF0的初值均设置为FFH7要求在P1.5脚输出周期为15ms的方波,设单片机系统时钟频率为6MHz。试编写定时器初始化程序和中断服务程序。答:定时器初始化程序:MOV TMOD, #01HMOV TH0, #0F1HMOV TL0, #5AH中断服务程序: ORG 0000H LJMPSTARTORG000BHLJMPTOINTORG1000HSTART: MOVTMOD, #01HSETBTR0MOVTH0,#0F1HMOVTL0,#5AHSJMP $ORG2000HTOINT: CPL P1.5MOVTH

33、0,#0F1H MOVTL0,#5AHRET1END8请编写程序:在T1每计满100个外部输入脉冲后,使P0口输出0F0H的数据。答:ORG 0000H LJMPSTARTORG000BHLJMPLOOPORG1000HSTART:MOVTMOD, #01HSETBTR1MOVTH0,#0F1HMOVTL0,#5AHSJMP $ORG2000HLOOP: MOVP0,#0F0H项目六1与8255比较,8155接口芯片有何特点?答:8155是一种通用的多功能可编程RAM/IO扩展器,片内除有三个可编程并行I/O端口(两个8位的端口A和B及一个6位是我端口C)外,还带有256B放入静态RAM及一个

34、可编程的14位定时器、计数器。2为什么说P0口是真正的双向I/O口,而P1P3口是准双向口?答:P0口是三态双向口,每位能驱动8个LSTTL电路;P1、P2、P3口是准双向口,每个引脚可驱动4个LSTTL输入。3扩展存储器时常用哪些片选方法?答:线选法和译码法4什么是地址空间重叠现象?答:存储器中多个单元地址空间重叠在一起却仅表示一个单元,这种现象称为地址空间重叠现象。5扩展存储器时,低8位地址为什么要锁存,而高8位地址不需要锁存?答:P0口作为低8位地址线、数据线,分时提供低8位地址信号和数据信号,在扩展系统中,要将P0口传送的信号进行分离,以便构成16位地址信号,因此需要增加一个8位锁存器

35、,先由锁存器将地址总线中的低8位地址信号所存,锁存器的输出作为地址线A7-A0,其后P0口作为数据线使用;P2口在整个机器周期内提供的都是高8位地址信号,因此不用锁存。6设某打印接口电路中有两个端口:一个是数据端口,其地址为1FFFH;一个是状态端口,其地址为1FFEH,状态端口的最高位D7表示打印机当前状态,即D7=0表示打印机“空闲”、D7=1表示打印机“忙”,试将片内RAM40H4FH中的内容由打印机打印输出。答: MOVDPTR,#1FFEH LP1:MOVXA,DPTRJBACC.7,LP1MOVR0,#40HMOVR2,#10HLP2:MOVA,R0INCDPTRMOVXDPTR,

36、ALP3:MOVDPTR,#1FFEHMOVXA,DPTRJBACC.7,LP3INCR0DJNZR2,LP2END7试用两片2764扩展16KB程序存储器,根据下列要求,画出电路图,并确定各自的地址范围。答:(1)用P2.7和P2.6片选。地址范围:1#为:8000H9FFFH或A000HBFFFH 2#为:4000H5FFFH或6000H7FFFH(2)用74LS138译码后片选。地址范围:1#为:0000H1FFFH 2#为:2000H3FFFH8有一个单片机应用系统,需要8K字节的程序存储器、两个8位输入口、两个8位输出口、四个外部中断源,试设计电路图。答:项目七1在一个AT89C51

37、系统中扩展一片8155,8155外接2位LED显示器和2位BCD拨盘,试画出该部分的接口电路,并编写相应的显示子程序和读拨盘的子程序。答:显示子程序:START:MOVA,#03HMOVDPTR,#7F00HMOVXDPTR,ALOOP1:MOVR0,#38HMOVR3,#7FHMOVA,R3LOOP2:MOVDPTR,#7F01HMOVXDPTR,AINC DPTRMOVA,R0ADDA,#0DHMOVCA,A+PCMOVXDPTR,AACALLDELAY1msMOV A,R3JNB ACC.0,LOOP1RRAMOVR3,AINCR0AJMPLOOP2DATA:DB 3FH,06H,5BH

38、,4FH,66H,6DH,7DH,07H,7FH,67HRET读拨盘子程序:MOVR0,#30HMOVP1,#0DFHMOVA,P1SWAPAXCHA,R0 MOVP1,#0EFHMOVA,P1XCHDA,R0RET2在一个AT89C51系统中,试画出66键盘接口电路,并编制一个子程序,用查询的方法将键盘上键入的键号送内RAM区。答:程序:SCAN:LCALLKEYDOWNJNZKEY1RETKEY1:LCALLSWLAY10msLCALLKEYDOWNJNZKEY3KEY2:MOVA,#FFHRETKEY3:MOVA,#3FHMOVP2,AMOVA,P2ANLA,#3FHMOVR2,#00H

39、MOVR3,#06HKEY4:RRCAJNCKEY5INCR2INCR2INCR2INCR2INCR2INCR2DJNZR3,KEY4LJMPKEY2KEY5:MOVA,#3HMOVP1,AMOVA,P1ANLA,#3FHMOVR1,#00HMOVR3,#06HKEY6:RRCAJNCKEY7INCR1DJNZR3,KEY6LJMPKEY2KEY7:MOVA,R1ADDA,R2PUSHALCALLKEYDOWNKEY8:JNZKEY8POPARETKEYDOWN:MOVA,#FFHMOVP1,AMOVA,P1XRLA,#3FHRET项目八1说明AT89C51系列单片机的通信方式。答:AT89C51系列单片机以全双工串口进行串行通信2什么是串行通信,并说明其特点?答:串行通信是指计算机之间或者是计算机与外设之间进行数据的串行传送方式。串行通信适合用于长距离通信方式,串行通信的应用非常广泛。串行通信与通信制式、传送距离以及I/O数据的串并变换等许多因素有关。3说明串口工作用到哪些寄存器,分别对各个位进行解释?答:(1)串行口数据缓冲器SBUF SBUF是两个在物理上独立的接收、发送寄存器,一个用于存放接收到的数据,另一个用于存放欲发送的数据,可同时发送和接收数据。(2)串行口控制寄存器SCON 收发双方都有对SCON的编程,SC

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁