ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:212.72KB ,
资源ID:9333591      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9333591.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机567章作业DOC.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机567章作业DOC.docx

1、单片机567章作业DOC第5、6、7、8章习题一、问答题1说明51单片机读端口锁存器的必要性,为什么?答:读锁存器是为了避免直接读端口引脚时,收到外部电路的干扰,而产生的误读现象。2请说明为什么使用LED需要接限流电阻,当高电平为+5V时,正常点亮一个LED需要多大阻值的限流电阻(设LED的正常工作电流为8mA,导通压降为0.6V),为什么?答:因为LED导通时,电压降是固定的(0.6V)。为了使LED既能正常工作(电流为10mA),又不至于被过大的电流损坏,所以必须加一个限流电阻。3简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。答:延时处理即可,按键抖动会影响到是否真实按键。4

2、简述LED数码管动态扫描的原理及其实现方式。答:LED分为共阴和共阳,他们由二极管组成,只有满足压差的时候,相应的二极管便会亮,利用不同的组合,从而实现对相应数字的输出。5为什么51单片机在读口的引脚状态时,许先向端口写“1”,请用图5-1 P1结构图加以说明。答:只有先向端口写1,那么输出Q非端输出为0,场效应管V1断开这时P1.x输出为1,读引脚才有效,否则P1.x输处为0,无法实现对高电平的读取。5简述89c51各IO口的驱动能力。答:P0口能驱动8个LSTTL负载,P1、P2、P3都能驱动四个LSTTL负载。6什么是中断?中断与子程序最本质的区别?答:中断是指计算机在执行程序的过程中,

3、当出现异常情况或者特殊情况时,计算机停止现行程序的运行,自动转向对这些异常情况或者特殊请求的处理,处理结果后再返回现行程序的间断处,执行原程序。中断是是随机的,而子程序是预先设定好的。7编制中断服务程序时,为什么在主程序的初始化程序中,必须设置EA1 这条指令(或达到同样功能的对IE赋值的指令),以及在中断服务程序中为什么通常需要保护现场和恢复现场?答:只有当总中断允许控制位为1时,EI中的某项中为1时对应的中断才会被允许。8单片机89C51有哪些中断源,CPU对其中断如何请求?答:单片机89C51的5个中断源分别为 INT0 、 INT1 、 T0 、T1 以及 TXD/RXD 。9简述单片

4、机89C51中断的自然优先级顺序,如何提高某一中断源的优先级别。答:中断源(控制位) 自然优先级外部中断0最 高定时器/计数器0溢出中断外部中断1定时器/计数器1溢出中断串行口中断最 低若某几个控制位为1,则相应的中断源就规定为高级中断;反之,若某几个控制位为0,则相应的中断源就规定为低级中断。当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序(即自然优先级)。10简述51系列单片机中断响应的条件。答:有中断源发出中断请求;中断总允许位EA=1,即CPU开中断;申请中断的中断源的中断允许位为1,即中断没有屏蔽;无同级或更高级中断正在被服务;当前的指令周期已经结束;若

5、现在指令为RETI或者是访问IE或IP指令,则该指令以及紧接着的另一条指令已执行完。11用汇编语言编程时,在51系列单片机执行中断服务程序的指令较多时,为什么一般都要在入口地址(又称中断矢量地址)开始的地方放一条跳转指令?答:中断服务程序较长,可以在此处安排一条跳转指令跳刀另一个地址位置编写中断服务程序。12为什么一般都把主程序的起始地址放在0030H之后?答:因为中断服务的地址一般处在的范围时0003H0023H,所以在编写程序的时候要避免主程序与中断服务程序地址混淆,主程序习惯上从0030H开始。13中断服务子程序返回指令RETI和普通子程序返回指令RET的区别?答:RETI是中断服务程序

6、结束标记,CPU在执行完这条指令后,把响应中断时所在位置的优先级状态触发器清零,然后从堆栈中弹出顶上的两个字节送到程序寄存器PC,CPU从原来中断处执行被中断的程序,RET虽然也能控制PC返回原来的中断地址,但是RET没有清零优先级状态触发器,中断系统会认为中断仍在进行,其结果是此同级的中断请求将不会被响应。14简述51单片机定时/计数器4种工作模式的特点。答:方式0为13位定时/计数器,THx(x为0或者1)全部8位和TLx低5位(TLx的高3位无效)组成13位加1计数器。方式1为16位定时/计数器。方式2为8位自动重装定时/计数器,在程序初始化时,TLx和THx由软件赋予相同的初值,一旦T

7、Lx计数溢出,TFx将被置位,同时THx的计数初值自动装入TLx,从而进入新一轮计数,如此循环。方式3为T0分为两个独立的8位C/T;T1停用,TH0作为另一个定时/计数器,占用原定时/计数器T1的控制位TF1和TR1,同时占用了T1的中断资源,其启动和关闭受TR1置1或清零控制。TH0只能对机器周期进行计数,因此,TH0只能用作简单的内部定时,不能对外部脉冲进行计数。TH0是定时器T0附加的8为定时器。因为定时/计数器T1的控制位被占用,为避免冲突,当T0工作在方式3时,T1一定不要用在有中断的场合,但能以8位的方式工作在方式0、1、2。15定时/计数器用作定时器时,其计数脉冲由谁提供?定时

8、时间与哪些因素有关?答:定时/计数器作为计数器时,计数脉冲来自外部输入引脚T0或者T1,每次下降沿来临计数一次。定时时间与单片机采用的晶振有关。16画出51单片机计数/定时器方式1的逻辑结构框图,说明它们的工作原理,如何使用门控和非门控启动计数的方法。答:C/T=0时,计数器对机器周期计数,为定时器,当它为1时,多路开关盒Tx联通,计数器对外部脉冲计数,下降沿来临计数1,此时为计数器。GATE为门控制,当它为1时,TRx=1时,控制权由INTx决定,它为1时计数启动。当GATE=0;此时控制权由TRx决定,当TRx=1时计数启动。定时器从初值看是计数直到溢出,溢出时,16位加计数器为0,TFx

9、置位,并申请中断。 17在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么?答: (1)确定T/C的工作方式即对编程TMOD寄存器; (2)计算T/C中的计数初值,并装载到TH和TL; (3)T/C在中断方式工作时,须开CPU中断源中断即编程IE寄存器; (4)启动定时器/计数器编程TCON中TR1或TR0位。18在有串行通信时,定时器/计数器1的作用是什么,怎样确定串行口的波特率?答:在有串行通信时,定时器/计数器1的作用是串行口发生器。串行口的波特率根据串行口的工作方式具有不同的计算方式:方式0的波特率固定为晶体振荡器的十二分之一;方式1的波特率=2SMOD.(定时器1的溢出

10、率)/32;方式2波特率=2SMOD.(fosc/64);方式3波特率同方式1(定时器l作波特率发生器)。19简述89C51串口通信的四种方式及其特点。答:方式0是同步移位寄存器方式,帧格式8位,波特率固定:fosc/12;方式1是8位异步通信方式,帧格式10位,波特率可变:T1溢出率/n(n=32或16);方式2是9位异步通信方式,帧格式样11位,波特率固定:fosc/n(n=64或32);方式3是9位异步通信方式,帧格式11位,波特率可变:T1溢出率/n(n=32或16);方式1,2,3的区别方要表现在帧格式及波特率两个方面.方式1与方式2帧格式相同波特率不同:方式1波特率可变与T1溢出率

11、有关;方式2波特率固定.方式1与方式3波特率相同帧格式不同:方式1帧格式10位;方式3帧格式11位.方式1,2,3通信过程完全相同,均为异步通信方式.20单片机的串口可以与PC的串口直接连接进行通讯吗?为什么?应如何连接?答21试叙述利用SM2控制位进行多级通讯的过程?答:SM2:多机通信控制位。多机通信是工作于方式2和方式3,SM2位主要用于方式2和方式3。接收状态,当串行口工作于方式2或3,以及SM2=1时,只有当接收到第9位数据(RB8)为1时,才把接收到的前8位数据送入SBUF,且置位RI发出中断申请,否则会将接受到的数据放弃。当SM2=0时,就不管第9位数据是0还是1,都会将数据送入

12、SBUF,并发出中断申请。工作于方式0时,SM2必须为0。22RS485总线有何特点?答:RS485采用差分信号负逻辑,+0.2V+6V表示“0”,- 6V- 0.2V表示“1”。RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。23. 简述LCM1602的主要显示性能。答:LCM1602显示2行,每行16个字符。显示的字符需存入DDRAM。24.如何用软件消除键盘的抖动?答:延时处理。25如何确定LED数码显示器的段码?答:用万能表测下就能知道。26段码表数组变量一定要

13、放在CODE存储区吗?放在其它存储区会减少程序的代码吗?答:不一定,不会。二、选择题1. 89c51单片机在晶振12MHz时,计数器对外部脉冲最大计数频率为_C_。 A. 12MHz B. 1MHz C. 0.5MHz D. 6MHz2. 89c51外接晶振频率为6MHz,其计数器允许输入外部脉冲的最高频为 A 。 A. 0.25MHz B. 1MHz C. 6MHz D. 12MHz 3. 下列几种中断优先级的次序中, B为可实现的次序。 A.,T1, ,T0,串口 B. 串口,T0,,T1, C., ,T0,T1,串口 D. 串口,,T1, ,T04. 各中断源发出的中断请求信号,都会标记

14、在MCS-51中的 B 中。 (A)TMOD (B) TCON、SCON (C) IE (D) IP6下面哪一种仅适用于定时器T0(D)。A.方式0 B.方式1 C.方式2 D.方式37下列说法正确的是 C A、 各中断发出的中断请求信号,都会标记在MCS51系统的IE寄存器中。B、 各中断发出的中断请求信号,都会标记在MCS51系统的IP寄存器中。C、 各中断发出的中断请求信号,都会标记在MCS51系统的TCON与SCON寄存器中。D、 各中断发出的中断请求信号,都会标记在MCS51系统的TMOD寄存器中。8在MCS51中,需要外加电路实现中断撤除的是: A A、电平方式的外部中断B、定时中

15、断 C、外部串行中断D、跳变方式的外部中断9下列说法正确的是 A A、特殊功能寄存器PCON,与定时器/计数器的控制无关。B、特殊功能寄存器TMOD,与定时器/计数器的控制无关。C、特殊功能寄存器IE, 与定时器/计数器的控制无关。D、特殊功能寄存器TCON,与定时器/计数器的控制无关。10下列说法中不正确的是 A A、 同一级别的中断请求按时间的先后顺序响应。B、 同级中断不能嵌套。C、 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。D、 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。三、填空题1. 89c51有 5 个中断源,可分为 5 个

16、优先级。上电复位时 TX0 中断源的优先级别最高。2当单片机接到外设的中断申请时,单片机响应中断,单片机将暂停主程序的执行,转去执行中断 程序,执行完中断程序 ,再执行主 程序。389c51单片机的中断源有: 外部中断0请求 , 外部中断1请求 , 定时、计数器T0中断请求 , 定时、计数器T1中断请求 , 串行中断请求 。4阅读以下程序后填空#include unsigned char a;void main(void) TMOD=0x02; TL0 =0xd8; TH0 =0xd8; EA=1; ET0=1; TR0=1; while(1); void Timer0() interrupt

17、 1 a+; 1)本程序把定时器/计数器 T0 设置成方式 2 。 2)本程序执行时,变量a的内容将 溢出时自增 。 3)程序在 while(1) 语句处发生中断,执行完中断服务程序后,返回到 语句处。 4)本程序中断服务程序的入口地址为000BH 。 5)是否可将interrupt 1改为interrupt 3? 不可以 。四、是非题1. MCS-51中的基本型89c51共有五个中断源,这五个中断请求源全部来自外部引脚。()2. 对MCS-51系列芯片中,当使用内部RAM时,EA引线端应接高电平;而不使用内部RAM时,EA引线端则应接低电平。()3. MCS-51中的89c51单片机P3口的

18、各口线,必须作为第二功能使用。()五、编程题1. 在P3.2-P3.4三个引脚上分别接有三个发光二极管,用C51编程实现三个发光二极管依次闪亮,循环不止。电路原理图如图5-2所示。解:#include ”reg51.h”Sbit LED1=P32;Sbit LED1=P33;Sbit LED1=P34;Void delayms(unsigned int x)Unsigned char j;While(x-) For (j=0;j113;j+); Void main(void)While(1)LED1=0;LED2=1;LED3=1;delayms(1000); LED1=1;LED2=0;LE

19、D3=1;delayms(1000); LED1=1;LED2=1;LED3=0;delayms(1000); 2电路原理图如图5-4。编写程序LED显示00,每秒钟加1,至99,如此循环不止。图5-4 两位LED数码管静态显示解:#include#define uchar unsigned char#define uint unsigned intUchar code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;Void delayms(uint x)Unchar j;While(x-) For (j=0;j

20、99) num=0;3设计一动态显示4位8段LED数码管的电路原理图,并编写程序显示“5678”。解:7根据图5-7的电路原理,设计一个独立式键盘管理程序,在检测到键按下时,点亮对应的LED。键闭合时,采用软件延时消抖的处理,键释放时不加消抖动处理。图5-7解:#ifndef _KEY_H_#define _KEY_H_#include#define uchar unsigned char#define UP 0x01#define DOWN 0x02#define ENTER 0X03Sbit UP_key=P10;Sbit DOWN_key=P11;Sbit ENTER_key=P12;V

21、oid delayms(unsigned int x) Unchar j; While(x-) For(j=0;j113;j+); Unchar KeyScanNUM(void) Unchar key=0; UP_key=1;DOWN_key=1;ENTER_key=1;If(UP_key=0)delayms(10);if(UP_key=0) key=UP;else key=0;If(DOWN_key=0)delayms(10);if(DOWN_key=0) key=DOWN;else key=0;If(ENTER_key=0)delayms(10);if(ENTER_key=0) key=E

22、NTER;else key=0;Return key;#endif 8根据图5-8所示电路,(1)编写LED(09)的段码;(2)设计一个程序,开机后LED显示0,以后每按一次键,显示的数字加1,显示9后,再回到0,并照此循环。解:9用Proteus设计一个4x4的键盘,一位7段LED数码管显示的电路,编写程序将按键的编码显示出来(0F)。解:10利用51单片机的定时器和中断方式,在共阳极的两个LED上显示0099(每次增加1秒)反复循环的秒钟。请设计电路原理图和程序。解:#include#define uchar unsigned char#define uint unsigned intU

23、char code dispcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;Void delayms(uint x)Unchar j;While(x-) For (j=0;j99) num=0; 11如图5-11,编写程序,每次按键使外部中断0产生中断,在中断服务程序中使外接发光二极管LED改变一次亮灭状态。解:程序如下:#includeSbit P1_0=P10;Void main(void)IT0=1;EA=1;EX0=1;While(1);Void int0(void) interrupt 0P1_0=P10;12如

24、图5.12,已知MCS-51单片机系统晶振频率为12MHz,试编写程序,用定时器T0,工作方式2,使P1.0引脚输出如下周期方波。 解:#includeSbit P1_0=P10;Void main(void)TMOD=0x02;TL0=0x9c;THO=0x9c;EA=1;ET0=1;While(1); Void timer0() interrupt 1P1_0=P10;13如图5.13,用P1.0驱动LED亮1秒、灭1秒地闪烁,设晶振频率为12MHz。解:图5.14 定时器例2程序框图#include#define unchar unsigned charSbit Led=P10;Unch

25、ar TimeCouter=100;Void main(void)TMOD=0x10;TL1=0xf0;TH1=0xd8;EA=1;ET1=1;TR1=1;Led=0While(1); Void Timer1() interrupt 3TL1=0xf0;TH1=0xd8;TimeCouter-;If(TimeCouter=0)TimeCouter=100;Led=Led;15引脚输入被检测信号,用门控方式测量正脉冲宽度(设脉宽小于65.5ms)。 分析:采用T1的门控制方式,使T1的启动受的控制,当GATA=1,TR1=1时,一旦引脚输入高电平时,T1才启动计时,直至出现低电平,停止计时。为了

26、测量确保真正从高电平上升沿开始计时,T1的计数要先等到出现一个高电平后,下一个高电平到来才开始进行,见图5.15。程序主要部分如下:解:#include#defined uint unsigned intSbit InputPulse=P33;Void main(void)Unit PulseWidth;TMOD=0x90;TL1=0;TH1=0;While(InputPulse=0)TR1=1;While(InputPulse=0)TR1=0;PulseWidth=TH1*256+TL1;16见附录D, 实验4 ,利用计数器,记录光电开关被遮断的次数,并用LCD1602显示出来。解:图5.1

27、6 计数显示原理图17图5-17是MCS51串口配合8位并行输出串行移位寄存器74LS164扩展输出口的LED显示原理图。编写程序将1,2,3,4,5,6,7,8送到8位LED中去显示。解:程序如下:18电路原理如图5-18,74LS165的输入端连接了8个开关(SW1)接地,编写程序,将其开关状态送8个 LED显示。图5.18 原理图解:19如图5.19,一个主机通过RS-485总线(采用Max487芯片)把2个从机(1#、2#)P1口的控制信息传送给主机,并用条形LED显示出来。主机上有一个按键,每按键一次可改换主机所连接的从机号。 图5.19 多机485通信电路原理图解:20用串口调试软件(可以从网上下载)从PC机以串口方式1每隔1秒依次发送09,请编写一程序,在51单片机上接收PC的数据,同时立刻把收到的数据送回PC机,并在单片机的一位数码管把收到的数据显示出来。解:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1