单片机原理及接口技术-习题答案汇总
单片机原理及接口技术课后习题 答案

第九章复习思考题1. 计算机系统中为什么要设置输入输出接口输入/输出接口电路是CPU与外设进行数据传输的桥梁..外设输入给CPU的数据;首先由外设传递到输入接口电路;再由CPU从接口获取;而CPU输出到外设的数据;先由CPU输出到接口电路;然后与接口相接的外设获得数据..CPU与外设之间的信息交换;实际上是与I/O 接口电路之间的信息交换..2. 简述输入输出接口的作用..I/O接口电路的作用主要体现在以下几个方面:1实现单片机与外设之间的速度匹配;2实现输出数据锁存;3实现输入数据三态缓冲;4实现数据格式转换..3. 在计算机系统中;CPU与输入输出接口之间传输数据的控制方式有哪几种各有什么特点在计算机系统中;CPU与I/O接口之间传输数据有3种控制方式:无条件方式;条件方式;中断方式;直接存储器存取方式..在无条件方式下;只要CPU执行输入/输出指令;I/O接口就已经为数据交换做好了准备;也就是在输入数据时;外设传输的数据已经传送至输入接口;数据已经在输入接口端准备好;输出数据时;外设已经把上一次输出的数据取走;输出接口已经准备好接收新的数据..条件控制方式也称为查询方式..CPU进行数据传输时;先读接口的状态信息;根据状态信息判断接口是否准备好;如果没有准备就绪;CPU将继续查询接口状态;直到其准备好后才进行数据传输..在中断控制方式下;当接口准备好数据传输时向CPU提出中断请求;如果满足中断响应条件;CPU则响应;这时CPU才暂时停止执行正在执行的程序;转去执行中断处理程序进行数据传输..传输完数据后;返回原来的程序继续执行..直接存储器存取方式即DMA方式;它由硬件完成数据交换;不需要CPU的介入;由DMA 控制器控制;使数据在存储器与外设之间直接传送..4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口;设外设8个按钮开关和8个LED;每个按钮控制1个LED;设计接口电路并编制检测控制程序..80C51图9.1题3接口电路原理图接口电路原理图如图9.1 源程序:MOV D PTR;#BFFFH ;设置输入/输出口地址COMT:MOVX A;@DPTR ;读取开关状态 NOP ;延时;总线稳定 MOVX @DPTR;A ;输出;驱动LED 显示 NOP;延时;总线稳定AJMP CONT5. 74LS377是8D 触发器;其功能表见表9.17;其中Di 为触发器的数据输入端;Qi 为触发器的数据输出端;G 是使能控制端;CLK 是时钟输入端;Q0为建立稳态输入条件之前;锁存器输出Q 的状态..采用它为8051单片机扩展1个8位的并行输出口..图9.2 题5接口电路原理图用74LS377扩展的输出口电路如图9-2所示..用P2.7与74LS377的使能控制端G 相连;当P2.7为0时;74LS377被选中;如果默认其他未用的地址线为1;则扩展的输出口地址为7FFFH..由于MCS-51单片机的WR 接到74LS377的时钟输入端CLK;当CPU 执行写外部输出口指令MOVX 时;把数据输出到数据总线上;在WR 信号由低变高时;写出的数据被打入74LS377并锁存..程序如下: MOV DPTR; #7FFFH ;输出口地址 MOV A; R6 ;取数据MOVX @DPTR; A ;输出;6. 74LS245是一种具有双向驱动的8位三态输出缓冲器;它的功能表见表9.18;其中G 为使能端;DIR 为方向控制端;A1~A8为A 端的数据输入/输出;B1~B8为B 端的数据输入/输出..当G 为低电平时;DIR 为高电平把A 端数据传送至B 端;DIR 为低电平;把B 端数据传送至A 端..在其他情况下不传送数据;并输出呈高阻态..采用它为8051单片机扩展1个8位的输入口..80C5180C511 2 图9-3 题6采用74LS245扩展输入口的2种电路图9-3为采用74LS245扩展输人接口电路..电路1中;DIR 上拉为高电平;74LS245数据传送方向强制为B 端到A 端;当P2.0为0时;且RD 为低电平时;使能端G 为低电平;74LS245三态门打开;单片机CPU 读取外设输入的数据..其他情况下;74LS245的三态门呈高阻状态..电路2中;只有单片机读取外设数据时;P2.0=0使74LS245的使能端G 有效;如果RD 为低电平;把74LS245数据传送方向置为A 端到B 端;其A→B 方向的三态门打开;单片机CPU 读取外设输入的数据..P2.0=1时;使能端G 无效;A 端和B 端处于隔离状态.. 图9-3的2个电路都采用P2.0为片选;其输入口地址为0FEFFH 默认未用地址线为1.. 7. 采用8155芯片为8051单片机系统扩展接口;外设为开关组8个开关组成和8个LED;每个开关控制1个LED..现需要读取开关组的状态;并把其状态存储到8155芯片RAM 中;若开关组的开关全部断开;则不记录..设计接口电路并编制检测程序..815MCS-图9.4 题7接口电路接口电路如图9.4所示; 8155的PB 口用作读取开关组状态;PA 口用作控制LED 组;分配地址如下:命令/状态寄存器:0100H ;PA 口:0101H ;PB 口:0102H ; PA 和PB 口为基本输入输出方式..K0控制LED0;K1控制LED1;以此类推..设存储开关状态的单元为STA TE..程序如下:CMMD EQU 0100H PORTA EQU 0101H PORTB EQU 0102H PORTC EQU 0103HSTATE EQU 20HMOV A;#02H ;初始化;工作方式控制字 MOV DPTR;# 0100H ;控制寄存器地址MOVX @DPTR; A;设置工作方式;初始化完成MOV A;#0FFH MOV DPTR;#0101H MOVX @DPTR;A ;上电后;熄灭LEDNOPMOV STATE;#0FFH ;没有开关闭合 DETECT: MOV DPTR;#0102H;PB 口地址MOVX A;@DPTR;从PB 口读开关状态MOVX @DPTR;A;从PA 口输出控制LED 指示灯NOPCJNE A;#0FFH;VALID SJMP DETECTVALID: MOV STATE;A;;记录开关状态AJMP DETECT8. 采用8255芯片为8051单片机系统扩展接口;外设为开关组8个开关组成和8个LED;每个开关对应1个LED..现需要每隔50ms 读取一次开关组的状态;并把其状态存储到内部RAM 中..设计接口电路并编制检测程序..假设系统晶振频率为12MHz..图9.5 单片机与8255接口电路图9.5为接口电路; PA 、PB 、PC 和控制寄存器地址分别为:0000H 、0001H 、0002H 和0003H..根据开关K0~K7状态控制LED0~LED7的显示状态;K0控制LED0;依此类推..设置8255的工作方式;PA 口外接开关;为方式0的输入;PB 口外接LED;为方式0的输出;则工作方式控制字的标志位D7为1;D6~D3A 组:0000; D2~D0B 组:010;组合后的控制字为:10000010;即82H..设存储开关状态的单元为STATE;用定时器/计数器T0定时50ms;工作方式为方式1;初始值为:1553650216=-M T ms;即3CB0HPORTA EQU 0100H PORTB EQU 0101H PORTC EQU 0102H CMMD EQU 0103H STATE EQU 20H //mian programACALL Ini8255; ACLL IniTimer0 WAIT:JBC TF0;DETECT SJMP WAIT DETECT: MOV TH0;#3CHMOV TL0;#0B0HMOVX A;@DPTR ;从PB口读开关状态MOV DPTR; #PortA ;PA口地址MOVX @DPTR;A ;从PA口输出控制LED指示灯NOPMOV STATE;AAJMP WAITIni8255: MOV A;#82H ;初始化;工作方式控制字MOV DPTR;#CMMD ;控制寄存器地址MOVX @DPTR; A ;设置工作方式;初始化完成MOV A;#0FFHMOV DPTR;#PORTAMOVX @DPTR;A ;上电后;熄灭LEDNOPRETIniTimer0: MOV TMOD;#01HMOV TH0;#3CHMOV TL0;#0B0HSETB TR0RET9. 简述矩阵键盘的行列扫描和线反转法原理..1行列扫描法:在按键识别过程时;依次使行线输出电平;然后检查列线的输入电平;如果所有列线的输入全为高电平;则该行无按键按下;如果不全为高电平;则被按下的按键在本行;且在输入电平变为低电平的列的交叉点上..2线反转法:第一步;首先使行线为输入;列线为输出..列线全部输出低电平;那么;行线中变为低电平的行线为按键所在的行..第二步;使行线变为输出;列线变为输入..行线输出全部为低电平;那么;列线中变为低电平的列线为按键所在的列..10. 一个简单计数器的电路原理图如图所示..要求每按一次S键;计数器计数一次;计数值送P1口显示;采用单只数码管显示;计16次后从0开始..图9.6 题10原理图1 BIT P3.3VALUE EQU 20HORG 0000HLJMP MAINORG 1000HM AIN: SETB P3.3MOV VALUE;#00ACALL DISP ;初始化显示0W AIT0: JB S1;WAIT0;ACALL DEL10MSW AIT1: JB S1;WAIT1 ;判断按下W AIT2: JNB S1;WAIT2;ACALL DEL10MSW AIT3: JNB S1;WAIT3 ;判断释放INC VALUE ;加1ANL VALUE;#00001111B ;仅显示低位ACALL DISP ;显示SJMP WAIT0//显示子程序DISP: MOV A;VALUE ;取显示信息MOV DPTR; #SEG_TAB ;字型码表的首地址MOVC A;@A+DPTR ;通过显示信息查其字型码MOV P1;A ;输出显示NOPRET//延时子程序DEL10MS:MOV R5;#10DELX: MOV R6;#200DEL0: NOPNOPNOPDJNZ R6;DEL0DJNZ R5;DELXRETS EG_TAB: DB 0C0H; 0F9H; 0A4H; 0B0H; 99H; 92H; 82H; 0F8H; 80H; 90HDB 88H; 83H; 0C6H; 0A1H; 86H; 8EH ;以下为显示字型码表;0~9;A~FEND11. 简述LED数码管的静态显示和动态显示原理..1静态显示:在多位静态显示时;各个LED数码管相互独立;公共端COM接地共阴极或接正电源共阳极..每个数码管的8个显示字段控制端分别与一个8位并行输出口相连;只要输出口输出字型码;LED数码管就立即显示出相应的字符;并保持到输出口输出新的字型码..2动态显示:多位LED数码管动态显示方式是各个LED数码管一位一位地轮流显示..在硬件电路上;各个数码管的显示字段控制端并联在一起;由一个8位并行输出口控制;各个的LED数码管的公共端作为显示位的位选线;由另外的输出口控制..动态显示时;各个数码管分时轮流地被选通;即在某一时刻只选通一个数码管;并送出相应的字型码;并让该数码管稳定地显示一段短暂的时间;在下一时刻选通另一位数码管;并送出相应的字型码显示;并保持显示一段时间;如此循环;即可以在各个数码管上显示需要显示的字符..图9.7 LED数码管静态显示原理图9.8 LED数码管动态显示原理12. 用P1和P3口作为输出口;设计一个5位的LED数码管显示系统;并在显示器上显示“HELLO”..+5V图 9.9 题12接口电路图接口电路图如图9.9所示;用2片74LS245提高接口的驱动能力;LED数码管为共阴型..程序如下:SEG_OUT EQU P3BIT_OUT EQU P1//====================================ORG 0000HLJMP STARTORG 0030HSTART: MOV SP;#60HMOV 20H;#40H //显示" HELLO" 对应字型表序号编码:40 12 23MOV 21H;#12HMOV 22H;#23HMOV R1;#30HMOV R0;#20HCALL SPLITINC R0INC R1CALL SPLITINC R0INC R1CALL SPLITRED: ACALL DSPLY1SJMP RED//===================================SPLIT: MOV A;@R0ANL A;#0F0HSWAP AMOV @R1;AINC R1MOV A;@R0ANL A;#0FHMOV @R1;ARET//===========================================//6位显示DSPLY1: MOV R0; #30H ;显示缓冲区地址MOV R2; #11111110B ;显示起始位置REDO: ACALL DISP ;显示1位MOV A; R2 ;计算下一个显示位置 RL AMOV R2; AINC R0 ;修改显示缓冲区地址指针 XRL A; #10111111B ;6位显示完否JNZ REDO ;未完;继续显示RET ;返回//==========================================;显示一位子程序DISP: MOV D PTR; #LED_SEG ;字型码表首地址MOV A; @R0 ;取显示数据MOVC A; @A+DPTR ;求显示数据的字型码MOV S EG_OUT; A ;输出字型码MOV A; R2 ;取显示位置MOV BIT_OUT; A ;显示ACALL DL1MSMOV A;#0FFH ;稳定显示1msMOV BIT_OUT;ARET;字型码表LED_SEG: DB 76H ; H 序号:00DB 79H ; E 序号:01DB 38H ; L 序号:02DB 3FH ; 0 序号:03DB 00H ; BLANK 序号:04DL1MS: MOV R5;#200; 12M时延时1msDEL: NOPNOPNOPDJNZ R5;DELRETEND13. 一个显示电路如图9.60所示..请采用串行口方式0实现LED数码管的动态显示;在显示器上自左向右动态显示“654321”;每个字符保持时间为0.1s..图9.10 习题13原题电路图ORG 0000HLJMP STARTORG 0030HSTART: MOV SP;#60HMOV 20H;#12H //显示数据MOV 21H;#34HMOV 22H;#56HMOV R1;#30HMOV R0;#20HCALL SPLIT //分离BCD码INC R0INC R1CALL SPLITINC R0INC R1CALL SPLITRED: ACALL DISPLYSJMP RED//===================================SPLIT: MOV A;@R0ANL A;#0F0HSWAP AMOV @R1;AINC R1MOV A;@R0ANL A;#0FHMOV @R1;ARET//================================DISPLY: MOV R0; #30H ;显示缓冲区首地址MOV R2; #05H ;显示位置;最右端1位NEXT: ACALL DISP11 ;显示INC R0 ;修改显示缓冲区地址指针DEC R2 ;计算下一位显示位置CJNE R2; #0FFH; NEXT ;6位显示完否RET ;显示完返回;显示1位子程序DISP11: MOV A; @R0 ;取显示数据MOV DPTR; #SEG_TABMOVC A; @A+DPTR ;取显示数据的字型码MOV SBUF; A ;输出字型码GOON: JBC TI; DPLYAJMP GOONDPLY: MOV A; R2MOV P1; A ;输出显示位置ACALL DL100MS ;延时MOV P1;#07HRET;字型码表SEG_TAB:DB 0C0H; 0F9H; 0A4H; 0B0H; 99H; 92H; 82H; 0F8H; 80H; 90H DB 88H; 83H; 0C6H; 0A1H; 86H; 8EH//====================================DL1MS: MOV R5;#200; 12M时延时1msDEL: NOPNOPNOPDJNZ R5;DELRETDL100MS:MOV R6;#100DELX0: ACALL DL1MSDJNZ R6;DELX0RETEND14. 采用8155或8255扩展I/O口;设计一个显示电路显示“654321”..图9.11 采用8255扩展的LED数码管动态显示接口电路图9.11为采用8255扩展的LED数码管动态显示接口电路..图中PA口用于输出字型码;PB口用于输出显示位置;LED数码管为共阴型;显示位置采用译码器译码的方式实现..在电路中采用同相缓冲器74LS07提高PA口的驱动能力;同相驱动器SN75451用于驱动显示器的公共端..电路中8255的PA和PB口处于基本输入/输出方式的输出模式;PA口地址为0000H;PB口为0001H;命令寄存器地址为0003H..定义SEG_OUT为PA口地址;BIT_OUT为PB口地址..程序如下://定义区SEG_OUT EQU 0000H //PortA 输出字型码BIT_OUT EQU 0001H //PortB输出位控码PortC EQU 0002H//CMMD EQU 0003H//命令寄存器地址//========================ORG 0000HLJMP STARTORG 0030HSTART: MOV SP;#60HMOV DPTR;#CMMD //8255初始化MOV A;#10000000B //方式0;A/B/C口为输出MOVX @DPTR;ANOPNOPMOV 20H;#12H //显示数据MOV 21H;#24HMOV 22H;#56HMOV R1;#30HMOV R0;#20HCALL SPLITINC R0INC R1CALL SPLITINC R0INC R1CALL SPLITRED: ACALL DSPLY2SJMP RED//===================================SPLIT: MOV A;@R0ANL A;#0F0HSWAP AMOV @R1;AINC R1MOV A;@R0ANL A;#0FHMOV @R1;ARET//===========================================//6位显示DSPLY2: MOV R0; #30H ;显示缓冲区首地址MOV R2; #00000000B ;显示起始位置REDO: ACALL DISP ;显示1位INC R2 ;计算下一次的显示位置INC R0 ;修改显示缓冲区指针CJNE R2; #06H; REDO ;6位显示完否RET ;显示结束返回//==========================================;显示一位子程序DISP: MOV D PTR; #LED_SEG ;字型码表首地址MOV A; @R0 ;取显示数据MOVC A; @A+DPTR ;求显示数据的字型码MOV D PTR; #SEG_OUT ;字型码输出口地址MOVX @DPTR; A ;输出字型码MOV A; R2 ;取显示位置MOV D PTR; #BIT_OUT ;显示位置输出口地址MOVX @DPTR; A ;显示ACALL DL1MSMOV A;#0FFH ;稳定显示1msMOVX @DPTR; ARET;字型码表LED_SEG: DB 3FH;06H;5BH;4FH;66H;6DH;7DH;07H ;'0;1;2;3;4;5;6;7' DB 7FH;6FH;77H;7CH;39H;5EH;79H;71H ;'8;9;A;B;C;D;E;F' DB 3EH; 50H; 40H; 08H; 00H ;'U; r; -; _; BLANK//======================================DL1MS: MOV R5;#200; 12M时延时1msDEL: NOPNOPNOPDJNZ R5;DELRETEND15. 一个单片机的键盘显示系统采用3×4矩阵式键盘、8位LED数码管显示器..12个按键定义为数字键0~9、功能键ENTER和STOP..系统工作时;键入一组数值;按下ENTER键后;新数值替换原来的显示值在显示器上循环显示;按下STOP键;循环显示终止;显示数据被清除..设计硬件电路和编写相应的程序..+5V图9.12 题15原理图//definationSEG_OUT EQU P2 //字型输出BIT_OUT EQU P3 //位控输出DISPBUF EQU 40H //显示缓冲区40H~47HSETPTR EQU 38H //设定数据时的存指针的单元HOLDTIME EQU 39H //ENTER时;存储每位稳定时间的单元DLETIME EQU 255 //enter稳定时间BIT_CODE EQU 3AH //ENTER时存字型的单元BIT_LOC EQU 3BH //ENTER时存位控的单元ETR_FLAG BIT 28H.0 //ENTER按下标志STP_FLAG BIT 28H.1 //STOP按下标志//============================ORG 0000HLJMP STARTORG 0030HSTART: MOV SP;#60H//======================ENTER按下的初始化=================CLR ETR_FLAGCLR STP_FLAGMOV HOLDTIME;#DLETIME //ENTER按下时;每位的保持时间MOV BIT_CODE;#DISPBUFMOV BIT_LOC;#01111111B//===========清显示缓冲区=========MOV R0;#DISPBUFMOV R3;#8ACALL CLRRAM;MOV SETPTR;#DISPBUF //设定指针初始化;未键入数据时;显示“-”MOV DISPBUF;#12HSCANK: MOV P1;#0FH //键盘扫描MOV A;P1ANL A;#00000111BXRL A;#00000111BJZ NON0ACALL DL20MS //消抖MOV P1;#0FHMOV A;P1ANL A;#00000111BXRL A;#00000111BJZ NON0 //键按下//此处判断哪个键按下MOV R3;#11101111BCONTI: MOV P1;R3MOV A;P1 // 逐行扫描ANL A;#00000111BXRL A;#00000111BJNZ FOUNDMOV A;R3RL AMOV R3;AXRL A;#11111110BJNZ CONTINON0: JMP NON //没有键按下FOUND: MOV P1;#00000111BMOV A;P1ANL A;#00001111BMOV R4;A //暂存列编码MOV A;R3ANL A;#11110000B //取行编码ORL A;R4MOV R4;A // 存特征码;等待键释放NO_RLSE:MOV P1;#0FH //键释放MOV A;P1ANL A;#00000111BXRL A;#00000111BJNZ NO_RLSEACALL DL20MS //消抖MOV P1;#0FHMOV A;P1ANL A;#00000111BXRL A;#00000111BJNZ NO_RLSEMOV A;R4CJNE A;#0E6H;NUM2MOV R4;#01HJMP GODISP //1NUM2: CJNE A;#0E5H;NUM3MOV R4;#02H //2JMP GODISPNUM3: CJNE A;#0E3H;NUM4MOV R4;#03H //3JMP GODISPNUM4: CJNE A;#0D6H;NUM5MOV R4;#04H //4JMP GODISPNUM5: CJNE A;#0D5H;NUM6MOV R4;#05H //5JMP GODISPNUM6: CJNE A;#0D3H;NUM7MOV R4;#06HJMP GODISP //6NUM7: CJNE A;#0B6H;NUM8MOV R4;#07HJMP GODISP //7NUM8: CJNE A;#0B5H;NUM9MOV R4;#08HJMP GODISP //8NUM9: CJNE A;#0B3H;ENTERMOV R4;#09HJMP GODISP //9ENTER: CJNE A;#076H;NUM0MOV R4;#0AH //ENTERJMP ETR_DISP //ENTER按下;循环显示NUM0: CJNE A;#075H;STOPMOV R4;#00H //0JMP GODISPSTOP: CJNE A;#073H;NUMXMOV R4;#0BHJMP STP_DISP // STOP按下NUMX: JMP NON //没有按键按下GODISP: CLR ETR_FLAGCLR STP_FLAGMOV R0;SETPTRMOV A;R4MOV @R0;AINC R0MOV SETPTR;R0CJNE R0;#DISPBUF+8;GOONMOV SETPTR;#DISPBUFGOON: JMP REDNON: JB ETR_FLAG;ETR_DISP //无键按下;之前ENTER按下JB STP_FLAG;STP_DISP //无键按下;之前STOP按下//无键按下;之前有数字键按下RED: MOV R0;#DISPBUFACALL DSPLY1 //显示键入的数据JMP SCANKETR_DISP:MOV SETPTR;#DISPBUF //enter件按下;设定数据循环显示SETB ETR_FLAGMOV R0;BIT_CODEMOV R2;BIT_LOC ;显示起始位置ACALL DISP ;显示1位DJNZ HOLDTIME; SKIP0MOV HOLDTIME;#DLETIMEMOV A; BIT_LOC ;计算下一个显示位置RR AMOV BIT_LOC;AINC BIT_CODE ;修改显示缓冲区地址指针XRL A;#01111111B ;8位显示完否JNZ SKIP0MOV BIT_CODE;#DISPBUFMOV BIT_LOC;#01111111BMOV HOLDTIME;#DLETIME ;未完;继续显示SKIP0: J MP SCANK ;返回//STOP处理STP_DISP: MOV SETPTR;#DISPBUFSETB STP_FLAGMOV R0;#DISPBUFMOV R3;#8ACALL CLRRAM; //清显示缓冲区内容MOV DISPBUF;#12HMOV R0;#DISPBUF //最左边显示“-”ACALL DSPLY1JMP SCANK//===========================================//8位显示DSPLY1: MOV R2; #01111111B ;显示起始位置REDO: ACALL DISP ;显示1位MOV A; R2 ;计算下一个显示位置RR AMOV R2; AINC R0 ;修改显示缓冲区地址指针XRL A; #01111111B ;8位显示完否JNZ REDO ;未完;继续显示RET ;返回//==========================================;显示一位子程序DISP: MOV D PTR; #LED_SEG ;字型码表首地址MOV A; @R0 ;取显示数据MOVC A; @A+DPTR ;求显示数据的字型码MOV S EG_OUT; A ;输出字型码MOV A; R2 ;取显示位置MOV BIT_OUT; A ;显示ACALL DL1MSMOV A;#0FFH ;稳定显示1msMOV BIT_OUT;ARET;字型码表LED_SEG: DB 3FH;06H;5BH;4FH;66H;6DH;7DH;07H ;'0;1;2;3;4;5;6;7' DB 7FH;6FH;77H;7CH;39H;5EH;79H;71H ;'8;9;A;B;C;D;E;F' DB 3EH; 50H; 40H; 08H; 00H ;'U; r; -; -; BLANKDL1MS: MOV R5;#200; 12M时延时1msDEL: NOPNOPNOPDJNZ R5;DELRETDL20MS: MOV R7;#20; 12M时延时20msDEL00: ACALL DL1MSDJNZ R7;DEL00RETCLRRAM: MOV @R0;#14H //不显示INC R0DJNZ R3;CLRRAMRETEND16. 简述A/D和的作用..A/D把模拟量变成数字量..D/A把数字量转换成模拟量..17. 在检测系统中;通常采用均值滤波的方法来消除检测数据的随机干扰;即连续采样多次;取平均值作为测量值..采用ADC0809设计一个检测系统;对IN5通道接入的模拟采样8次;把它们的均值存放在30H单元..+R八路模拟量输入图9.12 题17的MCS-51单片机与ADC0809的接口电路18. 采用ADC0809设计一个8路巡回检测系统;每隔50ms对8个回路检测1次;并把采样值存储在40H开始的区域..系统晶振频率为12MHz..接口电路与题17相同..程序流程图见图9.13..程序如下:ORG 0000HLJMP STARTORG 000BHLJMP Timer0InterruptSTART:MOV SP;#60HLCALL InitTimer0MOV R0;#40H ;置数据区首地址指针MOV R6;#00H ;指向模拟量输入通道0;通道地址的低八位LOOP: NOPLJMP LOOPInitTimer0:;定时器0;定时50msMOV TMOD; #01H MOV TH0; #3CH MOV TL0; #0B0H SETB EA SETB ET0 SETB TR0 RETTimer0Interrupt: PUSH DPH PUSH DPLPUSH ACC MOV TH0; #3CH MOV TL0; #0B0H MOV DPH; #0BFH ;P2.6=0;通道地址的高八位 MOV DPL;R6 ;模拟通道0 MOVX @DPTR;A ;启动A/D 转换.. WAITAD: JB P3.3; WAITADMOVX A;@DPTR ;读A/D 转换结果 MOV @R0;A ;存转换结果 INC R0 ;修改数据区指针 INC R6;模拟通道地址加1 CJNE R6;#08;EXIT ;8个通道全采样完了吗MOV R6;#00H ;8路巡检结束;重新采样模拟量输入通道IN0 MOV R0;#40H;重设数据区首地址指针EXIT:POP ACCPOP DPL POP DPH RETIEND19. 采用2片ADC0809为8051单片机扩展16路模拟量输入通道.. 图9.13 地址分析:IC2:P2.7=1;P2.6=0;8个通道地址为: IN0:8000H ; IN1:8001H IN2:8002H ; IN3:8003H IN4:8004H ; IN5:8005H IN6:8006H ;IN7:8007HIC3:P2.7=0;P2.6=1;8个通道地址为:图9.13 题18 程序流程图IN0:4000H;IN1:4001HIN2:4002H;IN3:4003HIN4:4004H;IN5:4005HIN6:4006H;IN7:4007H+R八路模拟量输入八路模拟量输入图9.14 2片ADC0809为8051单片机接口电路图20. 用8051单片机和DAC0832设计一个应用系统;输出连续的三角波..接口电路和程序框图见图9.15..ORG 0020HMOV DPTR;#7FFFH ;指向0832LOOP: MOV R2;#0FFH ;循环次数MOV A;#00H ;赋初值LOOP1:MOVX @DPTR;A ;D/A转换输出INC ADJNZ R2;LOOP1MOV R2;#0FEHLOOP2:DEC AMOVX @DPTR;A DJNZ R2;LOOP2 ALMP LOOP END+5VDAC0832A VoutMCS-51P2.7WRDI7Vcc ILE Vref Rfb Iout1Iout2AGNDDGNDP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0DI6DI5DI4DI3DI2DI1DI0+-CSXFERWR2WR1a 接口电路b 程序流程框图图9.15 题20接口电路和程序流程框图21. 用8051单片机和DAC0832设计一个应用系统;连续输出周期为5.12秒的三角波提示:每10ms 转换1次;三角波的周期等于定时时间×转换次数..接口电路如图9.15..程序框图见图9.16图9.16 题21程序流程图ORG 0000H LJMP START ORG 000BHLJMP Timer0InterruptSTART: MOV SP; #60HLCALL InitTimer0 ;定时初始化MOV R6;#0;三角波DA 转换值;起始值为0MOV R7;#0;三角波上升下降标志;0 = 上升;1 = 下降 LOOP:;主处理程序NOPNOP ALMP LOOPInitTimer0:MOV TMOD;#01H MOV TH0; #0D8H MOV TL0; #0F0H SETB EA SETB ET0 SETB TR0 RETTimer0Interrupt:MOV TH0; #0D8H MOV TL0; #0F0H CJNE R7; #0; LOOP1 INC R6CJNE R6; #0FFH; LOOP01 MOV R7; #1LOOP01: MOV DPTR; #7FFFH;指向0832MOV A; R6 MOVX @DPTR;A;D/A 转换输出SJMP RET0LOOP1: DEC R6CJNE R6; #0; LOOP11 MOV R7; #0LOOP11: MOV DPTR; #7FFFH;指向0832MOV A; R6 MOVX @DPTR;A;D/A 转换输出SJMP RET0RET0: RETIEND22. 用8051单片机和DAC0832设计一个应用系统;输出占空比为50%的双极性方波;幅值在–5~+5V 之间..接口电路见图9.17;程序流程框图见图9.18..根据图9.17接口电路的连接关系;可以推导出下列公式:Vref)(2Vo1Vref)2R 2R Vo1R 2R (Vout +-=+-=程序流程框图见图9.17..程序如下: ORG 1000HSTART: MOV DPTR;#7FFFHLOOP: MOV A;#00H MOVX @DPTR;A CALL DELAY10MS MOV A;#0FFH MOV @DPTR;A CALL DELAY10MSJMP LOOP+5VDAC0832A Vo18051P2.7WRDI7Vcc ILE Vref Rfb Iout1Iout2AGND DGNDP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0DI6DI5DI4DI3DI2DI1DI0+-CS XFERWR2WR1A Vout+-2RR 2R图9.17 接口电路图图9.18 程序流程图。
单片机原理及接口技术课后作业及答案

1.89C51单片机内包括哪些重要逻辑功能部件?答:80C51系列单片机在片内集成了如下重要逻辑功能部件:(l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB(5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定期器/计数器:16位,2个(8)片内时钟电路:1个2.89C51旳EA端有何用途?答:/EA端接高电平时,CPU只访问片内flash Rom 并执行内部程序,存储器。
/EA端接低电平时,CPU只访问外部ROM,并执行片外程序存储器中旳指令。
/EA端保持高电平时,CPU执行内部存储器中旳指令。
3. 89C51旳存储器分哪几种空间?怎样区别不一样空间旳寻址?答:ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits地址)(64KB)片外RAM(MOVX)(16bits地址)(64KB)片内RAM(MOV)(8bits地址)(256B)4. 简述89C51片内RAM旳空间分派。
答:片内RAM有256B低128B是真正旳RAM区高128B是SFR(特殊功能寄存器)区5. 简述布尔处理存储器旳空间分派,片内RAM中包括哪些可位寻址单元。
答:片内RAM区从00H~FFH(256B)其中20H~2FH(字节地址)是位寻址区对应旳位地址是00H~7FH6. 怎样简捷地判断89C51正在工作?答:用示波器观测8051旳XTAL2端与否有脉冲信号输出(判断震荡电路工作与否正常?)ALE(地址锁存容许)(Address Latch Enable)输出是fosc旳6分频用示波器观测ALE与否有脉冲输出(判断8051芯片旳好坏?)观测PSEN(判断8051可以到EPROM 或ROM 中读取指令码?)由于/PSEN接外部EPROM(ROM)旳/OE端子 OE=Output Enable(输出容许)7. 89C51怎样确定和变化目前工作寄存器组? 答:PSW(程序状态字)(Program Status Word)中旳RS1和RS0可以给出4中组合用来从4组工作寄存器组中进行选择PSW属于SFR(Special Function Register)(特殊功能寄存器)8. 89C51 P0口用作通用I/O口输入时,若通过TTL“OC”门输入数据,应注意什么?为何?答:9. 读端口锁存器和“读引脚”有何不一样?各使用哪种指令?答:读锁存器(ANL P0,A)就是相称于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚旳,意思就是把端口p1输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时试验时常常用这些指令于外部通信,判断外部键盘等;字节互换XCH、XCHD算术及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移CJNE、DJNZ都属于读锁存器。
单片机原理及接口技术(C51编程)(第2版)-习题问题详解汇总情况

第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为微控制器或嵌入式控制器2.单片机与普通微型计算机的不同之处在于其将CPU、存储器、和I/O口三部分,通过内部总线连接在一起,集成于一块芯片上。
3. AT89S51单片机工作频率上限为33MHz MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低成本和提高可靠性二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用3. 下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B.家用电器的控制C.数据库管理 D.汽车电子设备三、判断对错1. STC系列单片机是8051内核的单片机。
对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。
对3. 单片机是一种CPU。
错4. AT89S52单片机是微处理器。
错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。
对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。
对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对第2章思考题及习题2参考答案一、填空1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为2µs。
2. AT89S51单片机的机器周期等于12个时钟振荡周期。
3. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为28H和88H。
单片机原理及接口技术课后答案

7. 在变址寻址方式中,可把DPTR或CP作为基址寄存器, 而把A中的地址作为变址寄存器,变址寻址方式是专 用于访问程序存储器一种寻址方式。
•编辑ppt
P67 一、填空题
8. MCS-51系列单片机数据指针是DPTR,堆栈指针是 SP;访问片外数据存储器用MOVX(助记符)指令。
■ 无符号数相减
•编辑ppt
P68一、填空题
17.执行下列指令序列后,A的内容为26H, CY的内容 为1 (P52)
MOV A,#69H; (A)=69H ADD A,#57H; (A)=69H+57H DA A;
0110 1001 B +0101 0111 B 1100 0000 B C0H 0110 0110 B 1 0010 0110 B ■ 无符号数
•编辑ppt
P68一、填空题
18. 假设外部数据存储器60H单元的内容为0A8H,内部 数据存储器60H单元的内容为69H,执行下列指令序 列后,A的内容为90H, B的内容为06H,Cy的内容为 0 ,OV的内容为1 。(P53)
5. MCS-51单片机片内和片外数据存储器的寻址空间 可分为00H~FFH、0000H~FFFFH。
6. MCS-51系列单片机片包括很多机型,其中8031单 片机内有0B的程序存储器。8051单片机有4kB的程 序存储器。
•编辑ppt
P36 一、填空题
7.MCS-51单片机所能使用的外晶振的频率为1.2M至 12MHz。如果8031单片机的时钟频率为12MHz, 则一个机器周期是1µ s。
③x=-51,y=+97 [ - 51]原=1 011 0011B [ - 51]反=1 100 1100B [ - 51]补=1 100 1101B [+97]原=0 110 0001B=[+97]反=[+97]补 [x+y]补=[x]补+[y]补=1 100 1101B+ 01100001B
单片机原理与接口技术复习题及答案

复习题及答案(一)一、选择题(在每一个小题四个备选答案中选出一个正确答案,填在题的括号中)1、80C51基本型单片机内部程序存储器容量为(C)。
(A)16K (B)8K (C)4K (D)2K2、在80C51单片机应用系统中,可以作为时钟输出的是(C)引脚。
(A)(B)RST (C)ALE (D)3、在80C51的4个并行口中,能作为通用I/O口和高8位地址总线的是(C)。
(A)P0 (B)P1 (C)P2 (D)P34、当优先级的设置相同时,若以下几个中断同时发生,(D)中断优先响应。
(A)(B)T1 (C)串口(D)T05、在80C51中,要访问SFR使用的寻址方式为(A)。
(A)直接寻址(B)寄存器寻址(C)变址寻址(D)寄存器间接寻址6、以下的4条指令中,不合法的指令为(D)。
(A)INC A (B)DEC A (C)I NC DPTR (D)SWAP ACC7、当需要扩展一片8K的RAM时,应选用的存储器为(B)。
(A)2764 (B)6264 (C)6116 (D)621288、若想扩展键盘和显示,并希翼增加256字节的RAM时,应选择(A)芯片。
(A)8155 (B)8255 (C)8279 (D)74LS1649、80C51单片机要进行10位帧格式的串行通讯时,串行口应工作在(B )。
(A)方式0 (B)方式1 (C)方式2 (D)方式310、80C51复位初始化时未改变SP的内容,第一个入栈的单元地址为(A)。
(A)08H (B)80H (C)00H (D)07H二、填空题1、计算机的经典结构由存储器、运算器、控制器、输入设备、输出设备组成。
2、80C51单片机基本型内部RAM有128 个字节单元,这些单元可以分为三个用途不同的区域,一是工作寄存器区,二是位寻址区,三是数据缓冲区。
3、在8051单片机中,由2 个振荡周期组成1个状态周期,由6 个状态周期组成1个机器周期。
4、8051的堆栈是向地址的高端生成的。
单片机原理及接口技术试题有答案

单片机习题及答案第一章1-1选择1.计算机中最常用的字符信息编码是( A )A ASCIIB BCD码C 余3码D 循环码2.要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于(A ) μsA 1.5B 3C 1D 0.53.MCS-51的时钟最高频率是( A ).A 12MHzB 6 MHzC 8 MHzD 10 MHz4.以下不是构成的控制器部件(D ):A 程序计数器、B指令寄存器、C指令译码器、D存储器5.以下不是构成单片机的部件(D )A 微处理器(CPU)、B存储器C接口适配器(I\O接口电路) D 打印机6.下列不是单片机总线是(D )A 地址总线B 控制总线C 数据总线D 输出总线7.-49D的二进制补码为.( B )A 11101111B 11101101C 0001000D 111011008.十进制29的二进制表示为原码(C )A 11100010B 10101111C 00011101D 000011119. 十进制0.625转换成二进制数是( A )A 0.101B 0.111C 0.110D 0.10010 选出不是计算机中常作的码制是( D )A 原码B 反码C补码 D ASCII1-2填空1.计算机中常作的码制有原码、反码和补码2.十进制29的二进制表示为000111013.十进制数-29的8位补码表示为.111000114.单片微型机CPU、存储器和I\O接口三部分组成.5.若不使用MCS-51片内存器引脚EA必须接地.6.输入输出设备是计算机与外部世界交换信息的载体.7.十进制数-47用8位二进制补码表示为.110100018.-49D的二进制补码为.111011019.计算机中最常用的字符信息编码是ASCII10.计算机中的数称为机器数,它的实际值叫真值。
1-3判断1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。
(√)2.MCS-51上电复位时,SBUF=00H。
单片机原理与接口技术课后答案

单片机原理与接口技术课后答案以下为单片机原理与接口技术课后答案:1. 什么是单片机?单片机是一种高度集成的计算机内核,具有处理器、内存、输入/输出接口等元件,可以用于控制、处理和操作外部设备。
2. 单片机的工作原理是什么?单片机的工作原理是通过执行存储在其内部存储器中的指令,来控制外围设备的操作。
它具有时钟、ALU、寄存器和一个指令集,通过时钟信号的控制,按照程序指令的顺序进行执行。
3. 单片机与外部设备的连接方式有哪些?单片机与外部设备的连接方式有并行接口、串行接口、通信总线接口等。
4. 并行接口是如何工作的?并行接口是使用多个传输线同时传输数据的接口。
单片机通过并行接口的数据总线,向外部设备发送数据或接收数据,同时通过控制线发送控制信号。
5. 串行接口是如何工作的?串行接口是使用单个传输线逐位传输数据的接口。
单片机通过串行接口的发送线发送数据,通过接收线接收数据,并且通过控制线发送控制信号。
6. 通信总线接口是如何工作的?通信总线接口通过将单片机与外部设备连接到同一总线上,实现它们之间的通信。
单片机可以通过总线向外部设备发送数据或接收数据。
7. 单片机的输入接口如何实现?单片机的输入接口可以通过输入寄存器、输入缓冲器和输入/输出控制电路等,将外部设备的信号输入到单片机中。
8. 单片机的输出接口如何实现?单片机的输出接口可以通过输出寄存器、输出缓冲器和输出/输入控制电路等,将单片机中的数据发送到外部设备。
9. 单片机的中断技术是什么?单片机的中断技术是在执行程序的过程中,根据一定的条件发生中断,暂停当前的程序执行,转而处理中断服务程序,然后再返回到原来的程序继续执行。
10. 单片机的定时器/计数器是什么?单片机的定时器/计数器是一种可编程的设备,可用于产生定时延迟、计数外设事件等。
它可以通过编程设置计数范围和工作方式,在给定的时钟信号下进行计数操作。
以上为单片机原理与接口技术课后答案。
单片机原理与接口技术习题答案

单片机原理与接口技术习题答案单片机原理与接口技术习题集答案第1部分答案1-1简要介绍冯·诺依曼计算机的主要特点。
1、采用二进制代替十进制运算2、存储程序工作方法3、计算机硬件系统的构成1-2计算机硬件系统由哪些组件组成?计算机硬件系统由运算器、控制器、存储器、输入设备和输出设备五个部分。
1-3填空:(1)100d=01100100=64h(2)03ch=00111100b=60d1-4写出下列数字(用二进制数表示)的原码、反码和补码。
21-2159-59127-1271-121原码:00010101反码:00010101补码:00010101-21原码:10010101反码:11101010补码:11111 01159原码:00111011反码:00111011补码:00111011-59原码:10111011反码:11000100补码:11000101127原码:01111111反码:01111111原码:01111111-127原码:11111111反码:10000000补码:100000011原码:00000001反码:00000001补码:00000001-1原码:1000001反码:11111110补码:111111111-5用十进制数写出下列补码的真值:1fh69h89hfch97hcdhb3h10h1fh的真值: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. 指令字节数越多,执行时间越长。
……………………………………()2. 内部寄存器Rn(n=0~7)作为间接寻址寄存器。
……………………()3. 8031芯片内一共有4K的ROM,256字节的RAM。
……………………()4. 8位构成一个字节,一个字节所能表达的数的范围是0-255。
………()5. 8051中的工作寄存器就是内部RAM中的一部份。
………………………()6. 8051中特殊功能寄存器(SFR)就是内部RAM中的一部份。
…………()7. MOV A,@R0这条指令中@R0的寻址方式称之为寄存器间址寻址。
……()8. MOV A,30H这条指令执行后的结果是(A)=30H ………………………()9. MOV A,@R7,将R7单元中的数据作为地址,从该地址中取数,送入A中()10. SP称之为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关()二、简答题1. 分别列出传送指令、算术指令、逻辑指令和转移指令。
2. 指出下列指令的寻址方式:1):MOV A,#01 3):ADD A,10H2):MOV A,@R0 4):SETB 20H3. 要设置T0为16位计数器;T1为8位定时器,请填写TMOD寄存器4. 说出SCON中SM0 SM1 SM2 REN TB8 RB8 TI RI 的意义和功能5. 按动态扫描设计,6根线可以接多少个按键?并画出与51单片机的接线图。
6. 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH;POP DPL;POP SP;则:(DPH)= ____;(DPL)=_______;(SP)=_______;7. 分析下列程序的功能PUSH ACCPUSH BPOP ACCPOP B8. 三片6264的地址范围分别是多少?(地址线未用到的位填1)9. 给8031单片机扩展一片2716和6116,请画出系统连接图,并给出地址范围。
单片机原理及接口技术(第三版)教材习题解答

单片机原理与接口技术教材习题全部解答第1章绪论1-1解答:第一台计算机的研制目的是为了计算复杂的数学难题。
它的特点是:计算机字长为12位,运算速度为5 000次/s,使用18 800个电子管,1 500个继电器,占地面积为150 m2,重达30 t,其造价为100多万美元。
它的诞生,标志着人类文明进入了一个新的历史阶段。
1-2解答:单片微型计算机简称单片机。
一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器与I/O接口等部件。
1-3解答:单片机的发展大致经历了四个阶段:第一阶段(1970—1974年),为4位单片机阶段;第二阶段(1974—1978年),为低中档8位单片机阶段;第三阶段(1978—1983年),为高档8位单片机阶段;第四阶段(1983年至今),为8位单片机巩固发展阶段与16位单片机、32位单片机推出阶段。
1-4解答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品;Motorola公司的6801、6802、6803、6805、68HC11系列产品;Zilog公司的Z8、Super8系列产品;Atmel公司的AT89系列产品;Fairchild公司的F8和3870系列产品;TI公司的TMS7000系列产品;NS公司的NS8070系列产品;NEC公司的μCOM87(μPD7800)系列产品;National公司的MN6800系列产品;Hitachi公司的HD6301、HD63L05、HD6305。
1-5解答:(1)8031/8051/8751三种型号,称为8051子系列。
8031片没有ROM,使用时需在片外接EPROM。
8051片含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。
8751片含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。
(2)8032A/8052A/8752A是8031/8051/8751的增强型,称为8052子系列。
单片机原理及接口技术-习题答案汇总.doc

单片机答案第 1 章思考题及习题 1 参考答案一、填空1.除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器 .2. 单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O口、总线3. AT89S51 单片机工作频率上限为MHz。
答:24MHz。
4.专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选1.单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答: B2.在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3.下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B .家用电器的控制 C .数据库管理 D .汽车电子设备答: C三、判断对错1. STC 系列单片机是8051 内核的单片机。
对2.AT89S52 与 AT89S51相比,片内多出了 4KB的 Flash 程序存储器、 128B 的 RAM、 1个中断源、 1 个定时器(且具有捕捉功能)。
对3.单片机是一种 CPU。
错4.AT89S52 单片机是微处理器。
错5.AT89S51 片内的 Flash 程序存储器可在线写入( ISP),而 AT89C52则不能。
对6. 为 AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片 AT89S51替换。
对7. 为 AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片 AT89S52替换。
对8.单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是 DSP的长处。
对第 2 章思考题及习题 2 参考答案一、填空1.在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2μ s2. AT89S51 单片机的机器周期等于个时钟振荡周期。
单片机原理及接口技术部分习题与参考答案

《单片机原理及接口技术(修订本)》部分习题与参考答案第1章绪论1-2 什么叫单片机一个完整的单片机芯片至少有哪些部件答:将微处理器(CPU)、存储器、定时/计数器及输入输出接口电路等部件集成在一块集成电路上,称为单片微型计算机,简称单片机。
一个完整的单片机芯片至少有中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器及I/O接口等部件。
1-5 Intel 公司的主要单片机产品分为哪几大系列各系列的区别何在答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列产品;48系列的单片机在片内集成4位CPU,片内含有多种I/O接口,有的根据不同用途还配有许多专用接口,价格便宜,控制功能强。
51系列的单片机在片内集成8位CPU、片内RAM为128字节,ROM为4K字节,4个并行I/O口、2个16位定时/计数器、串行接口、5个中断源。
96系列单片机CPU为16位,片内RAM为232字节,ROM为8K字节,片内带有高速输入输出部件,多通道10位A/D转换部件,中断处理为8级。
1-6 叙述51子系列与52子系列的区别答:51子系列包含8031/8051/8751三种型号,它们的基本组成、基本性能都相同,都具有一个8位CPU、片内数据存储器RAM128B、2个16位定时/计数器、有5个中断源,一个全双工串行接口,它们之间的区别在于片内程序存储器配置:8031片内没有ROM,使用时需在片外接EPROM。
8051片内含有4KB的掩模ROM,其中的程序是生产厂家制作芯片时烧制的。
8751片内含有4KB的EPROM,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。
52子系列包含8032/8052/8752三种型号,52子系列与51子系列的区别在于:片内ROM 和RAM的容量比8051子系列各增加一倍,另外,增加了一个定时/计数器和一个中断源。
第2章 MCS-51系列单片机的结构及原理2-2 MCS-51单片机的引脚有何功能在使用8031时如何接法使用8751时如何接法答:引脚是片内外程序存储器的选择信号。
单片机原理与接口技术试题与答案

单片机原理与接口技术试题与答案一、选择题1.下列哪个单片机不属于51系列? A. STC89C52RC B. AT89S51C. F51C32D. STC12CA5A60S2答案:C2.哪个单片机的Flash存储器是可擦写可编程快闪存储器? A.AT89C55WD B. STC89C54RD+C. P89C51RD2D. AT89S52答案:D3.哪个单片机不属于摩托罗拉系列? A. HC08 B. HC05 C. HC12 D. MCS-51答案:D4.哪一种单片机的取指速度最快? A. Flash B. OTP ROM C. UV EEPROMD. RAM答案:A5.非易失性存储器是指: A. Flash B. SRAMC. DRAMD. ROM答案:A6.单片机中执行程序的运算单元是: A. CPU B. DSPC. ALUD. FPU答案:A二、判断题1.单片机中,使用穿孔纸带输入指令的单片机叫EPROM单片机。
答案:错2.端口特殊功能寄存器是单片机与外部器件连接的一个最基本的接口形式。
答案:对3.单片机中所有的输入/输出设备都必须由程序读写。
答案:对4.串行通信口是单片机与外部器件连接的最基本的接口形式。
答案:对5.数字量输入不可能通过定时器的溢出中断或者由计数来实现。
答案:错三、简答题1.解释单片机中的定时/计数器的作用和种类。
定时/计数器是单片机中的一种重要的接口设备,它能实现多种功能。
定时器主要用于延时、调度和计时等功能,而计数器则主要用于对信号或脉冲进行计数。
单片机中的定时/计数器按照不同的分类方法可以分为多种类型,如12位定时/计数器、16位定时/计数器、8位自动重载计数器等。
每种类型的定时/计数器都有其特定的使用条件和适用范围,用户需要根据具体需求选择合适的定时/计数器。
2.什么是中断?为什么要使用中断?中断是一种机制,可以在程序执行的同时相对异步地处理外部事件。
当外部事件触发中断信号时,CPU将挂起当前程序的执行,转向中断服务程序执行相应的处理流程,直到中断服务程序执行完毕后CPU再返回原程序中断之前的位置继续执行。
单片机原理及接口技术课后习题与答案

1.微处理器,RAM,ROM,以及I/O口,定时器,构成的微型计算机称为单片机。
2.指令寄存器(IR)保存当前正在执行的一条指令;指令译码器(ID)对操作码进行译码。
3.程序计数器(PC)指示出将要执行的下一条指令地址,由两个8位计数器PCH及PCL组成。
4.80C31片内没有程序存储器,80C51内部设有4KB的掩膜ROM程序存储器,87C51是将80C51片内的ROM换成EPROM,89C51则换成4KB的闪存FLASHROM,51增强型的程序存储器容量是普通型的2倍。
5.89C51的组成:一个8位的80C51的微处理器,片内256字节数据存储器RAM/SFR用来存放可以读/写的数据,片内4KB程序存储器FLASHROM用存放程序、数据、表格,4个8位并行I/O端口P0-P3,两个16位的定时器/计数器,5个中断源、两个中断个优先级的中断控制系统,一个全双工UART的串行口I/O口,片内振荡器和时钟产生电路,休闲方式和掉电方式。
6.89C51片内程序存储器容量为4KB,地址从0000-0FFFH开始,存放程序和表格常数,片外最多可扩展64KBROM地址1000-FFFFH,片内外统一编址。
单片机的内部存储空间分为数据存储器和程序存储器。
7.内部数据存储器:共256字节单元,包括低128个单元和高128个单元。
低128字节又分成3个区域:工作寄存器区(00H~1FH),位寻址区(20H~2FH)和用户RAM区(30H~7FH)存放中间结果,数据暂存及数据缓冲。
高128字节是供给特殊功能寄存器(SFR)使用的,因此称之为特殊功能寄存器区(80H~FFH),访问它只能用直接寻址。
内部程序存储器:在8031片内无程序存储器,8051片内具有4KB掩模ROM,8751片内具有4KBEPROM。
8.引脚是片内外程序存储器的选择信号。
当端保持高电平时,访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(对于8051/8751/80C51)或1FFFH(对于8052)时,将自动转向访问外部程序存储器。
《单片机原理与接口技术》课后答案(段晨东主编)详尽版

第一章复习思考题答案一、选择题1:B 2:C 3:B 4:A 5:B 6:D 7:D 8:C 9:B 10:B二、思考题1. 简述微型计算机的组成和工作原理。
微型计算机主要由微处理器CPU、存储器、输入设备和输出设备组成。
当使用计算机解决某个具体问题时,首先,根据解决问题的方案,编写出一系列解决这个问题的程序;然后,把程序输入到计算机中,命令计算机按照这些事先拟定步骤顺序执行。
CPU包括控制器和运算器。
CPU是计算机中最重要的部件,由它实现程序控制、操作控制、时序控制、数据加工、输入与输出控制、对异常情况和请求的处理等等。
存储器是计算机中的记忆部件,用来存储编写的程序,存放程序所用的数据以及产生的中间结果。
由输入设备把程序和数据送入计算机内部的“存储器”中保存,程序处理完毕把结果通过“输出设备”输出,以便人们识别。
接通电源后,CPU会自动地从存储器中取出要执行的程序代码,通过译码解析出代码所赋予的功能,如果进行数据运算,则从存储器中提取运算所需要的数据,再进行运算操作,并把运算结果存储到程序指定的存储区域,结束本次执行操作;如果执行转移操作,则提取程序代码中的转移信息,计算出程序转移的目标地址,然后跳转。
紧接着,CPU再从存储器中提取下一次要执行的代码,不断地重复上述操作过程。
2. 简述单片机在结构上与微型计算机的区别与联系。
微型计算机是以微处理器为基础,配以内存储器及输入输出(I/0)接口电路和相应的辅助而构成。
单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等集成到一块芯片上的微型计算机。
3. 单片机与微处理器有什么不同?单片机也称微控制器,它集成CPU、ROM、RAM、存储器、I/O口等,而微处理器是是CPU,它仅集成了运算器和控制器,没有存储器和接口。
4. 把下列十进制数转换为二进制数、八进制和十六进制数。
单片机原理及接口技术题目及答案

单片机原理及接口技术题目及答案一、填空1. 如果(A)=45H,(R1)=20H,(20H)=12H,执行XCHD A, @ R1;结果(A)=42H ,(20H)=15H2. AT89S51的异步通信口为全双工(单工/半双工/全双工),若传送速率为每秒120帧,每帧10位,则波特率为1200 bit/s3. AT89S51内部数据存储器的位地址空间的字节地址范围是20H-2FH,对应的位地址范围是 00H-FFH。
4. 单片机也可称为微控制器或嵌入式控制器5. 当MCS-51执行MOVX A,@R1指令时,伴随着 RD控制信号有效。
6. 当单片机的PSW=01H时,这时当前的工作寄存器区是 0 区,R4所对应的存储单元地址为 04 H7. AT89S51的 P0 口为高8位地址总线口。
8. 设计一个以AT89C51单片机为核心的系统,如果不外扩程序存储器,使其内部4KB闪烁程序存储器有效,则其EA*引脚应该接 +5V9. 在R7初值为00H的情况下,DJNZ R7,rel指令将循环执行256 次。
10. 欲使P1口的低4位输出0,高4位不变,应执行一条ANL P1, #0F0H 命令。
11. 单片机外部三大总线分别为数据总线、地址总线和控制总线。
12. 数据指针DPTR有 16 位,程序计数器PC有 16 位13. 74LS138是具有3个输入的译码器芯片,用其输出作片选信号,最多可在 8块芯片中选中其中任一块。
14. MCS-51指令系统中,ADD与ADDC指令的区别是进位位Cy是否参与加法运算15. 特殊功能寄存器中,单元地址低位为0或8 的特殊功能寄存器,可以位寻址。
16. 开机复位后,CPU使用的是寄存器第0组,地址范围是 00H-07H17. 若某存储器芯片地址线为12根,那么它的存储容量为 4kB18. 关于定时器,若振荡频率为12MHz,在方式0下最大定时时间为 8.192ms19. AT89S51复位后,PC与SP的值为分别为 0000H 和 07H20. LJMP跳转空间最大可达到 64K21. 执行如下三条指令后,30H单元的内容是 #0EHM O V R 1,#30HM O V 40H,#0 E HM O V ﹫R 1,40H二、判断题1 当EA脚接高电平时,对ROM的读操作只访问片外程序存储器。
单片机原理及接口技术(C51编程)(第2版)-习题答案汇总68430

第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为微控制器或嵌入式控制器2.单片机与普通微型计算机的不同之处在于其将CPU、存储器、和I/O 口三部分,通过内部总线连接在一起,集成于一块芯片上。
3. AT89S51单片机工作频率上限为33MHz MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低成本和提高可靠性二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用3. 下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B.家用电器的控制C.数据库管理 D.汽车电子设备三、判断对错1. STC系列单片机是8051内核的单片机。
对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B 的RAM、1个中断源、1个定时器(且具有捕捉功能)。
对3. 单片机是一种CPU。
错4. AT89S52单片机是微处理器。
错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。
对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。
对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对第2章思考题及习题2参考答案一、填空1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为2µs。
2. AT89S51单片机的机器周期等于12个时钟振荡周期。
3. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为28H和88H。
单片机原理及接口技术课后答案

单片机原理及接口技术课后答案一. 单片机原理答案:1. 单片机是一种集成电路,内部集成了处理器、存储器、输入输出接口、定时器等功能部件,可作为微型计算机独立运行。
2. 单片机是指在一个芯片上集成了微处理器和其他功能部件的集成电路。
3. 单片机通常由中央处理器(CPU)、存储器(RAM和ROM)、输入输出(I/O)端口和定时/计数器组成。
二. 接口技术答案:1. 并行接口:数据同时传输多个位,可实现高速数据传输,例如并口打印机接口。
2. 串行接口:数据逐位传输,可以减少传输线路的数量,适用于长距离传输和高速传输,例如串口通信接口。
3. USB接口:通用串行总线接口,可同时传输数据和供电,适用于各种外部设备的连接。
4. 显示接口:用于连接显示器和单片机,例如VGA接口和HDMI接口。
5. 通信接口:用于与其他设备进行数据通信,例如以太网接口、无线通信接口等。
三. 单片机接口技术答案:1. 数字输入输出(GPIO):用于控制外部数字设备的输入和输出,可进行数据采集、信号发送等操作。
2. PWM输出:通过调节输出信号的占空比来实现模拟输出,适用于控制电机转速、LED亮度等场景。
3. ADC输入:用于对模拟信号进行数字量化转换,实现对外部模拟信号的采样和处理。
4. UART串口通信:通过串口接口进行数据的传输和通信,可连接其他设备进行数据交互。
5. I2C总线:用于连接多个器件,实现器件之间的通信和控制。
四. 其他接口技术答案:1. SPI总线:用于连接外部器件,支持全双工通信和高速数据传输。
2. CAN总线:用于工业控制系统中的设备之间进行通信和数据交换。
3. Ethernet接口:用于连接网络,实现本地网络和互联网的通信。
4. GPIO扩展:通过扩展芯片或寄存器实现更多的GPIO管脚,扩展单片机的输入输出能力。
5. 定时/计数器:通过定时器和计数器实现对时间的计数和控制,用于生成精确的时钟信号和进行定时操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机答案第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。
答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。
答:CPU、存储器、I/O 口、总线3. AT89S51单片机工作频率上限为 MHz。
答:24MHz。
4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。
答:成本,可靠性。
二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答:B2. 在家用电器中使用单片机应属于微计算机的。
A.辅助设计应用B.测量、控制应用C.数值计算应用D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。
A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备答:C三、判断对错1. STC系列单片机是8051内核的单片机。
对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。
对3. 单片机是一种CPU。
错4. AT89S52单片机是微处理器。
错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。
对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。
对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。
对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。
对第2章思考题及习题2参考答案一、填空1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2µs2. AT89S51单片机的机器周期等于个时钟振荡周期。
答:123. 内部RAM中,位地址为40H、88H的位,该位所在字节的字节地址分别为和。
答:28H,88H4. 片内字节地址为2AH单元最低位的位地址是;片内字节地址为A8H单元的最低位的位地址为。
答:50H,A8H5. 若A中的内容为63H,那么,P标志位的值为。
答:06. AT89S51单片机复位后,R4所对应的存储单元的地址为,因上电时PSW= 。
这时当前的工作寄存器区是组工作寄存器区。
答:04H,00H,0。
7. 内部RAM中,可作为工作寄存器区的单元地址为 H~ H。
答:00H,1FH8. 通过堆栈操作实现子程序调用时,首先要把的内容入栈,以进行断点保护。
调用子程序返回指令时,再进行出栈保护,把保护的断点送回到,先弹出的是原来中的内容。
答:PC, PC,PCH9. AT89S51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为AT89S51单片机的PC是16位的,因此其寻址的范围为 KB。
答:6410. AT89S51单片机复位时,P0~P3口的各引脚为电平。
答:高11. AT89S51单片机使用片外振荡器作为时钟信号时,引脚XTAL1接,引脚XTAL2的接法是。
答:片外振荡器的输出信号,悬空12. AT89S51单片机复位时,堆栈指针SP中的内容为,程序指针PC中的内容为。
答:07H,0000H二、单选1. 程序在运行中,当前PC的值是。
A.当前正在执行指令的前一条指令的地址 B.当前正在执行指令的地址。
C.当前正在执行指令的下一条指令的首地址 D.控制器中指令寄存器的地址。
答:C2. 判断下列哪一种说法是正确的A.PC是一个可寻址的寄存器 B.单片机的主频越高,其运算速度越快。
C.AT89S51单片机中的一个机器周期为1µsD.特殊功能寄存器SP内存放的是堆栈栈顶单元的内容。
答: B三、判断对错1. 使用AT89S51单片机且引脚EA=1时,仍可外扩64KB的程序存储器。
错2. 区分片外程序存储器和片外数据存储器的最可靠的方法是看其位于地址范围的低端还是高端。
错3. 在AT89S51单片机中,为使准双向的I/O口工作在输入方式,必须事先预置为1。
对4. PC可以看成是程序存储器的地址指针。
对5. AT89S51单片机中特殊功能寄存器(SFR)使用片内RAM的部份字节地址。
对6. 片内RAM的位寻址区,只能供位寻址使用,而不能进行字节寻址。
错7. AT89S51单片机共有26个特殊功能寄存器,它们的位都是可以用软件设置的,因此,都是可以位寻址的。
错8. 堆栈区是单片机内部的一个特殊区域,与RAM无关。
错9. AT89S51单片机进入空闲模式,CPU停止工作。
片内的外围电路(如中断系统、串行口和定时器)仍将继续工作。
对10. AT89S51单片机不论是进入空闲模式还是掉电运行模式后,片内RAM和SFR中的内容均保持原来的状态。
对11. AT89S51单片机进入掉电运行模式,CPU和片内的外围电路(如中断系统、串行口和定时器)均停止工作。
对12. AT89S51单片机的掉电运行模式可采用响应中断方式来退出。
对四、简答1. AT89S51单片机片内都集成了哪些功能部件答:集成了如下部件:1个CPU;128个数据存储器(RAM)单元;8K Flash程序存储器;4个8位可编程并行I/O口(P0口、P1口、P2口、P3口); 1个全双工串行口;3个16位定时器/计数器;1个看门狗定时器;一个中断系统,6个中断源,2个优先级;32个特殊功能寄存器(SFR)。
2. AT89S51的64KB程序存储器空间有5个单元地址对应AT89S51单片机5个中断源的中断入口地址,请写出这些单元的入口地址及对应的中断源。
答:见下表表 AT89S51各中断源的中断入口地址3. 说明AT89S51单片机的EA引脚接高电平或低电平的区别。
答:当EA脚为高电平时,单片机读片内程序存储器(4K 字节Flash)中的内容,但在PC值超过0FFFH(即超出4K字节地址范围)时,将自动转向读外部程序存储器内的程序;当EA脚为低电平时,单片机只对外部程序存储器的地址为0000H~FFFFH中的内容进行读操作,单片机不理会片内的4K字节的Flash程序存储器。
第3章思考题及习题3一、填空1.与汇编语言相比, C51语言具有、、、等优点。
答:可读性好,可移植性好,模块化开发与资源共享,生成的代码效率高2.C51语言头文件包括的内容有8051单片机,以及的说明。
答:片内的外设硬件资源,相应的特殊功能寄存器3.C51提供了两种不同的数据存储类型和来访问片外数据存储区。
答:xdata,pdata4.C51提供了code存储类型来访问。
答:程序存储区5.对于SMALL存储模式,所有变量都默认位于8051单片机。
答:内部的数据存储器6.C51用“*”和“&”运算符来提取指针变量的和变量的。
答:内容,地址二、判断对错1.C51语言处理单片机的中断是由专门的中断函数来处理的。
对2.在C51语言中,函数是一个完成一定相关功能的执行代码段,它与另外两个名词“子程序”和“过程”用来描述同样的事情。
对3.在C51语言编程中,编写中断服务函数时需要考虑如何进行现场保护、阻断其他中断、返回时自动恢复现场等处理的程序段的编写。
错4.全局变量是在某一函数中存在的变量,它只在该函数内部有效。
错5.全局变量可使用static关键词进行定义,由于全局变量一直存在,占用了大量的内存单元,且加大了程序的耦合性,不利于程序的移植或复用。
对6.绝对地址包含头文件定义了几个宏,用来确定各类存储空间的绝对地址。
对三、简答1.C51在标准C的基础上,扩展了哪几种数据类型答:扩展了4种数据类型,它们是:bit、sfr、sfr16和sbit。
2.C51有哪几种数据存储类型其中数据类型“idata,code,xdata,pdata”各对应AT89S51单片机的哪些存储空间答:C51有6种数据存储类型data、bdata、idata、xdata、pdata和code。
数据存储类型idata对应片内RAM的256字节。
数据存储类型code对应程序存储区。
数据存储类型xdata对应片外64KB的RAM空间。
数据存储类型pdata对应片外RAM的256字节。
3.bit与 sbit定义的位变量有什么区别答:bit是用来定义普通的位变量,它的值只能是二进制的0或1。
而sbit定义的是特殊功能寄存器的可寻址位,它的值是可以进行位寻址的特殊功能寄存器的某位的绝对地址,例如PSW寄存器OV位的绝对地址0xd2。
4.说明3种数据存储模式(1)SMALL模式(2)COMPACT模式(3)LARGE模式之间的差别。
答:3种数据存储模式之间的差别如下:(1)SMALL模式。
在该模式下,所有变量都默认位于8051单片机内部的数据存储器,这与使用data指定存储器类型的方式一样。
在此模式下,变量访问的效率高,但是所有数据对象和堆栈必须使用内部RAM。
(2)COMPACT模式。
本模式下的所有变量都默认在外部数据存储器的1页(256字节)内,这与使用pdata指定存储器类型是一样的。
该存储器类型适用于变量不超过256字节的情况,此限制是由寻址方式决定的,相当于使用数据指针@Ri进行寻址。
与SMALL模式相比,该存储模式的效率比较低,对变量访问的速度也慢一些,但比LARGE 模式快。
(3)LARGE模式。
在LARGE模式下,所有变量都默认位于外部数据存储器,相当于使用数据指针@DPTR进行寻址。
通过数据指针访问外部数据存储器的效率较低,特别是当变量为2字节或更多字节时,该模式要比SMALL和COMPACT产生更多的代码。
5.do-while构成的循环与while循环的区别是什么答:(1)while语句。
while语句的语法形式为:while(表达式){循环体语句;}表达式是while循环能否继续的条件,如果表达式为真,就重复执行循环体语句;反之,则终止循环体内的语句。
while循环的特点在于,循环条件的测试在循环体的开头,要想执行重复操作,首先必须进行循环条件的测试,如果条件不成立,则循环体内的重复操作一次也不能执行。
(2)do-while语句。
do while语句的语法形式为:do{循环体语句;}while(表达式);do-while语句的特点是先执行内嵌的循环体语句,再计算表达式,如果表达式的值为非0,则继续执行循环体语句,直到表达式的值为0时结束循环。
由do-while构成的循环与while循环十分相似,它们之间的重要区别是:while 循环的控制出现在循环体之前,只有当while后面表达式的值非0时,才可能执行循环体,在do-while构成的循环中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是0还是非0,循环体至少要被执行一次。