单片机原理及其接口技术王敏课后作业答案
单片机原理及接口技术课后习题 答案
第九章复习思考题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 程序流程图。
最新单片机原理及其接口技术王敏课后作业答案
第二章作业(P40)2-4 MCS-51单片机中执行程序的地址放在哪?由几个位组成?最大寻址范围是多少?答:放在程序计数器PC中,16位,64KB。
2-5 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义?答:0000H 复位后,PC=0000H,开始执行程序的地址0003H 外部中断0 (INT0)入口地址000BH 定时器0中断(TF0)入口地址0013H 外部中断1(INT1)入口地址001BH 定时器1中断(TF1)入口地址0023H 串行口中断TI/RI入口地址2-10 开机复位以后,CPU使用哪一组工作寄存器?它们的地址是什么?如何改变当前工作寄存器?答:使用第0组工作寄存器,00H-07H,通过修改PSW中的RS1和RS0两位来改变当前的工作寄存器。
第三章作业(P75)3-7 指出指令中的50H或66H个代表什么?解:①MOV A, #50H 立即数MOV A, 50H 直接地址MOV 50H, #20H 直接地址MOV C, 50H 位地址MOV 50H, 20H 直接地址②MOV @R0, #66H 立即数MOV R6, #66H 立即数MOV 66H, #45H 直接地址MOV 66H, C 位地址MOV 66H, R1 直接地址3-9 写出能完成下列数据传送的指令:解:①R1中内容传送到R0;MOV A, R1MOV R0,A②内部RAM 20H单元中的内容送到30H单元;MOV 30H, 20H③外部RAM 20H单元中的内容送到内部RAM 20H单元;MOV R0,#20HMOVX A, @R0MOV 20H, A④外部RAM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV 20H, A⑤外部ROM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOV A, #00HMOVC A, @A+DPTRMOV 20H, A⑥外部2000H单元中的内容送到外部RAM 3000H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV DPTR, #3000HMOVX @DPTR, A3-11 已知:(20H)=X;(21H)=Y;(22H)=Z,请用图示说明下列程序执行后堆栈的内容是多少?①MOV SP, #70H ②MOV SP, #60HPUSH 20H PUSH 22HPUSH 21H PUSH 21HPUSH 22H PUSH 20H解:(73H)=Z;(72H)=Y;(71H)=X;(63H)=X;(62H)=Y;(61H)=Z;3-20 试编出能完成如下操作的程序:解:①使20H单元中数的高两位变“0”,其余位不变;ANL 20H, #3FH②使20H单元中数的高两位变“1”,其余位不变;0RL 20H, #0C0H③使20H单元中数的高两位变反,其余位不变;XRL 20H, #0C0H④使20H单元中数的高四位变“1”,低四位变“0”;MOV 20H, #0F0H⑤使20H单元中数的所有位变反。
单片机原理及接口技术课后答案
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)
“单片机原理与接口技术”习题答案(1)《单片机原理与接口技术》课后习题参考答案习题一1.在计算机内部,一切信息的存取、处理和传送都是以(D )形式进行。
A.EBCDIC码B.ASCII码C.十六进制编码D.二进制编码2. 一个字节由 8 位二进制数组成,即由 2 位十六进制数组成。
3. 将下列十进制数转换成二进制数。
(1)12 (2)100 (3)128 (4)1000答:(1)00001100 (2)01100100 (3)10000000 (4)0011111010004. 将下列十进制数转换成十六进制数。
(1)14 (2)127 (3)255 (4)1024答:(1)1110 (2)01111111 (3)11111111 (4)010*********5. 将下列二进制数分别转换成十进制和十六进制数。
(1)11100100 (2)10100001 (3)11101000 (4)10101101答:(1)228,E4H (2)161,A1H (3)232,E8H (4)173,ADH6. 将下列十六进制数分别转换成二进制和十进制数。
(1)2DH (2) F4H (3) 0400H (4) FFFFH答:(1)00101101B,45 (2)11110100,244 (3)0000010000000000,1024(4)1111111111111111, 655357. 取字长8位,写出下列数据的补码。
(1) -32 (2) -45 (3) -98 (4) 91答:(1)E0H (2)D3H (3)9EH (4)5BH8. 完成下列十六进制数的加法运算。
(1)8CH+3FH (2)1F34H+95D6H (3)205EH+12FFH答:(1)CBH (2)B50AH (3)335DH9. 分别用十六进制和二进制数形式,写出数字0,1,2,…,9 的ASCII 码。
答:30H,31H,..., 39H; 00110000B,00110001B, (00111001)10. 写出字符串的ASCII码:“***MCS-51***”答:2AH,2AH,2AH,4DH,53H,43H,2DH,35H,31H, 2AH,2AH,2AH11. 对于十进制数35,用二进制数表示为__00100011B__;用十六进制数表示为__23H__;用组合BCD码表示为00110101B ;用非组合BCD码表示为__03H,05H__;用ASCII表示为_33H,35H_。
单片机原理及接口技术课后习题答案(五)
单片机原理及接口技术课后习题答案(五)第 5 章1.简述中断、中断源、中断优先级及中断嵌套的含义。
答:①中断:中断是指计算机在执行某一程序的过程中, 由于计算机系统内、外的某种原因, 而必须中止原程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。
(采用了中断技术后的计算机, 可以解决CPU与外设之间速度匹配的问题, 使计算机可以及时处理系统中许多随机的参数和信息, 同时, 它也提高了计算机处理故障与应变的能力。
)②中断源:中断源是指在计算机系统中向CPU发出中断请求的来源。
(中断可以人为设定, 也可以是为响应突发性随机事件而设置。
通常有I/O设备、实时控制系统中的随机参数和信息故障源等。
)③中断优先级:中断优先级越高, 则响应优先权就越高。
当CPU正在执行中断服务程序时, 又有中断优先级更高的中断申请产生, 这时CPU就会暂停当前的中断服务转而处理高级中断申请, 待高级中断处理程序完毕再返回原中断程序断点处继续执行, 这一过程称为中断嵌套。
2.MCS-51单片机提供几个中断源?几个中断优先级?答:提供5个中断源,分两个优先级。
3.简述TCON、SCON、IE、IP 4个特殊功能寄存器各位的定义及功能。
答:①TCON:TFi:内部定时器i溢出标志位,硬件置位,进入中断后硬件自动清除。
TRi:内部定时器i运行控制位,软件置位或清除。
IEi:外部中断i请求标志位,硬件置位,进入中断后硬件自动清除。
ITi:外部中断i类型控制位,由软件设置或清除。
ITi=1时是下降沿触发;ITi=0时是低电平触发。
(i=0、1)②SCON:TI:串行口发送中断标志位。
发送完一帧数据后,硬件置位TI,CPU响应中断后,应由软件清除TI。
RI:串行口接收中断标志位。
接收完一帧数据后,硬件置位RI,CPU响应中断后,应由软件清除RI。
③ IE:EA:中断总允许位。
EA=0,禁止一且中断,EA=1,是否允许中断由下各位定。
单片机原理及其接口技能技术总结王敏课后作业答案
精心整理第二章作业(P40)2-4MCS-51单片机中执行程序的地址放在哪?由几个位组成?最大寻址范围是多少? 答:放在程序计数器PC 中,16位,64KB 。
2-5在程序存储器中,0000H 、0003H 、000BH 、0013H 、001BH 、0023H 这6个单元有什么特定的含义?答:0000H 复位后,PC=0000H ,开始执行程序的地址0003H 外部中断0(INT0)入口地址000BH 定时器0中断(TF0)入口地址0013H 001BH 0023H 2-10 器。
3-7解:①②3-9解:①R1MOVR0,②内部RAM20H 单元中的内容送到30H 单元;MOV30H,20H③外部RAM20H 单元中的内容送到内部RAM20H 单元;MOVR0,#20HMOVXA,@R0MOV20H,A④外部RAM2000H 单元中的内容送到内部RAM20H 单元;MOVDPTR,#2000HMOVXA,@DPTRMOV20H,A⑤外部ROM2000H单元中的内容送到内部RAM20H单元;MOVDPTR,#2000HMOVA,#00HMOVCA,@A+DPTRMOV20H,A⑥外部2000H单元中的内容送到外部RAM3000H单元;MOVDPTR,#2000HMOVXA,@DPTRMOVDPTR,#3000HMOVX@DPTR,A3-11①解:(72H)=Y(71H)=X(62H)=Y(61H)=Z3-20解:①使②使③使④使⑤使3-27解:ORG0000HAJMPMAINORG0100HMAIN:MOVR0,#14HMOVR1,#20HMOVDPTR,#2000HROT:MOVXA,@DPTRJBACC.7,NEXTMOV@R1,AINCR1NEXT:INCDPTRDJNZR0,ROTSJMP$END第四章作业(P104)4-7已知RAM的BLOCK单元,请编写其中可以统计正负数个数分别存入NUM和NUM+1单元的程序。
单片机原理及接口技术XXX课后习题答案
单片机原理及接口技术XXX课后习题答案标准化文件发布号:(9456-XXX-MWUB-WUNN-XXX-KII1章单片机概述1.除了单片机这一名称之外,单片机还可称为和。
答:微控制器,嵌入式控制器。
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”是XXX生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
2章AT89C51单片机片内硬件结构21.在AT89C51单片机中,如果采用6MHz晶振,一个机器周期为。
答:2µs2.AT89C51单片机的机器周期等于个时钟振荡周期。
答:12.3.内部RAM中,位地址为40H、88H的位,该位地点字节的字节地址分别为和。
答:28H;88H。
4.片内字节地址为2AH单元的最低位的位地址是;片内字节地址为88H单元的最低位的位地址是。
单片机原理及接口技术课后答案
单片机原理及接口技术课后答案第一题:简述单片机的工作原理单片机是一种集成电路,内部拥有中央处理器、内存、输入/输出端口等多种功能模块。
单片机的工作原理主要分为三个步骤:取指、执行和存储。
在取指阶段,单片机通过地址总线从存储器中获取指令,并将其存储在指令寄存器中。
指令寄存器中的指令会被解码器解码,确定具体的操作。
在执行阶段,CPU根据指令寄存器中的指令执行相应的操作。
这包括运算操作、逻辑操作、移位操作等。
执行的结果会被存储在通用寄存器中。
在存储阶段,CPU将操作结果存储在内存或者其他寄存器中。
同时,如果需要将结果输出到外设,CPU会通过输出端口将数据传输到相应的外设。
通过这些步骤的循环执行,单片机可以完成各种任务,实现各种功能。
第二题:简述单片机的输入/输出接口技术单片机的输入/输出接口技术主要通过引脚、端口和中断实现。
单片机的引脚连接外部电路,用于与外部设备交互。
引脚可以通过软件控制为输入或输出模式,并可以通过特定的寄存器进行读写操作。
单片机的端口是对引脚的集合,通过对端口模式和端口数据的设置,可以实现对多个引脚的控制。
例如,可以将一个端口的多个引脚设置为输出模式,并通过给端口数据赋值来同时控制这些引脚的电平状态。
中断是单片机实现输入/输出的一种重要方式。
当外部事件(例如按键按下、定时器溢出等)发生时,单片机将会中断当前的工作,执行中断服务程序来处理该事件。
中断可以提高系统的响应速度和灵活性。
通过以上的输入/输出接口技术,单片机可以方便地与外部设备进行通信和数据交换,实现各种功能和应用。
第三题:简述单片机的串行通信接口单片机的串行通信接口是一种用于与其他设备进行数据传输的接口。
常见的串行通信接口有SPI和I2C。
SPI(Serial Peripheral Interface)是一种同步的串行接口,使用四根线(时钟线、数据线、选择线和数据传输方向线)进行数据传输。
SPI可以实现高速的全双工通信,并且可以与多个外部设备进行连接,通过选择线来选择通信的目标设备。
单片机原理及接口技术课后答案-(第三版)
单片机原理及接口技术课后答案-(第三版)1.单片机具有哪些特点(1)片内存储容量越来越大。
(2抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运行速度高,控制功能强。
(5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。
2. 89C51单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)CPU(中央处理器):8位(2)片内RAM:128B (3)特殊功能寄存器:21个(4)程序存储器:4KB (5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个3.什么是微处理器(CPU)、微机和单片机?答:微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。
单片机是将微处理器、一定容量的RAM、ROM以及I/O口、定时器等电路集成在一块芯片上,构成的单片微型计算机。
4. 微型计算机怎样执行一个程序?答:通过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只访问片内并执行内部程序,存储器。
单片机原理及接口技术课后答案第三章
单⽚机原理及接⼝技术课后答案第三章第三章1、指令:CPU根据⼈的意图来执⾏某种操作的命令指令系统:⼀台计算机所能执⾏的全部指令集合机器语⾔:⽤⼆进制编码表⽰,计算机能直接识别和执⾏的语⾔汇编语⾔:⽤助记符、符号和数字来表⽰指令的程序语⾔⾼级语⾔:独⽴于机器的,在编程时不需要对机器结构及其指令系统有深⼊了解的通⽤性语⾔2、见第1题3、操作码 [⽬的操作数] [,源操作数]6、 MOV A,40H ;直接寻址(40H)→AMOV R0,A;寄存器寻址(A)→R0MOV P1,#0F0H ;⽴即数寻址0F0→P1MOV @R0,30H;直接寻址(30H)→(R0)MOV DPTR,#3848H;⽴即数寻址 3848H→DPTRMOV 40H,38H;直接寻址(38H)→40HMOV R0,30H;直接寻址(30H)→R0MOV P0,R0;寄存器寻址( R0 )→P0MOV 18H,#30H ;⽴即数寻址30H→18HMOV A,@R0 ;寄存器间接寻址 ((R0)) →AMOV P2,P1 ;直接寻址(P1)→P2最后结果:(R0)=38H,(A)=40H,(P0)=38H,(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)=30H,(30H)=38H,(38H)=40H,(40H)=40H,(48H)=38H注意:→左边是内容,右边是单元7、⽤直接寻址,位寻址,寄存器寻址8、MOV A,DATA ;直接寻址2字节1周期MOV A,#DATA ;⽴即数寻址2字节1周期MOV DATA1,DATA2 ;直接寻址3字节2周期MOV 74H,#78H ;⽴即数寻址3字节2周期如果想查某⼀指令的机器码,字节数或周期数可查阅书本后⾯的附录A9、MOV A,@R0 ;((R0))=80H→AMOV @R0,40H ;(40H)=08H→(R0)MOV 40H,A ;(A)=80→40HMOV R0,#35H ;35H→R0最后结果:(R0)=35H (A)=80H,(32H)=08H,(40H)=80H10、⽤直接寻址,位寻址,寄存器寻址11、只能采⽤寄存器间接寻址(⽤MOVX指令)12、低128字节:直接寻址,位寻址,寄存器间接寻址,寄存器寻址(R0~R7)⾼128字节:直接寻址,位寻址,寄存器寻址13、采⽤变址寻址(⽤MOVC指令)14、压缩BCD码在进⾏加法运算时应逢⼗进⼀,⽽计算机只将其当作⼗六进制数处理,此时得到的结果不正确。
单片机原理及接口技术第三版课后习题答案
第五章1、什么是中断和中断系统?其主要功能是什么?当CPU正在处理某件事情的时候,外部发生的某一件事件请求CPU迅速去处理,于是,CPU暂时中止当前的工作,转去处理所发生的事件歹中断服务处理完该事件以后,再回到原来被终止的地方,继续原来的工作。
这种过程称为中断,实现这种功能的部件称为中断系统。
功能:( 1)使计算机具有实时处理能力,能对外界异步发生的事件作出及时的处理(2)完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率( 3)实现实时控制2、试编写一段对中断系统初始化的程序,使之允许INTO,INTI , TO串行口中断,且使TO中断为高优先级中断。
解:MOVIE , # 097H YMOV IP , # 02H3、在单片机中,中断能实现哪些功能?答:有三种功能:分时操作、实时处理,故障处理4、89C51共有哪些中断源?对其中端请求如何进行控制?答:(1 ) 89C班有如下中断源①:外部中断0 请求,低电平有效一② 汐卜部中断1 请求,低电平有效③TO:定时器、计数器。
溢出中断请求④T1 :定时器、计数器1溢出中断请求⑤Tx 瓜x:串行接口中断请求住)通过对特殊功能寄存器TCON、SCON、IE、IP的各位进行置位或复位等操作,可实现各种中断控制功能5 、什么是中断优先级?中断优先处理的原则是什么?答:中断优先级是CPU相应中断的先后顺序。
原则:( 1)先响应优先级高的中断请求,再响应优先级低的( 2)如果一个中断请求已经被响应,同级的其它中断请求将被禁止(3)如果同级的多个请求同时出现,则CPU通过内部硬件查询电路,按查询顺序确定应该响应哪个中断请求查询顺序:外部中断0 定时器0 中断一外部中断1 一定时器1 中断一串行接口中断6、"说明外部中断请求的查询和响应过程。
当CPU执行主程序第K条指令,外设向CPU发出中断请求,CPU接到中断请求信号并在本条指令执行完后,中断主程序的执行并保存断点地址,然后转去响应中断。
单片机原理及接口技术课后答案
单片机原理及接口技术课后答案单片机(Microcontroller)是一种集成了微处理器、存储器和各种输入输出接口的单个集成电路芯片,它广泛应用于各种电子设备中。
在学习单片机原理及接口技术课程中,我们需要掌握单片机的基本原理和各种接口技术,下面是课后习题的答案,希望对大家的学习有所帮助。
1. 请简要说明单片机的工作原理。
单片机是一种集成了微处理器、存储器和各种输入输出接口的单个集成电路芯片,它通过内部的时钟系统控制各种操作,包括数据的输入输出、存储器的读写等。
单片机通过外部的引脚与外部电路连接,实现与外部设备的通讯和控制。
2. 什么是单片机的接口技术?请列举几种常见的接口技术。
单片机的接口技术是指单片机与外部设备进行通讯和控制的技术,包括数字接口技术、模拟接口技术和通讯接口技术。
常见的接口技术包括并行接口、串行接口、模数转换接口、数模转换接口等。
3. 请简要说明并行接口的工作原理。
并行接口是单片机与外部设备进行数据传输的一种接口技术,它通过多根数据线同时传输数据,速度快,但对于线路长度和干扰抗性要求较高。
在工作时,单片机通过控制地址线和数据线与外部设备进行通讯,实现数据的输入输出。
4. 请简要说明串行接口的工作原理。
串行接口是单片机与外部设备进行数据传输的一种接口技术,它通过一根数据线按位传输数据,速度相对较慢,但对于线路长度和干扰抗性要求较低。
在工作时,单片机通过控制时钟信号和数据线与外部设备进行通讯,实现数据的输入输出。
5. 请简要说明模数转换接口的工作原理。
模数转换接口是单片机将模拟信号转换为数字信号的一种接口技术,它通过模数转换器将模拟信号转换为数字信号,然后由单片机进行处理。
在工作时,单片机通过控制模数转换器的输入输出端口,实现模拟信号的采集和处理。
6. 请简要说明数模转换接口的工作原理。
数模转换接口是单片机将数字信号转换为模拟信号的一种接口技术,它通过数模转换器将数字信号转换为模拟信号,然后输出到外部设备。
单片机原理与接口技术第三版课后答案
单片机原理与接口技术第三版课后答案单片机原理与接口技术第三版课后答案【篇一:单片机原理及接口技术课后答案李朝青(第二版)】lass=txt> 第一章1.单片机具有哪些特点(1)片内存储容量越来越大。
(2抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运行速度高,控制功能强。
(5 )单片机内部的数据信息保存时间很长,有的芯片可以达到年以100 上。
2.89C51单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)cpu(中央处理器):8位⑵片内ram:128b(3)特殊功能寄存器:21个⑷程序存储器:4kb⑸并行i/o 口 :8位,4个⑹串行接口 :全双工,1个⑺定时器/计数器:16位,2个(8)片内时钟电路:1个3•什么是微处理器(cpu)、微机和单片机?答:微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。
单片机是将微处理器、一定容量的ram、rom以及i/o 口、定时器电路集成在一块芯片上,构成的单片微型计算机。
4•微型计算机怎样执行一个程序?答:通过cpu指令,提到内存当中,再逐一执行。
5•什么是嵌入式系统?他有哪些类型?为什么说单片机是典型的嵌入式系统?答;嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统它有嵌入式微处理器、嵌入式微控制器、嵌入式dsp处理器、嵌入式片上系统等。
嵌入式系统的出现最初是基于单片机的。
它从体系结构到指令系统都是按照嵌入式应用特点专门设计的,能最好的满足面对控制对象,应运系统的嵌入、现场的可靠运行以及非凡的控制品质要求。
因此,她是典型的嵌入式系统。
第二章1.89C51单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)cpu(中央处理器):8位⑵片内ram:128b(3)特殊功能寄存器:21个(4)程序存储器:4kb⑸并行i/o 口 :8位,4个⑹串行接口 :全双工,1个⑺定时器/计数器:16位,2个(8)片内时钟电路:1个2.89C51的ea端有何用途?3.89c51的存储器分哪几个空间?如何区别不同空间的寻址?答:rom (片内rom和片外rom统一编址)(使用 move )(数据传送指令)(16bits地址)(64kb)片外 ram ( movx)( 16bits 地址)(64kb)片内 ram ( mov)( 8bits 地址)(256b)4.简述89c51片内ram的空间分配。
单片机原理及接口技术课后答案(20200513210523)
第一章1.单片机具有哪些特点(1)片内存储容量越来越大。
(2抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运行速度高,控制功能强。
(5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。
2. 89C51单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB(5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个3.什么是微处理器(CPU)、微机和单片机?答:微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。
单片机是将微处理器、一定容量的RAM、ROM以及I/O口、定时器等电路集成在一块芯片上,构成的单片微型计算机。
4. 微型计算机怎样执行一个程序?答:通过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只访问片内并执行内部程序,存储器。
单片机原理及接口技术课后答案-(第三版)
单片机原理及接口技术课后答案-(第三版)1.单片机具有哪些特点(1)片内存储容量越来越大。
(2抗干扰性好,可靠性高。
(3)芯片引线齐全,容易扩展。
(4)运行速度高,控制功能强。
(5)单片机内部的数据信息保存时间很长,有的芯片可以达到100年以上。
2. 89C51单片机内包含哪些主要逻辑功能部件?答:80C51系列单片机在片内集成了以下主要逻辑功能部件:(l)CPU(中央处理器):8位(2)片内RAM:128B (3)特殊功能寄存器:21个(4)程序存储器:4KB (5)并行I/O口:8位,4个(6)串行接口:全双工,1个(7)定时器/计数器:16位,2个(8)片内时钟电路:1个3.什么是微处理器(CPU)、微机和单片机?答:微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机,除了微处理器外还包括存储器、接口适配器以及输入输出设备等。
单片机是将微处理器、一定容量的RAM、ROM以及I/O口、定时器等电路集成在一块芯片上,构成的单片微型计算机。
4. 微型计算机怎样执行一个程序?答:通过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只访问片内并执行内部程序,存储器。
单片机原理及接口技术课后习题及习题答案unit1-5
章1 绪论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兼容的主要产品有:●ATMEL公司融入Flash存储器技术推出的AT89系列单片机;●Philips公司推出的80C51、80C552系列高性能单片机;●华邦公司推出的W78C51、W77C51系列高速低价单片机;●ADI公司推出的ADμC8xx系列高精度ADC单片机;●LG公司推出的GMS90/97系列低压高速单片机;●Maxim公司推出的DS89C420高速(50MIPS)单片机;●Cygnal公司推出的C8051F系列高速SOC单片机等。
单片机原理及接口技术课后答案
单片机原理及接口技术课后答案一. 单片机原理答案: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. 定时/计数器:通过定时器和计数器实现对时间的计数和控制,用于生成精确的时钟信号和进行定时操作。
单片机原理及接口技术课后答案
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)。
第二章作业(P40)2-4 MCS-51单片机中执行程序的地址放在哪由几个位组成最大寻址范围是多少答:放在程序计数器PC中,16位,64KB。
2-5 在程序存储器中,0000H、0003H、000BH、0013H、001BH、0023H这6个单元有什么特定的含义答: 0000H 复位后,PC=0000H,开始执行程序的地址0003H 外部中断0 (INT0)入口地址000BH 定时器0中断(TF0)入口地址0013H 外部中断1(INT1)入口地址001BH 定时器1中断( TF1)入口地址0023H 串行口中断TI/RI入口地址2-10 开机复位以后,CPU使用哪一组工作寄存器它们的地址是什么如何改变当前工作寄存器答:使用第0组工作寄存器,00H-07H,通过修改PSW中的RS1和RS0两位来改变当前的工作寄存器。
第三章作业(P75)3-7 指出指令中的50H或66H个代表什么解:① MOV A, #50H 立即数MOV A, 50H 直接地址MOV 50H, #20H 直接地址MOV C, 50H 位地址MOV 50H, 20H 直接地址② MOV @R0, #66H 立即数MOV R6, #66H 立即数MOV 66H, #45H 直接地址MOV 66H, C 位地址MOV 66H, R1 直接地址3-9 写出能完成下列数据传送的指令:解:① R1中内容传送到R0;MOV A, R1MOV R0,A②内部RAM 20H单元中的内容送到30H单元;MOV 30H, 20H③外部RAM 20H单元中的内容送到内部RAM 20H单元;MOV R0, #20HMOVX A, @R0MOV 20H, A④外部RAM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV 20H, A⑤外部ROM 2000H单元中的内容送到内部RAM 20H单元;MOV DPTR, #2000HMOV A, #00HMOVC A, @A+DPTRMOV 20H, A⑥外部2000H单元中的内容送到外部RAM 3000H单元;MOV DPTR, #2000HMOVX A, @DPTRMOV DPTR, #3000HMOVX @DPTR, A3-11 已知:(20H)=X;(21H)=Y;(22H)=Z,请用图示说明下列程序执行后堆栈的内容是多少① MOV SP, #70H ② MOV SP, #60HPUSH 20H PUSH 22HPUSH 21H PUSH 21HPUSH 22H PUSH 20H解:(73H)=Z;(72H)=Y;(71H)=X;(63H)=X;(62H)=Y;(61H)=Z;3-20 试编出能完成如下操作的程序:解:①使20H单元中数的高两位变“0”,其余位不变;ANL 20H, #3FH②使20H单元中数的高两位变“1”,其余位不变;0RL 20H, #0C0H③使20H单元中数的高两位变反,其余位不变;XRL 20H, #0C0H④使20H单元中数的高四位变“1”,低四位变“0”;MOV 20H, #0F0H⑤使20H单元中数的所有位变反。
XRL 20H, #0FFH3-27 已知:外部RAM 2000H为始址的存储区有20个带符号补码数,请编一程序把正数和正零取出来放到内部RAM 20H为始址的存储区(负数和负零不作处理)。
解:ORG 0000HAJMP MAINORG 0100HMAIN: MOV R0, #14HMOV R1, #20HMOV DPTR, #2000HROT: MOVX A, @DPTRJB , NEXTMOV @R1, AINC R1NEXT: INC DPTRDJNZ R0, ROTSJMP $END第四章作业(P104)4-7 已知RAM的BLOCK单元,请编写其中可以统计正负数个数分别存入NUM和NUM+1单元的程序。
解:ORG 0100HLEN DATA 20HNUM DATA 21HBLOCK DATA 23HMAIN: MOV NUM, #00HMOV NUM+1,#00HMOV R0, #BLOCKLOOP: MOV A, @R0JNB ,POSIINC NUM+1SJMP NEXTPOSI: INC NUMNEXT: INC R0DJNZ LEN, LOOPSJMP $END4-9 外部RAM从2000H-2100H单元有一数据块,请编出将它们传送到外部RAM 3000H-3100H区域的程序。
解:采用当型循环,判断程序结束条件ORG 1000HMOV DPTR,#2000HNEXT: MOVX A, @DPTRORL DPH , #10H ; 将DPH中的20H变成30HMOVX @DPTR, AANL DPH , #0EFH ; 将DPH中的30H变成20HINC DPTRMOV A, DPHCJNE A, #21H, NEXTMOVX A, @DPTR ;将2100H单元的数据送AMOV DPH, #31HMOVX @DPTR, A ;将A的数据送3100H单元SJMP $END4-11 将内部RAM的AAA单元中8位无符号数转换成BCD码表示的十进制数。
(要求用连续除10的方法实现)解:ORG 0100HAAA DATA 20HBAI DATA 21HSHI DATA 22HGE DATA 23HMOV A, AAAMOV B,#0AHDIV ABMOV GE, BMOV B,#0AHDIV ABMOV SHI, BMOV BAI, ASJMP $END4-15 请编写能从内部RAM的BLOCK为起始地址的20个无符号数找出最小值,并把它送到MIN单元的程序。
解:ORG 0100HMIN DATA 20HBLOCK DATA 21HMAIN:MOV R0,#BLOCKMOV R2,#13HMOV A,@R0LOOP:INC R0MOV B,@R0CJNE A,B,NEXTNEXT:JC NEXT1MOV A,@R0NEXT1:DJNZ R2,LOOPMOV MIN,ASJMP $END第五章作业(P155)6-4 编程,利用定时器T0(工作在方式1)产生一个50Hz的方波,由输出,晶振频率为12MHz。
解:按照题意,定时器T0需要工作在方式1定时10ms,则TMOD控制字为01H;已知fosc=12MHz,则机器周期为1μs。
定时初值=216– 10ms/1μs= 55536=D8F0H,即TH0=0D8H,TL0=0F0H。
则相应的程序如下:ORG 0000HAJMP STARTORG 2000HSTART:MOV TMOD,#01H ;写入工作方式字MOV TH0, #0D8H ;写入计数初值MOV TL0, #0F0HSETB TR0 ;启动T0LOOP:JBC TF0, PE ;TF0=1溢出转移PE,并清除TF0AJMP LOOP ;TF0为0转LOOP等待PE:MOV TH0,#0D8H ;重装初值MOV TL0,#0F0HCPL ;取反AJMP LOOP ;转LOOP等定时时间到END6-5 在8051单片机中,已知晶振频率为12MHz,试编程使和分别输出周期为2ms和500ms 的方波。
设晶振频率为6MHz,试用T0作为外部计数器,编程实现每当计到1000个脉冲,使T1开始2ms定时,定时时间到后,T0又开始计数,这样反复循环下去。
解:1)按照题意,定时器T0需要工作在方式1定时1ms,则TMOD控制字为01H;已知fosc=12MHz,则机器周期为1μs。
定时初值=216–1ms/1μs= 64536=FC18H,即TH0=0FCH,TL0=18H。
则相应的程序如下:主程序:ORG 1000HSTART:MOV TMOD,#01HMOV TH0, #0FCHMOV TL0, #18HMOV IE, #82H ;开T0中断SETB TR0 ;启动T0MOV R0,#0FAH ;软件计数器赋初值LOOP: SJMP $ ;等待中断中断程序:ORG 000BHAJMP BRT0ORG 0080HBRT0:CPLDJNZ R0,NEXT ;250ms未到,转NEXTCPL ;250ms到,改变电平MOV R0,#0FAHNEXT:MOV TH0, #0FCHMOV TL0, #18HRETIEND2)按照题意,定时器T0需要工作在方式1计数方式,定时器T1需要工作在方式1定时方式,则TMOD控制字为15H;T0计数初值为216– 1000= 64536=FC18H,即TH0=0FCH,TL0=18H;已知fosc=6MHz,则机器周期为2μs。
T1定时初值=216– 2ms/2μs= 64536=FC18H,即TH1=0FCH,TL1=18H。
则相应的程序如下:ORG 2000HSTART:MOV TMOD,#15H ;写入工作方式字MOV TH0, #0FCH ;写入计数初值MOV TL0, #18HMOV TH1, #0FCHMOV TL1, #18HSETB TR0 ;启动T0LOOP:JBC TF0, PE ;TF0=1溢出转移PE,并清除TF0AJMP LOOP ;TF0为0转LOOP等待PE:SETB TR1 ;启动T1定时,关T0计数CLR TR0LOOP1:JBC TF1, PE1 ;TF1=1溢出转移PE1,并清除TF1AJMP LOOP1 ;TF1为0转LOOP1等待PE1:MOV TH0,#0FCH ;重装初值MOV TL0,#18HMOV TH1, #0FCHMOV TL1, #18HSETB TR0 ;启动T0计数,关T1定时CLR TR1AJMP LOOPEND6-6 已知单片机系统时钟频率为6MHz,若要求定时值分别为、1ms和10ms,定时器T0工作在方式0、方式1和方式2时,定时器对应的初值各为多少解:已知fosc=6MHz,则机器周期为2μs。
方式0的初值分别为:8142(1FCEH),即TH0=0FEH,TL0=0EH;7692(1E0CH),即TH0=0F0H,TL0=0CH;3192(0C78H),即TH0=63H,TL0=18H。
方式1的初值分别为:65486(FFCEH);65036(FE0CH);60536(EC78H)。
方式2定时的初值为206(CEH),不能直接定时1ms和10ms。
第六章作业(P210)8-2 什么是半双工、全双工方式MCS-51单片机属于哪种传送方式解:1)半双工方式——通信双方只有一条双向传输线,允许数据双向传送,但每个时刻上只能有一方发送,另一方接收,这是一种能够切换传送方向的单工方式;2)全双工方式——通信双方有两条传输线,允许数据同时双向传送,其通信设备应具有完全独立的收发功能。