微控制器技术应用试卷答案样本_第1页
微控制器技术应用试卷答案样本_第2页
微控制器技术应用试卷答案样本_第3页
微控制器技术应用试卷答案样本_第4页
微控制器技术应用试卷答案样本_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。《单片机原理与应用项目式教程》12345678自测题答案邹显圣主编目录绪论 41\h2项目一 42\h3项目二 43\h3项目三 44\h3项目四 45\h3项目五 46\h3项目六 47\h3项目七 48\h3项目八 49\h3项目九 50\h3

绪论1.单片机发展分为哪几个阶段?各阶段的特点是什么?答:共分为四个阶段,分别如下:1)第一代单片机(1975~1976年)。这个时期生产的单片机其特点是制造工艺落后,集成度低,而且采用双片形式。2)第二代单片机(1976~1978年)。其性能低、品种少、寻址范围有限、应用范围也不广。3)第三代单片机(1979~1982年)。存储容量大、寻址范围广,而且中断源、并行I/O口、定时器/计数器的个数都有了不同程度的增加,同时它还新集成了全双工的串行通信接口电路;在指令系统方面普遍增设了乘除法和比较指令。4)第四代单片机(1983年以后)。出现了工艺先进、集成度高、内部功能更强和运算速度更快的16位单片机,它允许用户采用面向工业控制的专用语言,如C语言等。2.AT89系列单片机分为几类?各类的主要技术特点是什么?都有哪些型号?答:型号AT89C51AT89C52AT89C1051AT89C2051AT89S8252档次标准型低档型高档型Flash/KB48128片内RAM/KB12825664128256I/O(条)3232151532定时器/个23123中断源/个68369串行口/个11111M加密/级33223片内振荡器有有有有有E2PROM/KB无无无无23.微型计算机中常见的数制有几种?计算机内部采用哪种数制?答:二进制、八进制、十进制和十六进制。内部采用二进制4.十六进制数能被计算机直接执行吗?为什么要用十六进制数?答:不能。引入十六进制数是为了表示或者书写上的方便,因为一位十六进制数能够代表四位二进制数。5.单片机的应用领域主要有哪些?答:智能化产品、智能化接口、智能化测控系统、智能化仪表6.将下列十进制数转换为二进制数和十六进制数。(1)125D(2)0.525D(3)121.678D(4)47.945D答:(1)1111101B、7DH(2)0.1000011B、0.86H(3)1111001.101011B、79.ACH(4)101111.1111B、2F.F0H7.将下列二进制数转换为十进制数和十六进制数。(1)10110101B(2)0.(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)10101011B、171D(2)101000.00000111B、40.027D(3).1101B、2748.8125D(4)0.B、0.875D9.在8位二进制计算机中,正、负数如何表示?答:8位二进制的正数其最高位为”0”;负数最高位为”1”10.写出下列各十进制数的原码、反码和补码。(1)+28D(2)+69D(3)-125D(4)-54D答:(1)原码:00011100B;反码:00011100B;补码:00011100B(2)原码:01000101B;反码:01000101B;补码:01000101B(3)原码:11111101B;反码:10000010B;补码:10000011B(4)原码:10110110B;反码:11001001B;补码:11001010B11.写出下列各十进制数的BCD码。(1)34D(2)59D(3)1983D(4)270D答:(1)110100B(2)B(3)1B(4)B

项目一1.AT89C51单片机的信号有何功能?答:引脚用于决定CPU从哪个ROM中读取程序,当=0时,CPU只从外部ROM中读取程序;当=1时,CPU先从内ROM中读取程序,当地址超过0FFFH时,继续从外部ROM中读取程序。2.AT89C51单片机只用内部flash存储器时,引脚应该如何处理?答:应接在电源端上,即保持引脚为高电平。3.AT89C51单片机的P3~P0口各有什么功能?答:P3~P0均为8位并行I/O口,当进行外部扩展时,P3口兼作控制总线,提供系统的各种控制信号;P2口用于提供最多高8位地址总线;P1口为纯粹的数据口;P0口分时复用,兼作低8位地址总线和数据复用端口。4.简述AT89C51单片机的存储器组织结构和内部RAM的地址空间分配。答:AT89C51单片机的存储器组织结构采用哈弗结构;内部RAM地址空间分配如下:00H~1FH为寄存器区;20H~2FH为位寻址区;30H~7FH为用户RAM区,即堆栈区;80H~FFH为特殊功能寄存器区。5.内部RAM的低128单元划分为哪三个主要部分?各部分的主要功能是什么?答:寄存器区、位寻址区、用户RAM区;各部分功能为:寄存器区:用于存储程序执行过程中的寄存器中的数据;位寻址区:即能够字节寻址,又能够位寻址,主要用于位寻址;用户RAM区:用于存储堆栈过程中的各项数据。6.位地址7CH与字节地址7CH如何区别?位地址7CH具体在内部RAM中的什么位置?答:存储容易不一样,位地址只能存储一位二进制数据,而字节地址能够存储八位二进制数据;位地址7CH位于字节地址2FH.4。7.AT89C51单片机有哪些特殊功能寄存器?这些特殊功能寄存器分别在单片机中哪些功能部件中?答:见表2-3,主要包括ACC、B、PSW、P0等;见表2-3,分别位于累加器、B寄存器、中央处理器、0号并行I/O口等。8.特殊功能寄存器中哪些寄存器能够位寻址?它们的字节地址是什么?答:寄存器符号地址*ACCE0H*BF0H*PSWD0H*IEA8H*IPB8H*P080H*P190H*P2A0H*P3B0H*SCON98H*TCON88H9.程序计数器PC的功能和特点是什么?答:PC的功能是ROM中的程序指针,用于表示ROM中程序的存放位置;其特点是:PC为十六位二进制,但其本身无地址,不能对其赋值,也不能读取PC值。10.PC与DPTR各有哪些特点?有何异同?答:PC为程序指针,DPTR为数据指针;相同为:均为十六位二进制,不同点是PC不能赋值,而DPTR能够赋值。11.AT89C51单片机是如何确定和改变当前工作寄存器区的?答:改变当前工作寄存器区主要由PSW中的RS1和RS0决定,具体如下:RS1RS0寄存器组R0~R7地址00组000H~07H01组108H~0FH10组210H~17H11组318H~1FH12.AT89C51单片机复位后,CPU使用了哪一区工作寄存器?工作寄存器R0~R7对应的单元地址是什么?答:AT89C51单片机复位后,CPU使用了0号区工作寄存器,R0~R7为00H~07H。13.程序状态字寄存器PSW的作用是什么?简述各位的作用是什么?答:程序状态字PSW是一个8位寄存器,用于寄存程序运行的状态信息;各位的作用如下:位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0RS1RS0OV/P①CY:进位标志位。②AC:辅助进位标志位。③F0:用户标志位。④RS1和RS0:寄存器组选择位。用于设定通用寄存器的组号。⑤OV:溢出标志位。⑥P:奇偶标志位。14.在AT89C51单片机ROM空间中,0003H、000BH、0013H、001BH、0023H有什么特殊用途?答:分别为外部中断0、定时中断0、外部中断1,定时中断1和串行中断的入口地址。15.AT89C51单片机中XTAL1和XTAL2的功能是什么?采用外部时钟源的情况下,如何处理这两个引脚?答:AT89C51单片机中XTAL1和XTAL2的功能是单片机的时钟输入和输出引脚;当采用外部时钟时,XTAL1引脚接地,XTAL2接外部时钟源。16.什么是时钟周期、机器周期和指令周期?答:时钟周期即石英晶体振荡周期,等于1/fosc、机器周期为时钟周期的12倍,即1机器周期=12时钟周期;指令周期为执行一条单片机指令所需要的时间,根据指令类型的不同,一指令周期能够等于1或2或4机器周期。17.AT89C51单片机所使用的晶振频率为6MHz,时钟周期,机器周期为多少?答:时钟周期为微秒;机器周期为2微秒。18.AT89C51单片机运行出错或出现死循环,如何摆脱困境?答:对单片机应用系统进行复位操作。19.AT89C51单片机复位后,PC、A、PSW、SP、P3~P0的状态各是什么?复位后内部RAM中的数据有何影响?答:(PC)=0000H(A)=00H(PSW)=00H(SP)=07H(P0)~(P3)=FFH复位后内部RAM中的数据依然被保存,但某些特殊功能寄存器中的数据可能有所改变。

项目二1.什么是计算机的指令和指令系统?答:指令是用于指导计算机工作的命令;所有的计算机所能够执行指令的集合称为指令系统。2.简述AT89C51汇编指令格式。答:[标号:]操作码[操作数][;注释]。3.简述8051的寻址方式和所能涉及的空间。答:共有七种寻址方式,分别为:寄存器寻址、立即寻址、寄存器间接寻址、直接寻址、相对寻址、变址寻址和位寻址。分别对应的空间是:内部RAM、ROM、内部RAM和外部RAM;内部RAM、ROM、ROM和内部RAM的位地址空间。4.要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?答:对于特殊功能寄存器的访问只能采用直接寻址方式,对于片外数据存储器的访问要采用寄存器间接寻址方式。5.编写程序,把片外RAM从H开始存放的8个数传送到片内30H开始的单元中。答:MOV DPTR,#HMOV R0,#30HMOV R2,#08HLOOP: MOVX A,@DPTR MOV

@R0,A INC DPTR INC R0 DJNZ R2,LOOP SJMP $6.下列程序段经汇编后,从1000H开始的各有关存储单元的内容是什么?ORG 1000HTAB1 EQU 1234HTAB2 EQU 3000HDB ”START”DW TAB1,TAB2,70H答:如下表所示。地址数据1000H53H1001H54H1002H41H1003H52H1004H54H1005H12H1006H34H1007H30H1008H00H1009H00H100AH70H7.查表指令是在什么空间上的寻址操作?答:查表指令是在ROM空间上进行的寻址操作

项目三1.指出以下程序每一条指令的执行结果。MOV A,#0F0H ;答:(A)=F0HCPL A ;答:(A)=0FHANL 30H,#00H ;答:(30H)=00HORL 30H,#BDH ;答:(30H)=BDHXRL A,#44H ;答:(A)=4BH2.指出以下程序每一条指令的执行结果(假设CY=1)。MOV A,#0AAH ;答:(A)=AAHCPL A ;答:(A)=55HRLC A ;答:(A)=ABH,C=0RL A ;答:(A)=57HCPL A ;答:(A)=A8HRRC A ;答:(A)=54H,C=0RR A ;答:(A)=2AH3.若(A)=7AH,分别执行下列指令后,(A)的值是多少?(1)ANL A,#0FFH ;答:(A)=7AH(2)ORL A,#0FFH ;答:(A)=FFH(3)ANL A,#00H ;答:(A)=00H(4)ORL A,#00H ;答:(A)=7AH(5)XRL A,#0FFH ;答:(A)=85H(6)XRL A,#00H ;答:(A)=7AH4.设(A)=83H,(R0)=17H,(17H)=34H,分析当执行完下面指令段后累加器A、(R0)、(17H)的值各是多少?ANL A,#17HORL 17H,AXRL A,@R0CPL A答:(A)=CBH、(R0)=17H、(17H)=37H5.写出完成下列要求的指令。(1)累加器A的低2位清0,其余位不变。答:ANL A,#FCH(2)累加器A的高2位置1,其余位不变。答:ORL A,#C0H(3)累加器A的高4位到反,其余位不变。答:XRL A,#F0H(4)累加器A的第0位、2位、4位、6位取反,其余位不变。答:XRL A,#55H6.试分析下列程序段,当程序执行完毕后,位地址00H、01H中的内容将为何值?P1口的8条I/O线为何状态?CLR CMOV A,#66HJC LOOP1CPL CSETB 01HLOOP1:ORL C,ACC.0JB ACC.2,LOOP2CLR 00HLOOP2:MOV P1,A答:(P1)=66H,位地址00H保持原值,位地址01H的内容为”1”。7.阅读下面程序,分析执行结果。MOV A,#67H ;答:(A)=67H=0110,0111BSETB ACC.7 ;答:ACC.7=1,(A)=1110,0111BMOV C,ACC.2 ;答:C=1CPL A ;答:(A)=18H=0001,1000BMOV ACC.6,C ;答:ACC.6=1,(A)=0101,1000B=58HCLR C ;答:C=0SETB ACC.0 ;答:ACC.0=1,(A)=0101,1001B=59HMOV ACC.4,C ;答:ACC.4=0,(A)=0100,1001B=49H8.编程实现把外部RAM中8000H开始的连续30个字节的数据传送到外部RAM中8100H开始的连续单元中。答:MOV R4,#14HMOV DPTR,#8000HPUSH DPHPUSH DPLMOV DPTR,#8100HMOV R2,DPHMOV R3,DPLLOOP: POP DPLPOP DPHMOVX A,@DPTRINC DPTRPUSH DPHPUSH DPLMOV DPL,R3MOV DPH,R2MOVX @DPTR,AINC DPTRMOV R2,DPHMOV R3,DPLDJNZ R4,LOOPSJMP $9.编程统计从外部RAM的H开始的连续100个单元中”0”的个数,并将结果存放于R2答:MOV R2,#64HMOV R3,#00HMOV DPTR,#HLOOP1: MOVX A,@DPTRCJNE A,#00H,LOOPINC R3LOOP: INC DPTRDJNZ R2,LOOP1SJMP $10.将内部RAM的30H单元中的中间4位、31H的低2位、32H的高2位按顺序排成一个新的字节,存入33H单元中。答:MOV A,30HANL A,#3CHMOV B,AMOV A,31HANL A,#03HORL A,BMOV B,AMOV A,32HANL A,#C0HORL A,BMOV 33H,A11.将DPTR中间8位取反,其余位不变。答:MOV A,DPLXRL A,#F0HMOV DPL,AMOV A,DPHXRL A,#0FHMOV DPH,A12.试编写程序完成以内部RAM的30H为首地址的20个数据传送,目的地址为外部RAM以3000H为首地址的区域。答:MOV R0,#30HMOV DPTR,#3000HMOV R2,#14HLOOP: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R2,LOOPSJMP $13.试编写条件转移程序,当寄存器R3的内容分别满足下列条件时能转移到LOOP处执行程序,条件不满足时停机。(1)(R3)≥15(2)(R3)<15(3)(R3)≤15(4)(R3)>15答:(1)CJNE R3,#0FH,LOOP1SJMP LOOPLOOP1: JCLOOPSJMP $LOOP: ……(2)CJNE R3,#0FH,LOOP1SJMP $LOOP1: JNCLOOPSJMP $LOOP: ……(3)CJNE R3,#0FH,LOOP1SJMP LOOPLOOP1: JNCLOOPSJMP $LOOP: ……(4)CJNE R3,#0FH,LOOP1SJMP $LOOP1: JCLOOPSJMP $LOOP: ……14.试编写程序将内部RAM以40H为首地址的数据块传送到以BUF为起始地址的内部RAM区域,直到遇到所传送的数据不为0时停止。答:MOV R0,#40HMOV R1,#BUFLOOP: MOV A,@R0JNZ LOOP1INC R0INC R1SJMP LOOPLOOP1:SJMP $15.编写一程序将数00H存入内部RAM的20H单元,存入后,经过读操作来检查是否确实存入?然后再将数FFH存入内部RAM的21H单元,检查是否确实存入。如果两次检查结果都正确,将内部RAM的60H单元置00H,否则置11H。答:MOV 20H,#00HMOV A,20HCJNE A,#00H,LOOPMOV 21H,#FFHMOV A,21HCJNE A,#FFH,LOOPMOV 60H,#OOHLOOP: MOV 60H,#11HSJMP $16.设内部RAM的60H单元有一个8位二进制数,该数8位中的某位为”1”,编写程序检查”1”在哪一位。如果”1”在第0位,则在内部RAM的30H单元写入数”00H”,如果”1”在第1位,则在内部RAM的31H单元写入数”01H”,……,以此类推。答:MOV A,60HLOOP: JB ACC.0,L0JB ACC.1,L1JB ACC.2,L2JB ACC.3,L3JB ACC.4,L4JB ACC.5,L5JB ACC.6,L6JB ACC.7,L7SJMP LOOPL0: MOV 30H,#00HSJMP $L1: MOV 31H,#01HSJMP $L2: MOV 32H,#02HSJMP $L3: MOV 33H,#03HSJMP $L4: MOV 34H,#04HSJMP $L5: MOV 35H,#05HSJMP $L6: MOV 36H,#06HSJMP $L7: MOV 37H,#07HSJMP $

项目四1.算术运算指令包括如下指令:答:(1)不带进位的加法指令ADD;(2)带进位加法指令ADDC;(3)加1指令INC;(4)十进制调整指令DAA;(5)带进位减法指令SUBB;(6)减1指令DEC;(7)乘法指令MULAB;(8)除法指令DIVAB。2.BCD码进行加法运算后,为什么要进行十进制调整?答:因为BCD码是用4位二进制数表示一位十进制数,当两个BCD码相加时,对应位相加超过十时,就应该有进位了,可用来表示它的数码是十六进制的,也就是说只有超过十六才能进位,这样就造成所对结果不是对应的BCD码了。为了得到正确的BCD码结果,因此要对加法运算的结果进行调整,且这条指令必须紧跟ADD或ADDC指令使用,它不能用于十进制数减法的调整。3.编程求外部RAM3000H、3001H单元数据的平均值,并传送给外部RAM的3002H单元。答:MOV DPTR,#3000HMOVX A,@DPTRMOV R0,AINC DPTRMOVX A,@DPTRADD A,R0MOV B,#02DIV ABINC DPTRMOVX @DPTR,A4.写出下面这段程序的运行结果。 MOV A,#79H MOV 20H,#18H ADD A,20H DA A SWAP A答:运行结果为:A=79H。5.根据下列要求写出指令序列。(1)求25×4的乘积,结果存入数据指针DPTR之中。(2)设计计算255÷12的程序,将商和余数分别保存在50H和51H。(3)判断内部RAM20H单元的内容,若为正数程序转向2100H;若为负数程序转向2200H;若为0程序转向2300H。(4)已知(A)=192,编程求A与立即数88的和,将结果存入31H(高位)和30H(低位)单元。答:(1)MOV A,#25 MOV B,#4 MUL AB MOV DPH,B MOV DPL,A(2)MOVA,#255MOVB,#12DIVABMOV50H,AMOV51H,B(3)ORG 0100H MOV A,20H JZ L3 JB ACC.7,L2 LJMP L1 …… ORG 2100H L1:…… ORG 2200H L2:…… ORG 2300H L3:…… END(4)MOVA,#192ADDA,#88JCL1MOV30H,AMOV31H,#00SJMP $L1:MOV30H,AMOV31H,#01END6.编写程序段,实现两个8位无符号数的乘法程序,积存放在R2、R3中(R2存放高位)。答:MOV A,#78 MOV B,#56 MUL AB MOV R2,B MOV R3,A END7.已知(30H)=17H,(31H)=38H,分析下面这段程序的运行过程,在每条语句右边的空格中写出在执行完该语句后相应单元的结果。 MOV A,30H (A)= ADD A,31H (A)= DA A (A)=答:(1)(A)=17H(2)(A)=4FH(3)(A)=55H8.两个16位无符号数分别存放在内部RAM40H、41H和50H、51H中(低位在低字节单元),编写程序段,实现两个16位数的减法程序,差存放在R6、R7中(R6存放高位)。答:MOV A,40HSUBBA,50HMOVR7,AMOVA,41HSUBBA,51HMOVR6,AEND

项目五1.什么是中断,采用中断方式有哪些优点?答:中断是计算机的CPU暂停正在运行的程序,转而执行提出中断的那个外部设备或事件的服务程序(即中断服务程序),当服务程序处理完毕后,CPU再回到原来的”断点”继续原来的程序。优点:引入中断技术,解决了CPU与外设的速度匹配问题,提高CPU的运行效率,计算机具有中断功能后,还有如下优点:(1)分时处理功能(2)实时处理功能(3)故障处理功能2.在AT89C51单片机系统中,有哪些中断源?响应这些中断的服务程序入口地址分别是多少?怎样合理安排中断服务程序?答:(1)有5个中断源,分别为:外部中断0、定时器T0、外部中断1、定时器T1、串行口中断。(2)中断源中断服务程序入口地址外部中断0:0003H定时器T0:000BH外部中断1:0013H定时器T1:001BH串行口中断:0023H由于各中断服务程序的入口地址相隔仅8个单元,如果整个中断服务程序的长度少于或等于8个字节,那么能够将这个中断服务程序存放在从入口地址开始的8个单元中,但如果中断服务程序的长度大于8个字节,那么一般在入口地址处安排一条转移指令,而转移指令要跳转的地址才开始真正存放中断服务程序。3.在单片机复位后,IP和IE为何值?如果当前单片机系统中只允许开放和T1中断源,且要求和T1为高级中断源,其余为低级中断源,怎样设置IP和IE的值?答:(1)单片机复位后,IP为XX000000B;IE为0X000000B(2)IP为:XXX01001B;IE为:1XX01001B4.定时器0和定时器1各有几种工作方式?简述之。答:定时器0有4种工作方式:方式0、方式1、方式2、方式3定时器1有3种工作方式:方式0、方式1、方式25.已知单片机系统时钟频率为12MHz,若要求定时时间分别为0.5ms、1ms、10ms,定时器0工作在方式0、方式1、方式2的情况下,定时初值TH0、TL0分别是多少?答:(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和T1的外部信号输入断作为新增的二个外部中断请求信号,如何设置计数初值?答:TH0和TF0的初值均设置为FFH7.要求在 P1.5脚输出周期为15ms的方波,设单片机系统时钟频率为6MHz。试编写定时器初始化程序和中断服务程序。答:定时器初始化程序:MOVTMOD,#01HMOVTH0,#0F1HMOVTL0,#5AH中断服务程序:ORG 0000H LJMP START ORG 000BH LJMP TOINT ORG 1000HSTART:MOV TMOD,#01H SETB TR0 MOV TH0,#0F1H MOV TL0,#5AHSJMP$ORG HTOINT:CPLP1.5 MOV TH0,#0F1HMOV TL0,#5AH RET1 END8.请编写程序:在T1每计满100个外部输入脉冲后,使P0口输出0F0H的数据。答:ORG 0000H LJMP START ORG 000BH LJMP LOOP ORG 1000HSTART: MOV TMOD,#01H SETB TR1 MOV TH0,#0F1H MOV TL0,#5AHSJMP$ORG HLOOP:MOV P0,#0F0H

项目六1.与8255比较,8155接口芯片有何特点?答:8155是一种通用的多功能可编程RAM/IO扩展器,片内除有三个可编程并行I/O端口(两个8位的端口A和B及一个6位是我端口C)外,还带有256B放入静态RAM及一个可编程的14位定时器、计数器。2.为什么说P0口是真正的双向I/O口,而P1~P3口是准双向口?答:P0口是三态双向口,每位能驱动8个LSTTL电路;P1、P2、P3口是准双向口,每个引脚可驱动4个LSTTL输入。3.扩展存储器时常见哪些片选方法?答:线选法和译码法4.什么是地址空间重叠现象?答:存储器中多个单元地址空间重叠在一起却仅表示一个单元,这种现象称为地址空间重叠现象。5.扩展存储器时,低8位地址为什么要锁存,而高8位地址不需要锁存?答:P0口作为低8位地址线、数据线,分时提供低8位地址信号和数据信号,在扩展系统中,要将P0口传送的信号进行分离,以便构成16位地址信号,因此需要增加一个8位锁存器,先由锁存器将地址总线中的低8位地址信号所存,锁存器的输出作为地址线A7-A0,其后P0口作为数据线使用;P2口在整个机器周期内提供的都是高8位地址信号,因此不用锁存。6.设某打印接口电路中有两个端口:一个是数据端口,其地址为1FFFH;一个是状态端口,其地址为1FFEH,状态端口的最高位D7表示打印机当前状态,即D7=0表示打印机”空闲”、D7=1表示打印机”忙”,试将片内RAM40H~4FH中的内容由打印机打印输出。答:MOV DPTR,#1FFEHLP1: MOVX A,@DPTRJB ACC.7,LP1 MOV R0,#40H MOV R2,#10HLP2: MOV A,@R0 INC DPTR MOVX @DPTR,ALP3: MOV DPTR,#1FFEH MOVX A,@DPTRJB ACC.7,LP3INC R0DJNZ R2,LP2END7.试用两片2764扩展16KB程序存储器,根据下列要求,画出电路图,并确定各自的地址范围。答:(1)用P2.7和P2.6片选。地址范围:1#为:8000H~9FFFH或A000H~BFFFH2#为:4000H~5FFFH或6000H~7FFFH(2)用74LS138译码后片选。地址范围:1#为:0000H~1FFFH2#为:H~3FFFH8.有一个单片机应用系统,需要8K字节的程序存储器、两个8位输入口、两个8位输出口、四个外部中断源,试设计电路图。答:

项目七1.在一个AT89C51系统中扩展一片8155,8155外接2位LED显示器和2位BCD拨盘,试画出该部分的接口电路,并编写相应的显示子程序和读拨盘的子程序。答:显示子程序:START: MOV A,#03H MOV DPTR,#7F00H MOVX @DPTR,ALOOP1: MOV R0,#38H MOV R3,#7FH MOV A,R3LOOP2: MOV DPTR,#7F01HMOVX @DPTR,A INC DPTR MOV A,@R0 ADD A,#0DH MOVC A,@A+PC MOVX @DPTR,A ACALL DELAY1ms MOV A,R3 JNB ACC.0,LOOP1 RR A MOV R3,A INC R0 AJMP LOOP2DATA:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H RET读拨盘子程序: MOV R0,#30H MOV P1,#0DFH MOV A,P1 SWAP A XCH A,@R0 MOV P1,#0EFH MOV A,P1 XCHD A,@R0RET2.在一个AT89C51系统中,试画出6×6键盘接口电路,并编制一个子程序,用查询的方法将键盘上键入的键号送内RAM区。答:程序:SCAN: LCALL KEYDOWN JNZ KEY1 RETKEY1: LCALL SWLAY10ms LCALL KEYDOWN JNZ KEY3KEY2: MOV A,#FFH RETKEY3: MOV A,#3FH MOV P2,A MOV A,P2 ANL A,#3FH MOV R2,#00H MOV R3,#06HKEY4: RRC A JNC KEY5 INC R2 INC R2 INC R2 INC R2 INC R2 INC R2 DJNZ R3,KEY4 LJMP KEY2KEY5: MOV A,#3H MOV P1,A MOV A,P1 ANL A,#3FH MOV R1,#00H MOV R3,#06HKEY6: RRC A JNC KEY7 INC R1 DJNZ R3,KEY6 LJMP KEY2KEY7: MOV A,R1 ADD A,R2 PUSH A LCALL KEYDOWNKEY8: JNZ KEY8 POP A RETKEYDOWN: MOV A,#FFH MOV P1,A MOV A,P1 XRL A,#3FH RET

项目八1.说明AT89C51系列单片机的通信方式。答:AT89C51系列单片机以全双工串口进行串行通信2.什么是串行通信,并说明其特点?答:串行通信是指计算机之间或者是计算机与外设之间进行数据的串行传送方式。串行通信适合用于长距离通信方式,串行通信的应用非常广泛。串行通信与通信制式、传送距离以及I/O数据的串并变换等许多因素有关。3.说明串口工作用到哪些寄存器,分别对各个位进行解释?答:(1)串行口数据缓冲器SBUFSBUF是两个在物理上独立的接收、发送寄存器,一个用于存放接收到的数据,另一个用于存放欲发送的数据,可同时发送和接收数据。(2)串行口控制寄存器SCON收发双方都有对SCON的编程,SCON用来控制串行口的工作方式和状态,能够位寻址,字节地址为98H。单片机复位时,所有位全为0。(3)电源及波特率选择寄存器PCONPCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,不能够位寻址,字节地址为87H。在HMOS的8051单片机中,PCON除了最高位以外,其它位都是虚设的。其格式见表8-3所示:表8-3电源及波特率选择寄存器PCON4.通信中的波特率如何设置?答:MSC51系列单片机有一个全双工的异步通信口,她利用其RXD和TXD与外界进行通信,其内部有2个物理上完全独立的接收、发送缓冲器SBUF,可同时发送和接收数据。异步串行通信发送和接收数据的速率与移位脉冲同步。一般用51系列的T1定时器作为波特率发生器,T1的溢出率经二分频(或不分频)后又经十六分频作为串行发送或接收的移位脉冲,移位脉冲的速率即波特率。单片机的异步通信波特率与串行口的工作方式、主振频率Fosc及定时器T1的工作方式有关。一般通信中使T1工作于方式2(可重装时间常数方式),若Fosc取6MHz,则波特率的计算公式如下:

其中:SMOD是可编程的(即PCON的第8位),由此公式计算出的波特率是不标准的波特率。5.说明串口有几种工作方式?答:有4种,方式0、方式1、方式2、方式36.已知fosc=11.0592MHz,波特率为2400bps,SMOD=1,16个发送数据存在内RAM20H为首地址的区域中,试以串行方式1设计一个发送程序。答:ORG0000HAJMPMAINORG0030HMAIN:MOVTMOD,#20HMOVTH1,#0E8HMOVTL1,#0E8HSETBTR1ORLPCON,#80H;SMOD=1MOVSCON,#50H;串行方式1MOVR0,#20H;首地址MOVR1,#16HSETBEASETBESSETBTR1LOOP:ACALLSENDDJNZR7,LOOP;16个数据SJMP发送子程序SEND:MOVA,@R0MOVC,PMOVTB8,CINCR0MOVSBUF,ACLRTIRET7.设计一个串行方式2发送子程序(SMOD=0),将片内RAM60H~67H中的数据串行发送。答:ORG0000HAJMPMAINORG0030HMAIN:ANLPCON,#07HSMOD=0MOVSCON,#90H串行方式2MOVR0,#60HMOV20H,#08HCLRR0SETBEASETBESLOOP:ACALLSENDDJNZ20H,LOOP执行8次从60H到67HSJMP发送子程序SEND:MOVA,@R0MOVC,PMOVTB8,CINCR0MOVSBUF,ACLRTIRET

项目九1D/A转换器与A/D转换器的功能是什么,有什么区别?答:D/A转化器是将数字量转化成模拟量,A/D转化器是将模拟量转化成数字量。2D/A转换器的主要性能指标有哪些?答:1.分辨率2.转化精度3.偏移量误差4.线性度5.输出电压3说明D/A转换器和AT89C51CPU连接方式有哪些。答:权电阻网络DAC、T型R-2R电阻网络D/A转换器和倒T型R-2R电阻网络D/A转换器等几种形式4如何确定ADC0809转换结束?有几种方法解决转换时间的问题?答:1.定时传送方式对于一种A/D转换来说,转换时间作为一项技术指标是已知的和固定的。2.查询方式A/D转换芯片由表明转换完成的状态信号,能够用查询方式,测试EOC的状态,即可确认转换是否完成,如果转换结束就进行数据读取。3.中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据读取。5画出ADC0809与AT89C51单片机的硬件接线图,编写定时器方式8路采集程序(查询法)。答:ADC0809与AT89C51的连接ORG0000HLJMPMAINORG0030HMAIN:MOVR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论