单片机原理及应用课后习题答案作业

第五章中断系统作业1. 外部中断1所对应的中断入口地址为()H。

2. 对中断进行查询时,查询的中断标志位共有、_ _、、 _ 和_ 、_ _ 六个中断标志位。

3.在MCS-51中,需要外加电路实现中断撤除的是:()(A) 定时中断 (B) 脉冲方式的外部中断(C) 外部串行中断 (D) 电平方式的外部中断4.下列说法正确的是:()(A) 同一级别的中断请求按时间的先后顺序顺序响应。

()(B) 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。

()(C) 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。

()(D) 同级中断不能嵌套。

()5.在一般情况下8051单片机允许同级中断嵌套。

()6.各中断源对应的中断服务程序的入口地址是否能任意设定? ()7.89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。

()8.各中断源发出的中断申请信号,都会标记在MCS-51系统中的()中。

(A)TMOD (B)TCON/SCON (C)IE (D)IP9. 要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是()(A)98H (B)84H (C)42 (D)22H10.编写出外部中断1为负跳沿触发的中断初始化程序。

11.什么是中断?其主要功能是什么?12. 什么是中断源?MCS-51有哪些中断源?各有什么特点?13. 什么是中断嵌套?14.中断服务子程序与普通子程序有哪些相同和不同之处?15. 中断请求撤除的有哪三种方式?16. 特殊功能寄存器TCON有哪三大作用?17. 把教材的P82页的图4.24改为中断实现,用负跳变方式,中断0(INT0)显示“L2”,中断1(INT1)显示“H3”。

(可参考第四章的电子教案中的例子)18.第5章课后作业第9题。

第五章中断系统作业答案1. 外部中断1所对应的中断入口地址为(0013)H。

2. 对中断进行查询时,查询的中断标志位共有IE0 、_TF0_、IE1 、TF1_ 和_TI 、_RI_六个中断标志位。

【实际上只能查询TF0、TF1、TI、RI】3.在MCS-51中,需要外加电路实现中断撤除的是:(D)(A) 定时中断(B) 脉冲方式的外部中断(C) 外部串行中断(D) 电平方式的外部中断4.下列说法正确的是:(A C D )(A) 同一级别的中断请求按时间的先后顺序顺序响应。

(YES)(B) 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。

(ERR)(C) 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。

(YES)(D) 同级中断不能嵌套。

(YES)5.在一般情况下8051单片机允许同级中断嵌套。

(?ERR???)?6.各中断源对应的中断服务程序的入口地址是否能任意设定? (NO)7.89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。

(YES)8.各中断源发出的中断申请信号,都会标记在MCS-51系统中的(?B?)中。

(A)TMOD?????? (B)TCON/SCON??? (C)IE??????? (D)寄存器IE的内容应是( A )【98H=1001 1000 )。

10.编写出外部中断1为跳沿触发的中断初始化程序。

IT1=1;EX1=1;EA=1;【注意点:最好分开写,用位来写,不要用TCON和IE特殊功能寄存器】11.什么是中断?其主要功能是什么?中断是指计算机暂时停止原程序的执行,转而为外部设备服务(执行中断服务程序),并在服务完成后,自动返回原程序执行的过程。

可以提高CPU的工作效率,可以提高实时数据的处理时效。

中断技术主要用于实时监测与控制,采用中断可以解决单片机在查询方式中的等待现象,可以大大地提高了单片机的工作效率和实时性。

12. 什么是中断源?MCS-51有哪些中断源?各有什么特点?引起CPU暂停正在运行程序的事件,称为中断源。

有5个:外部中断0、定时器0、外部中断1、定时器1、串行通信。

外部中断源(INT0、INT1)的中断请求信号是从P3.2和P3.3引脚输入,通过设置TCON的IT0和IT1来规定是电平申请还是下降沿申请。

对下降沿触发的中断标志在进入中断服务程序时,中断标注位自动清零。

内部中断源(T0、T1)的中断信号是在计数器从全“1”变为全“0”溢出时,向CPU提出中断申请,中断标志在进入中断服务程序时,自动清零。

内部串行的中断信号是在串行口每发送完一帧数据(方式0为8位,方式1为10位)或接收完一帧数据后,向CPU提出中断申请。

中断标志在进入中断服务程序时,必须用软件清零。

13. 什么是中断嵌套?中断系统在执行一个中断服务程序时,如果有一个优先级更高的中断提出中断请求时,那么会暂时停止当前执行的低优先级的中断服务程序,去处理高优先级的中断服务程序,处理完后在返回到被中断的低优先级的服务程序继续执行,这个过程称为中断嵌套。

14.中断服务子程序与普通子程序有哪些相同和不同之处?相同点:都是从主函数转到子函数,子函数执行完后又返回主函数。

不同点:中断函数是发生中断后,自动执行的,不需要主函数调用,是否执行,取决于相应的中断事件是否发生。

而普通子函数要主函数调用才能执行。

普通子函数调用时,直接进入函数入口地址中断函数在中断发生时,先进入中断入口地址,再通过中断入口地址处放置的一条无条件转移指令,使程序执行转向中断服务程序入口。

中断函数的定义和普通函数的定义不同,中断服务程序用interrupt 关键字来定义。

15. 中断请求撤除的有哪三种方式?(1)由单片机内部硬件自动复位的有:对于定时器/计数器T0、T1的溢出中断和采用跳变方式触发的外部中断请求,在CPU 响应中断后,由内部硬件自动复位中断标志TF0、TF1、IE0和IE1,而实现自动撤除中断请求。

(2)需用软件清除相应标志的有:【用查询方式时,定时器T0、T1的TF0和TF1也需要用软件来清零;】响应串行口的中断后,CPU 无法知道是接收中断还是发送中断,还需要判断这两个中断标志位,以判定是接收操作还是发送操作,然后才清除相应的标志。

所以串行口中断请求的撤销只能使用软件的方法,即用如下指令在中断服务程序中对串行口中断标志位进行清除: TI =0; // 清TI 标志位【在reg51.h 中,已经定义】 RI=0; // 清RI 标志位(3)既无硬件也无软件措施的:对于采用电平触发方式的外部中断请求,CPU 对0INT 、1INT 引脚上的中断请求信号无控制能力,IE0或IE1受外部引脚中断信号(0INT 、1INT )直接控制,CPU 无法控制IE0或IE1,也无应答信号。

为保证在CPU 响应中断后、中断服务程序返回前,要撤除中断请求,需要另外考虑撤除中断请求信号的方法,可通过外加硬件电路,并配合软件来解决,如下图。

中断响应后,利用D 触发器的SD 端接80C51的P1.0端。

只要P1.0端输出一个负脉冲就可以使D 触发器置“1”,撤销低电平的中断请求信号。

16. 特殊功能寄存器TCON 有哪三大作用?(1)锁存4个中断请求标志(外部中断0、定时器0、外部中断1、定时器1);(2)设置0INT 和1INT 的两种触发方式(低电平或下降沿) (3) 定时器的启动标志17. 把教材的P87页的图4.24改为中断实现,用负跳变方式,中断0(INT0)显示“L2”,中断1(INT1)显示“H3”。

#include <reg51.h>unsigned char led_mod[]={0x38,0x5b,0x76,0x4f}; // L2H3 unsigned char i,led_pos;sbit P17=P1^7;void delay(unsigned int count){ unsigned char i;while(count--)for(i=0; i<120;i++);}void xint0(void) interrupt 0{ led_pos=2; }void xint1(void) interrupt 2{ led_pos=0; }main(){ IT0=1;IT1=1;EX0=1;EX1=1;EA=1;P1=0xfd; //0xfd=1111 1101while(1){ for(i=0;i<2;i++){ P2=led_mod[i+led_pos];delay(5);P1=~P1; }}}18.第5章课后作业第9题。

805l单片机只有两个外部中断源,若要扩展成8个外部中断源,请画出实现这种扩展的硬件线路图,并说明如何确定各中断源的优先级。

解:用按钮开关模拟中断源的中断请求,INT0单独作为一个中断源,INT1扩展成7个中断源,有中断请求时,借助于P2口识别是这七个中断源是哪个请求中断,为了验证正确性,如果是INT0中断,则在P0口的数码管上显示0,是INT1中断,则根据从上到下是哪个中断源在P0口的数码管上显示1—7。

具体电路和程序如下:#include <reg51.h>char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07};void INT0_srv (void) interrupt 0 using 1 //外部中断0处理程序{P0=led_mod[0];}void INT1_srv (void) interrupt 2 using 2 //外部中断1处理程序{char intnum;intnum=P2;switch(intnum){case 0xfe:P0=led_mod[1];break;case 0xfd:P0=led_mod[2];break;case 0xfb:P0=led_mod[3];break;case 0xf7:P0=led_mod[4];break;case 0xef:P0=led_mod[5];break;case 0xdf:P0=led_mod[6];break;case 0xbf:P0=led_mod[7];}}void main(){EA=1;EX0=1;EX1=1;P0=0;while(1);}。

合集下载

《单片机原理及应用》课后习题答案_高等教育出版社_张毅刚

《单片机原理及应用》课后习题答案_高等教育出版社_张毅刚

第一章单片机概述1.2除了单片机这一名称之外,单片机还可称为(微控制器)和(嵌入式控制器)。

1.3单片机与普通计算机的不同之处在于其将(微处理器)、(存储器)和(各种输入输出接口)三部分集成于一块芯片上。

4、单片机的发展大致分为哪几个阶段?答:单片机的发展历史可分为四个阶段:第一阶段(1974年----1976年):单片机初级阶段。

第二阶段(1976年----1978年):低性能单片机阶段。

第三阶段(1978年----现在):高性能单片机阶段。

第四阶段(1982年----现在):8位单片机巩固发展及16位单片机、32位单片机推出阶段1.5单片机根据其基本操作处理的位数可分为哪几种类型?答:单片机根据其基本操作处理的位数可分为:1位单片机、4位单片机、8位单片机、16位单片机和32位单片机。

1.6MCS-51系列单片机的基本芯片分别为哪几种?它们的差别是什么?答:基本芯片为8031、8051、8751。

8031内部包括1个8位cpu、128BRAM,21个特殊功能寄存器(SFR)、4个8位并行I/O 口、1个全双工串行口,2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM 芯片。

8051是在8031的基础上,片内又集成有4KBROM,作为程序存储器,是1个程序不超过4KB的小系统。

8751是在8031的基础上,增加了4KB的EPROM,它构成了1个程序小于4KB的小系统。

用户可以将程序固化在EPROM中,可以反复修改程序。

1.7MCS-51系列单片机与80C51系列单片机的异同点是什么?答:共同点为它们的指令系统相互兼容。

不同点在于MCS-51是基本型,而80C51采用CMOS 工艺,功耗很低,有两种掉电工作方式,一种是CPU停止工作,其它部分仍继续工作;另一种是,除片内RAM继续保持数据外,其它部分都停止工作。

1.88051与8751的区别是(C)(A)内部数据存储单元数目的不同(B)内部数据存储器的类型不同(C)内部程序存储器的类型不同(D)内部的寄存器的数目不同1.9在家用电器中使用单片机应属于微型计算机的(B)(A)辅助设计应用(B)测量、控制应用(C)数值计算应用(D)数据处理应用1.10说明单片机主要应用在哪些领域?答:单片机主要运用领域为:工业自动化;智能仪器仪表;消费类电子产品;通信方面;武器装备;终端及外部设备控制;多机分布式系统。

单片机原理与应用课程课后习题答案

单片机原理与应用课程课后习题答案

单片机原理及应用》习题答案第一章基础知识1.微型计算机主要由哪几部分组成?各部分有何功能?答:一台微型计算机由中央处理单元(CPU、存储器、I/O接口及I/O设备等组成, 相互之间通过三组总线(Bus):即地址总线AB数据总线DB和控制总线CB来连接。

CPU由运算器和控制器组成,运算器能够完成各种算术运算和逻辑运算操作,控制器用于控制计算机进行各种操作。

存储器是计算机系统中的“记忆”装置,其功能是存放程序和数据。

按其功能可分为RAM和ROM输入/输出(I/O、接口是CPU与外部设备进行信息交换的部件。

总线是将CPU存储器和I/O接口等相对独立的功能部件连接起来,并传送信息的公共通道。

2•将下列十进制数分别转换成为二进制数,十六进制数和BCD码数的形式:100,64,78,80解: 1 、100=1100100B=64H=0001 0000 0000BC;D2、64=1000000B=40H=0110 0100BC;D3) 78=1001110B=4EH=0111 1000BCD3.写出下列十六进制无符号数对应的十进制数和二进制:0D5H,64H,2CH,4FEH解:1) 0D5H=213=11010101;B2)64H=100=1100100B;3)2CH=44=101100B;4)4FEH=1278=B。

4.写出下列十进制数对应的二进制原码、反码和补码:+35,+50,-10,-20解:1) + 35=( 23H)原=(23H 反=(23H)补;2 ) + 50=( 32H)原=(32H 反=(32H)补;3)—10=( 8AH 原=(0F5H 反=(0F6H 补;4)—20=( 94H)原=(0EBH 反=(0ECH 补;5.根据给定的原码、反码、补码求真值。

1)(0CBH) 原=(-75) 真值;2) (8BH技=(-116)真值;3) (9BH)=(-101)真值;4) (6BHk=(+107)真值;解:1) (0CBH)原=(-75)真值;2) (8BH)反=(-116)真值;3) (9BH)补=(-101)真值;4) (6BH)补=(+107)真值;6.试分别判断下列各组数据大小?1)A=0.011B B=0.011 C=0.011H2)A=1001B B=1001 C=1001H解:1) A=0.011B=0X 2-1+1X 2-2+1X 2-3=0.25+0.125=0.375 ;B=0.011C=0.011H=0X 16-1+1 X 16"2+1X 16-3=0.5所以:A>B>C2)A=1001B=9;B=1001;C=1001H=4097所以:A<B<C7.先将下列各组数据转换为补码表示的带符号数,然后用进行补码运算,再将结果还原成原码,并写出对应的十进制数检验结果是否正确。

单片机习题答案

单片机习题答案

单片机原理及应用作业参考答案 1.2 单片机的结构特点表现在哪些主要方面? . 单片机的结构特点表现在哪些主要方面? 答: (1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使用两个不同的地址指针; (2)在内部有一个全双工的串行接口; (3)有一个独立进行操作的位处理器. 1.4 通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则. 通用单片机的供应状态主要取决于什么?供应状态有哪几种? 是什么? 是什么? 答:通用单片机的供应状态主要取决于片内ROM 的配置状态. (1)片内ROM 的配置状态掩膜ROM,适合于低成本.大批量产品的场合(2)片内EPROM 配置状态可通过高压脉冲写入应用程序到EPROM,适合于开发样机,小批量生产. (3)片内无ROM 配置状态必须外扩EPROM,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应用场合. 2.3 单片机的EA 端有何功用?8031 的EA 端应如何处理,为什么? . 端有何功用? 端应如何处理,为什么? 答: EA 端是访问外部程序存储器的控制信号:当EA 无效时,访问内部ROM,当EA 为有效时,访问外部ROM.由于8031 没有内部ROM,所以EA 端必须接低电平. 2. MCS-51 引脚中有多少I/O 线?它们与单片机对外的地址总线, . 4 它们与单片机对外的地址总线, 数据总线和控制总线有什么关系? - 数据总线和控制总线有什么关系? 地址总线和数据总线各是几位? 地址总线和数据总线各是几位? 答:MCS-51 引脚中有32 根I/O 线,一般由P0 口提供单片机对外的数据总线,同时作为分时复用的地址总线的低8 位, P2 口作为地址总线的高8 位, 由控制总线由第二功能的状态下的P3 口以及RST, , EA ALE 和PSEN 提供. 2.5 8051 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点? . 单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点? 答:数据存储器主要分为两个区域:00H~7FH 是真正的RAM 区,80H~FFH 专门用作特殊功能寄存器的区域. 其中00H~7FH 可分为三个区域: 00H~1FH 为四组工作寄存器; 20H~2FH 为128 位位寻址区, 30H~7FH 为一般RAM 区. 2.6 单片机对外有几条专用控制线?其功能是怎样的? . 单片机对外有几条专用控制线?其功能是怎样的? 答:单片机对外的专用控制线有 4 条,分别是: (1) PSEN : 外部取指操作,在访问外部ROM 时, PSEN 信号自动产生; (2)ALE/ PROG :ALE 为地址锁存允许信号,在访问外部ROM 或RAM 时,用来锁存P0 口的低8 位地址.第二功能PROG 是对8751 的EPROM 编程时,编程脉冲输入. 1 (3) EA /VPP: EA 是访问外部程序存储器的控制信号, EA 无效时,访问内部ROM, EA 有效时,访问外部ROM,第二功能VPP 为对8751EPROM 的21V 编程电源输入. (4)RST/VPD:RST 是复位信号输入端,第二功能VPD 是备用电源输入端. 2.8 有哪几种方法使单片机复位?复位后各寄存器,RAM 中的状态如何? 中的状态如何? . 有哪几种方法使单片机复位?复位后各寄存器, 答:单片机的复位方式有两种,上电自动复位和按钮复位.复位后各寄存器状态为: PC 0000H ACC 00H PSW 00H SP 07H DPTR 0000H P0~P3FFH IP XX000000B IE 0X000000B TMOD 00H TCON 00H TL0 00H TH0 00H TL1 00H TH1 00H SCON 00H SBUF XXH PCON 0XXX0000B 2.9 在8051 扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址, . 上出现争总线的现象?为什么? 上出现争总线的现象?为什么? 答:不会发生争总线的现象,因为从外部ROM 取指令需要用ALE 和PSEN 信号控制读取操作,由P2 和P0 提供地址;而片外数据存储器的读写除了地址之外还要RD , WR 控制,所以不会争总线. 2.10 如果8051 端口P0~P3 作为通用I/O 口使用,则在输入引脚数据时应注意什么? . 口使用,则在输入引脚数据时应注意什么? ~答:8051 的P1,P2 和作为一般输入I/O 口的P 以及第一功能的P3 口均为准双向口,在输入数据时应先向端口写1,然后方可作为高阻输入.以使其场效应管T2 截止,才不会影响输入电平. 3.2 若要完成以下的数据传送,应如何用MCS-51 的指令实现? . 若要完成以下的数据传送, 的指令实现? (1)R1 的内容传送到R0 (5)ROM2000H 单元的内容传送到R0 MOVA,R1 MOV DPTR,#2000H MOV R0,A CLR A MOVC A,@A+DPTR (2) 外部RAM20H 单元的内容传送到R0 MOV R0,#20H MOV R0,A MOVX A,@R0 (6)ROM2000H 单元的内容传送到内部RAM20H 单元MOV R0,A MOV DPTR,#2000H CLR A (3)外部RAM20H 单元的内容传送到内MOVC A,@A+DPTR 部RAM20H 单元MOV R0,#20H MOV 20H,A MOVX A,@R0 (7)ROM2000H 单元的内容传送到外部RAM20H 单元MOV 20H,A MOV DPTR,#2000H CLR A (4)外部RAM1000H 单元内容传送到内MOVC A,@A+DPTR 部RAM20H 单元MOV DPTR,#1000H MOV R0,#20H MOVX A,@DPTR MOVX @R0,A MOV 20H,A 3.3 间接转移指令JMP @A+DPTR 有何优点?为什么它能代替众多的判跳指令?试举例说明. 有何优点?为什么它能代替众多的判跳指令?试举例说明. . 答:该间接转移指令的转移地址由 A 的内容和数据指针DPTR 的内容之和决定,且两者都是无符号数, 由DPTR 决定多分支转移程序的首地址, A 的不同值实现多分支转移. 由因为可以根据A 的内容进行分支转移,所以可以替代众多判跳指令. 如:根据 A 的内容调用相应的程序,如 A 为0 调用OP0,A 为 1 调用OP1,这里 A 的值小于128. MOV DPTR,#OPTAB 2 A @A+DPTR … OPTAB: ACALL OP0 ACALL OP1 ACALL OP2 … 3.4 设内部RAM 的30H 单元的内容为40H,即(30H)= )=40H,还知(40H)= )=10H, (10H)= )=00H, . , )= ,还知( )= , ( )= , 端口P1=0CAH.问执行以下指令后,各有关存储器单元,寄存器以及端口的内容(即R0,R1,A,B, = .问执行以下指令后,各有关存储器单元,寄存器以及端口的内容( , , , , P1 以及40H,30H,10H 单元的内容) 单元的内容) , , . MOV R0,#30H ; (R0)=30H MOV A,@R0 ;(A)=(30H)=40H MOV R1,A ; (R1)=40H MOV B,@R1 ; (B)=(40H)=10H MOV @R1,P1 ; (40H)=0CAH MOV P2,P1 ; (P2)=0CAH MOV 10H,#20H ; (10H)=20H MOV 30H,10H ; (30H)=20H 3.5 已知8751 单片机的P1 口为输出,经驱动电路接有8 只发光二极管.当输出位是1 时,发光二极 . 口为输出, 只发光二极管. 管点亮; 时发光二极管熄灭.试分析下述程序的执行过程及发光二极管的发光情况. 管点亮;输出位是0 时发光二极管熄灭.试分析下述程序的执行过程及发光二极管的发光情况. LP: MOV P1,#81H ;1000 0001B LCALL DELAY LCALL DELAY MOV P1,#24H ;0010 0100B MOV P1,#42H ;0100 0010B LCALL DELAY LCALL DELAY MOV P1,#42H ;0100 0010B MOV P1,#24H ;0010 0100B LCALL DELAY LCALL DELAY SJMP LP MOV P1,#18H ;0001 1000B 答:程序执行MOV P1,#DATA 后,根据DATA 的每位的值点亮相应的LED,调用延时程序使点亮的LED 保持一段时间.LED 发光的情况为:每次同时点亮两个LED 并从两边向中间移动,然后再向两边移动, 并一直循环. 3.6 在上题中,若系统的晶体振荡器频率为6MHz,求子程序DELAY 的延时时间. 的延时时间. . 在上题中, , DELAY: MOV R2,#0FAH ;①2S L1: MOV R3,#0FAH ;②2S L2: DJNZ R3,L2 ;③4S DJNZ R2,L1 ;④4S RET ;⑤4S 0FAH=250D 其中③执行250 次,执行时间为250×4S 其中②③④循环250 次,该循环执行时间为(2+250×4+4)×250S 加上①和⑤的执行时间,DELAY 的延时时间为2+(2+250×4+4)×250+4=251.506ms 延时程序的设计: 延时程序的设计: 首先设计内循环: MOV R3,#data1 ;2s NOP ;2s DJNZ R3,$ ;4s×data1 延时时间t1=2+2+4×data1=4×(data1+1)=1000s=1ms,则data1=249 3 RL JMP 若需要大于1ms 时间,则先增加一层循环MOV R2,#data2 ;2s L1: MOV R3,#data1 ;2s NOP ;2s DJNZ R3,$ ;4s×data1 DJNZ R2,L2 ;(4s+t1)×data2 延时时间为:2+(4s+t1)×data2=2+[4s+4×(data1+1)]×data2= =2+4×(data1+2)×data2=250ms,这里将data1 修正为248, 得2+4×(248+2)×data2=2+1000×data2=250ms 则data2=250 3.7 根据图3-3 线路,试设计灯亮移位程序,使8 只发光二极管每次亮一个,循环右移或左移,一个一线路,试设计灯亮移位程序, 只发光二极管每次亮一个,循环右移或左移, . 个地亮,循环不止. 个地亮,循环不止. MOV A,#80H DIS: MOV P1,A ACALL DELAY RR A AJMP DIS 3.8 设逻辑运算表达式为: . 设逻辑运算表达式为: Y = A (B + C) + D (E + F ) 其中变量A,B,C 分别为P1.0,P1.4,定时器1 溢出标志TF1,D,E,F 分别为22H.0,22H.3,外中断, , , , , , , , , 现上述逻辑功能的程序段. 方式标志IE1;输出变量为P1.5.试编写实现上述逻辑功能的程序段. ; .试编写实现上述逻辑功能的程序段MOV C,P1.4 ORL ANL MOV MOV ORL ANL CPL ORL MOV C,/TF1 C,P1.0 F0,A C,22H.3 C,/IE1 C,22H.0 C C,/F0 P1.5,C ; (B + C) ; A (B + C) ;用户自定义标志位,暂存数据;(E + F ) ; D (E + F ) ; D (E + F ) ; A (B + C) + D (E + F ) 4.1 试设计数据块传送程序,将起始地址为0400H 的100 个连续单元中的内容送到以4000H 为首址的区. 试设计数据块传送程序, 域中去解:分析:地址为16 位,且进行数据传送,所以连续单元应为外部的存储器,只能使用外部数据传送指令,由于源和目的地址都为16 位,所以要保存DPTR 的值,但源低8 位和目的低8 位相同,可以用一个寄存器保存. MOV R0,#00 NEXT: MOV DPH,#04H MOV DPL,R0 MOVX A,@DPTR MOV DPH,#40H MOVX @DPTR,A INC R0 CJNE R0,#100,NEXT 4.2 试编写程序,计算片内RAM 区40H~47H8 个单元中数的算术平均值,结果存放在4AH 中. 个单元中数的算术平均值, . 试编写程序, ~解:分析:8 个数总和最大值为FFH×8=7F8H,所以求和时必须用两字节加法,设R7 保存和高8 位, R6 保存低8 位,求和后再除以8 即得算术平均值,这里需使用16/8 除法,但因为除数为23,所以可以直4 接通过算术右移3 位实现除以8,前提存储的数据为无符号数. MOV MOV MOV NEXT : MOV INC ADD MOV CLR A ADDC MOV CJNE MOV DIV8: CLR C MOV RRC MOV MOV RRC MOV DJNZ R0,#40H R6,#00H R7,#00H A,@R0 R0 A,R6 R6,A ;和低字节清零;和高字节清零;取出一个字节;地址指针下移;低字节求和;保存和的低字节A,R7 ;如果低字节求和有进位,则加至高字节R7,A ;保存和的高字节R0,#48H,NEXT R1,#03H ;循环移位 3 次,实现除以8 A,R7 A R7,A A,R6 A R6,A R3,DIV8 ;高字节先移位,将D0 移至C ;将C 移入低字节的D7,从而实现16 位数据的移位16 位除以8 位除法子程序: 位除法子程序: 被除数R6R5,除数R4,商R3R2,余数R1 DIV168: JC NEXT MOV R3,#00H MOV A,R2 MOV R1,#00H ADD A,#01H NEXT2: MOV R2,A CLR C JNC NEXT2 MOV A,R5 INC R3 SUBB A,R4 AJMP NEXT2 MOV R5,A NEXT: MOV A,R5 MOV A,R6 ADD A,R4 SUBB A,#00H MOV R1,A MOV R6,A RET 4.3 设有两个长度为15 的数组,分别存放在0200H 和0500H 为首地址的存储区域中,试编写程序求的数组, 为首地址的存储区域中, . 其对应项之和, 为首地址的存储区域中. 其对应项之和,结果存放在以0300H 为首地址的存储区域中. 解:分析:0200H 和0500H 都是片外地址,必须利用MOVX 指令获取数据,这将导致DPTR 使用不方便,解决办法: (1)0200H,0500H 和0300H 低字节地址相同,可以共用DPL,DPH 单独处理; (2)可以考虑先将两个存储区的数据先转移到内部RAM 中,然后再进行运算. 这里只是求对应项之和,并不是多位数求和,两数相加,可能产生进位,这里应该只考虑没有进位的情况. 这里采用第一种方法 5 MOV R0,#15 MOVX A,@DPTR MOV DPL,#00H ADD A,B NEXT: MOV DPH,#02H MOV DPH,#03H MOVX A,@DPTR MOVX @DPTR,A MOV B,A INC DPTR MOV DPH,#05H DJNZ R0,NEXT 4.4 在起始地址为2100H,长度为64 的数表中找 F 的ASCII 码,并将其地址送到1000H 和1001H 单. , 元中去. 元中去. 解:都为RAM 单元,只要找到"F" ,则停止查找.利用寄存器R7 保存高8 位地址,R6 保存低8 位地址. SF: MOV DPTR,#2100H MOVX @DPTR,A MOV R0,#64 INC DPTR NEXT1:MOVX A,@DPTR MOV A,R7 CJNE A,#4FH,NEXT2 MOVX @DPTR,A MOV R7,DPH AJMP SFEND MOV R6,DPL NEXT2:INC DPTR MOV DPTR,#1000H DJNZ R0,NEXT1 MOV A,R6 SFEND: RET 4.5 设计一个多字节无符号数加法子程序和减法子程序. . 设计一个多字节无符号数加法子程序和减法子程序. 解: (1)多字节无符号数加法(2)多字节无符号数减法设R0 为加数首地址,R1 为被加数首地址,R2 设R0 为被减数首地址,R1 为减数首地址,R2 为字节数为字节数JIAFA: CLR C JIANFA: CLR C NEXT: MOV A,@R0 NEXT: MOV A,@R0 ADDC A,@R1 SUBB A,@R1 MOV @R0,A MOV @R0,A INC R0 INC R0 INC R1 INC R1 DJNZR2,NEXT DJNZ R2,NEXT RET RET 4.6 试设计一个双字节无符号数乘法子程序和除法子程序. . 试设计一个双字节无符号数乘法子程序和除法子程序. 解:设被乘数为R7R6,乘数为R5R4,结果存于R3R2R1R0 设被除数为R7R6,除数为R5R4,商存于R3R2,余数存于R1R0 将被除数减除数,够减商加1,然后将差作为被减数,继续前面的减法操作,直到不够减为止,这时需要恢复余数. 6 MUL1616:MOV MOV MUL MOV MOV MOV MOV MUL ADD MOV A,R6 B,R4 AB R0,A R1,B A,R7 B,R4 AB A,R1 R1,A MOV ADC MOV MOV MOV MUL ADD MOV MOV ADC A,B A,#0 R2,A A,R6 B,R5 AB A,R1 R1,A A,B A,R2 MOV MOV MOV MUL ADD MOV MOV ADC MOV RET R2,A A,R7 B,R5 AB A,R2 R2,A A,B A,#0 R3,A DIV1616:MOV DPTR,#0 JC NEXT MOV R1,A LOOP: CLR C INC DPTR MOV A,DPH MOV A,R6 JMP LOOP MOV R3,A SUBB A,R4 NEXT: MOV A,R6 MOV A,DPL MOV R4,A ADD A,R4 MOV R2,A MOV A,R7 MOV R0,A RET SUBB A,R5 MOV A,R7 MOV R7,A ADC A,R5 4.7 在3000H 为首的存储器区域中,存放着14 个由ASCII 码表示的0~9 之间的数,试编写程序将它为首的存储器区域中, . ~之间的数, 单元中. 们转换成BCD 码,并以压缩BCD 码的形式存放在2000H~2006H 单元中. ~解:0~9 的ASCII 码为30H~39H,首先必须去掉其中的3,可以通过减去30H 实现,也可通过ANL 实现.另外还得将两个BCD 码压缩成一个BCD 码,注意低地址对应低字节,比如3000H 为31H(低字节) ,3001H 为38H(高字节) ,合并后应为81H,存于2000H 单元,可利用ORL 或ADD 进行合并. 由于涉及到源和目的地址都为16 位,为了方便操作,现将转换结果存于内部RAM. MOV R0,#30H MOV @R0,A MOV R1,#14 INC R0 MOV DPTR,#3000H CJNE R1,#37H,NEXT MOV R0,#30H NEXT: MOVX A,@DPTR ;取出低字节MOV DPTR,#2000H INC DPTR ;源区地址指针下移NEXT2:MOV A,@R0 ANL A,#0FH ;低字节转换为BCD 码INC R0 MOV R4,A ;暂存数据MOVX @DPTR,A MOVX A,@DPTR ;取出高字节INC DPTR INC DPTR CJNE R0,#37H,NEXT2 ANL A,#0FH ;高字节转换为BCD 码SW AP A ;高低四位互换ORL A,R4 ;将两个BCD 码合并 4.8 编写一段程序,模拟如图所示的逻辑电路的逻辑功能,要求将四个输入与非门的逻辑模拟先写成一. 编写一段程序,模拟如图所示的逻辑电路的逻辑功能,要求将四个输入与非门的逻辑模拟先写成一个子程序,然后以多次调用得到整个电路的功能模拟. 都已定义为位地址, 个子程序,然后以多次调用得到整个电路的功能模拟.设X,Y,Z 和W 都已定义为位地址,若程序中还, , 需要其他地址标号,也可以另行定义. 需要其他地址标号,也可以另行定义. 解: 方法一:设计四输入与非门子程序,利用子程序必定要传递参数,但位操作的传送指令必须由C 完成,所以调用子程序时参数传递较复杂. 7 MOV MOV MOV CPL MOV MOV MOV MOV MOV ACALL MOV SETB MOV MOV MOV MOV MOV MOV ACALL MOV C,W 00H,C C,Z C 01H,C C,Y 02H,C C,X 03H,C NAND4 04H,C 00H C,X 01H,C C,Y 02H,C C,Z 03H,C NAND4 05H,C CPL MOV CPL MOV MOV MOV ACALL SETB MOV MOV MOV MOV MOV ACALL MOV AJMP NAND4: ANL ANL ANL CPL C RET END 01H C,Y C 02H,C C,W 03H,C NAND4 00H 01H,C C,04H 02H,C C,05H 03H,C NAND4 F,C $ MOV C,00H C,01H C,02H C,03H SETB 00H MOV C,X MOV 01H,C 方法二:利用宏实现MACRO,宏可以带参数,所以参数传递将很方便NAND4 MACRO A1,A2,A3,A4 MOV ONE,C MOV C,A1 NAND4 X,Y,ONE,W ANL C,A2 MOV 04H,C ANL C,A3 SETB ONE ANL C,A4 NAND4 X,Y,ONE,W CPL C MOV 05H,C ENDM CPL Y SETB ONE ORG 0000H NAND4 X,Y,ONE,W AJMP MAIN MOV 06H,C ORG 0030H SETB ONE MAIN: MOV C,Z NAND4 04H,05H,06H,ONE CPL C MOV F,C 5.3 已知8051 单片机系统时钟频率为6MHz,试利用定时器T0 和P1 口输出矩形脉冲,其波形如图所. 口输出矩形脉冲, , 示(建议用方式2) ) . 解:定时器T0 的工作方式:方式2,定时方式,所以TMOD 为:0000010(02H) 定时初值: 8-TH0 初值)×时钟周期×12=(28-X)×(1/6M)×12=40s (2 X=236=0ECH,360s 则为9 次定时中断MOV TMOD,#02H JNB TF0,$ CLR TF0 MOV TH0,#0ECH MOV TL0,#0ECH NEXT1: CLR P1.0 CLR P1.0 WAIT2: JNB TF0,$ SETB TR0 CLR TF0 DJNZ R0,WAIT2 NEXT3: MOV R0,#09H SETB P1.0 AJMP NEXT3 8 5.4 要求8051 单片机定时器的定时值以内部RAM 的20H 单元的内容为条件而改变;当(20H)= . 单元的内容为条件而改变; )=00H )= )=01H 时,定时值为20ms.请根据以上要求编写相应程序. 时,定时值为10ms;当(20H)= ; )= .请根据以上要求编写相应程序. 解:采用定时器T0,工作方式:方式1,定时方式,所以TMOD 为:0000001(01H) 定时初值:216-T0 初值) ( ×时钟周期×12= 16-X) (2 ×(1/6M)×12= 16-X) (2 2s=10[(20H)+1]1000s X = 65536 10[(20H) + 1]1000 = 65536 5000 5000 ×(20H) 2 = 60536 5000(20H ) = EC 78H 1388H × (20H ) (这里20H 单元的内容最大为12,否则超出16 为定时器的范围) TIMER:MOV A,20H MOV B,#88H MUL AB ;88H×(20H) MOV R0,A ;R0 保存低字节MOV R1,B ;R1 保存高字节MOV A,20H MOV B,#13H MUL AB ;13H×(20H) ADD A,R1 MOV R1,A ;只要限制20H 单元内容小于13,1388H×(20H)即为两字节CLR C MOV A,78H SUBB A,R0 ;78H 减去1388H×(20H)的低字节MOV TL0,A MOV A,#0ECH SUBB A,R1 ;ECH 减去1388H×(20H)的高字节MOV TH0,A MOV TMOD,#01H SETB TR0 W AIT: JNB TF0,WAIT RET ;定时时间到上述定时初值的设置适合(20H)为00H~12H,即可以实现10ms~190ms 的定时. 若仅仅是10ms 和20ms 两种情况,初值设置将更简单X 00 H = 60536 = EC 78H TIMER: MOV CJNE MOV MOV AJMP NEXT1: CJNE X 01H = EC 78H 1388H ×(01H ) = D8F0H MOV MOV NEXT2: MOV SETB WAIT: JNB RET TH0,#0D8H TL0,#0F0H TMOD,#01H ;T0 工作方式TR0 TF0,WAIT ;定时时间到A,20H A,#00H,NEXT1 TH0,#0ECH TL0,#78H NEXT2 A,#01H,NEXT2 5.5 试用定时器T1 设计外部事件计数器.要求每计数1 万个脉冲,就将T1 转为10ms 定时方式,当. 设计外部事件计数器. 万个脉冲, 定时方式, 定时到后,又转为计数方式,如此反复循环不止. 定时到后,又转为计数方式,如此反复循环不止.设系统的时钟频率为6MHz,建议选用方式 1 编写相, 应程序. 应程序. 解:T1 工作方式为方式1,计数方式:TMOD:01010000(50H) ,定时方式:TMOD:00010000(10H) 计数初值X=M-计数模值=65536-10000=55536=D8F0H 定时初值(65536-X)×2=10000,X=60536=EC78H MAIN: MOV TMOD,#50H WAIT1: JBC TF1,NEXT1 MOV TL1,#0F0H AJMP W AIT1 MOV TH1,#0D8H NEXT1: MOV TMOD,#10H SETB TR1 MOV TL1,#78H 9 MOV W AIT2: JBC TH1,#0ECH TF1,MAIN AJMP W AIT2 5.7 利用8051 单片机定时器测量某正脉冲宽度宽度,采用何种工作方式可以获得最大的量程?若时钟. 单片机定时器测量某正脉冲宽度宽度,采用何种工作方式可以获得最大的量程? 频率为6MHz,则允许测量的最大脉宽是多少? ,则允许测量的最大脉宽是多少? 解:要获得最大量程,那么定时/计数器的计数值必须达到最大,只有方式 1 是工作在16 位计数模式. 因为测脉宽,所以定时/计数器工作于定时方式,且由外部中断引脚电平启动定时. 最大定时时间为: (M-X)×T=(65536-0)×12×1/6MHz=131.072ms 7.3 某异步通讯接口,其帧格式由一个起始位,7 个数据位,1 个奇偶校验位和一个停止位组成.当该. 某异步通讯接口,其帧格式由一个起始位, 个数据位, 个奇偶校验位和一个停止位组成. 接口每分钟传送1800 个字符时,计算其传送波特率. 个字符时,计算其传送波特率. 解:由帧格式可知:一个字符由1+7+1+1=10 位组成,波特率=1800×10/60=300 波特. 7. 为什么定时器T1 用作串行口波特率发生器时常采用工作方式2?若已知T1 设置成方式2, . 6 ? , 用作波特率发生器, 特率发生器,系统时钟频率为11.0592MHz,求可能产生的最高和最低的波特率各是多少? ,求可能产生的最高和最低的波特率各是多少? 答:因为定时器T1 的方式 2 为自动重装定时初值,这样操作方便,也避免了因重装定时初值引起的定 2 SMOD f OSC 1 时误差.由波特率= × 32 12 256 初值当初值为0,SMOD=0 时,得到最低波特率=112.5 当初值为255,SMOD=1 时,得到最低波特率=57.6K 7.7 在8051 应用系统中,时钟频率为6MHz.现需利用定时器T1 方式 2 产生1200 波特的波特率.试. 应用系统中, 波特的波特率. . 计算定时器的初值,并指出实际得到的波特率与所要求的波特率是否有误差. 计算定时器的初值,并指出实际得到的波特率与所要求的波特率是否有误差. 解:根据波特率计算公式2 SMOD f OSC 1 ×32 12 256 初值 2 SMOD 6MHz 1 1 SMOD 1200 = × = 15625 × 2 32 12 256 初值256 初值当SMOD=0 时,初值为243,此时实际的波特率为:1201.92 当SMOD=1 时,初值为230,此时实际的波特率为:1201.92 所以实际波特率与要求的波特率有误差. 7.8 试设计一个8051 单片机的双机通讯系统,并编写程序将 A 机片内RAM40H~5FH 的数据块通过. 单片机的双机通讯系统, ~中去. 串行口传送B 机的片内RAM 60H~7FH 中去. ~解:该双机通讯系统,是将A 机数据发送到B 机,所以可以采用单工工作方式串行口采用方式 1 10 位异步收发,采用查询方式MOV R0,#40H A 机:发送MOV TMOD,#20H CLR TI MOV TL1,#0F3H NEXT: MOV A,@R0 MOV TH1,#0F3H INC R0 MOV SBUF,A SETB TR1 MOV SCON,#40H JNB TI,$ 10 CJNE R0,#60H, NEXT MOV R0,#60H AJMP $ NEXT: CLR RI JNB RI,$ B 机:接收MOV TMOD,#20H MOV A,SBUF MOV TL1,#0F3H MOV @R0,A MOV TH1,#0F3H INC R0 SETB TR1 CJNE R0,#80H, NEXT AJMP $ MOV SCON,#50H 8.1 8051 有几个中断源,各中断标志是如何产生的,又是如何复位的?CPU 响应中断时其中断入口地有几个中断源,各中断标志是如何产生的,又是如何复位的? . 址各是多少? 址各是多少? 答:8051 有5 个中断源,分别是外部中断0,定时器T0 中断,外部中断1,定时器T1 中断,串行口中断.中断入口地址分别为0003H,000BH,0013H,001BH,0023H. 定时器中断标志TF1 和TF0 是当计数器溢出时产生的,CPU 响应中断时能自动清除;外部中断IE1 和IE0 则是根据外部INT1 和INT0 的变化产生的, 只有边沿方式的IE1 和IE0 能在响应中断是自动清除, 电平方式的只能软件清除;串行口中断标志RI,TI 是在串行口接收和发送是产生的,它们只能利用软件清除. 8.3 如何区分串行通讯中的发送中断和接收中断? . 如何区分串行通讯中的发送中断和接收中断? 答:串行通讯中,发送和接收中断共用一个中断入口地址,但可以通过RI 和TI 标志判断是哪种中断, TI=1 表示发送中断,RI=1 表示接收中断. 8.4 如何设定外部中断源是采用边沿触发还是电平触发? 这两种中断触发所产生的中断过程有和不. 如何设定外部中断源是采用边沿触发还是电平触发? 同? 答:可通过IT1 和IT0 标志位进行设置,IT=0 时,为电平触发,IT=1 时,为边沿触发.电平触发,CPU 响应中断时不会清除IE 标志,所以中断返回前应撤销INT 引脚上的低电平;边沿触发方式,CPU 连续两个机器周期采样到先高后低的电平,则置位IE 标志,CPU 响应中断时由硬件清除IE 标志. 8.7 试用中断方法设计秒,分脉冲发生器,即由8051 的P1.0 每秒钟产生一个机器周期的正脉冲,由. 试用中断方法设计秒,分脉冲发生器, 每秒钟产生一个机器周期的正脉冲, P1.1 每分钟产生一个机器周期的正脉冲. 每分钟产生一个机器周期的正脉冲. 解:设系统时钟为6MHz,由定时器完成定时,最大定时时间为65536×2us=131096us=131.096ms,所以设置定时器定时时间为100ms,10 次定时为 1 秒钟,60 次一秒为一分钟,所以设置两个计数器分别对10 和60 计数(M-X)×2us=100ms,所以X=15536=3CB0H ORG 0000H MOV R4,#60 AJMP MAIN MOV R3,#10 ORG 0023H STB ET0 AJMP INTTIMER SETB EA MAIN: MOV TH0,#3CH INTTIMER: MOV TL0,#0B0H MOV TL0,#0B0H MOV TMOD,#01H MOV TH0,#3CH SETB TR0 DJNZ R3,INTEND CLR P1.0 SETB P1.0 CLR P1.1 CLR P1.0 11 MOV R3,#10 CLR P1.1 DJNZ R4,INTEND MOV R4,#60 SETB P1.1 INTEND: RETI 8.8 试运用定时器中断技术设计一个秒闪电路,其功能是使发光二极管LED 每秒钟闪亮400ms,设系统. 试运用定时器中断技术设计一个秒闪电路, , 主频为6MHz. . 答: 分析题目可知每秒钟LED 闪亮400ms, 也就是600msLED 灭, 那也就是只要LED 亮400ms, 600ms 灭即满足要求, 即要实现两个延时, 根据定时/计数器延时计算公式: (M-X) T=定时值, 最大定时值为65536 ×2us=131.072ms,不足400ms,所以设置基本延时为100ms,400ms 和600ms 定时通过多次基本延时实现. (M-X)×2us=100ms,所以X=15536=3CB0H 程序如下: LED ORG AJMP ORG AJMP MAIN: MOV MOV MOV SETB MOV STB SETB INTTIMER: MOV MOV INC CJNE CLR AJMP NEXT: CJNE SETB MOV INTEND: EQU P1.0 0000H MAIN 0023H INTTIMER TH0,#3CH TL0,#0B0H TMOD,#01H LED R3,#00H ET0 EA TL0,#0B0H TH0,#3CH R3 R3,#04H,NEXT LED INTEND R3,#0AH,INTEND LED R3,#00H RETI 12。

单片机原理及应用作业答案

单片机原理及应用作业答案

作业答案0-1绪论1.单片机是把组成微型计算机的各功能部件即(微处理器(CPU))、(存储器(ROM 和RAM))、(总线)、(定时器/计数器)、(输入/输出接口(I/O口))及(中断系统)等部件集成在一块芯片上的微型计算机。

2.什么叫单片机?其主要特点有哪些?解:将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)、中断系统和其他多种功能器件集成在一块芯片上的微型计机,称为单片微型计算机,简称单片机。

单片机的特点:可靠性高、便于扩展、控制功能强、具有丰富的控制指令、低电压、低功耗、片内存储容量较小、集成度高、体积小、性价比高、应用广泛、易于产品化等。

第1章MCS-51单片机的结构与原理15. MCS-51系列单片机的引脚中有多少根I/O线?它们与单片机对外的地址总线和数据总线之间有什么关系?其地址总线和数据总线各有多少位?对外可寻址的地址空间有多大?解:MCS-51系列单片机有4个I/O端口,每个端口都是8位双向口,共占32根引脚。

每个端口都包括一个锁存器(即专用寄存器P0~P3)、一个输入驱动器和输入缓冲器。

通常把4个端口称为P0~P3。

在无片外扩展的存储器的系统中,这4个端口的每一位都可以作为双向通用I/O端口使用。

在具有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。

MCS-51系列单片机数据总线为8位,地址总线为18位,对外可寻址空间为64KB。

25. 开机复位后,CPU使用的是哪组工作寄存器(R0-R n)?它们的地址是什么?CPU如何确定和改变当前工作寄存器组(R0-R n)?解:开机复位后,CPU使用的是第0组工作寄存器。

它们的地址是00H-07H。

CPU通过对程序状态字PSW中RS1和RS0的设置来确定和改变当前工作寄存器组。

27. MCS-51单片机的时钟周期、机器周期、指令周期是如何定义的?当主频为12MHz的时候,一个机器周期是多长时间?执行一条最长的指令需要多长时间?解:时钟周期又称为振荡周期,由单片机内部振荡电路OSC产生,定义为OSC时钟频率的倒数。

《单片机原理及应用》课后习题 答案.

《单片机原理及应用》课后习题 答案.

第1章1-1 什么是单片机?它与一般微型计算机在结构上何区别?答:单片微型计算机简称为单片机(Single Chip Computer),又称为微控制器(MCU 即Micro-Controller Unit)。

它是在一块芯片上集成了中央处理器(CPU)、存储器(RAM、ROM)、定时器/计数器、中断控制、各种输入/输出(I/O)接口(如并行I/O口、串行I/O口和A/D转换器)等为一体的器件。

微型计算机的基本结构由CPU(运算器、控制器)、存储器、输入设备和输出设备五大部分组成,各部分通过外部总线连接而成为一体。

单片机的结构是在一块芯片上集成了中央处理器(CPU)、存储器、定时器/计数器、中断控制、各种输入/输出接口(如并行I/O口、串行I/O口和A/D转换器)等,它们通过单片机内部部总线连接而成为一体。

1-2 MCS-51系列单片机内部资源配置如何?试举例说明8051与51兼容的单片机的异同。

1-3 新型8位单片机,主要在哪几方面发展了?使用新型8位单片机能带来什么好处?1、运算速度大大提高;2、RAM、ROM容量增大;3、精简指令集,指令比51少很多;4、更多的IO口;5、更多的其他功能,比如自带AD,DA,自带SPI,自带看门狗,自带大容量EEPROM等等;6、中断的种类更细更多,有20几个中断向量的比比皆是,定时器/计数器的功能,数量都更多。

简化电路,节省成本,降低功耗,提高系统的可靠性。

第2章2-1 MCS-51系列单片机内部有哪些主要的逻辑部件?答:一个8位CPU;一个片内振荡器及时钟电路;4K字节ROM程序存储器;128字节RAM数据存储器;两个16位定时器/计数器;可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;32条可编程的I/O线(四个8位并行I/O端口);一个可编程全双工串行口;具有五个中断源、两个优先级嵌套中断结构2-2 MCS-51设有4个8位端口(32条I/O线),实际应用中8位数据信息由哪一个端口传送?16位地址线怎样形成?P3口有何功能?答:实际应用中8位数据信息由P0口传送。

单片机原理及应用课后习题答案

单片机原理及应用课后习题答案

单片机原理及应用课后习题答案一、选择题。

1. 单片机是指集成了微处理器核心、存储器、输入/输出接口、定时/计数器和中断控制电路于一体的微型计算机系统。

答案,√。

2. 单片机的内部结构包括中央处理器、存储器和输入/输出接口。

答案,√。

3. 单片机的中央处理器主要包括运算器和控制器两部分。

答案,√。

4. 单片机中的存储器主要包括RAM和ROM两部分。

答案,√。

5. 单片机的输入/输出接口主要用于与外部设备进行数据交换。

答案,√。

6. 单片机的工作原理是通过控制输入/输出接口与外部设备进行数据交换,实现特定的功能。

答案,√。

7. 单片机的应用领域包括家电控制、工业自动化、汽车电子等多个方面。

答案,√。

8. 单片机在家电控制领域的应用主要包括洗衣机、空调、电视机等家电产品。

答案,√。

9. 单片机在工业自动化领域的应用主要包括生产线控制、仪器仪表控制等方面。

答案,√。

10. 单片机在汽车电子领域的应用主要包括发动机控制、车载娱乐系统等方面。

答案,√。

二、填空题。

1. 单片机是一种集成了微处理器核心、存储器、输入/输出接口、定时/计数器和中断控制电路于一体的微型计算机系统。

2. 单片机的内部结构包括中央处理器、存储器和输入/输出接口。

3. 单片机的中央处理器主要包括运算器和控制器两部分。

4. 单片机中的存储器主要包括RAM和ROM两部分。

5. 单片机的输入/输出接口主要用于与外部设备进行数据交换。

6. 单片机的工作原理是通过控制输入/输出接口与外部设备进行数据交换,实现特定的功能。

7. 单片机的应用领域包括家电控制、工业自动化、汽车电子等多个方面。

8. 单片机在家电控制领域的应用主要包括洗衣机、空调、电视机等家电产品。

9. 单片机在工业自动化领域的应用主要包括生产线控制、仪器仪表控制等方面。

10. 单片机在汽车电子领域的应用主要包括发动机控制、车载娱乐系统等方面。

三、简答题。

1. 请简要介绍单片机的内部结构及工作原理。

单片机原理与应用(习题答案)

《单片机原理与应用》课后习题参考答案第1章1.(1)15 (2)0.0859375 (3)14.68752.(1)10000100 (2)1011101001111 (3)100110100. 10113. 原码:正数的符号位用0表示,负数符号位用1表示,而数值位保持原样的机器码称为原码。

反码:在计算机中,对于正数,其反码的符号位为“0”,数值部分保持不变;对于负数,其反码除了在符号位上表示“1”外,数值部分的各位都取与它相反的数码,即“0”变“1”、“1”变“0”。

也就是说:正数的反码与它的原码相同;负数的反码由其绝对值按位求反后得到。

补码:在计算机中,对于正数,其补码的符号位为“0”,数值部分保持不变;对于负数,其补码除了在符号位上表示“1”外,数值部分的各位都取与它相反的数码,然后在最低位加“1”。

也就是说:正数的补码与它的原码相同;负数的补码由其对应的绝对值按位求反后加1得到。

4.(1)原码:000101110 反码:000101110 补码:000101110(2)原码:10.10101101 反码:10.01010010 补码:10.01010011(3)原码:00.101011 反码:00.101011 补码:00.1010115.[N]原=1.1010 [N]补=1.0110 N=-0.6256.原码0.1010-0.1011 = -0.0001补码0.1010+(1.0101)=(1.1111)7. 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

微处理器是是指计算机内部对数据进行处理并对处理过程进行控制的部件,采用大规模集成电路工艺在一块或几块芯片上制成的中央处理器。

如果将构成微型计算机的各功能部件(CPU,RAM,ROM及I/O接口电路)集成在同一块大规模集成电路芯片上,一个芯片就是一台微型机,则该微型机就称为单片微型计算机。

8. MCS-51系列单片机是美国INTEL公司于1980年推出的一种8位单片机系列。

单片机原理及应用(第3版)参考答案

单片机原理及应用(第3版)参考答案《单片机原理及应用(第3版)》习题参考答案姜志海黄玉清刘连鑫编著电子工业出版社目录第1章概述 ............................................................. 2 第2章 MCS,51系列单片机硬件结构 . (5)第3章 MCS,51系列单片机指令系统 .......................................10 第4章 MCS,51系列单片机汇编语言程序设计 ............................... 13 第5章 MCS,51系列单片机硬件资源的应用 ................................. 18 第6章 MCS,51系列单片机并行扩展接口技术 ............................... 23 第7章 MCS,51系列单片机串行总线扩展技术 ............................... 28 第8章单片机应用系统设计 . (30)第1章概述1(简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。

运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。

通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。

由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(Central Process Unit)。

2(微处理器、微型计算机、微型计算机系统有什么联系与区别,微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。

单片机原理及应用第三版课后答案

单片机原理及应用第三版课后答案1. 第一章题目答案:a) 单片机的定义: 单片机是一种集成电路,具有CPU、存储器和输入输出设备等功能,并且可以根据程序控制进行工作的微型计算机系统。

b) 单片机的核心部分是CPU,它可以通过执行程序指令来完成各种计算、逻辑和控制操作。

c) 存储器分为程序存储器和数据存储器,程序存储器用于存放程序指令,数据存储器用于存放数据和暂存中间结果。

d) 输入输出设备用于与外部环境进行数据交换,如开关、LED、数码管等。

e) 单片机的应用广泛,包括家电控制、智能仪器、工业自动化等领域。

2. 第二章题目答案:a) 单片机中的时钟系统用于提供CPU运行所需的时序信号,常见的时钟源有晶体振荡器和外部信号源。

b) 时钟频率决定了单片机的运行速度和精度,一般通过控制分频器、定时器等来调整时钟频率。

c) 单片机中的中断系统用于处理紧急事件,如外部输入信号、定时器溢出等,可以提高系统的响应能力。

d) 中断源包括外部中断、定时器中断和串口中断,通过编程设置中断向量和优先级来处理不同的中断事件。

e) 中断服务程序是处理中断事件的程序,包括保存现场、执行中断处理和恢复现场等步骤。

3. 第三章题目答案:a) I/O口是单片机与外部设备进行数据交换的接口,包括输入口和输出口两种类型。

b) 输入口用于接收外部信号,如开关、传感器等,可以通过编程设置输入口的工作模式和读取输入口的状态。

c) 输出口用于控制外部设备,如LED、继电器等,可以通过编程设置输出口的工作模式和输出口的状态。

d) I/O口的工作模式包括输入模式、输出模式和双向模式,可以根据具体应用需求设置相应的模式。

e) 串行通信接口是单片机与外部设备进行数据传输的一种常见方式,包括UART、SPI和I2C等多种通信协议。

4. 第四章题目答案:a) 定时器的作用是产生指定时间间隔的定时信号,可以用于延时、计时、PWM等功能。

b) 单片机的定时器一般由计数器和一些控制寄存器组成,通过编程设置定时器的工作模式和计数值。

(完整版)单片机原理及应用习题答案(第三版)

第一章习题参考答案1-1 :何谓单片机?与通用微机相比,两者在结构上有何异同?答:将构成计算机的基本单元电路如微处理器 (CPU) 、存储器、 I/O 接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。

单片机与通用微机相比在结构上的异同:(1)两者都有 CPU,但通用微机的 CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。

例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲 (Cache) 技术等。

CPU的主频达到数百兆赫兹 (MHz) ,字长普遍达到 32 位。

单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。

例如,现在的单片机产品的 CPU大多不支持浮点运算, CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用 4 位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用 16 位字长单片机, 32 位单片机产品目前应用得还不多。

(2)两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU 对数据的存取速度。

现今微机的内存容量达到了数百兆字节 (MB),存储体系采用多体、并读技术和段、页等多种管理模式。

单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上, CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为 64 KB 。

(3)两者都有 I/O 接口,但通用微机中 I/O 接口主要考虑标准外设 ( 如 CRT、标准键盘、鼠标、打印机、硬盘、光盘等 ) 。

用户通过标准总线连接外设,能达到即插即用。

单片机应用系统的外设都是非标准的,且千差万别,种类很多。

单片机的I/O 接口实际上是向用户提供的与外设连接的物理界面。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档