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

第九章复习思考题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 程序流程图。
单片机原理及接口技术 第一章ppt课件

本书介绍的MCS-51型单片机使用汇编语言。
.
§1-3 计算机中数的表示方法及运算
引言:
● 十进制数是人们习惯使用的进制。 ● 计算机只能“识别”二进制数。 ● 为了书写和识读方便,计算机程序需要用十六进制数表示。 ● 十进制数、二进制数、十六进制数之间的关系、相互转换和
.
⒊ 十六进制数
⑴ 有优异的性能价格比。 ⑵ 集成度高,体积小,可靠性好。 ⑶ 控制能力强。 ⑷ 低功耗,低电压,便于生产便携式产品。 ⑸ 易扩展。
.
2、单片机的应用
⑴ 智能化家用电器。 ⑵ 办公自动化设备。
⑶ 商业营销设备。 ⑷ 工业自动化控制。
⑸ 智能化仪表。 ⑺ 汽车电子产品。
⑹ 智能化通信产品。
⑻ 航空航天系统和国防军事、尖端武器等。
.
几种单片机封装形式
.
返回
1.1.2 微型计算机的发展概况
形成两大分支:
1、PC机: PC机系统全力实现海量高速数据处 理,兼顾控制功能。
2、单片机:单片机系统全力满足测控对象的测 控功能,兼顾数据处理能力。
.
单片机与PC机之异同(1)
组成:
CPU(进行运算、控制) RAM(数据存储器) I/O口(串口、并口等) ROM(程序存储器) PC机: 上述部件以芯片形式安装在主板上。 单片机:上述部件被集成到单芯片中。
本章要点: 微型计算机和单片机的发展概况 单片机系统组成概述(CPU、总线、存储器和I/O 口等) 二进制、十进制和十六进制数(数制转换和运算) 计算机中数的表示(原码、反码和补码) 单片机常用编码(BCD码、ASCII码)
.
(完整版)单片机原理及接口技术张毅刚课后习题答案

第1章单片机概述1 •除了单片机这一名称之外,单片机还可称为 ________ 和________ 。
答:微控制器,嵌入式控制器。
2 •单片机与普通微型计算机的不同之处在于其将______ 、______ 、和______ 3部分集成于一块芯片上。
答:CPU、存储器、I/O 口。
3. 8051与8751的区别是_________ 。
A .内部数据存储单元数目不同B.内部数据存储器的类型不同C.内部程序存储器的类型不同D.内部寄存器的数目不同答:C o4. _____________________________________________ 在家用电器中使用单片机应属于微计算机的________________________________ oA. 辅助设计应用;B .测量、控制应用;C.数值计算应用;D .数据处理应用答:B o5. 微处理器、微计算机、微处理机、CPU、单片机它们之间有何区别?答:微处理器、微处理机和CPU都是中央处理器的不同称谓;而微计算机、单片机都是一个完整的计算机系统,单片机特指集成在一个芯片上的用于测控目的的单片微计算机6. MCS-51系列单片机的基本型芯片分别为哪几种?它们的差别是什么?答:MCS-51系列单片机的基本型芯片分别是8031、8051和8751。
它们的差别是在片内程序存储器上。
8031无片内程序存储器,8051片内有4KB的程序存储器ROM,而8751片内集成有4KB的程序存储器EPROM。
7. 为什么不应当把51系列单片机称为MCS-51系列单片机?答:因为MCS-51系列单片机中的“ MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
8. AT89C51单片机相当于MCS-51系列单片机中的哪一种型号的产品?答:相当于MCS-51系列中的87C51,只不过是AT89C51芯片内的4KB Flash 存储器取代了87C51片内的4KB的EPROM。
单片机原理及接口技术电子教案

单片机原理及接口技术电子教案一、教学目标1.了解单片机的原理和组成结构;2.掌握单片机的接口技术;3.能够应用接口技术实现各种功能。
二、教学内容1.单片机的原理及组成结构a.单片机的定义和作用;b.单片机的组成结构及各部分功能介绍;c.单片机的工作原理;d.单片机与外部设备的连接方式。
2.单片机的接口技术a.并行接口技术:i.三态门的作用及使用方法;ii. 数据总线、地址总线和控制总线的作用和关系;iii. 并行接口的工作原理;iv. 并行接口的应用实例。
b.串行接口技术:i.串行数据传输的基本概念;ii. 串行接口的工作原理;iii. 串行接口的应用实例;iv. 串口通信协议及其应用。
三、教学过程本节课主要采用理论教学与实践相结合的方式,通过演示和编程实验,让学生更好地理解和掌握单片机的原理与接口技术。
1.单片机的原理及组成结构(40分钟)a.通过图解和实物展示,详细介绍单片机的组成结构及各部分功能,让学生对单片机有一个整体的了解。
2.单片机的接口技术(40分钟)a.并行接口技术:i.通过示例演示三态门的使用方法,让学生了解其在并行接口中的作用;ii. 介绍数据总线、地址总线和控制总线的作用和关系,并通过实例演示并行接口的工作原理;iii. 基于实例,让学生进行实际操作,实现并行接口的应用。
b.串行接口技术:i.介绍串行数据传输的基本概念,包括串行数据传输的优点和缺点;ii. 通过实例演示串行接口的工作原理,包括串行通信的时序和数据传输方式;iii. 基于实例,让学生进行实际操作,实现串行接口的应用。
3.总结与实验(20分钟)a.进行问题总结与回答,解决学生在学习过程中遇到的疑问;b.分发实验资料,让学生按照实验步骤进行实验,巩固所学内容;c.实验结束后,让学生总结实验过程中的经验和教训。
四、教学评估1.设计实验练习题,进行手写答题;2.实验报告评分;3.课堂表现评估。
五、扩展拓展。
单片机原理及接口技术 李朝青 (第版) ppt课件

ppt课件
38
1.2.2 执行一条指令的过程
指令“LDA 23”的执行过程是怎样的呢?这是一条 直接寻址方式的指令,执行的过程如图1-8所示。
LDA指令的指令周期由3个CPU周期(即机器周期) 组成。其中,第1个CPU周期为取指令阶段;执行 指令阶段由2个CPU周期组成,第2个CPU周期中 将操作数的地址送往地址寄存器并完成地址译码, 在第3个CPU周期中,从内存取出操作数并执行装 入的操作。
§1.1.1 微处理器(机)的组成 §1.1.2 存储器和输入输出接口
单pp片t课件机原理及接口技术
3
概念
1、微处理器 2、微型计算机 3、单片机
单pp片t课件机原理及接口技术
4
微处理器(Microprocessor)
是小型计算机或微型计算机的控制和处理部分。 又称中央处理单元CPU(Central Processing
图1-1 微机的组成
ppt课件
6
单片机(Single-Chip Microcomputer)
是将微处理器、一定容量RAM和ROM以及I/O口、 定时器等电路集成在一块芯片上,构成单片微 型计算机。
单片微型计算机
微处理器 RAM ROM I/O口 定时器
单pp片t课件机原理及接口技术
7
§1.1.1 微处理器(机)的组成 1、运算器
1)控制器的组成
控制器的组成
程序计数器 指令寄存器 指令译码器 时序产生器 操作控制器
单pp片t课件机原理及接口技术 18
2)作用 它是发布命令的“决策机构”,即协调
ቤተ መጻሕፍቲ ባይዱ和指挥整个计算机系统的操作。
单pp片t课件机原理及接口技术 19
单片机原理及接口技术(第三版)

指令系统与寻址方式
详细讲解单片机的指令系统,包括数据传送、算术 运算、逻辑运算、位操作等指令,以及各种寻址方 式的应用。
汇编语言程序结构
阐述汇编语言程序的基本结构,包括伪指令 、宏定义、子程序等概念及其使用方法。
C51语言基础
C51语言概述
简要介绍C51语言的特点、优势以及与标准C语言的差异。
数据类型与运算符
单片机原理及接口技术(第三版)
目录
• 绪论 • 单片机基本原理 • 单片机接口技术 • 单片机编程语言与程序设计 • 单片机系统扩展与应用 • 单片机应用实例分析 • 实验与课程设计指导
01 绪论
单片机概述
1 2
单片机的定义
单片机是一种将微处理器、存储器、输入输出接 口等集成在一个芯片上的微型计算机。
中断源与中断向量
中断源是引起中断的事件或设备,而中断向量是中断服务 程序的入口地址。
中断优先级与嵌套
不同中断源具有不同的中断优先级,高优先级中断可以打 断低优先级中断的处理过程,实现中断嵌套。
04 单片机编程语言与程序设 计
汇编语言基础
汇编语言概述
介绍汇编语言的特点、作用以及与机器语言 的关系。
课程设计要求:学生需 独立完成选题的分析、 设计、编码、调试和测 试工作,并提交相应的 设计报告和程序代码。 同时,要求学生在设计 过程中注重创新性和实 用性,尽可能提高系统 的性能和稳定性。
THANKS FOR WATCHING
感谢您的观看
实验内容和步骤
熟悉单片机的开发环境,掌握 单片机的编程语言。
完成定时器/计数器实验,掌握 单片机的定时/计数功能。
完成串行通信实验,掌握单片 机的串行通信原理和方法。
单片机原理及接口技术 ppt课件
五、中断服务
• 对事件的整个处理过程,称为中断 服务(或中断处理)。
单片机原理及接口技术 PPT课件
六、中断返回
• 中断处理完毕,在返回到原来被中止的 地方,称为中断返回
单片机原理及接口技术 PPT课件
七、中断方式的特点
• 1、中断方式消除了CPU在查询方式中的等待现象, 大大提高了CPU的工作效率。
②ES—串行口中断允许位。
ES=0,禁止串行口中断;
ES=1,允许串行口中断。
③ET1—定时器/计数器T1的溢出中断允许位。
ET1=0,禁止T1中断;
ET1=1,允许T1中断。
④EX1—外部中断1的溢出中断允许位。
EX1=0,禁止外部中断1中断; EX1=1,允许外部中断1中断。
⑤ET0—定时器/计数器T0的溢出中断允许位。
单片机原理及接口技术 PPT课件
1、89C51/S51的中断优先级
• 89C51/S51有两个中断优先级。 • 每个中断请求源均可编程为高优先级中断或低优先级
中断。 • 中断系统中有两个不可寻址的“优先级生效”触发器,
分别指出CPU正在执行的高、低优先级的中断服务程 序。当其为1时则分别屏蔽所有的中断请求。
单片机原理及接口技术 PPT课件
一、89C51/S51中断系统的五个中断源
1、INT0——外部中断0请求,低电平有效。通过P3.2引脚输入。 2、INT1——外部中断1请求,低电平有效。通过P3.3引脚输入。 3、T0——定时器/计数器0溢出中断请求。 4、T1——定时器/计数器1溢出中断请求。 5、TX/RX——串行口中断请求。当串行口完成一帧数据的发送或 接收时,便请求中断。
• 因此,CPU可以使多个外设同时工作,并 分时为各外设提供服务,从而提高了CPU 的利用率和输入和输出的速度。
单片机原理与接口技术概述
第1章 概 述
22:31
1
本章教学要求
了解单片机与微型计算机的区别; 熟悉单片机的结构组成; 了解单片机的特点与指标; 了解单片机的发展历史、常用产品及应用领域; 了解单片机嵌入式系统的概念; 熟悉计算机中的数制与编码。
22:31
2
本章目录
1.1 单片机的结构组成、特点和指标 1.1.1 微型计算机的基本结构 1.1.2 单片机的基本结构 1.1.3 单片机的特点 1.1.4 单片机的重要指标
22:31
28
1.5 单片机技术相关网站
51单片机世界() 中国单片机公共实验室() 中国单片机综合服务网() 中国电子网() 单片机技术开发网() 老古开发网() 我爱51单片机() 电子工程师() 世界电子元器件() 世界单片机论坛大全(
到目前为止,世界各地厂商研制多个品种的单片机 产品。其中有Motorola公司的6801、6802,Zilog公 司的Z-8系列,Rockwell公司的6501、6502等。
尽管目前单片机的品种繁多,但其中最具典型性的 仍当属Intel公司的MCS-51系列单片机。
22:31
21
1.2.2 Intel系列单片机产品类型
22:31
24
1.4 单片机嵌入式系统
1.4.1 概念
嵌入式系统是以应用为中心,以计算机技术为基础, 并且软硬件可裁剪,适用于应用系统对功能、可靠性、 成本、体积、功耗有严格要求的专用计算机系统。它 一般由嵌入式微处理器、外围硬件设备、嵌入式操作 系统以及用户的应用程序等四个部分组成,用于实现 对其他设备的控制、监视或管理等功能。
1.2 单片机的发展历史和产品类型 1.2.1 单片机的发展历史 1.2.2 Intel系列单片机的产品类型
单片机原理及接口技术第三版课后答案
单片机原理及接口技术第三版课后答案【篇一:《单片机原理及接口技术》第三版梅丽凤王艳秋编著的习题解答课后答案(1)】理及接口技术》第三版梅丽凤王艳秋编著的习题解答课后答案第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系列产品;national公司的mn6800系列产品;hitachi公司的hd6301、hd63l05、hd6305。
1-5解答:(1)8031/8051/8751三种型号,称为8051子系列。
8031片内没有rom,使用时需在片外接eprom。
8051片内含有4kb的掩模rom,其中的程序是生产厂家制作芯片时烧制的。
8751片内含有4kb的eprom,用户可以先用紫外线擦除器擦除,然后再利用开发机或编程器写入新的程序。
单片机原理及接口技术课件全书课件完整版ppt全套教学教程
二进制算数和逻辑运算 例:用补码运算计算11-7=?
取低八位
二进制算数和逻辑运算
例:A=17H, B=09H, 计算A+B (重点关注对FLAG寄存器各位的影响)
00010111 + 00001001
0010最高位是0 结果不为0
无溢出
1的个数为奇
CF=0
计算机中存储程序和数据的部件。 可分为: a) 内部存储器(内存)/ 主存储器(主存) b) 外部存储器(外存)/ 辅助存储器(辅存)
微型计算机的硬件组成
描述存储器存储二进制信息量多少。 存储二进制信息的基本单位:位(bit,b) 8个二进制位组成的通用基本单元:字节(Byte,B) 微型计算机中通常以字节为单位表示存储容量。
二进制算数和逻辑运算
问题与思考
1. 计算机硬件包含哪些组成部件? 2. 微型计算机的CPU是如何执行指令的?什么是指令流水线? 3. 什么是内存,内存容量由什么决定,什么是存储单元和内存地址? 4. CPU是如何访问内存的?需要哪些信号线,各信号的作用是什么? 5. 什么是寄存器?寄存器的物理位置在哪里,作用是什么?CPU如何访问寄存器? 6. 几个关键的寄存器PC、SP、FLAG的作用是什么,它们在什么情况下会发生改变? 7. 堆栈区的功能是什么,通常在什么情况下使用,它是如何访问的?
微型计算机的硬件结构
微型计算机的硬件组成
存储器是计算机中存储程序和数据的部件。计算机的存储器分为两大 部分,一部分为内部存储器或主存储器,简称内存或主存;另一部分 为外部存储器或辅助存储器,简称外存或辅存。
微型计算机的硬件组成
计算机的硬件组成如何? 运算器的组成及功能? 控制器的组成及功能?
Thanks
微型计算机的硬件组成
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
华南农业大学期末考试试卷( A 卷)
2009学年第2学期 考试科目:单片机原理及接口技术
考试类型:(闭卷) 考试时间: 120 分钟
学号 姓名 年级专业
题号 一 二 三 四 五 六 总分
得分
评阅人
一、 填空题 (每小题3分,共15分)
1.89C51单片机系统复位后,单片机从程序存储器____________单元开始执行指令。
2.准双向口的含义是_____________________________________________________________。
3. MCS-51的两条查表指令是____________ 和____________ 。
4.89C51有两个16位可编程定时/计数器,其中定时作用是指对单片机_________ 脉冲进行
计数,而计数器作用是指对单片机________脉冲进行计数。
5.当89C51串口工作在方式1或方式3时,其波特率通常是由____________________提供。
二、 选择题(每小题2分,共10分)
1.访问片外数据存储器的寻址方式是( )
A. 相对寻址 B.寄存器寻址 C. 寄存器间接寻址 D.直接寻址
2.下列哪个选项属于位寻址区域? ( )
A. 片内RAM高128B地址区域 B. 字节地址正好被16整除的特殊功能寄存器
C. 字节地址正好被8整除的特殊功能寄存器 D. 片内ROM低128B地址区域
3.当CPU响应定时器T1的中断请求后,程序计数器PC的内容是( )。
A.0003H B.000BH C.00013H D.001BH
4.在程序运行过程中执行PC=0200H的一条指令LCALL addr16时,压入堆栈保存的程序地址
是( ),该调用子程序的返回指令是( )。
A、 RETI B、RET C、END D、0200H E、0102H F、0203H
5. 定时器有两种启动方式,一种是外部启动方式,另外一种是 ( )。
A.硬件启动方式 B.软件启动方式 C.定时方式 D.计数方式
三、 判断题(共12小题,每小题1分,共12分)
( )1.PSW是一个8位的专用寄存器,用于存程序运行中的各种状态信息。
( )2.SPI总线结构是一个同步外围三线制接口。
2
( )3.不具备I2C接口的51单片机可通过软件模拟I2C时序,跟具有I2C接口的外围芯
片进行数据交换。
( )4.89C51单片机对最高优先权的中断响应是无条件的。
( )5.要使得51单片机复位,RST引脚必须输入两个振荡周期以上的高电平。
( )6.要设置定时器工作在外部启动方式下,需设置门控位GATE=1。
( )7. TLC1549是个并行输出的A/D转换芯片。
( )8.在接口芯片中,通常都有一个片选端CS(或CE),作用是当CS为低电平时该
芯片才能进行读写操作。
( )9.若要在执行当前中断程序时禁止更高优先级中断,可以在中断服务子程序中关闭
CPU中断,或屏蔽更高级中断源的中断,在中断返回时再开放中断。
( )10.CPU响应串行口中断后,硬件自动清除相应的中断标志位,以撤消中断请求。
( )11.DAC0832是8位D/A转换器,其输出量为模拟电压量。
( )12.AGND表示数字地,为工作电源地和数字逻辑地。
四、 问答题(共4小题,每小题6分,共24分)
1.简述89C51单片机的内部资源。(如存储器、输入/输出口、中断、定时器等)
2.中断响应过程中,为什么通常要保护现场?需要保护哪些内容?如何保护?
3
3. 试说明行列式非编码键盘的工作原理。
4.请画出一种单片机的时钟电路接法,假设使用的振荡频率为12MHz。
五、 程序分析(共20分)
1.以下是一个89C51单片机串口发送程序,完成指令解释,并总结该程序段功能。
TRT: MOV SCON, #80H ;设置串口工作在哪种方式?( )
MOV PCON, #80H ; 波特率是多少?( )
MOV R0,#50H ;
4
MOV R7, #10H ;
LOOP: MOV A,@R0 ;
MOV C, PSW.0
MOV TB8, C ;采用哪种校验方式?( )
MOV SBUF, A ;( )
WAIT: JBC TI, CONT ;
SJMP WAIT
CONT: INC R0
DJNZ R7, LOOP ;( )
RET
该程序段的功能是:( )
2. 以下是一段LED显示程序,请画出该程序段的流程图,并总结其功能。
DIS: MOV R0,#7EH
MOV R2,#01H
MOV DPTR,#TAB
LP0: MOV A,R2
MOV P1,A
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
ACALL D1MS
DEC R0
MOV A,R2
JB ACC.5,DIS
RL A
MOV R2,A
AJMP LP0
LP1: RET
TAB: DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 39H,5EH,79H,71H,40H,00H
D1MS:MOV R7,#02H
DL: MOV R6,#0F0H
DL1: DJNZ R6,DL1
DJNZ R7,DL
RET
功能:
。
5
六、 程序设计(第1题9分,第2题10分,共19分)
1.使用定时器0以工作方式2定时,在P1.0输出周期为200us的连续方波脉冲,分别采用
查询方式和中断方式进行编程。已知晶振频率fosc=12MHz。
2. 图为ADC0809的工作时序图,请在a题和b题中任选其一完成。
a:请叙述其进行A/D转换的工作原理。
6
b:根据以上ADC0809的工作时序图,画出其中一种ADC0809与89C51的接口图,并写出89C51
控制ADC0809进行一路模拟通道模数转换的相应程序。