《单片机原理与接口技术(修订本)》部分习题与参考答案
单片机原理及接口技术课后习题 答案
第九章复习思考题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章绪论1-4、51系列单片机是如何命名的?89C51单片机的显著特点是?(p4)解答: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。
第2章 MCS-51系列单片机的结构及原理2-1、89C51由哪几部分组成?解答:MCS-51单片机由8个部件组成:中央处理器(CPU),片数据存储器(RAM),片程序存储器(ROM/EPROM),输入/输出接口(I/O口,分为P0口、P1口、P2口和P3口),可编程串行口,定时/计数器,中断系统及特殊功能寄存器(SFR)。
中央处理器(CPU):单片机的核心部分,它的作用是读入和分析每条指令,根据每条指令的功能要求,控制各个部件执行相应的操作。
片数据存储器(RAM):存放各项操作的临时数据。
片程序存储器(ROM/EPROM):存放单片机运行所需的程序。
输入/输出接口(I/O口):单片机与外设相互沟通的桥梁。
可编程串行口:可以实现与其它单片机或PC机之间的数据传送。
定时/计数器:具有可编程功能,可以完成对外部事件的计数,也可以完成定时功能。
中断系统:可以实现分时操作、实时处理、故障处理等功能。
特殊功能寄存器(SFR):反映单片机的运行状态,包含了单片机在运行中的各种状态字和控制字,以及各种初始值。
2-13、89C51单片机低功耗方式有几种?各有什么特点?(p29)解答:8051单片机应用系统的电压检测电路监测到电源下降时,触发外部中断,在中断服务子程序中将外部RAM中的有用数据送入部RAM保存。
单片机原理与接口技术课后习题答案_李朝青
第一章1.什么是微处理器(CPU)、微机和单片机?答:微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。
单片机是将微处理器、一定容量的RAM、ROM以及I/O口、定时器等电路集成在一块芯片上,构成的单片微型计算机。
2.单片机具有哪些特点(1)片内存储容量越来越大。
(2抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运行速度高,控制功能强。
(5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上3.微型计算机怎样执行一个程序?答:通过CPU指令,提到内存当中,再逐一执行。
5.什么是嵌入式系统?他有哪些类型?为什么说单片机是典型的嵌入式系统?答;嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
它有嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统等。
嵌入式系统的出现最初是基于单片机的。
它从体系结构到指令系统都是按照嵌入式应用特点专门设计的,能最好的满足面对控制对象,应运系统的嵌入、现场的可靠运行以及非凡的控制品质要求。
因此,她是典型的嵌入式系统。
第二章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,并执行片外程序存储器中的指令。
单片机原理及接口技术课后习题答案_李朝清
第一章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)时,将自动转向访问外部程序存储器。
单片机原理及接口技术课后答案李朝青第三版定稿版
单片机原理及接口技术课后答案李朝青第三版精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】第一题 8051单片机内包含哪些主要逻辑功能部件?1.CPU2.ROM3.RAM4.Timer/Counter5.UART(串口)(通用异步串行接收机发送机)6.4个8bits Port(并口)7.Int0,int1(外部中断)第二题8051的/EA端有什么用处?1.EA端Enable Address(外部程序存储器地址允许输入端)2.低电平有效3.EA=0(低电平有效)时,只允许访问外部存储器4.EA=1时,可以访问内部和外部存储器5.EA还有复用功能,Vpp(Pulse of Programming)(编程脉冲)(固化编程电压输入端)第三题8051的存储器分为那几个空间怎样区别不同空间的寻址1.ROM(片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits地址)(64KB)2.片外RAM(MOVX)(16bits地址)(64KB)3.片内RAM(MOV)(8bits地址)(256B)什么是普林斯顿结构哈佛结构1.普林斯顿结构,ROM和RAM统一编址2.哈佛结构,ROM和RAM分开编址第四章8051片内RAM的空间是怎样分配的?1.片内RAM有256B2.低128B是真正的RAM区3.高128B是SFR(特殊功能寄存器)区真正的RAM区可以分成那几个部分?1.4个工作寄存器区(R0~R7)2.位寻址区3.真正的RAM区第五题简述布尔处理存储器的空间分配,片内RAM中包含哪些可位寻址单元?1.片内RAM区从00H~FFH(256B)2.其中20H~2FH(字节地址)是位寻址区3.对应的位地址是00H~7FH第六题如何简洁地判断8051正在工作?1.用示波器观察8051的XTAL2端是否有脉冲信号输出(判断震荡电路工作是否正常)2.ALE(地址锁存允许)(Address Latch Enable)输出是fosc的6分频3.用示波器观察ALE是否有脉冲输出(判断 8051芯片的好坏)4.观察PSEN(判断8051能够到EPROM 或ROM中读取指令码)5.因为/PSEN接外部EPROM(ROM)的/OE端子6.OE=Output Enable(输出允许)第七题 8051如何确定和改变当前工作寄存器组?1.PSW(程序状态字)(Program Status Word)中的RS1和RS02.可以给出4中组合3.用来从4组工作寄存器组中进行选择4.PSW属于SFR(Special Function Register)(特殊功能寄存器)第十题 8051的/EA信号有什么功能在使用8031的时候,EA信号引脚应该如何处理1.EA=Enable Address(外部程序存储器地址允许输入端)2.EA=0(低电平有效)只允许访问外部存储器3.EA=1内外ROM都可以访问4.因为8031没有片内ROM5.只能访问片外的EPROM6.应该使EA=0(有效)第十二题内部RAM第128B单元划分成那几个主要部分各部分主要功能是什么1.当前工作寄存器组(4组)(00H~1FH)2.位寻址区(20H~2FH)3.真正的RAM区(30H~7FH)第十三题使单片机复位有哪几种方法?复位后机器的初始状态如何?1.上电复位2.上电复位+手动复位3.脉冲复位4.复位会重置一些寄存器第十四题开机复位后,CPU使用的是哪组工作寄存器它们的地址什么什么1.8051有4个工作寄存器组2.分别从R0~R73.分别位于 00H~07H,08H~0FH,10H~17H,18H~1FH4.开机复位后,默认使用寄存器组0第十五题 PSW的作用是什么作用是什么1.PSW是一个SFR(特殊功能寄存器)2.位于片内RAM的高128B3.具体地址D0H(00H~FFH)(片内RAM的编址)(8bits编址方法)4.PSW=Program Status Word(程序状态字)PSW的常用标志位有哪些?1.CY=Carry(进位标志位)2.AC=Auxiliary Carry(辅助进位标志位)(半进位标志位)3.F0用户标志位4.RS1,RS0,用来选择当前工作寄存器组(R0~R7)(4选1)5.OV=Overflow(溢出标志位)6.P=Parity(奇偶校验位)第十五题位地址7CH和字节地址7CH如何区别位地址7CH在片内RAM中什么地方1.片内RAM的地址从00H~FFH2.其中20H~2FH(字节地址)是位寻址区(bits)3.位地址从00H~7FH4.位地址7CH位于字节地址2FH5.可以从寻址方式来区分6.位地址使用位寻址方式7.字节地址使用直接寻址,间接寻址第十七题 8051的时钟周期,震荡周期有什么关系?1.震荡周期2.时钟周期=状态周期(state)3.时钟周期=2*振荡周期4.机器周期=6*时钟周期=12*震荡周期5.指令周期=1~4个机器周期第十八题一个机器周期的时序如何划分?1.一个机器周期=12个震荡周期=6个时钟周期(状态周期)2.S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,S5P2,S6P1,S6P23.其中s=state(状态),p=phase(相位)第十九题什么叫做堆栈SP是什么它的作用是什么8051堆栈的容量不能超过多少个字节?1.Stack(堆栈)2.具有FILO,LIFO的特性3.SP=Stack Pointer(堆栈指针)4.SP是栈顶指示器评论这张1.微处理器,RAM,ROM,以及I/O口,定时器,构成的微型计算机称为单片机。
单片机原理及接口技术试题及答案
单片机原理及接口技术试题及答案一、填空题(25分,每空1分)1. AT89S51单片机为位单片机2. MCS-51系列单片机的典型芯片分别为、、。
3. AT89S51的异步通信口为(单工/半双工/全双工)4. AT89S51有级中断,个中断源5. AT89S51内部数据存储器的地址范围是,位地址空间的字节地址范围是,对应的位地址范围是,外部数据存储器的最大可扩展容量是。
6. AT89S51单片机指令系统的寻址方式有、_______、_ ___、_ ____、。
7. 如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= ,(R7)=。
8. 82C55可以扩展个并行口,其中条口线具有位操作功能;9. 当单片机复位时PSW= H,这时当前的工作寄存器区是区,R4所对应的存储单元地址为 H。
10. 若A中的内容为67H,那么,P标志位为。
11. 74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中片芯片。
二、判断以下指令的正误:(5分)(1)MOV 28H,@R4;()(2)INC DPTR;()(3)DEC DPTR ;()(4)CLR R0 ;()(5)MOV T0,#3CF0H;()三、简答题1. 如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:POP DPH; POP DPL; POPSP;则:(DPH)= __ ___;(DPL )=____ ____;(SP )=____ ____;(6分) 2. 采用6MHz 的晶振,定时1ms ,用定时器方式0时的初值应为多少?(请给出计算过程)(6分)3. 分析下列程序的功能(5分) PUSH ACC PUSH B POP ACCPOP B四、图为8段共阴数码管,请写出如下数值的段码。
0____ __;1_______ _;2_______ _;3____ _ ;_4______ ;5_____ ; P_____ _;7_______ ;8____ __;C_______;五、简述AT89S51单片机主从结构多机通信原理,设有一台主机与三台从机通信,其中一台从机通信地址号为01H ,请叙述主机呼叫从机并向其传送一个字节数据的过程。
单片机原理与接口技术课后答案
单片机原理与接口技术课后答案以下为单片机原理与接口技术课后答案:1. 什么是单片机?单片机是一种高度集成的计算机内核,具有处理器、内存、输入/输出接口等元件,可以用于控制、处理和操作外部设备。
2. 单片机的工作原理是什么?单片机的工作原理是通过执行存储在其内部存储器中的指令,来控制外围设备的操作。
它具有时钟、ALU、寄存器和一个指令集,通过时钟信号的控制,按照程序指令的顺序进行执行。
3. 单片机与外部设备的连接方式有哪些?单片机与外部设备的连接方式有并行接口、串行接口、通信总线接口等。
4. 并行接口是如何工作的?并行接口是使用多个传输线同时传输数据的接口。
单片机通过并行接口的数据总线,向外部设备发送数据或接收数据,同时通过控制线发送控制信号。
5. 串行接口是如何工作的?串行接口是使用单个传输线逐位传输数据的接口。
单片机通过串行接口的发送线发送数据,通过接收线接收数据,并且通过控制线发送控制信号。
6. 通信总线接口是如何工作的?通信总线接口通过将单片机与外部设备连接到同一总线上,实现它们之间的通信。
单片机可以通过总线向外部设备发送数据或接收数据。
7. 单片机的输入接口如何实现?单片机的输入接口可以通过输入寄存器、输入缓冲器和输入/输出控制电路等,将外部设备的信号输入到单片机中。
8. 单片机的输出接口如何实现?单片机的输出接口可以通过输出寄存器、输出缓冲器和输出/输入控制电路等,将单片机中的数据发送到外部设备。
9. 单片机的中断技术是什么?单片机的中断技术是在执行程序的过程中,根据一定的条件发生中断,暂停当前的程序执行,转而处理中断服务程序,然后再返回到原来的程序继续执行。
10. 单片机的定时器/计数器是什么?单片机的定时器/计数器是一种可编程的设备,可用于产生定时延迟、计数外设事件等。
它可以通过编程设置计数范围和工作方式,在给定的时钟信号下进行计数操作。
以上为单片机原理与接口技术课后答案。
单片机原理与接口技术张毅刚课后习题答案
第1章微控制器概述1 .除了单片机的名称外,单片机也可以称为and。
答:微控制器,嵌入式控制器。
2 .单片机与普通微机的区别在于,它把、、、 3部分集成在一个芯片上。
答: CPU 、内存、 I/O口。
3 . 8051和8751的区别是。
A._不同数量的数据存储单元B. _ 不同类型的外部数据存储器C._不同类型的外部程序存储器D._外部寄存器数量不同答案: C。
4 .家用电器中使用单片机应该属于微机。
A. _辅助设计应用;B.测控应用;C.数值计算应用;D.数据处理应用答案: B。
5 .微处理器、微机、微处理器、 CPU、单片机有什么区别?答:微处理器、微处理器和CPU都是中央处理器的不同名称;而微机和单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上,用于测量和控制目的的单片机。
计算机。
6 . MCS-51系列单片机的基本芯片有哪些?他们有什么区别?答: MCS-51系列单片机的基本芯片分别是8031、8051和8751 。
不同之处在于片上程序存储器。
8031没有程序存储器, 8051有4KB程序存储器ROM , 8751集成4KB程序存储器EPROM 。
7 .为什么51系列单片机不叫MCS-51系列单片机?答:因为MCS-51系列单片机中的“ MCS ”是英特尔公司生产的单片机的系列符号,而51系列单片机是指所有的单片机全球各厂家生产的兼容8051核心结构和指令系统的。
8 . MCS-51系列中哪一种产品相当于AT89C51单片机?答:相当于MCS-51系列中的51 ,87C只是AT 89C51芯片的4KB Flash替换了87C51芯片的4KB EPROM 。
第二章AT 51 MCU 芯片89C硬件结构1 .在AT89C51单片机中,如果使用6MHz晶振,一个机器周期为 .答案: 2µs2 . AT89C51微控制器的机器周期等于一个时钟振荡周期。
答案: 12 。
3 .在内部RAM中,位地址为40H和88H的位,该位所在字节的字节地址为 and。
单片机原理及接口技术-习题答案汇总.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单选题(1) C (2) D (3) A (4) A (5) B1.2简答题(1)单片微型计算机(Single Chip Microcomputer)简称单片机,是指将中央处理器(CPU)、存储器(Memory)、输入/输出(Input/Output,简称I/O)接口电路、定时器/计数器等多种功能部件都集成在一块半导体芯片上,构成一个完整的微型计算机。
一块完整的单片机一般包括CPU、RAM、ROM、I/O接口、定时器/计数器及时钟振荡电路。
(2) 1)分析系统功能2)进行硬件设计3)进行软件设计4)仿真调试5)样机制作(3) 1)性价比高2)体积小、集成度高、速度快、可靠性高3)控制功能强4)单片机系统配置灵活、方便5)类型多(4) 1)工业控制2)智能化仪器仪表3)计算机网络与通信4)家用电器(5) 1)启动KeilC51软件2)新建工程文件3)新建并添加源文件4)设置工程属性5)编译工程2.1单选题(1)C (2) A (3) D (4) A (5) B (6) B (7) B (8) C2.2 简答题(1) 1)一个8位CPU,是单片机的核心组成部分,由运算器和控制器组成2)一个片内时钟振荡器及定时电路。
3)程序存储器(ROM)4)数据存储器(RAM)5)两个16位定时器/计数器6)32条双向I/O口线(4个8位并行I/O端口)7)一个全双工异步串行口。
8)5个中断源(2个外部中断,3个内部中断),2个优先级的中断结构。
(2) 片内256个字节RAM按功能分两部分:低128字节为片内数据区,地址空间为0x00~0x7F;分为三个区:工作寄存器区(32个字节),位寻址区(16个字节),用户RAM区(80个字节),高128个字节为特殊功能寄存器(SFR)区域,地址空间为0x80~0xFF。
复位后使用的工作寄存器位于0区。
(3)程序状态字寄存器PSW是用于存放程序运行的状态信息,此寄存器各位的含义如下(其中PSW.1未定义):CY——进位标志。
《单片机原理与接口技术》习题答案
李升主编《单片机原理与接口技术》习题参考答案目录习题一............................................... - 1 - 习题二............................................... - 1 - 习题三............................................... - 2 - 习题四............................................... - 4 - 习题五.............................................. - 12 - 习题六.............................................. - 16 - 习题七.............................................. - 17 - 习题八.............................................. - 20 - 习题九.............................................. - 23 - 习题十.............................................. - 25 - 习题十一............................................ - 31 - 习题十二............................................ - 32 - 习题十三............................................ - 34 - 习题十四............................................ - 34 -习题一一、单项选择题1. C2. D3. B二、填空题1.CPU、存储器、定时器/计数器、I/O接口电路2.87513.128B4. 45.8031、EPROM、锁存器三、简答题1、将CPU、只读存储器(ROM)、随机存储器(RAM)、定时器/计数器和多种I/O接口电路都集成到一块集成电路芯片上的微型计算机就是单片微型计算机,简称单片机。
单片机原理与接口技术课后答案
单片机原理与接口技术课后答案(共20页)-本页仅作为预览文档封面,使用时请删除本页-第一章1:什么是单片机?单片机是一种面向工业的微处理器,它将CPU、RAM、ROM存储器、定时计数器、中断系统、I/O 接口电路集成在一个芯片上,也叫单片微型计算机。
由于体积小、功能强、可靠性高、功耗更低,可以嵌入到任何工业设备和仪器仪表中,被作为嵌入式控制器,被广泛地应用在工业控制领域。
2 单片机有哪些特点?答: (1)单片机的存储器ROM和RAM是严格区分的。
ROM称为程序存储器,只存放程序、固定常数及数据表格。
RAM 则为数据存储器,用作工作区及存放用户数据。
(2)采用面向控制的指令系统。
(3)单片机的I/O 引脚通常是多功能的。
(4)单片机的外部扩展能力强。
(5)单片机体积小,成本低,运用灵活,易于产品化。
(6)面向控制,能有针对性地解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比。
(7)抗干扰能力强,适用温度范围宽。
(8)可以方便地实现多机和分布式控制,使整个控制系统的效率和可靠性大为提高。
3 单片机的应用有哪些?答: (1)工业控制。
单片机可以构成各种工业控制系统、数据采集系统等。
如数控机床、自动生产线控制、电机控制、测控系统等。
(2)仪器仪表。
如智能仪表、医疗器械、数字示波器等。
(3)计算机外部设备与智能接口。
如图形终端机、传真机、复印机、打印机、绘图仪、磁盘/磁带机、智能终端机等。
(4)商用产品。
如自动售货机、电子收款机、电子秤等。
(5)家用电器。
如微波炉、电视机、空调、洗衣机、录像机、音响设备等。
(6)消费类电子产品。
(7)通讯设备和网络设备。
(8)儿童智能玩具。
(9)汽车、建筑机械、飞机等大型机械设备。
(10)智能楼宇设备。
(11)交通控制设4.常见的单片机有哪些类型?答: 1 .AVR 单片机;2.Motorola 单片机;3.MicroChip 单片机;4.Scenix 单片机;5.EPSON单片机;7.GMS90 单片机;8.华邦单片机 9.Zilog 单片机;10.NS 单片机;11.AX1001单片机第二章1,MCS-51 单片机内部包含哪些主要逻辑功能部件答:(1)1 个8 位的微处理器CPU。
单片机原理及接口技术课后习题答案-李朝青
第一章1.什么是微处理器(CPU)、微机和单片机?答:微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。
单片机是将微处理器、一定容量的RAM、ROM以及I/O口、定时器等电路集成在一块芯片上,构成的单片微型计算机。
2.单片机具有哪些特点(1)片内存储容量越来越大。
(2抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运行速度高,控制功能强。
(5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上3.微型计算机怎样执行一个程序?答:通过CPU指令,提到内存当中,再逐一执行。
5.什么是嵌入式系统?他有哪些类型?为什么说单片机是典型的嵌入式系统?答;嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
它有嵌入式微处理器、嵌入式微控制器、嵌入式DSP处理器、嵌入式片上系统等。
嵌入式系统的出现最初是基于单片机的。
它从体系结构到指令系统都是按照嵌入式应用特点专门设计的,能最好的满足面对控制对象,应运系统的嵌入、现场的可靠运行以及非凡的控制品质要求。
因此,她是典型的嵌入式系统。
第二章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,并执行片外程序存储器中的指令。
《单片机原理与接口技术》课后答案(段晨东主编)详尽版
第一章复习思考题答案一、选择题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. 把下列十进制数转换为二进制数、八进制和十六进制数。
单片机原理和接口技术课后答案.doc
单片机原理和接口技术课后答案绪论1.第一台计算机的问世有何意义答第一台电子数字计算机ENIAC问世,标志着计算机时代的到来。
与现代的计算机相比,ENIAC有许多不足,但它的问世开创了计算机科学技术的新纪元,对人类的生产和生活方式产生了巨大的影响。
2.计算机由哪几部分组成答由运算器、控制器、存储器、输入设备和输出设备组成,运算器与控制器合称为CPU。
3.微型计算机由哪几部分构成答微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4.微处理器与微型计算机有何区别答微处理器集成了运算器和控制器(即CPU);而微型计算机包含微处理器、存储器和I/O接口电路等。
5.什么叫单片机其主要特点有哪些答在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
单片机主要特点有控制性能和可靠性高;体积小、价格低、易于产品化;具有良好的性能价格比。
6.微型计算机有哪些应用形式各适于什么场合答微型计算机有三种应用形式多板机(系统机)、单板机和单片机。
多板机,通常作为办公或家庭的事务处理及科学计算,属于通用计算机。
单板机,I/O设备简单,软件资源少,使用不方便。
早期主要用于微型计算机原理的教学及简单的测控系统,现在已很少使用。
单片机,单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
目前,单片机应用技术已经成为电子应用系统设计的最为常用技术手段。
7.当前单片机的主要产品有哪些各有何特点答多年来的应用实践已经证明,80C51的系统结构合理、技术成熟。
因此,许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能,从而形成了80C51的主流产品地位,近年来推出的与80C51兼容的主要产品有l ATMEL公司融入Flash存储器技术推出的AT89系列单片机;l Philips公司推出的80C51、80C552系列高性能单片机;l 华邦公司推出的W78C51、W77C51系列高速低价单片机;l ADI公司推出的ADμC8xx系列高精度ADC单片机;l LG公司推出的GMS90/97系列低压高速单片机;l Maxim公司推出的DS89C420高速(50MIPS)单片机;l Cygnal公司推出的C8051F系列高速SOC单片机等。
单片机原理与接口技术习题答案
单片机原理与接口技术习题答案习题与思考题11-1 微型计算机通常由哪些部分组成?各有哪些功能?答:微型计算机通常由控制器、运算器、存储器、输入/输出接口电路、输入设备和输出设备组成。
控制器的功能是负责从内部存储器中取出指令并对指令进行分析、判断、并根据指令发出控制信号,使计算机有条不紊的协调工作;运算器主要完成算数运算和逻辑运算;存储器用于存储程序和数据;输入/输出接口电路完成CPU与外设之间相连;输入和输出设备用于和计算机进行信息交流的输入和输出。
1-2 单片微型计算机与一般微型计算机相比较有哪些区别?有哪些特点?答:与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。
单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。
1-3 简述计算机的工作过程。
答:计算机的工作是由微处理器以一定的时序来不断的取指令、指令译码和执行指令的过程。
1-4 单片机的几个重要指标的定义。
答:单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。
1-5 单片微型计算机主要应用在哪些方面?答:单片机的主要应用领域有智能化产品、智能化仪表、智能化测控系统、智能化接口等方面。
1-6 为什么说单片微型计算机有较高的性能价格比和抗干扰能力?答:因为单片微型计算机主要面向特定应用而设计,设计者在硬件和软件上都高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,具备较高的性能、价格比;单片机嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中,另外单片机体积小,可以放入屏蔽设备中,从而使其具有较高的抗干扰能力。
1-7 简述单片机嵌入式系统的定义和特点。
答:单片机嵌入式系统是嵌入到对象体系中的专用计算机系统;其特点是面向特定应用、与各个行业的具体应用相结合、硬件和软件高效率、软件固化在存储器芯片或单片机本身和不具备自举开发能力。
单片机原理及接口技术课后答案
CLR(3) CLRCLRCLRCLR18、MOV27H,R7MOV26H, R6MOV25H, R5MOV24H, R4MOV23H, R3MOV22H, R2MOV21H, R1MOV20H, R019、MOV2FH,20MOV2EH,21MOV2DH, 2220、编程,进行两个16位数的减法:6F5DH-13B4H结果存入内部RAM的30和31H单元,30H 存低八位。
C L R CMOV A, #5DH;被减数的低8位f AMOV R2, #B4H;减数低8位f R2SUBB A, R2;被减数减去减数,差f AMOV30H, A;低8位结果f 30HMOV A, #6FH;被减数的高8位f AMOV R2, #13H;减数高8位f R2SUBB A, R2;被减数减去减数,差f AMOV31H, A;高8位结果f 30H注意:如果在你的程序中用到了进位位,在程序开始的时候要记得清0进位位21、编程,若累加器A满足下列条件,则程序转至LABEL存储单元,设A中为无符号数。
(1) A> 10CJNE A, #0AH, L1 ; (A)与10 比较,不等转L1 LJMP LABEL ;相等转LABELMOV @R0, AINC DPTR;指向下一个数据INC R0•DJNZ R2, LOOP;数据块长度减1,没传送完,继续传送RET35、解:(1000H) =53H(1001H) =54H(1002H) =41H(1003H) =52H(1004H) =54H(1005H) =12H(1006H) =34H(1007H) =30H(1008H) =00H(1009H) =70H36、阅读卜列程丿予说明其功能MOV RO, #40H ; 40H—R0MOV A, @R0 ; 98H—AINC R0;41H—R0ADD A, @R0;98H+ (41H) =47H H AINC R0MOV @R0, A;结果存入42H单元CLR A清AADDC A, #0;进位位存入AINC R0MOV @R0, A ; 进位位存入43H功能:将40H, 41H单兀中的内容相加结果放在42H单兀,进位放在43H单兀,(R0) =43H, (A) =1, (40H) =98H, (41H) =AFH,(42H) =47H, (43H) =01H37、同上题MOV A, 61H;F2H^AMOV B, #02H;02H—BMUL AB;F2H X O2H=E4H R AADD A, 62H;积的低8位加上CCH^AMOV 63H, A;结果送62HCLR A;清AADDC A, B;积的咼8位加进位位f AMOV 64H, A;结果送64H功能:将61H单元的内容乘上h亠八* 、” F ■亠2,低8位再加上62H单元的内容放入63H,将结果的咼8 位放在64H 单兀。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及接口技术(修订本)》部分习题与参考答案第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时如何接法?答:引脚是片外程序存储器的选择信号。
当端保持高电平时,访问部程序存储器,但在PC(程序计数器)值超过0FFFH(对于8051/8751/80C51)或1FFFH(对于8052)时,将自动转向访问外部程序存储器。
当端保持低电平时,不管是否有部程序存储器,则只访问外部程序存储器。
由于8031片没有程序存储器,所以在使用8031时,引脚必须接低电平。
2-4 MCS-51单片机的部存储空间是怎样分配的?答:MCS-51单片机的部存储空间分为数据存储器和程序存储器。
部数据存储器:共256字节单元,包括低128个单元和高128个单元。
低128字节又分成3个区域:工作寄存器区(00H~1FH),位寻址区(20H~2FH)和用户RAM区(30H~7FH)。
高128字节是供给特殊功能寄存器使用的,因此称之为特殊功能寄存器区。
部程序存储器:在8031片无程序存储器,8051片具有4KB掩模ROM,8751片具有4KBEPROM。
2-5 如何从MCS-51单片机的4个工作寄存器组中选择当前工作寄存器组?答:MCS-51单片机提供了4组工作寄存器,对于当前工作寄存器组的选择,是通过PSW 中的RS1和RS0来进行选择。
具体关系如下表:2-6 部RAM低128个单元是如何划分的?答:部RAM低128个单元按用途分成3个区域:工作寄存器区(00H~1FH),位寻址区(20H~2FH)和用户RAM区(30H~7FH)。
2-7 DPTR是什么寄存器?它的作用是什么?它由哪几个寄存器组成?答:DPTR是数据指针寄存器,是一个16位寄存器,用来存放16位存储器的地址,以便对外部数据存储器RAM中的数据进行操作。
DPTR由高位字节DPH和低位字节DPL组成。
2-8 什么是堆栈?堆栈有何作用?为什么在程序初始化时要对SP重新赋值?答:所谓堆栈,顾名思义就是一种以“堆”的方式工作的“栈”。
堆栈是在存中专门开辟出来的按照“先进后出,后进先出”的原则进行存取的RAM区域。
堆栈的用途是保护现场和断点地址。
在8051单片机复位后,堆栈指针SP总是初始化到部RAM地址07H。
从08H开始就是8051的堆栈区,这个位置与工作寄存器组1的位置相同。
因此,在实际应用中,通常要根据需要在程序初始化时对SP重新赋值,以改变堆栈的位置。
2-9 试述程序状态字寄存器PSW各位的含义。
答:程序状态字寄存器PSW是8位寄存器,用于存放程序运行的状态信息。
CY(PSW.7):进位标志位。
AC(PSW.6):辅助进位标志位。
F0(PSW.5)、F1(PSW.1):用户标志位。
RS1(PSW.4)、RS0(PSW.3):工作寄存器组选择位。
OV(PSW.2):溢出标志位。
P(PSW.0):奇偶标志位。
2-10 P0、P1、P2、P3口的结构有何不同?使用时要注意什么?各口都有什么用途?答:P0口由一个所存器、两个三态输入缓冲器、场效应管、控制与门、反相器和转换开关组成;作为输出口时,必须外接上拉电阻才能有高电平输出,作为输入口时,必须先向锁存器写“1”;作为普通I/O口使用或低8位地址/数据总线使用。
P1口没有转换开关,但有上拉电阻;只用作普通I/O口使用。
P2口比P1口多了一个转换控制开关;作为普通I/O口使用或高8位地址线使用。
P3口比P1口增加了与非门和缓冲器;具有准双向I/O功能和第二功能。
上述4个端口在作为输入口使用时,应注意必须先向端口写“1”。
2-11 请说出指令周期、机器周期、状态和拍的概念。
当晶振频率为12MHz、8MHz时,一个机器周期为多少微秒?答:指令周期:执行一条指令所需要的时间。
机器周期:CPU完成一个基本操作所需要的时间。
状态:振荡脉冲经过二分频后,得到的单片机的时钟信号。
拍:振荡脉冲的周期。
当晶振频率为12MHz时,一个机器周期为1μs;当晶振频率为8MHz时,一个机器周期为3μs。
2-12 什么是单片机复位?复位后单片机的状态如何?答:在时钟电路工作后,只要在单片机的RESET引脚上出现24个时钟震荡脉冲(两个机器周期)以上的高电平,单片机就能实现复位。
复位后,CPU和系统都处于一个确定的初始状态,在这种状态下,所有的专用寄存器都被赋予默认值,除SP=07H,P0~P3口为FFH外,其余寄存器均为0。
第3章 MCS-51系列单片机的指令系统3-3 MCS-51系列单片机有哪几种寻址方式?各种寻址方式所对应的寄存器或存储器寻址空间如何?答:MCS-51系列单片机提供了7种寻址方式:(1)立即寻址:操作数在指令中直接给出,立即数前面有“#”。
(2)直接寻址:在指令中直接给出操作数地址。
对应片低128个字节单元和特殊功能寄存器。
(3)寄存器寻址:以寄存器的容作为操作数。
对应的寄存器有:R0~R7、A、AB寄存器和数据指针DPTR。
(4)寄存器间接寻址:以寄存器的容作为RAM地址,该地址中的容才是操作数。
对应片RAM的低128个单元采用R0、R1作为间址寄存器,片外RAM低256个单元可用R0、R1作为间址寄存器,整个64KB空间可用DPTR作为间址寄存器。
(5)变址寻址:以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,并以两者容相加形成的16位地址作为操作数地址。
对应片、片外的ROM空间。
(6)相对寻址:只在相对转移指令中使用。
对应片、片外的ROM空间。
(7)位寻址:对可寻址的位单独进行操作。
对应位寻址区20H~2FH单元的128位和字节地址能被8整除的特殊功能寄存器的相应位。
3-4 若访问特殊功能寄存器,可使用那些寻址方式?答:直接寻址方式。
3-5 若访问外部RAM单元,可使用那些寻址方式?答:寄存器间接寻址方式。
3-6若访问部RAM单元,可使用那些寻址方式?答:立即寻址方式,直接寻址方式,寄存器寻址方式,寄存器间接寻址方式,位寻址方式。
3-7若访问外程序存储器,可使用那些寻址方式?答:变址寻址方式3-9 外部数据传送指令有几条?试比较下面每一组中两条指令的区别。
(1)MOVX A,R1 ,MOVX A,DPTR(2)MOVX A,DPTR ,MOVX DPTR,A(3)MOV R0 ,A ,MOVX R0,A(4)MOVC A,A+DPTR ,MOVX A,DPTR答:外部数据传送指令有6条:MOVX A,DPTR MOVX DPTR,AMOVX A,Ri MOVX Ri,AMOVC A,A+DPTR MOVC A,A+PC(1)MOVX A,R1 MOVX A,DPTR都是访问片外RAM,但二者寻址围不同。
前1条指令是对片外RAM低256个单元的“读”操作。
后1条指令是对片外RAM64KB空间的“读”操作。
(2)MOVX A,DPTR MOVX DPTR,A访问空间相同,但数据传送方向不同。
前1条指令是对片外RAM64KB空间的“读”操作。
后1条指令是对片外RAM64KB空间的“写”操作。
(3)MOV R0,A MOVX R0,A二者访问的空间不同。
前1条指令是对片RAM低128个单元的“写”操作。
后1条指令是对片外RAM低256个单元的“写”操作。
(4)MOVC A,A+DPTR MOVX A,DPTR二者访问的空间不同,寻址方式不同。
前1条指令是变址寻址方式,对ROM操作。
后1条指令是寄存器间接寻址方式,对片外RAM操作。
3-10 已知(30H)=40H,(40H)=10H,(10H)=32H,(P1)=EFH,试写出执行以下程序段后有关单元的容。
MOV R0,#30HMOV A,R0MOV R1, AMOV B,R1MOV R1, P1MOV P2, P1MOV 10H, #20HMOV 30H, 10H答:R0←30H,(R0)=30HA←((R0)),(A)=40HR1←(A),(R1)=40HB←((R1)),(B)=10H(R1)←(P1),((R1))=(40H)=EFHP2←(P1),(P2)=EFH10H←20H,(10H)=20H30H←(10H),(30H)=20H结果:(R0)=30H,(A)=40H,(R1)=40H,(B)=10H,(40H)=EFH,(P2)=EFH,(10H)=20H,(30H)=20H3-11 试写出完成以下数据传送的的指令序列。
(1)R1的容传送R0;(2)片外RAM 60H单元的容送入R0;(3)片外RAM 60H单元的容送入片RAM 40H单元;(4)片外RAM 1000H单元的容送入片外RAM 40H单元;(5)ROM 2000H单元的容送入R2;(6)ROM 2000H单元的容送入片RAM 40H单元;(7)ROM 2000H单元的容送入片外RAM 0200H单元。